@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,1217 @@
1
+ // https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/dns_zone_record
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function dnsZoneRecordFilterToTerraform(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
+ limit: cdktf.numberToTerraform(struct.limit),
13
+ strict: cdktf.booleanToTerraform(struct.strict),
14
+ type: cdktf.stringToTerraform(struct.type),
15
+ };
16
+ }
17
+ export function dnsZoneRecordFilterToHclTerraform(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
+ limit: {
26
+ value: cdktf.numberToHclTerraform(struct.limit),
27
+ isBlock: false,
28
+ type: "simple",
29
+ storageClassType: "number",
30
+ },
31
+ strict: {
32
+ value: cdktf.booleanToHclTerraform(struct.strict),
33
+ isBlock: false,
34
+ type: "simple",
35
+ storageClassType: "boolean",
36
+ },
37
+ type: {
38
+ value: cdktf.stringToHclTerraform(struct.type),
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 DnsZoneRecordFilterOutputReference 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._limit !== undefined) {
66
+ hasAnyValues = true;
67
+ internalValueResult.limit = this._limit;
68
+ }
69
+ if (this._strict !== undefined) {
70
+ hasAnyValues = true;
71
+ internalValueResult.strict = this._strict;
72
+ }
73
+ if (this._type !== undefined) {
74
+ hasAnyValues = true;
75
+ internalValueResult.type = this._type;
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._limit = undefined;
84
+ this._strict = undefined;
85
+ this._type = 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._limit = value.limit;
95
+ this._strict = value.strict;
96
+ this._type = value.type;
97
+ }
98
+ }
99
+ // limit - computed: false, optional: true, required: false
100
+ _limit;
101
+ get limit() {
102
+ return this.getNumberAttribute('limit');
103
+ }
104
+ set limit(value) {
105
+ this._limit = value;
106
+ }
107
+ resetLimit() {
108
+ this._limit = undefined;
109
+ }
110
+ // Temporarily expose input value. Use with caution.
111
+ get limitInput() {
112
+ return this._limit;
113
+ }
114
+ // strict - computed: false, optional: true, required: false
115
+ _strict;
116
+ get strict() {
117
+ return this.getBooleanAttribute('strict');
118
+ }
119
+ set strict(value) {
120
+ this._strict = value;
121
+ }
122
+ resetStrict() {
123
+ this._strict = undefined;
124
+ }
125
+ // Temporarily expose input value. Use with caution.
126
+ get strictInput() {
127
+ return this._strict;
128
+ }
129
+ // type - computed: false, optional: false, required: true
130
+ _type;
131
+ get type() {
132
+ return this.getStringAttribute('type');
133
+ }
134
+ set type(value) {
135
+ this._type = value;
136
+ }
137
+ // Temporarily expose input value. Use with caution.
138
+ get typeInput() {
139
+ return this._type;
140
+ }
141
+ }
142
+ export class DnsZoneRecordFilterList extends cdktf.ComplexList {
143
+ terraformResource;
144
+ terraformAttribute;
145
+ wrapsSet;
146
+ internalValue;
147
+ /**
148
+ * @param terraformResource The parent resource
149
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
150
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
151
+ */
152
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
153
+ super(terraformResource, terraformAttribute, wrapsSet);
154
+ this.terraformResource = terraformResource;
155
+ this.terraformAttribute = terraformAttribute;
156
+ this.wrapsSet = wrapsSet;
157
+ }
158
+ /**
159
+ * @param index the index of the item to return
160
+ */
161
+ get(index) {
162
+ return new DnsZoneRecordFilterOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
163
+ }
164
+ }
165
+ export function dnsZoneRecordMetaFailoverToTerraform(struct) {
166
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
167
+ return struct;
168
+ }
169
+ if (cdktf.isComplexElement(struct)) {
170
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
171
+ }
172
+ return {
173
+ frequency: cdktf.numberToTerraform(struct.frequency),
174
+ host: cdktf.stringToTerraform(struct.host),
175
+ http_status_code: cdktf.numberToTerraform(struct.httpStatusCode),
176
+ method: cdktf.stringToTerraform(struct.method),
177
+ port: cdktf.numberToTerraform(struct.port),
178
+ protocol: cdktf.stringToTerraform(struct.protocol),
179
+ regexp: cdktf.stringToTerraform(struct.regexp),
180
+ timeout: cdktf.numberToTerraform(struct.timeout),
181
+ tls: cdktf.booleanToTerraform(struct.tls),
182
+ url: cdktf.stringToTerraform(struct.url),
183
+ verify: cdktf.booleanToTerraform(struct.verify),
184
+ };
185
+ }
186
+ export function dnsZoneRecordMetaFailoverToHclTerraform(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
+ frequency: {
195
+ value: cdktf.numberToHclTerraform(struct.frequency),
196
+ isBlock: false,
197
+ type: "simple",
198
+ storageClassType: "number",
199
+ },
200
+ host: {
201
+ value: cdktf.stringToHclTerraform(struct.host),
202
+ isBlock: false,
203
+ type: "simple",
204
+ storageClassType: "string",
205
+ },
206
+ http_status_code: {
207
+ value: cdktf.numberToHclTerraform(struct.httpStatusCode),
208
+ isBlock: false,
209
+ type: "simple",
210
+ storageClassType: "number",
211
+ },
212
+ method: {
213
+ value: cdktf.stringToHclTerraform(struct.method),
214
+ isBlock: false,
215
+ type: "simple",
216
+ storageClassType: "string",
217
+ },
218
+ port: {
219
+ value: cdktf.numberToHclTerraform(struct.port),
220
+ isBlock: false,
221
+ type: "simple",
222
+ storageClassType: "number",
223
+ },
224
+ protocol: {
225
+ value: cdktf.stringToHclTerraform(struct.protocol),
226
+ isBlock: false,
227
+ type: "simple",
228
+ storageClassType: "string",
229
+ },
230
+ regexp: {
231
+ value: cdktf.stringToHclTerraform(struct.regexp),
232
+ isBlock: false,
233
+ type: "simple",
234
+ storageClassType: "string",
235
+ },
236
+ timeout: {
237
+ value: cdktf.numberToHclTerraform(struct.timeout),
238
+ isBlock: false,
239
+ type: "simple",
240
+ storageClassType: "number",
241
+ },
242
+ tls: {
243
+ value: cdktf.booleanToHclTerraform(struct.tls),
244
+ isBlock: false,
245
+ type: "simple",
246
+ storageClassType: "boolean",
247
+ },
248
+ url: {
249
+ value: cdktf.stringToHclTerraform(struct.url),
250
+ isBlock: false,
251
+ type: "simple",
252
+ storageClassType: "string",
253
+ },
254
+ verify: {
255
+ value: cdktf.booleanToHclTerraform(struct.verify),
256
+ isBlock: false,
257
+ type: "simple",
258
+ storageClassType: "boolean",
259
+ },
260
+ };
261
+ // remove undefined attributes
262
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
263
+ }
264
+ export class DnsZoneRecordMetaFailoverOutputReference extends cdktf.ComplexObject {
265
+ isEmptyObject = false;
266
+ /**
267
+ * @param terraformResource The parent resource
268
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
269
+ */
270
+ constructor(terraformResource, terraformAttribute) {
271
+ super(terraformResource, terraformAttribute, false, 0);
272
+ }
273
+ get internalValue() {
274
+ let hasAnyValues = this.isEmptyObject;
275
+ const internalValueResult = {};
276
+ if (this._frequency !== undefined) {
277
+ hasAnyValues = true;
278
+ internalValueResult.frequency = this._frequency;
279
+ }
280
+ if (this._host !== undefined) {
281
+ hasAnyValues = true;
282
+ internalValueResult.host = this._host;
283
+ }
284
+ if (this._httpStatusCode !== undefined) {
285
+ hasAnyValues = true;
286
+ internalValueResult.httpStatusCode = this._httpStatusCode;
287
+ }
288
+ if (this._method !== undefined) {
289
+ hasAnyValues = true;
290
+ internalValueResult.method = this._method;
291
+ }
292
+ if (this._port !== undefined) {
293
+ hasAnyValues = true;
294
+ internalValueResult.port = this._port;
295
+ }
296
+ if (this._protocol !== undefined) {
297
+ hasAnyValues = true;
298
+ internalValueResult.protocol = this._protocol;
299
+ }
300
+ if (this._regexp !== undefined) {
301
+ hasAnyValues = true;
302
+ internalValueResult.regexp = this._regexp;
303
+ }
304
+ if (this._timeout !== undefined) {
305
+ hasAnyValues = true;
306
+ internalValueResult.timeout = this._timeout;
307
+ }
308
+ if (this._tls !== undefined) {
309
+ hasAnyValues = true;
310
+ internalValueResult.tls = this._tls;
311
+ }
312
+ if (this._url !== undefined) {
313
+ hasAnyValues = true;
314
+ internalValueResult.url = this._url;
315
+ }
316
+ if (this._verify !== undefined) {
317
+ hasAnyValues = true;
318
+ internalValueResult.verify = this._verify;
319
+ }
320
+ return hasAnyValues ? internalValueResult : undefined;
321
+ }
322
+ set internalValue(value) {
323
+ if (value === undefined) {
324
+ this.isEmptyObject = false;
325
+ this._frequency = undefined;
326
+ this._host = undefined;
327
+ this._httpStatusCode = undefined;
328
+ this._method = undefined;
329
+ this._port = undefined;
330
+ this._protocol = undefined;
331
+ this._regexp = undefined;
332
+ this._timeout = undefined;
333
+ this._tls = undefined;
334
+ this._url = undefined;
335
+ this._verify = undefined;
336
+ }
337
+ else {
338
+ this.isEmptyObject = Object.keys(value).length === 0;
339
+ this._frequency = value.frequency;
340
+ this._host = value.host;
341
+ this._httpStatusCode = value.httpStatusCode;
342
+ this._method = value.method;
343
+ this._port = value.port;
344
+ this._protocol = value.protocol;
345
+ this._regexp = value.regexp;
346
+ this._timeout = value.timeout;
347
+ this._tls = value.tls;
348
+ this._url = value.url;
349
+ this._verify = value.verify;
350
+ }
351
+ }
352
+ // frequency - computed: false, optional: false, required: true
353
+ _frequency;
354
+ get frequency() {
355
+ return this.getNumberAttribute('frequency');
356
+ }
357
+ set frequency(value) {
358
+ this._frequency = value;
359
+ }
360
+ // Temporarily expose input value. Use with caution.
361
+ get frequencyInput() {
362
+ return this._frequency;
363
+ }
364
+ // host - computed: false, optional: true, required: false
365
+ _host;
366
+ get host() {
367
+ return this.getStringAttribute('host');
368
+ }
369
+ set host(value) {
370
+ this._host = value;
371
+ }
372
+ resetHost() {
373
+ this._host = undefined;
374
+ }
375
+ // Temporarily expose input value. Use with caution.
376
+ get hostInput() {
377
+ return this._host;
378
+ }
379
+ // http_status_code - computed: false, optional: true, required: false
380
+ _httpStatusCode;
381
+ get httpStatusCode() {
382
+ return this.getNumberAttribute('http_status_code');
383
+ }
384
+ set httpStatusCode(value) {
385
+ this._httpStatusCode = value;
386
+ }
387
+ resetHttpStatusCode() {
388
+ this._httpStatusCode = undefined;
389
+ }
390
+ // Temporarily expose input value. Use with caution.
391
+ get httpStatusCodeInput() {
392
+ return this._httpStatusCode;
393
+ }
394
+ // method - computed: false, optional: true, required: false
395
+ _method;
396
+ get method() {
397
+ return this.getStringAttribute('method');
398
+ }
399
+ set method(value) {
400
+ this._method = value;
401
+ }
402
+ resetMethod() {
403
+ this._method = undefined;
404
+ }
405
+ // Temporarily expose input value. Use with caution.
406
+ get methodInput() {
407
+ return this._method;
408
+ }
409
+ // port - computed: false, optional: true, required: false
410
+ _port;
411
+ get port() {
412
+ return this.getNumberAttribute('port');
413
+ }
414
+ set port(value) {
415
+ this._port = value;
416
+ }
417
+ resetPort() {
418
+ this._port = undefined;
419
+ }
420
+ // Temporarily expose input value. Use with caution.
421
+ get portInput() {
422
+ return this._port;
423
+ }
424
+ // protocol - computed: false, optional: false, required: true
425
+ _protocol;
426
+ get protocol() {
427
+ return this.getStringAttribute('protocol');
428
+ }
429
+ set protocol(value) {
430
+ this._protocol = value;
431
+ }
432
+ // Temporarily expose input value. Use with caution.
433
+ get protocolInput() {
434
+ return this._protocol;
435
+ }
436
+ // regexp - computed: false, optional: true, required: false
437
+ _regexp;
438
+ get regexp() {
439
+ return this.getStringAttribute('regexp');
440
+ }
441
+ set regexp(value) {
442
+ this._regexp = value;
443
+ }
444
+ resetRegexp() {
445
+ this._regexp = undefined;
446
+ }
447
+ // Temporarily expose input value. Use with caution.
448
+ get regexpInput() {
449
+ return this._regexp;
450
+ }
451
+ // timeout - computed: false, optional: false, required: true
452
+ _timeout;
453
+ get timeout() {
454
+ return this.getNumberAttribute('timeout');
455
+ }
456
+ set timeout(value) {
457
+ this._timeout = value;
458
+ }
459
+ // Temporarily expose input value. Use with caution.
460
+ get timeoutInput() {
461
+ return this._timeout;
462
+ }
463
+ // tls - computed: false, optional: true, required: false
464
+ _tls;
465
+ get tls() {
466
+ return this.getBooleanAttribute('tls');
467
+ }
468
+ set tls(value) {
469
+ this._tls = value;
470
+ }
471
+ resetTls() {
472
+ this._tls = undefined;
473
+ }
474
+ // Temporarily expose input value. Use with caution.
475
+ get tlsInput() {
476
+ return this._tls;
477
+ }
478
+ // url - computed: false, optional: true, required: false
479
+ _url;
480
+ get url() {
481
+ return this.getStringAttribute('url');
482
+ }
483
+ set url(value) {
484
+ this._url = value;
485
+ }
486
+ resetUrl() {
487
+ this._url = undefined;
488
+ }
489
+ // Temporarily expose input value. Use with caution.
490
+ get urlInput() {
491
+ return this._url;
492
+ }
493
+ // verify - computed: false, optional: true, required: false
494
+ _verify;
495
+ get verify() {
496
+ return this.getBooleanAttribute('verify');
497
+ }
498
+ set verify(value) {
499
+ this._verify = value;
500
+ }
501
+ resetVerify() {
502
+ this._verify = undefined;
503
+ }
504
+ // Temporarily expose input value. Use with caution.
505
+ get verifyInput() {
506
+ return this._verify;
507
+ }
508
+ }
509
+ export function dnsZoneRecordMetaToTerraform(struct) {
510
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
511
+ return struct;
512
+ }
513
+ if (cdktf.isComplexElement(struct)) {
514
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
515
+ }
516
+ return {
517
+ failover: dnsZoneRecordMetaFailoverToTerraform(struct.failover),
518
+ };
519
+ }
520
+ export function dnsZoneRecordMetaToHclTerraform(struct) {
521
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
522
+ return struct;
523
+ }
524
+ if (cdktf.isComplexElement(struct)) {
525
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
526
+ }
527
+ const attrs = {
528
+ failover: {
529
+ value: dnsZoneRecordMetaFailoverToHclTerraform(struct.failover),
530
+ isBlock: true,
531
+ type: "list",
532
+ storageClassType: "DnsZoneRecordMetaFailoverList",
533
+ },
534
+ };
535
+ // remove undefined attributes
536
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
537
+ }
538
+ export class DnsZoneRecordMetaOutputReference extends cdktf.ComplexObject {
539
+ isEmptyObject = false;
540
+ /**
541
+ * @param terraformResource The parent resource
542
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
543
+ */
544
+ constructor(terraformResource, terraformAttribute) {
545
+ super(terraformResource, terraformAttribute, false, 0);
546
+ }
547
+ get internalValue() {
548
+ let hasAnyValues = this.isEmptyObject;
549
+ const internalValueResult = {};
550
+ if (this._failover?.internalValue !== undefined) {
551
+ hasAnyValues = true;
552
+ internalValueResult.failover = this._failover?.internalValue;
553
+ }
554
+ return hasAnyValues ? internalValueResult : undefined;
555
+ }
556
+ set internalValue(value) {
557
+ if (value === undefined) {
558
+ this.isEmptyObject = false;
559
+ this._failover.internalValue = undefined;
560
+ }
561
+ else {
562
+ this.isEmptyObject = Object.keys(value).length === 0;
563
+ this._failover.internalValue = value.failover;
564
+ }
565
+ }
566
+ // failover - computed: false, optional: true, required: false
567
+ _failover = new DnsZoneRecordMetaFailoverOutputReference(this, "failover");
568
+ get failover() {
569
+ return this._failover;
570
+ }
571
+ putFailover(value) {
572
+ this._failover.internalValue = value;
573
+ }
574
+ resetFailover() {
575
+ this._failover.internalValue = undefined;
576
+ }
577
+ // Temporarily expose input value. Use with caution.
578
+ get failoverInput() {
579
+ return this._failover.internalValue;
580
+ }
581
+ }
582
+ export function dnsZoneRecordResourceRecordMetaToTerraform(struct) {
583
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
584
+ return struct;
585
+ }
586
+ if (cdktf.isComplexElement(struct)) {
587
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
588
+ }
589
+ return {
590
+ asn: cdktf.listMapper(cdktf.numberToTerraform, false)(struct.asn),
591
+ continents: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.continents),
592
+ countries: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.countries),
593
+ default: cdktf.booleanToTerraform(struct.default),
594
+ ip: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.ip),
595
+ latlong: cdktf.listMapper(cdktf.numberToTerraform, false)(struct.latlong),
596
+ notes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.notes),
597
+ };
598
+ }
599
+ export function dnsZoneRecordResourceRecordMetaToHclTerraform(struct) {
600
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
601
+ return struct;
602
+ }
603
+ if (cdktf.isComplexElement(struct)) {
604
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
605
+ }
606
+ const attrs = {
607
+ asn: {
608
+ value: cdktf.listMapperHcl(cdktf.numberToHclTerraform, false)(struct.asn),
609
+ isBlock: false,
610
+ type: "list",
611
+ storageClassType: "numberList",
612
+ },
613
+ continents: {
614
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.continents),
615
+ isBlock: false,
616
+ type: "list",
617
+ storageClassType: "stringList",
618
+ },
619
+ countries: {
620
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.countries),
621
+ isBlock: false,
622
+ type: "list",
623
+ storageClassType: "stringList",
624
+ },
625
+ default: {
626
+ value: cdktf.booleanToHclTerraform(struct.default),
627
+ isBlock: false,
628
+ type: "simple",
629
+ storageClassType: "boolean",
630
+ },
631
+ ip: {
632
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.ip),
633
+ isBlock: false,
634
+ type: "list",
635
+ storageClassType: "stringList",
636
+ },
637
+ latlong: {
638
+ value: cdktf.listMapperHcl(cdktf.numberToHclTerraform, false)(struct.latlong),
639
+ isBlock: false,
640
+ type: "list",
641
+ storageClassType: "numberList",
642
+ },
643
+ notes: {
644
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.notes),
645
+ isBlock: false,
646
+ type: "list",
647
+ storageClassType: "stringList",
648
+ },
649
+ };
650
+ // remove undefined attributes
651
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
652
+ }
653
+ export class DnsZoneRecordResourceRecordMetaOutputReference extends cdktf.ComplexObject {
654
+ isEmptyObject = false;
655
+ /**
656
+ * @param terraformResource The parent resource
657
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
658
+ */
659
+ constructor(terraformResource, terraformAttribute) {
660
+ super(terraformResource, terraformAttribute, false, 0);
661
+ }
662
+ get internalValue() {
663
+ let hasAnyValues = this.isEmptyObject;
664
+ const internalValueResult = {};
665
+ if (this._asn !== undefined) {
666
+ hasAnyValues = true;
667
+ internalValueResult.asn = this._asn;
668
+ }
669
+ if (this._continents !== undefined) {
670
+ hasAnyValues = true;
671
+ internalValueResult.continents = this._continents;
672
+ }
673
+ if (this._countries !== undefined) {
674
+ hasAnyValues = true;
675
+ internalValueResult.countries = this._countries;
676
+ }
677
+ if (this._default !== undefined) {
678
+ hasAnyValues = true;
679
+ internalValueResult.default = this._default;
680
+ }
681
+ if (this._ip !== undefined) {
682
+ hasAnyValues = true;
683
+ internalValueResult.ip = this._ip;
684
+ }
685
+ if (this._latlong !== undefined) {
686
+ hasAnyValues = true;
687
+ internalValueResult.latlong = this._latlong;
688
+ }
689
+ if (this._notes !== undefined) {
690
+ hasAnyValues = true;
691
+ internalValueResult.notes = this._notes;
692
+ }
693
+ return hasAnyValues ? internalValueResult : undefined;
694
+ }
695
+ set internalValue(value) {
696
+ if (value === undefined) {
697
+ this.isEmptyObject = false;
698
+ this._asn = undefined;
699
+ this._continents = undefined;
700
+ this._countries = undefined;
701
+ this._default = undefined;
702
+ this._ip = undefined;
703
+ this._latlong = undefined;
704
+ this._notes = undefined;
705
+ }
706
+ else {
707
+ this.isEmptyObject = Object.keys(value).length === 0;
708
+ this._asn = value.asn;
709
+ this._continents = value.continents;
710
+ this._countries = value.countries;
711
+ this._default = value.default;
712
+ this._ip = value.ip;
713
+ this._latlong = value.latlong;
714
+ this._notes = value.notes;
715
+ }
716
+ }
717
+ // asn - computed: false, optional: true, required: false
718
+ _asn;
719
+ get asn() {
720
+ return this.getNumberListAttribute('asn');
721
+ }
722
+ set asn(value) {
723
+ this._asn = value;
724
+ }
725
+ resetAsn() {
726
+ this._asn = undefined;
727
+ }
728
+ // Temporarily expose input value. Use with caution.
729
+ get asnInput() {
730
+ return this._asn;
731
+ }
732
+ // continents - computed: false, optional: true, required: false
733
+ _continents;
734
+ get continents() {
735
+ return this.getListAttribute('continents');
736
+ }
737
+ set continents(value) {
738
+ this._continents = value;
739
+ }
740
+ resetContinents() {
741
+ this._continents = undefined;
742
+ }
743
+ // Temporarily expose input value. Use with caution.
744
+ get continentsInput() {
745
+ return this._continents;
746
+ }
747
+ // countries - computed: false, optional: true, required: false
748
+ _countries;
749
+ get countries() {
750
+ return this.getListAttribute('countries');
751
+ }
752
+ set countries(value) {
753
+ this._countries = value;
754
+ }
755
+ resetCountries() {
756
+ this._countries = undefined;
757
+ }
758
+ // Temporarily expose input value. Use with caution.
759
+ get countriesInput() {
760
+ return this._countries;
761
+ }
762
+ // default - computed: false, optional: true, required: false
763
+ _default;
764
+ get default() {
765
+ return this.getBooleanAttribute('default');
766
+ }
767
+ set default(value) {
768
+ this._default = value;
769
+ }
770
+ resetDefault() {
771
+ this._default = undefined;
772
+ }
773
+ // Temporarily expose input value. Use with caution.
774
+ get defaultInput() {
775
+ return this._default;
776
+ }
777
+ // ip - computed: false, optional: true, required: false
778
+ _ip;
779
+ get ip() {
780
+ return this.getListAttribute('ip');
781
+ }
782
+ set ip(value) {
783
+ this._ip = value;
784
+ }
785
+ resetIp() {
786
+ this._ip = undefined;
787
+ }
788
+ // Temporarily expose input value. Use with caution.
789
+ get ipInput() {
790
+ return this._ip;
791
+ }
792
+ // latlong - computed: false, optional: true, required: false
793
+ _latlong;
794
+ get latlong() {
795
+ return this.getNumberListAttribute('latlong');
796
+ }
797
+ set latlong(value) {
798
+ this._latlong = value;
799
+ }
800
+ resetLatlong() {
801
+ this._latlong = undefined;
802
+ }
803
+ // Temporarily expose input value. Use with caution.
804
+ get latlongInput() {
805
+ return this._latlong;
806
+ }
807
+ // notes - computed: false, optional: true, required: false
808
+ _notes;
809
+ get notes() {
810
+ return this.getListAttribute('notes');
811
+ }
812
+ set notes(value) {
813
+ this._notes = value;
814
+ }
815
+ resetNotes() {
816
+ this._notes = undefined;
817
+ }
818
+ // Temporarily expose input value. Use with caution.
819
+ get notesInput() {
820
+ return this._notes;
821
+ }
822
+ }
823
+ export function dnsZoneRecordResourceRecordToTerraform(struct) {
824
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
825
+ return struct;
826
+ }
827
+ if (cdktf.isComplexElement(struct)) {
828
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
829
+ }
830
+ return {
831
+ content: cdktf.stringToTerraform(struct.content),
832
+ enabled: cdktf.booleanToTerraform(struct.enabled),
833
+ meta: dnsZoneRecordResourceRecordMetaToTerraform(struct.meta),
834
+ };
835
+ }
836
+ export function dnsZoneRecordResourceRecordToHclTerraform(struct) {
837
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
838
+ return struct;
839
+ }
840
+ if (cdktf.isComplexElement(struct)) {
841
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
842
+ }
843
+ const attrs = {
844
+ content: {
845
+ value: cdktf.stringToHclTerraform(struct.content),
846
+ isBlock: false,
847
+ type: "simple",
848
+ storageClassType: "string",
849
+ },
850
+ enabled: {
851
+ value: cdktf.booleanToHclTerraform(struct.enabled),
852
+ isBlock: false,
853
+ type: "simple",
854
+ storageClassType: "boolean",
855
+ },
856
+ meta: {
857
+ value: dnsZoneRecordResourceRecordMetaToHclTerraform(struct.meta),
858
+ isBlock: true,
859
+ type: "set",
860
+ storageClassType: "DnsZoneRecordResourceRecordMetaList",
861
+ },
862
+ };
863
+ // remove undefined attributes
864
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
865
+ }
866
+ export class DnsZoneRecordResourceRecordOutputReference extends cdktf.ComplexObject {
867
+ isEmptyObject = false;
868
+ resolvableValue;
869
+ /**
870
+ * @param terraformResource The parent resource
871
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
872
+ * @param complexObjectIndex the index of this item in the list
873
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
874
+ */
875
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
876
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
877
+ }
878
+ get internalValue() {
879
+ if (this.resolvableValue) {
880
+ return this.resolvableValue;
881
+ }
882
+ let hasAnyValues = this.isEmptyObject;
883
+ const internalValueResult = {};
884
+ if (this._content !== undefined) {
885
+ hasAnyValues = true;
886
+ internalValueResult.content = this._content;
887
+ }
888
+ if (this._enabled !== undefined) {
889
+ hasAnyValues = true;
890
+ internalValueResult.enabled = this._enabled;
891
+ }
892
+ if (this._meta?.internalValue !== undefined) {
893
+ hasAnyValues = true;
894
+ internalValueResult.meta = this._meta?.internalValue;
895
+ }
896
+ return hasAnyValues ? internalValueResult : undefined;
897
+ }
898
+ set internalValue(value) {
899
+ if (value === undefined) {
900
+ this.isEmptyObject = false;
901
+ this.resolvableValue = undefined;
902
+ this._content = undefined;
903
+ this._enabled = undefined;
904
+ this._meta.internalValue = undefined;
905
+ }
906
+ else if (cdktf.Tokenization.isResolvable(value)) {
907
+ this.isEmptyObject = false;
908
+ this.resolvableValue = value;
909
+ }
910
+ else {
911
+ this.isEmptyObject = Object.keys(value).length === 0;
912
+ this.resolvableValue = undefined;
913
+ this._content = value.content;
914
+ this._enabled = value.enabled;
915
+ this._meta.internalValue = value.meta;
916
+ }
917
+ }
918
+ // content - computed: false, optional: false, required: true
919
+ _content;
920
+ get content() {
921
+ return this.getStringAttribute('content');
922
+ }
923
+ set content(value) {
924
+ this._content = value;
925
+ }
926
+ // Temporarily expose input value. Use with caution.
927
+ get contentInput() {
928
+ return this._content;
929
+ }
930
+ // enabled - computed: false, optional: true, required: false
931
+ _enabled;
932
+ get enabled() {
933
+ return this.getBooleanAttribute('enabled');
934
+ }
935
+ set enabled(value) {
936
+ this._enabled = value;
937
+ }
938
+ resetEnabled() {
939
+ this._enabled = undefined;
940
+ }
941
+ // Temporarily expose input value. Use with caution.
942
+ get enabledInput() {
943
+ return this._enabled;
944
+ }
945
+ // meta - computed: false, optional: true, required: false
946
+ _meta = new DnsZoneRecordResourceRecordMetaOutputReference(this, "meta");
947
+ get meta() {
948
+ return this._meta;
949
+ }
950
+ putMeta(value) {
951
+ this._meta.internalValue = value;
952
+ }
953
+ resetMeta() {
954
+ this._meta.internalValue = undefined;
955
+ }
956
+ // Temporarily expose input value. Use with caution.
957
+ get metaInput() {
958
+ return this._meta.internalValue;
959
+ }
960
+ }
961
+ export class DnsZoneRecordResourceRecordList extends cdktf.ComplexList {
962
+ terraformResource;
963
+ terraformAttribute;
964
+ wrapsSet;
965
+ internalValue;
966
+ /**
967
+ * @param terraformResource The parent resource
968
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
969
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
970
+ */
971
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
972
+ super(terraformResource, terraformAttribute, wrapsSet);
973
+ this.terraformResource = terraformResource;
974
+ this.terraformAttribute = terraformAttribute;
975
+ this.wrapsSet = wrapsSet;
976
+ }
977
+ /**
978
+ * @param index the index of the item to return
979
+ */
980
+ get(index) {
981
+ return new DnsZoneRecordResourceRecordOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
982
+ }
983
+ }
984
+ /**
985
+ * Represents a {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/dns_zone_record edgecenter_dns_zone_record}
986
+ */
987
+ export class DnsZoneRecord extends cdktf.TerraformResource {
988
+ // =================
989
+ // STATIC PROPERTIES
990
+ // =================
991
+ static tfResourceType = "edgecenter_dns_zone_record";
992
+ // ==============
993
+ // STATIC Methods
994
+ // ==============
995
+ /**
996
+ * Generates CDKTF code for importing a DnsZoneRecord resource upon running "cdktf plan <stack-name>"
997
+ * @param scope The scope in which to define this construct
998
+ * @param importToId The construct id used in the generated config for the DnsZoneRecord to import
999
+ * @param importFromId The id of the existing DnsZoneRecord that should be imported. Refer to the {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/dns_zone_record#import import section} in the documentation of this resource for the id to use
1000
+ * @param provider? Optional instance of the provider where the DnsZoneRecord to import is found
1001
+ */
1002
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
1003
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "edgecenter_dns_zone_record", importId: importFromId, provider });
1004
+ }
1005
+ // ===========
1006
+ // INITIALIZER
1007
+ // ===========
1008
+ /**
1009
+ * Create a new {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/dns_zone_record edgecenter_dns_zone_record} Resource
1010
+ *
1011
+ * @param scope The scope in which to define this construct
1012
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
1013
+ * @param options DnsZoneRecordConfig
1014
+ */
1015
+ constructor(scope, id, config) {
1016
+ super(scope, id, {
1017
+ terraformResourceType: 'edgecenter_dns_zone_record',
1018
+ terraformGeneratorMetadata: {
1019
+ providerName: 'edgecenter',
1020
+ providerVersion: '0.10.4',
1021
+ providerVersionConstraint: '0.10.4'
1022
+ },
1023
+ provider: config.provider,
1024
+ dependsOn: config.dependsOn,
1025
+ count: config.count,
1026
+ lifecycle: config.lifecycle,
1027
+ provisioners: config.provisioners,
1028
+ connection: config.connection,
1029
+ forEach: config.forEach
1030
+ });
1031
+ this._domain = config.domain;
1032
+ this._id = config.id;
1033
+ this._ttl = config.ttl;
1034
+ this._type = config.type;
1035
+ this._zone = config.zone;
1036
+ this._filter.internalValue = config.filter;
1037
+ this._meta.internalValue = config.meta;
1038
+ this._resourceRecord.internalValue = config.resourceRecord;
1039
+ }
1040
+ // ==========
1041
+ // ATTRIBUTES
1042
+ // ==========
1043
+ // domain - computed: false, optional: false, required: true
1044
+ _domain;
1045
+ get domain() {
1046
+ return this.getStringAttribute('domain');
1047
+ }
1048
+ set domain(value) {
1049
+ this._domain = value;
1050
+ }
1051
+ // Temporarily expose input value. Use with caution.
1052
+ get domainInput() {
1053
+ return this._domain;
1054
+ }
1055
+ // id - computed: true, optional: true, required: false
1056
+ _id;
1057
+ get id() {
1058
+ return this.getStringAttribute('id');
1059
+ }
1060
+ set id(value) {
1061
+ this._id = value;
1062
+ }
1063
+ resetId() {
1064
+ this._id = undefined;
1065
+ }
1066
+ // Temporarily expose input value. Use with caution.
1067
+ get idInput() {
1068
+ return this._id;
1069
+ }
1070
+ // ttl - computed: false, optional: true, required: false
1071
+ _ttl;
1072
+ get ttl() {
1073
+ return this.getNumberAttribute('ttl');
1074
+ }
1075
+ set ttl(value) {
1076
+ this._ttl = value;
1077
+ }
1078
+ resetTtl() {
1079
+ this._ttl = undefined;
1080
+ }
1081
+ // Temporarily expose input value. Use with caution.
1082
+ get ttlInput() {
1083
+ return this._ttl;
1084
+ }
1085
+ // type - computed: false, optional: false, required: true
1086
+ _type;
1087
+ get type() {
1088
+ return this.getStringAttribute('type');
1089
+ }
1090
+ set type(value) {
1091
+ this._type = value;
1092
+ }
1093
+ // Temporarily expose input value. Use with caution.
1094
+ get typeInput() {
1095
+ return this._type;
1096
+ }
1097
+ // zone - computed: false, optional: false, required: true
1098
+ _zone;
1099
+ get zone() {
1100
+ return this.getStringAttribute('zone');
1101
+ }
1102
+ set zone(value) {
1103
+ this._zone = value;
1104
+ }
1105
+ // Temporarily expose input value. Use with caution.
1106
+ get zoneInput() {
1107
+ return this._zone;
1108
+ }
1109
+ // filter - computed: false, optional: true, required: false
1110
+ _filter = new DnsZoneRecordFilterList(this, "filter", false);
1111
+ get filter() {
1112
+ return this._filter;
1113
+ }
1114
+ putFilter(value) {
1115
+ this._filter.internalValue = value;
1116
+ }
1117
+ resetFilter() {
1118
+ this._filter.internalValue = undefined;
1119
+ }
1120
+ // Temporarily expose input value. Use with caution.
1121
+ get filterInput() {
1122
+ return this._filter.internalValue;
1123
+ }
1124
+ // meta - computed: false, optional: false, required: true
1125
+ _meta = new DnsZoneRecordMetaOutputReference(this, "meta");
1126
+ get meta() {
1127
+ return this._meta;
1128
+ }
1129
+ putMeta(value) {
1130
+ this._meta.internalValue = value;
1131
+ }
1132
+ // Temporarily expose input value. Use with caution.
1133
+ get metaInput() {
1134
+ return this._meta.internalValue;
1135
+ }
1136
+ // resource_record - computed: false, optional: false, required: true
1137
+ _resourceRecord = new DnsZoneRecordResourceRecordList(this, "resource_record", true);
1138
+ get resourceRecord() {
1139
+ return this._resourceRecord;
1140
+ }
1141
+ putResourceRecord(value) {
1142
+ this._resourceRecord.internalValue = value;
1143
+ }
1144
+ // Temporarily expose input value. Use with caution.
1145
+ get resourceRecordInput() {
1146
+ return this._resourceRecord.internalValue;
1147
+ }
1148
+ // =========
1149
+ // SYNTHESIS
1150
+ // =========
1151
+ synthesizeAttributes() {
1152
+ return {
1153
+ domain: cdktf.stringToTerraform(this._domain),
1154
+ id: cdktf.stringToTerraform(this._id),
1155
+ ttl: cdktf.numberToTerraform(this._ttl),
1156
+ type: cdktf.stringToTerraform(this._type),
1157
+ zone: cdktf.stringToTerraform(this._zone),
1158
+ filter: cdktf.listMapper(dnsZoneRecordFilterToTerraform, true)(this._filter.internalValue),
1159
+ meta: dnsZoneRecordMetaToTerraform(this._meta.internalValue),
1160
+ resource_record: cdktf.listMapper(dnsZoneRecordResourceRecordToTerraform, true)(this._resourceRecord.internalValue),
1161
+ };
1162
+ }
1163
+ synthesizeHclAttributes() {
1164
+ const attrs = {
1165
+ domain: {
1166
+ value: cdktf.stringToHclTerraform(this._domain),
1167
+ isBlock: false,
1168
+ type: "simple",
1169
+ storageClassType: "string",
1170
+ },
1171
+ id: {
1172
+ value: cdktf.stringToHclTerraform(this._id),
1173
+ isBlock: false,
1174
+ type: "simple",
1175
+ storageClassType: "string",
1176
+ },
1177
+ ttl: {
1178
+ value: cdktf.numberToHclTerraform(this._ttl),
1179
+ isBlock: false,
1180
+ type: "simple",
1181
+ storageClassType: "number",
1182
+ },
1183
+ type: {
1184
+ value: cdktf.stringToHclTerraform(this._type),
1185
+ isBlock: false,
1186
+ type: "simple",
1187
+ storageClassType: "string",
1188
+ },
1189
+ zone: {
1190
+ value: cdktf.stringToHclTerraform(this._zone),
1191
+ isBlock: false,
1192
+ type: "simple",
1193
+ storageClassType: "string",
1194
+ },
1195
+ filter: {
1196
+ value: cdktf.listMapperHcl(dnsZoneRecordFilterToHclTerraform, true)(this._filter.internalValue),
1197
+ isBlock: true,
1198
+ type: "list",
1199
+ storageClassType: "DnsZoneRecordFilterList",
1200
+ },
1201
+ meta: {
1202
+ value: dnsZoneRecordMetaToHclTerraform(this._meta.internalValue),
1203
+ isBlock: true,
1204
+ type: "list",
1205
+ storageClassType: "DnsZoneRecordMetaList",
1206
+ },
1207
+ resource_record: {
1208
+ value: cdktf.listMapperHcl(dnsZoneRecordResourceRecordToHclTerraform, true)(this._resourceRecord.internalValue),
1209
+ isBlock: true,
1210
+ type: "set",
1211
+ storageClassType: "DnsZoneRecordResourceRecordList",
1212
+ },
1213
+ };
1214
+ // remove undefined attributes
1215
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1216
+ }
1217
+ }