@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,560 @@
1
+ // https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/cdn_origingroup
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function cdnOrigingroupAuthorizationToTerraform(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
+ access_key_id: cdktf.stringToTerraform(struct.accessKeyId),
13
+ addressing_style: cdktf.stringToTerraform(struct.addressingStyle),
14
+ auth_type: cdktf.stringToTerraform(struct.authType),
15
+ aws_region: cdktf.stringToTerraform(struct.awsRegion),
16
+ bucket_name: cdktf.stringToTerraform(struct.bucketName),
17
+ secret_key: cdktf.stringToTerraform(struct.secretKey),
18
+ };
19
+ }
20
+ export function cdnOrigingroupAuthorizationToHclTerraform(struct) {
21
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
22
+ return struct;
23
+ }
24
+ if (cdktf.isComplexElement(struct)) {
25
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
26
+ }
27
+ const attrs = {
28
+ access_key_id: {
29
+ value: cdktf.stringToHclTerraform(struct.accessKeyId),
30
+ isBlock: false,
31
+ type: "simple",
32
+ storageClassType: "string",
33
+ },
34
+ addressing_style: {
35
+ value: cdktf.stringToHclTerraform(struct.addressingStyle),
36
+ isBlock: false,
37
+ type: "simple",
38
+ storageClassType: "string",
39
+ },
40
+ auth_type: {
41
+ value: cdktf.stringToHclTerraform(struct.authType),
42
+ isBlock: false,
43
+ type: "simple",
44
+ storageClassType: "string",
45
+ },
46
+ aws_region: {
47
+ value: cdktf.stringToHclTerraform(struct.awsRegion),
48
+ isBlock: false,
49
+ type: "simple",
50
+ storageClassType: "string",
51
+ },
52
+ bucket_name: {
53
+ value: cdktf.stringToHclTerraform(struct.bucketName),
54
+ isBlock: false,
55
+ type: "simple",
56
+ storageClassType: "string",
57
+ },
58
+ secret_key: {
59
+ value: cdktf.stringToHclTerraform(struct.secretKey),
60
+ isBlock: false,
61
+ type: "simple",
62
+ storageClassType: "string",
63
+ },
64
+ };
65
+ // remove undefined attributes
66
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
67
+ }
68
+ export class CdnOrigingroupAuthorizationOutputReference extends cdktf.ComplexObject {
69
+ isEmptyObject = false;
70
+ /**
71
+ * @param terraformResource The parent resource
72
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
73
+ */
74
+ constructor(terraformResource, terraformAttribute) {
75
+ super(terraformResource, terraformAttribute, false, 0);
76
+ }
77
+ get internalValue() {
78
+ let hasAnyValues = this.isEmptyObject;
79
+ const internalValueResult = {};
80
+ if (this._accessKeyId !== undefined) {
81
+ hasAnyValues = true;
82
+ internalValueResult.accessKeyId = this._accessKeyId;
83
+ }
84
+ if (this._addressingStyle !== undefined) {
85
+ hasAnyValues = true;
86
+ internalValueResult.addressingStyle = this._addressingStyle;
87
+ }
88
+ if (this._authType !== undefined) {
89
+ hasAnyValues = true;
90
+ internalValueResult.authType = this._authType;
91
+ }
92
+ if (this._awsRegion !== undefined) {
93
+ hasAnyValues = true;
94
+ internalValueResult.awsRegion = this._awsRegion;
95
+ }
96
+ if (this._bucketName !== undefined) {
97
+ hasAnyValues = true;
98
+ internalValueResult.bucketName = this._bucketName;
99
+ }
100
+ if (this._secretKey !== undefined) {
101
+ hasAnyValues = true;
102
+ internalValueResult.secretKey = this._secretKey;
103
+ }
104
+ return hasAnyValues ? internalValueResult : undefined;
105
+ }
106
+ set internalValue(value) {
107
+ if (value === undefined) {
108
+ this.isEmptyObject = false;
109
+ this._accessKeyId = undefined;
110
+ this._addressingStyle = undefined;
111
+ this._authType = undefined;
112
+ this._awsRegion = undefined;
113
+ this._bucketName = undefined;
114
+ this._secretKey = undefined;
115
+ }
116
+ else {
117
+ this.isEmptyObject = Object.keys(value).length === 0;
118
+ this._accessKeyId = value.accessKeyId;
119
+ this._addressingStyle = value.addressingStyle;
120
+ this._authType = value.authType;
121
+ this._awsRegion = value.awsRegion;
122
+ this._bucketName = value.bucketName;
123
+ this._secretKey = value.secretKey;
124
+ }
125
+ }
126
+ // access_key_id - computed: false, optional: false, required: true
127
+ _accessKeyId;
128
+ get accessKeyId() {
129
+ return this.getStringAttribute('access_key_id');
130
+ }
131
+ set accessKeyId(value) {
132
+ this._accessKeyId = value;
133
+ }
134
+ // Temporarily expose input value. Use with caution.
135
+ get accessKeyIdInput() {
136
+ return this._accessKeyId;
137
+ }
138
+ // addressing_style - computed: false, optional: true, required: false
139
+ _addressingStyle;
140
+ get addressingStyle() {
141
+ return this.getStringAttribute('addressing_style');
142
+ }
143
+ set addressingStyle(value) {
144
+ this._addressingStyle = value;
145
+ }
146
+ resetAddressingStyle() {
147
+ this._addressingStyle = undefined;
148
+ }
149
+ // Temporarily expose input value. Use with caution.
150
+ get addressingStyleInput() {
151
+ return this._addressingStyle;
152
+ }
153
+ // auth_type - computed: false, optional: false, required: true
154
+ _authType;
155
+ get authType() {
156
+ return this.getStringAttribute('auth_type');
157
+ }
158
+ set authType(value) {
159
+ this._authType = value;
160
+ }
161
+ // Temporarily expose input value. Use with caution.
162
+ get authTypeInput() {
163
+ return this._authType;
164
+ }
165
+ // aws_region - computed: false, optional: true, required: false
166
+ _awsRegion;
167
+ get awsRegion() {
168
+ return this.getStringAttribute('aws_region');
169
+ }
170
+ set awsRegion(value) {
171
+ this._awsRegion = value;
172
+ }
173
+ resetAwsRegion() {
174
+ this._awsRegion = undefined;
175
+ }
176
+ // Temporarily expose input value. Use with caution.
177
+ get awsRegionInput() {
178
+ return this._awsRegion;
179
+ }
180
+ // bucket_name - computed: false, optional: false, required: true
181
+ _bucketName;
182
+ get bucketName() {
183
+ return this.getStringAttribute('bucket_name');
184
+ }
185
+ set bucketName(value) {
186
+ this._bucketName = value;
187
+ }
188
+ // Temporarily expose input value. Use with caution.
189
+ get bucketNameInput() {
190
+ return this._bucketName;
191
+ }
192
+ // secret_key - computed: false, optional: false, required: true
193
+ _secretKey;
194
+ get secretKey() {
195
+ return this.getStringAttribute('secret_key');
196
+ }
197
+ set secretKey(value) {
198
+ this._secretKey = value;
199
+ }
200
+ // Temporarily expose input value. Use with caution.
201
+ get secretKeyInput() {
202
+ return this._secretKey;
203
+ }
204
+ }
205
+ export function cdnOrigingroupOriginToTerraform(struct) {
206
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
207
+ return struct;
208
+ }
209
+ if (cdktf.isComplexElement(struct)) {
210
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
211
+ }
212
+ return {
213
+ backup: cdktf.booleanToTerraform(struct.backup),
214
+ enabled: cdktf.booleanToTerraform(struct.enabled),
215
+ source: cdktf.stringToTerraform(struct.source),
216
+ };
217
+ }
218
+ export function cdnOrigingroupOriginToHclTerraform(struct) {
219
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
220
+ return struct;
221
+ }
222
+ if (cdktf.isComplexElement(struct)) {
223
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
224
+ }
225
+ const attrs = {
226
+ backup: {
227
+ value: cdktf.booleanToHclTerraform(struct.backup),
228
+ isBlock: false,
229
+ type: "simple",
230
+ storageClassType: "boolean",
231
+ },
232
+ enabled: {
233
+ value: cdktf.booleanToHclTerraform(struct.enabled),
234
+ isBlock: false,
235
+ type: "simple",
236
+ storageClassType: "boolean",
237
+ },
238
+ source: {
239
+ value: cdktf.stringToHclTerraform(struct.source),
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 CdnOrigingroupOriginOutputReference 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._backup !== undefined) {
267
+ hasAnyValues = true;
268
+ internalValueResult.backup = this._backup;
269
+ }
270
+ if (this._enabled !== undefined) {
271
+ hasAnyValues = true;
272
+ internalValueResult.enabled = this._enabled;
273
+ }
274
+ if (this._source !== undefined) {
275
+ hasAnyValues = true;
276
+ internalValueResult.source = this._source;
277
+ }
278
+ return hasAnyValues ? internalValueResult : undefined;
279
+ }
280
+ set internalValue(value) {
281
+ if (value === undefined) {
282
+ this.isEmptyObject = false;
283
+ this.resolvableValue = undefined;
284
+ this._backup = undefined;
285
+ this._enabled = undefined;
286
+ this._source = undefined;
287
+ }
288
+ else if (cdktf.Tokenization.isResolvable(value)) {
289
+ this.isEmptyObject = false;
290
+ this.resolvableValue = value;
291
+ }
292
+ else {
293
+ this.isEmptyObject = Object.keys(value).length === 0;
294
+ this.resolvableValue = undefined;
295
+ this._backup = value.backup;
296
+ this._enabled = value.enabled;
297
+ this._source = value.source;
298
+ }
299
+ }
300
+ // backup - computed: true, optional: true, required: false
301
+ _backup;
302
+ get backup() {
303
+ return this.getBooleanAttribute('backup');
304
+ }
305
+ set backup(value) {
306
+ this._backup = value;
307
+ }
308
+ resetBackup() {
309
+ this._backup = undefined;
310
+ }
311
+ // Temporarily expose input value. Use with caution.
312
+ get backupInput() {
313
+ return this._backup;
314
+ }
315
+ // enabled - computed: true, optional: true, required: false
316
+ _enabled;
317
+ get enabled() {
318
+ return this.getBooleanAttribute('enabled');
319
+ }
320
+ set enabled(value) {
321
+ this._enabled = value;
322
+ }
323
+ resetEnabled() {
324
+ this._enabled = undefined;
325
+ }
326
+ // Temporarily expose input value. Use with caution.
327
+ get enabledInput() {
328
+ return this._enabled;
329
+ }
330
+ // id - computed: true, optional: false, required: false
331
+ get id() {
332
+ return this.getNumberAttribute('id');
333
+ }
334
+ // source - computed: false, optional: false, required: true
335
+ _source;
336
+ get source() {
337
+ return this.getStringAttribute('source');
338
+ }
339
+ set source(value) {
340
+ this._source = value;
341
+ }
342
+ // Temporarily expose input value. Use with caution.
343
+ get sourceInput() {
344
+ return this._source;
345
+ }
346
+ }
347
+ export class CdnOrigingroupOriginList extends cdktf.ComplexList {
348
+ terraformResource;
349
+ terraformAttribute;
350
+ wrapsSet;
351
+ internalValue;
352
+ /**
353
+ * @param terraformResource The parent resource
354
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
355
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
356
+ */
357
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
358
+ super(terraformResource, terraformAttribute, wrapsSet);
359
+ this.terraformResource = terraformResource;
360
+ this.terraformAttribute = terraformAttribute;
361
+ this.wrapsSet = wrapsSet;
362
+ }
363
+ /**
364
+ * @param index the index of the item to return
365
+ */
366
+ get(index) {
367
+ return new CdnOrigingroupOriginOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
368
+ }
369
+ }
370
+ /**
371
+ * Represents a {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/cdn_origingroup edgecenter_cdn_origingroup}
372
+ */
373
+ export class CdnOrigingroup extends cdktf.TerraformResource {
374
+ // =================
375
+ // STATIC PROPERTIES
376
+ // =================
377
+ static tfResourceType = "edgecenter_cdn_origingroup";
378
+ // ==============
379
+ // STATIC Methods
380
+ // ==============
381
+ /**
382
+ * Generates CDKTF code for importing a CdnOrigingroup resource upon running "cdktf plan <stack-name>"
383
+ * @param scope The scope in which to define this construct
384
+ * @param importToId The construct id used in the generated config for the CdnOrigingroup to import
385
+ * @param importFromId The id of the existing CdnOrigingroup that should be imported. Refer to the {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/cdn_origingroup#import import section} in the documentation of this resource for the id to use
386
+ * @param provider? Optional instance of the provider where the CdnOrigingroup to import is found
387
+ */
388
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
389
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "edgecenter_cdn_origingroup", importId: importFromId, provider });
390
+ }
391
+ // ===========
392
+ // INITIALIZER
393
+ // ===========
394
+ /**
395
+ * Create a new {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/cdn_origingroup edgecenter_cdn_origingroup} Resource
396
+ *
397
+ * @param scope The scope in which to define this construct
398
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
399
+ * @param options CdnOrigingroupConfig
400
+ */
401
+ constructor(scope, id, config) {
402
+ super(scope, id, {
403
+ terraformResourceType: 'edgecenter_cdn_origingroup',
404
+ terraformGeneratorMetadata: {
405
+ providerName: 'edgecenter',
406
+ providerVersion: '0.10.4',
407
+ providerVersionConstraint: '0.10.4'
408
+ },
409
+ provider: config.provider,
410
+ dependsOn: config.dependsOn,
411
+ count: config.count,
412
+ lifecycle: config.lifecycle,
413
+ provisioners: config.provisioners,
414
+ connection: config.connection,
415
+ forEach: config.forEach
416
+ });
417
+ this._consistentBalancing = config.consistentBalancing;
418
+ this._id = config.id;
419
+ this._name = config.name;
420
+ this._useNext = config.useNext;
421
+ this._authorization.internalValue = config.authorization;
422
+ this._origin.internalValue = config.origin;
423
+ }
424
+ // ==========
425
+ // ATTRIBUTES
426
+ // ==========
427
+ // consistent_balancing - computed: false, optional: false, required: true
428
+ _consistentBalancing;
429
+ get consistentBalancing() {
430
+ return this.getBooleanAttribute('consistent_balancing');
431
+ }
432
+ set consistentBalancing(value) {
433
+ this._consistentBalancing = value;
434
+ }
435
+ // Temporarily expose input value. Use with caution.
436
+ get consistentBalancingInput() {
437
+ return this._consistentBalancing;
438
+ }
439
+ // id - computed: true, optional: true, required: false
440
+ _id;
441
+ get id() {
442
+ return this.getStringAttribute('id');
443
+ }
444
+ set id(value) {
445
+ this._id = value;
446
+ }
447
+ resetId() {
448
+ this._id = undefined;
449
+ }
450
+ // Temporarily expose input value. Use with caution.
451
+ get idInput() {
452
+ return this._id;
453
+ }
454
+ // name - computed: false, optional: false, required: true
455
+ _name;
456
+ get name() {
457
+ return this.getStringAttribute('name');
458
+ }
459
+ set name(value) {
460
+ this._name = value;
461
+ }
462
+ // Temporarily expose input value. Use with caution.
463
+ get nameInput() {
464
+ return this._name;
465
+ }
466
+ // use_next - computed: false, optional: false, required: true
467
+ _useNext;
468
+ get useNext() {
469
+ return this.getBooleanAttribute('use_next');
470
+ }
471
+ set useNext(value) {
472
+ this._useNext = value;
473
+ }
474
+ // Temporarily expose input value. Use with caution.
475
+ get useNextInput() {
476
+ return this._useNext;
477
+ }
478
+ // authorization - computed: false, optional: true, required: false
479
+ _authorization = new CdnOrigingroupAuthorizationOutputReference(this, "authorization");
480
+ get authorization() {
481
+ return this._authorization;
482
+ }
483
+ putAuthorization(value) {
484
+ this._authorization.internalValue = value;
485
+ }
486
+ resetAuthorization() {
487
+ this._authorization.internalValue = undefined;
488
+ }
489
+ // Temporarily expose input value. Use with caution.
490
+ get authorizationInput() {
491
+ return this._authorization.internalValue;
492
+ }
493
+ // origin - computed: false, optional: false, required: true
494
+ _origin = new CdnOrigingroupOriginList(this, "origin", true);
495
+ get origin() {
496
+ return this._origin;
497
+ }
498
+ putOrigin(value) {
499
+ this._origin.internalValue = value;
500
+ }
501
+ // Temporarily expose input value. Use with caution.
502
+ get originInput() {
503
+ return this._origin.internalValue;
504
+ }
505
+ // =========
506
+ // SYNTHESIS
507
+ // =========
508
+ synthesizeAttributes() {
509
+ return {
510
+ consistent_balancing: cdktf.booleanToTerraform(this._consistentBalancing),
511
+ id: cdktf.stringToTerraform(this._id),
512
+ name: cdktf.stringToTerraform(this._name),
513
+ use_next: cdktf.booleanToTerraform(this._useNext),
514
+ authorization: cdnOrigingroupAuthorizationToTerraform(this._authorization.internalValue),
515
+ origin: cdktf.listMapper(cdnOrigingroupOriginToTerraform, true)(this._origin.internalValue),
516
+ };
517
+ }
518
+ synthesizeHclAttributes() {
519
+ const attrs = {
520
+ consistent_balancing: {
521
+ value: cdktf.booleanToHclTerraform(this._consistentBalancing),
522
+ isBlock: false,
523
+ type: "simple",
524
+ storageClassType: "boolean",
525
+ },
526
+ id: {
527
+ value: cdktf.stringToHclTerraform(this._id),
528
+ isBlock: false,
529
+ type: "simple",
530
+ storageClassType: "string",
531
+ },
532
+ name: {
533
+ value: cdktf.stringToHclTerraform(this._name),
534
+ isBlock: false,
535
+ type: "simple",
536
+ storageClassType: "string",
537
+ },
538
+ use_next: {
539
+ value: cdktf.booleanToHclTerraform(this._useNext),
540
+ isBlock: false,
541
+ type: "simple",
542
+ storageClassType: "boolean",
543
+ },
544
+ authorization: {
545
+ value: cdnOrigingroupAuthorizationToHclTerraform(this._authorization.internalValue),
546
+ isBlock: true,
547
+ type: "set",
548
+ storageClassType: "CdnOrigingroupAuthorizationList",
549
+ },
550
+ origin: {
551
+ value: cdktf.listMapperHcl(cdnOrigingroupOriginToHclTerraform, true)(this._origin.internalValue),
552
+ isBlock: true,
553
+ type: "set",
554
+ storageClassType: "CdnOrigingroupOriginList",
555
+ },
556
+ };
557
+ // remove undefined attributes
558
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
559
+ }
560
+ }