@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,1188 @@
1
+ // https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lifecyclepolicy
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function lifecyclepolicyScheduleCronToTerraform(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
+ day: cdktf.stringToTerraform(struct.day),
13
+ day_of_week: cdktf.stringToTerraform(struct.dayOfWeek),
14
+ hour: cdktf.stringToTerraform(struct.hour),
15
+ minute: cdktf.stringToTerraform(struct.minute),
16
+ month: cdktf.stringToTerraform(struct.month),
17
+ timezone: cdktf.stringToTerraform(struct.timezone),
18
+ week: cdktf.stringToTerraform(struct.week),
19
+ };
20
+ }
21
+ export function lifecyclepolicyScheduleCronToHclTerraform(struct) {
22
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
23
+ return struct;
24
+ }
25
+ if (cdktf.isComplexElement(struct)) {
26
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
27
+ }
28
+ const attrs = {
29
+ day: {
30
+ value: cdktf.stringToHclTerraform(struct.day),
31
+ isBlock: false,
32
+ type: "simple",
33
+ storageClassType: "string",
34
+ },
35
+ day_of_week: {
36
+ value: cdktf.stringToHclTerraform(struct.dayOfWeek),
37
+ isBlock: false,
38
+ type: "simple",
39
+ storageClassType: "string",
40
+ },
41
+ hour: {
42
+ value: cdktf.stringToHclTerraform(struct.hour),
43
+ isBlock: false,
44
+ type: "simple",
45
+ storageClassType: "string",
46
+ },
47
+ minute: {
48
+ value: cdktf.stringToHclTerraform(struct.minute),
49
+ isBlock: false,
50
+ type: "simple",
51
+ storageClassType: "string",
52
+ },
53
+ month: {
54
+ value: cdktf.stringToHclTerraform(struct.month),
55
+ isBlock: false,
56
+ type: "simple",
57
+ storageClassType: "string",
58
+ },
59
+ timezone: {
60
+ value: cdktf.stringToHclTerraform(struct.timezone),
61
+ isBlock: false,
62
+ type: "simple",
63
+ storageClassType: "string",
64
+ },
65
+ week: {
66
+ value: cdktf.stringToHclTerraform(struct.week),
67
+ isBlock: false,
68
+ type: "simple",
69
+ storageClassType: "string",
70
+ },
71
+ };
72
+ // remove undefined attributes
73
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
74
+ }
75
+ export class LifecyclepolicyScheduleCronOutputReference extends cdktf.ComplexObject {
76
+ isEmptyObject = false;
77
+ /**
78
+ * @param terraformResource The parent resource
79
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
80
+ */
81
+ constructor(terraformResource, terraformAttribute) {
82
+ super(terraformResource, terraformAttribute, false, 0);
83
+ }
84
+ get internalValue() {
85
+ let hasAnyValues = this.isEmptyObject;
86
+ const internalValueResult = {};
87
+ if (this._day !== undefined) {
88
+ hasAnyValues = true;
89
+ internalValueResult.day = this._day;
90
+ }
91
+ if (this._dayOfWeek !== undefined) {
92
+ hasAnyValues = true;
93
+ internalValueResult.dayOfWeek = this._dayOfWeek;
94
+ }
95
+ if (this._hour !== undefined) {
96
+ hasAnyValues = true;
97
+ internalValueResult.hour = this._hour;
98
+ }
99
+ if (this._minute !== undefined) {
100
+ hasAnyValues = true;
101
+ internalValueResult.minute = this._minute;
102
+ }
103
+ if (this._month !== undefined) {
104
+ hasAnyValues = true;
105
+ internalValueResult.month = this._month;
106
+ }
107
+ if (this._timezone !== undefined) {
108
+ hasAnyValues = true;
109
+ internalValueResult.timezone = this._timezone;
110
+ }
111
+ if (this._week !== undefined) {
112
+ hasAnyValues = true;
113
+ internalValueResult.week = this._week;
114
+ }
115
+ return hasAnyValues ? internalValueResult : undefined;
116
+ }
117
+ set internalValue(value) {
118
+ if (value === undefined) {
119
+ this.isEmptyObject = false;
120
+ this._day = undefined;
121
+ this._dayOfWeek = undefined;
122
+ this._hour = undefined;
123
+ this._minute = undefined;
124
+ this._month = undefined;
125
+ this._timezone = undefined;
126
+ this._week = undefined;
127
+ }
128
+ else {
129
+ this.isEmptyObject = Object.keys(value).length === 0;
130
+ this._day = value.day;
131
+ this._dayOfWeek = value.dayOfWeek;
132
+ this._hour = value.hour;
133
+ this._minute = value.minute;
134
+ this._month = value.month;
135
+ this._timezone = value.timezone;
136
+ this._week = value.week;
137
+ }
138
+ }
139
+ // day - computed: false, optional: true, required: false
140
+ _day;
141
+ get day() {
142
+ return this.getStringAttribute('day');
143
+ }
144
+ set day(value) {
145
+ this._day = value;
146
+ }
147
+ resetDay() {
148
+ this._day = undefined;
149
+ }
150
+ // Temporarily expose input value. Use with caution.
151
+ get dayInput() {
152
+ return this._day;
153
+ }
154
+ // day_of_week - computed: false, optional: true, required: false
155
+ _dayOfWeek;
156
+ get dayOfWeek() {
157
+ return this.getStringAttribute('day_of_week');
158
+ }
159
+ set dayOfWeek(value) {
160
+ this._dayOfWeek = value;
161
+ }
162
+ resetDayOfWeek() {
163
+ this._dayOfWeek = undefined;
164
+ }
165
+ // Temporarily expose input value. Use with caution.
166
+ get dayOfWeekInput() {
167
+ return this._dayOfWeek;
168
+ }
169
+ // hour - computed: false, optional: true, required: false
170
+ _hour;
171
+ get hour() {
172
+ return this.getStringAttribute('hour');
173
+ }
174
+ set hour(value) {
175
+ this._hour = value;
176
+ }
177
+ resetHour() {
178
+ this._hour = undefined;
179
+ }
180
+ // Temporarily expose input value. Use with caution.
181
+ get hourInput() {
182
+ return this._hour;
183
+ }
184
+ // minute - computed: false, optional: true, required: false
185
+ _minute;
186
+ get minute() {
187
+ return this.getStringAttribute('minute');
188
+ }
189
+ set minute(value) {
190
+ this._minute = value;
191
+ }
192
+ resetMinute() {
193
+ this._minute = undefined;
194
+ }
195
+ // Temporarily expose input value. Use with caution.
196
+ get minuteInput() {
197
+ return this._minute;
198
+ }
199
+ // month - computed: false, optional: true, required: false
200
+ _month;
201
+ get month() {
202
+ return this.getStringAttribute('month');
203
+ }
204
+ set month(value) {
205
+ this._month = value;
206
+ }
207
+ resetMonth() {
208
+ this._month = undefined;
209
+ }
210
+ // Temporarily expose input value. Use with caution.
211
+ get monthInput() {
212
+ return this._month;
213
+ }
214
+ // timezone - computed: false, optional: true, required: false
215
+ _timezone;
216
+ get timezone() {
217
+ return this.getStringAttribute('timezone');
218
+ }
219
+ set timezone(value) {
220
+ this._timezone = value;
221
+ }
222
+ resetTimezone() {
223
+ this._timezone = undefined;
224
+ }
225
+ // Temporarily expose input value. Use with caution.
226
+ get timezoneInput() {
227
+ return this._timezone;
228
+ }
229
+ // week - computed: false, optional: true, required: false
230
+ _week;
231
+ get week() {
232
+ return this.getStringAttribute('week');
233
+ }
234
+ set week(value) {
235
+ this._week = value;
236
+ }
237
+ resetWeek() {
238
+ this._week = undefined;
239
+ }
240
+ // Temporarily expose input value. Use with caution.
241
+ get weekInput() {
242
+ return this._week;
243
+ }
244
+ }
245
+ export function lifecyclepolicyScheduleIntervalToTerraform(struct) {
246
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
247
+ return struct;
248
+ }
249
+ if (cdktf.isComplexElement(struct)) {
250
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
251
+ }
252
+ return {
253
+ days: cdktf.numberToTerraform(struct.days),
254
+ hours: cdktf.numberToTerraform(struct.hours),
255
+ minutes: cdktf.numberToTerraform(struct.minutes),
256
+ weeks: cdktf.numberToTerraform(struct.weeks),
257
+ };
258
+ }
259
+ export function lifecyclepolicyScheduleIntervalToHclTerraform(struct) {
260
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
261
+ return struct;
262
+ }
263
+ if (cdktf.isComplexElement(struct)) {
264
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
265
+ }
266
+ const attrs = {
267
+ days: {
268
+ value: cdktf.numberToHclTerraform(struct.days),
269
+ isBlock: false,
270
+ type: "simple",
271
+ storageClassType: "number",
272
+ },
273
+ hours: {
274
+ value: cdktf.numberToHclTerraform(struct.hours),
275
+ isBlock: false,
276
+ type: "simple",
277
+ storageClassType: "number",
278
+ },
279
+ minutes: {
280
+ value: cdktf.numberToHclTerraform(struct.minutes),
281
+ isBlock: false,
282
+ type: "simple",
283
+ storageClassType: "number",
284
+ },
285
+ weeks: {
286
+ value: cdktf.numberToHclTerraform(struct.weeks),
287
+ isBlock: false,
288
+ type: "simple",
289
+ storageClassType: "number",
290
+ },
291
+ };
292
+ // remove undefined attributes
293
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
294
+ }
295
+ export class LifecyclepolicyScheduleIntervalOutputReference extends cdktf.ComplexObject {
296
+ isEmptyObject = false;
297
+ /**
298
+ * @param terraformResource The parent resource
299
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
300
+ */
301
+ constructor(terraformResource, terraformAttribute) {
302
+ super(terraformResource, terraformAttribute, false, 0);
303
+ }
304
+ get internalValue() {
305
+ let hasAnyValues = this.isEmptyObject;
306
+ const internalValueResult = {};
307
+ if (this._days !== undefined) {
308
+ hasAnyValues = true;
309
+ internalValueResult.days = this._days;
310
+ }
311
+ if (this._hours !== undefined) {
312
+ hasAnyValues = true;
313
+ internalValueResult.hours = this._hours;
314
+ }
315
+ if (this._minutes !== undefined) {
316
+ hasAnyValues = true;
317
+ internalValueResult.minutes = this._minutes;
318
+ }
319
+ if (this._weeks !== undefined) {
320
+ hasAnyValues = true;
321
+ internalValueResult.weeks = this._weeks;
322
+ }
323
+ return hasAnyValues ? internalValueResult : undefined;
324
+ }
325
+ set internalValue(value) {
326
+ if (value === undefined) {
327
+ this.isEmptyObject = false;
328
+ this._days = undefined;
329
+ this._hours = undefined;
330
+ this._minutes = undefined;
331
+ this._weeks = undefined;
332
+ }
333
+ else {
334
+ this.isEmptyObject = Object.keys(value).length === 0;
335
+ this._days = value.days;
336
+ this._hours = value.hours;
337
+ this._minutes = value.minutes;
338
+ this._weeks = value.weeks;
339
+ }
340
+ }
341
+ // days - computed: false, optional: true, required: false
342
+ _days;
343
+ get days() {
344
+ return this.getNumberAttribute('days');
345
+ }
346
+ set days(value) {
347
+ this._days = value;
348
+ }
349
+ resetDays() {
350
+ this._days = undefined;
351
+ }
352
+ // Temporarily expose input value. Use with caution.
353
+ get daysInput() {
354
+ return this._days;
355
+ }
356
+ // hours - computed: false, optional: true, required: false
357
+ _hours;
358
+ get hours() {
359
+ return this.getNumberAttribute('hours');
360
+ }
361
+ set hours(value) {
362
+ this._hours = value;
363
+ }
364
+ resetHours() {
365
+ this._hours = undefined;
366
+ }
367
+ // Temporarily expose input value. Use with caution.
368
+ get hoursInput() {
369
+ return this._hours;
370
+ }
371
+ // minutes - computed: false, optional: true, required: false
372
+ _minutes;
373
+ get minutes() {
374
+ return this.getNumberAttribute('minutes');
375
+ }
376
+ set minutes(value) {
377
+ this._minutes = value;
378
+ }
379
+ resetMinutes() {
380
+ this._minutes = undefined;
381
+ }
382
+ // Temporarily expose input value. Use with caution.
383
+ get minutesInput() {
384
+ return this._minutes;
385
+ }
386
+ // weeks - computed: false, optional: true, required: false
387
+ _weeks;
388
+ get weeks() {
389
+ return this.getNumberAttribute('weeks');
390
+ }
391
+ set weeks(value) {
392
+ this._weeks = value;
393
+ }
394
+ resetWeeks() {
395
+ this._weeks = undefined;
396
+ }
397
+ // Temporarily expose input value. Use with caution.
398
+ get weeksInput() {
399
+ return this._weeks;
400
+ }
401
+ }
402
+ export function lifecyclepolicyScheduleRetentionTimeToTerraform(struct) {
403
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
404
+ return struct;
405
+ }
406
+ if (cdktf.isComplexElement(struct)) {
407
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
408
+ }
409
+ return {
410
+ days: cdktf.numberToTerraform(struct.days),
411
+ hours: cdktf.numberToTerraform(struct.hours),
412
+ minutes: cdktf.numberToTerraform(struct.minutes),
413
+ weeks: cdktf.numberToTerraform(struct.weeks),
414
+ };
415
+ }
416
+ export function lifecyclepolicyScheduleRetentionTimeToHclTerraform(struct) {
417
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
418
+ return struct;
419
+ }
420
+ if (cdktf.isComplexElement(struct)) {
421
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
422
+ }
423
+ const attrs = {
424
+ days: {
425
+ value: cdktf.numberToHclTerraform(struct.days),
426
+ isBlock: false,
427
+ type: "simple",
428
+ storageClassType: "number",
429
+ },
430
+ hours: {
431
+ value: cdktf.numberToHclTerraform(struct.hours),
432
+ isBlock: false,
433
+ type: "simple",
434
+ storageClassType: "number",
435
+ },
436
+ minutes: {
437
+ value: cdktf.numberToHclTerraform(struct.minutes),
438
+ isBlock: false,
439
+ type: "simple",
440
+ storageClassType: "number",
441
+ },
442
+ weeks: {
443
+ value: cdktf.numberToHclTerraform(struct.weeks),
444
+ isBlock: false,
445
+ type: "simple",
446
+ storageClassType: "number",
447
+ },
448
+ };
449
+ // remove undefined attributes
450
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
451
+ }
452
+ export class LifecyclepolicyScheduleRetentionTimeOutputReference extends cdktf.ComplexObject {
453
+ isEmptyObject = false;
454
+ /**
455
+ * @param terraformResource The parent resource
456
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
457
+ */
458
+ constructor(terraformResource, terraformAttribute) {
459
+ super(terraformResource, terraformAttribute, false, 0);
460
+ }
461
+ get internalValue() {
462
+ let hasAnyValues = this.isEmptyObject;
463
+ const internalValueResult = {};
464
+ if (this._days !== undefined) {
465
+ hasAnyValues = true;
466
+ internalValueResult.days = this._days;
467
+ }
468
+ if (this._hours !== undefined) {
469
+ hasAnyValues = true;
470
+ internalValueResult.hours = this._hours;
471
+ }
472
+ if (this._minutes !== undefined) {
473
+ hasAnyValues = true;
474
+ internalValueResult.minutes = this._minutes;
475
+ }
476
+ if (this._weeks !== undefined) {
477
+ hasAnyValues = true;
478
+ internalValueResult.weeks = this._weeks;
479
+ }
480
+ return hasAnyValues ? internalValueResult : undefined;
481
+ }
482
+ set internalValue(value) {
483
+ if (value === undefined) {
484
+ this.isEmptyObject = false;
485
+ this._days = undefined;
486
+ this._hours = undefined;
487
+ this._minutes = undefined;
488
+ this._weeks = undefined;
489
+ }
490
+ else {
491
+ this.isEmptyObject = Object.keys(value).length === 0;
492
+ this._days = value.days;
493
+ this._hours = value.hours;
494
+ this._minutes = value.minutes;
495
+ this._weeks = value.weeks;
496
+ }
497
+ }
498
+ // days - computed: false, optional: true, required: false
499
+ _days;
500
+ get days() {
501
+ return this.getNumberAttribute('days');
502
+ }
503
+ set days(value) {
504
+ this._days = value;
505
+ }
506
+ resetDays() {
507
+ this._days = undefined;
508
+ }
509
+ // Temporarily expose input value. Use with caution.
510
+ get daysInput() {
511
+ return this._days;
512
+ }
513
+ // hours - computed: false, optional: true, required: false
514
+ _hours;
515
+ get hours() {
516
+ return this.getNumberAttribute('hours');
517
+ }
518
+ set hours(value) {
519
+ this._hours = value;
520
+ }
521
+ resetHours() {
522
+ this._hours = undefined;
523
+ }
524
+ // Temporarily expose input value. Use with caution.
525
+ get hoursInput() {
526
+ return this._hours;
527
+ }
528
+ // minutes - computed: false, optional: true, required: false
529
+ _minutes;
530
+ get minutes() {
531
+ return this.getNumberAttribute('minutes');
532
+ }
533
+ set minutes(value) {
534
+ this._minutes = value;
535
+ }
536
+ resetMinutes() {
537
+ this._minutes = undefined;
538
+ }
539
+ // Temporarily expose input value. Use with caution.
540
+ get minutesInput() {
541
+ return this._minutes;
542
+ }
543
+ // weeks - computed: false, optional: true, required: false
544
+ _weeks;
545
+ get weeks() {
546
+ return this.getNumberAttribute('weeks');
547
+ }
548
+ set weeks(value) {
549
+ this._weeks = value;
550
+ }
551
+ resetWeeks() {
552
+ this._weeks = undefined;
553
+ }
554
+ // Temporarily expose input value. Use with caution.
555
+ get weeksInput() {
556
+ return this._weeks;
557
+ }
558
+ }
559
+ export function lifecyclepolicyScheduleToTerraform(struct) {
560
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
561
+ return struct;
562
+ }
563
+ if (cdktf.isComplexElement(struct)) {
564
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
565
+ }
566
+ return {
567
+ max_quantity: cdktf.numberToTerraform(struct.maxQuantity),
568
+ resource_name_template: cdktf.stringToTerraform(struct.resourceNameTemplate),
569
+ cron: lifecyclepolicyScheduleCronToTerraform(struct.cron),
570
+ interval: lifecyclepolicyScheduleIntervalToTerraform(struct.interval),
571
+ retention_time: lifecyclepolicyScheduleRetentionTimeToTerraform(struct.retentionTime),
572
+ };
573
+ }
574
+ export function lifecyclepolicyScheduleToHclTerraform(struct) {
575
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
576
+ return struct;
577
+ }
578
+ if (cdktf.isComplexElement(struct)) {
579
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
580
+ }
581
+ const attrs = {
582
+ max_quantity: {
583
+ value: cdktf.numberToHclTerraform(struct.maxQuantity),
584
+ isBlock: false,
585
+ type: "simple",
586
+ storageClassType: "number",
587
+ },
588
+ resource_name_template: {
589
+ value: cdktf.stringToHclTerraform(struct.resourceNameTemplate),
590
+ isBlock: false,
591
+ type: "simple",
592
+ storageClassType: "string",
593
+ },
594
+ cron: {
595
+ value: lifecyclepolicyScheduleCronToHclTerraform(struct.cron),
596
+ isBlock: true,
597
+ type: "list",
598
+ storageClassType: "LifecyclepolicyScheduleCronList",
599
+ },
600
+ interval: {
601
+ value: lifecyclepolicyScheduleIntervalToHclTerraform(struct.interval),
602
+ isBlock: true,
603
+ type: "list",
604
+ storageClassType: "LifecyclepolicyScheduleIntervalList",
605
+ },
606
+ retention_time: {
607
+ value: lifecyclepolicyScheduleRetentionTimeToHclTerraform(struct.retentionTime),
608
+ isBlock: true,
609
+ type: "list",
610
+ storageClassType: "LifecyclepolicyScheduleRetentionTimeList",
611
+ },
612
+ };
613
+ // remove undefined attributes
614
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
615
+ }
616
+ export class LifecyclepolicyScheduleOutputReference extends cdktf.ComplexObject {
617
+ isEmptyObject = false;
618
+ resolvableValue;
619
+ /**
620
+ * @param terraformResource The parent resource
621
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
622
+ * @param complexObjectIndex the index of this item in the list
623
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
624
+ */
625
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
626
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
627
+ }
628
+ get internalValue() {
629
+ if (this.resolvableValue) {
630
+ return this.resolvableValue;
631
+ }
632
+ let hasAnyValues = this.isEmptyObject;
633
+ const internalValueResult = {};
634
+ if (this._maxQuantity !== undefined) {
635
+ hasAnyValues = true;
636
+ internalValueResult.maxQuantity = this._maxQuantity;
637
+ }
638
+ if (this._resourceNameTemplate !== undefined) {
639
+ hasAnyValues = true;
640
+ internalValueResult.resourceNameTemplate = this._resourceNameTemplate;
641
+ }
642
+ if (this._cron?.internalValue !== undefined) {
643
+ hasAnyValues = true;
644
+ internalValueResult.cron = this._cron?.internalValue;
645
+ }
646
+ if (this._interval?.internalValue !== undefined) {
647
+ hasAnyValues = true;
648
+ internalValueResult.interval = this._interval?.internalValue;
649
+ }
650
+ if (this._retentionTime?.internalValue !== undefined) {
651
+ hasAnyValues = true;
652
+ internalValueResult.retentionTime = this._retentionTime?.internalValue;
653
+ }
654
+ return hasAnyValues ? internalValueResult : undefined;
655
+ }
656
+ set internalValue(value) {
657
+ if (value === undefined) {
658
+ this.isEmptyObject = false;
659
+ this.resolvableValue = undefined;
660
+ this._maxQuantity = undefined;
661
+ this._resourceNameTemplate = undefined;
662
+ this._cron.internalValue = undefined;
663
+ this._interval.internalValue = undefined;
664
+ this._retentionTime.internalValue = undefined;
665
+ }
666
+ else if (cdktf.Tokenization.isResolvable(value)) {
667
+ this.isEmptyObject = false;
668
+ this.resolvableValue = value;
669
+ }
670
+ else {
671
+ this.isEmptyObject = Object.keys(value).length === 0;
672
+ this.resolvableValue = undefined;
673
+ this._maxQuantity = value.maxQuantity;
674
+ this._resourceNameTemplate = value.resourceNameTemplate;
675
+ this._cron.internalValue = value.cron;
676
+ this._interval.internalValue = value.interval;
677
+ this._retentionTime.internalValue = value.retentionTime;
678
+ }
679
+ }
680
+ // id - computed: true, optional: false, required: false
681
+ get id() {
682
+ return this.getStringAttribute('id');
683
+ }
684
+ // max_quantity - computed: false, optional: false, required: true
685
+ _maxQuantity;
686
+ get maxQuantity() {
687
+ return this.getNumberAttribute('max_quantity');
688
+ }
689
+ set maxQuantity(value) {
690
+ this._maxQuantity = value;
691
+ }
692
+ // Temporarily expose input value. Use with caution.
693
+ get maxQuantityInput() {
694
+ return this._maxQuantity;
695
+ }
696
+ // resource_name_template - computed: false, optional: true, required: false
697
+ _resourceNameTemplate;
698
+ get resourceNameTemplate() {
699
+ return this.getStringAttribute('resource_name_template');
700
+ }
701
+ set resourceNameTemplate(value) {
702
+ this._resourceNameTemplate = value;
703
+ }
704
+ resetResourceNameTemplate() {
705
+ this._resourceNameTemplate = undefined;
706
+ }
707
+ // Temporarily expose input value. Use with caution.
708
+ get resourceNameTemplateInput() {
709
+ return this._resourceNameTemplate;
710
+ }
711
+ // type - computed: true, optional: false, required: false
712
+ get type() {
713
+ return this.getStringAttribute('type');
714
+ }
715
+ // cron - computed: false, optional: true, required: false
716
+ _cron = new LifecyclepolicyScheduleCronOutputReference(this, "cron");
717
+ get cron() {
718
+ return this._cron;
719
+ }
720
+ putCron(value) {
721
+ this._cron.internalValue = value;
722
+ }
723
+ resetCron() {
724
+ this._cron.internalValue = undefined;
725
+ }
726
+ // Temporarily expose input value. Use with caution.
727
+ get cronInput() {
728
+ return this._cron.internalValue;
729
+ }
730
+ // interval - computed: false, optional: true, required: false
731
+ _interval = new LifecyclepolicyScheduleIntervalOutputReference(this, "interval");
732
+ get interval() {
733
+ return this._interval;
734
+ }
735
+ putInterval(value) {
736
+ this._interval.internalValue = value;
737
+ }
738
+ resetInterval() {
739
+ this._interval.internalValue = undefined;
740
+ }
741
+ // Temporarily expose input value. Use with caution.
742
+ get intervalInput() {
743
+ return this._interval.internalValue;
744
+ }
745
+ // retention_time - computed: false, optional: true, required: false
746
+ _retentionTime = new LifecyclepolicyScheduleRetentionTimeOutputReference(this, "retention_time");
747
+ get retentionTime() {
748
+ return this._retentionTime;
749
+ }
750
+ putRetentionTime(value) {
751
+ this._retentionTime.internalValue = value;
752
+ }
753
+ resetRetentionTime() {
754
+ this._retentionTime.internalValue = undefined;
755
+ }
756
+ // Temporarily expose input value. Use with caution.
757
+ get retentionTimeInput() {
758
+ return this._retentionTime.internalValue;
759
+ }
760
+ }
761
+ export class LifecyclepolicyScheduleList extends cdktf.ComplexList {
762
+ terraformResource;
763
+ terraformAttribute;
764
+ wrapsSet;
765
+ internalValue;
766
+ /**
767
+ * @param terraformResource The parent resource
768
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
769
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
770
+ */
771
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
772
+ super(terraformResource, terraformAttribute, wrapsSet);
773
+ this.terraformResource = terraformResource;
774
+ this.terraformAttribute = terraformAttribute;
775
+ this.wrapsSet = wrapsSet;
776
+ }
777
+ /**
778
+ * @param index the index of the item to return
779
+ */
780
+ get(index) {
781
+ return new LifecyclepolicyScheduleOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
782
+ }
783
+ }
784
+ export function lifecyclepolicyVolumeToTerraform(struct) {
785
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
786
+ return struct;
787
+ }
788
+ if (cdktf.isComplexElement(struct)) {
789
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
790
+ }
791
+ return {
792
+ id: cdktf.stringToTerraform(struct.id),
793
+ };
794
+ }
795
+ export function lifecyclepolicyVolumeToHclTerraform(struct) {
796
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
797
+ return struct;
798
+ }
799
+ if (cdktf.isComplexElement(struct)) {
800
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
801
+ }
802
+ const attrs = {
803
+ id: {
804
+ value: cdktf.stringToHclTerraform(struct.id),
805
+ isBlock: false,
806
+ type: "simple",
807
+ storageClassType: "string",
808
+ },
809
+ };
810
+ // remove undefined attributes
811
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
812
+ }
813
+ export class LifecyclepolicyVolumeOutputReference extends cdktf.ComplexObject {
814
+ isEmptyObject = false;
815
+ resolvableValue;
816
+ /**
817
+ * @param terraformResource The parent resource
818
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
819
+ * @param complexObjectIndex the index of this item in the list
820
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
821
+ */
822
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
823
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
824
+ }
825
+ get internalValue() {
826
+ if (this.resolvableValue) {
827
+ return this.resolvableValue;
828
+ }
829
+ let hasAnyValues = this.isEmptyObject;
830
+ const internalValueResult = {};
831
+ if (this._id !== undefined) {
832
+ hasAnyValues = true;
833
+ internalValueResult.id = this._id;
834
+ }
835
+ return hasAnyValues ? internalValueResult : undefined;
836
+ }
837
+ set internalValue(value) {
838
+ if (value === undefined) {
839
+ this.isEmptyObject = false;
840
+ this.resolvableValue = undefined;
841
+ this._id = undefined;
842
+ }
843
+ else if (cdktf.Tokenization.isResolvable(value)) {
844
+ this.isEmptyObject = false;
845
+ this.resolvableValue = value;
846
+ }
847
+ else {
848
+ this.isEmptyObject = Object.keys(value).length === 0;
849
+ this.resolvableValue = undefined;
850
+ this._id = value.id;
851
+ }
852
+ }
853
+ // id - computed: false, optional: false, required: true
854
+ _id;
855
+ get id() {
856
+ return this.getStringAttribute('id');
857
+ }
858
+ set id(value) {
859
+ this._id = value;
860
+ }
861
+ // Temporarily expose input value. Use with caution.
862
+ get idInput() {
863
+ return this._id;
864
+ }
865
+ // name - computed: true, optional: false, required: false
866
+ get name() {
867
+ return this.getStringAttribute('name');
868
+ }
869
+ }
870
+ export class LifecyclepolicyVolumeList extends cdktf.ComplexList {
871
+ terraformResource;
872
+ terraformAttribute;
873
+ wrapsSet;
874
+ internalValue;
875
+ /**
876
+ * @param terraformResource The parent resource
877
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
878
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
879
+ */
880
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
881
+ super(terraformResource, terraformAttribute, wrapsSet);
882
+ this.terraformResource = terraformResource;
883
+ this.terraformAttribute = terraformAttribute;
884
+ this.wrapsSet = wrapsSet;
885
+ }
886
+ /**
887
+ * @param index the index of the item to return
888
+ */
889
+ get(index) {
890
+ return new LifecyclepolicyVolumeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
891
+ }
892
+ }
893
+ /**
894
+ * Represents a {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lifecyclepolicy edgecenter_lifecyclepolicy}
895
+ */
896
+ export class Lifecyclepolicy extends cdktf.TerraformResource {
897
+ // =================
898
+ // STATIC PROPERTIES
899
+ // =================
900
+ static tfResourceType = "edgecenter_lifecyclepolicy";
901
+ // ==============
902
+ // STATIC Methods
903
+ // ==============
904
+ /**
905
+ * Generates CDKTF code for importing a Lifecyclepolicy resource upon running "cdktf plan <stack-name>"
906
+ * @param scope The scope in which to define this construct
907
+ * @param importToId The construct id used in the generated config for the Lifecyclepolicy to import
908
+ * @param importFromId The id of the existing Lifecyclepolicy that should be imported. Refer to the {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lifecyclepolicy#import import section} in the documentation of this resource for the id to use
909
+ * @param provider? Optional instance of the provider where the Lifecyclepolicy to import is found
910
+ */
911
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
912
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "edgecenter_lifecyclepolicy", importId: importFromId, provider });
913
+ }
914
+ // ===========
915
+ // INITIALIZER
916
+ // ===========
917
+ /**
918
+ * Create a new {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lifecyclepolicy edgecenter_lifecyclepolicy} Resource
919
+ *
920
+ * @param scope The scope in which to define this construct
921
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
922
+ * @param options LifecyclepolicyConfig
923
+ */
924
+ constructor(scope, id, config) {
925
+ super(scope, id, {
926
+ terraformResourceType: 'edgecenter_lifecyclepolicy',
927
+ terraformGeneratorMetadata: {
928
+ providerName: 'edgecenter',
929
+ providerVersion: '0.10.4',
930
+ providerVersionConstraint: '0.10.4'
931
+ },
932
+ provider: config.provider,
933
+ dependsOn: config.dependsOn,
934
+ count: config.count,
935
+ lifecycle: config.lifecycle,
936
+ provisioners: config.provisioners,
937
+ connection: config.connection,
938
+ forEach: config.forEach
939
+ });
940
+ this._action = config.action;
941
+ this._id = config.id;
942
+ this._name = config.name;
943
+ this._projectId = config.projectId;
944
+ this._projectName = config.projectName;
945
+ this._regionId = config.regionId;
946
+ this._regionName = config.regionName;
947
+ this._status = config.status;
948
+ this._schedule.internalValue = config.schedule;
949
+ this._volume.internalValue = config.volume;
950
+ }
951
+ // ==========
952
+ // ATTRIBUTES
953
+ // ==========
954
+ // action - computed: false, optional: true, required: false
955
+ _action;
956
+ get action() {
957
+ return this.getStringAttribute('action');
958
+ }
959
+ set action(value) {
960
+ this._action = value;
961
+ }
962
+ resetAction() {
963
+ this._action = undefined;
964
+ }
965
+ // Temporarily expose input value. Use with caution.
966
+ get actionInput() {
967
+ return this._action;
968
+ }
969
+ // id - computed: true, optional: true, required: false
970
+ _id;
971
+ get id() {
972
+ return this.getStringAttribute('id');
973
+ }
974
+ set id(value) {
975
+ this._id = value;
976
+ }
977
+ resetId() {
978
+ this._id = undefined;
979
+ }
980
+ // Temporarily expose input value. Use with caution.
981
+ get idInput() {
982
+ return this._id;
983
+ }
984
+ // name - computed: false, optional: false, required: true
985
+ _name;
986
+ get name() {
987
+ return this.getStringAttribute('name');
988
+ }
989
+ set name(value) {
990
+ this._name = value;
991
+ }
992
+ // Temporarily expose input value. Use with caution.
993
+ get nameInput() {
994
+ return this._name;
995
+ }
996
+ // project_id - computed: false, optional: true, required: false
997
+ _projectId;
998
+ get projectId() {
999
+ return this.getNumberAttribute('project_id');
1000
+ }
1001
+ set projectId(value) {
1002
+ this._projectId = value;
1003
+ }
1004
+ resetProjectId() {
1005
+ this._projectId = undefined;
1006
+ }
1007
+ // Temporarily expose input value. Use with caution.
1008
+ get projectIdInput() {
1009
+ return this._projectId;
1010
+ }
1011
+ // project_name - computed: false, optional: true, required: false
1012
+ _projectName;
1013
+ get projectName() {
1014
+ return this.getStringAttribute('project_name');
1015
+ }
1016
+ set projectName(value) {
1017
+ this._projectName = value;
1018
+ }
1019
+ resetProjectName() {
1020
+ this._projectName = undefined;
1021
+ }
1022
+ // Temporarily expose input value. Use with caution.
1023
+ get projectNameInput() {
1024
+ return this._projectName;
1025
+ }
1026
+ // region_id - computed: false, optional: true, required: false
1027
+ _regionId;
1028
+ get regionId() {
1029
+ return this.getNumberAttribute('region_id');
1030
+ }
1031
+ set regionId(value) {
1032
+ this._regionId = value;
1033
+ }
1034
+ resetRegionId() {
1035
+ this._regionId = undefined;
1036
+ }
1037
+ // Temporarily expose input value. Use with caution.
1038
+ get regionIdInput() {
1039
+ return this._regionId;
1040
+ }
1041
+ // region_name - computed: false, optional: true, required: false
1042
+ _regionName;
1043
+ get regionName() {
1044
+ return this.getStringAttribute('region_name');
1045
+ }
1046
+ set regionName(value) {
1047
+ this._regionName = value;
1048
+ }
1049
+ resetRegionName() {
1050
+ this._regionName = undefined;
1051
+ }
1052
+ // Temporarily expose input value. Use with caution.
1053
+ get regionNameInput() {
1054
+ return this._regionName;
1055
+ }
1056
+ // status - computed: false, optional: true, required: false
1057
+ _status;
1058
+ get status() {
1059
+ return this.getStringAttribute('status');
1060
+ }
1061
+ set status(value) {
1062
+ this._status = value;
1063
+ }
1064
+ resetStatus() {
1065
+ this._status = undefined;
1066
+ }
1067
+ // Temporarily expose input value. Use with caution.
1068
+ get statusInput() {
1069
+ return this._status;
1070
+ }
1071
+ // user_id - computed: true, optional: false, required: false
1072
+ get userId() {
1073
+ return this.getNumberAttribute('user_id');
1074
+ }
1075
+ // schedule - computed: false, optional: true, required: false
1076
+ _schedule = new LifecyclepolicyScheduleList(this, "schedule", false);
1077
+ get schedule() {
1078
+ return this._schedule;
1079
+ }
1080
+ putSchedule(value) {
1081
+ this._schedule.internalValue = value;
1082
+ }
1083
+ resetSchedule() {
1084
+ this._schedule.internalValue = undefined;
1085
+ }
1086
+ // Temporarily expose input value. Use with caution.
1087
+ get scheduleInput() {
1088
+ return this._schedule.internalValue;
1089
+ }
1090
+ // volume - computed: false, optional: true, required: false
1091
+ _volume = new LifecyclepolicyVolumeList(this, "volume", true);
1092
+ get volume() {
1093
+ return this._volume;
1094
+ }
1095
+ putVolume(value) {
1096
+ this._volume.internalValue = value;
1097
+ }
1098
+ resetVolume() {
1099
+ this._volume.internalValue = undefined;
1100
+ }
1101
+ // Temporarily expose input value. Use with caution.
1102
+ get volumeInput() {
1103
+ return this._volume.internalValue;
1104
+ }
1105
+ // =========
1106
+ // SYNTHESIS
1107
+ // =========
1108
+ synthesizeAttributes() {
1109
+ return {
1110
+ action: cdktf.stringToTerraform(this._action),
1111
+ id: cdktf.stringToTerraform(this._id),
1112
+ name: cdktf.stringToTerraform(this._name),
1113
+ project_id: cdktf.numberToTerraform(this._projectId),
1114
+ project_name: cdktf.stringToTerraform(this._projectName),
1115
+ region_id: cdktf.numberToTerraform(this._regionId),
1116
+ region_name: cdktf.stringToTerraform(this._regionName),
1117
+ status: cdktf.stringToTerraform(this._status),
1118
+ schedule: cdktf.listMapper(lifecyclepolicyScheduleToTerraform, true)(this._schedule.internalValue),
1119
+ volume: cdktf.listMapper(lifecyclepolicyVolumeToTerraform, true)(this._volume.internalValue),
1120
+ };
1121
+ }
1122
+ synthesizeHclAttributes() {
1123
+ const attrs = {
1124
+ action: {
1125
+ value: cdktf.stringToHclTerraform(this._action),
1126
+ isBlock: false,
1127
+ type: "simple",
1128
+ storageClassType: "string",
1129
+ },
1130
+ id: {
1131
+ value: cdktf.stringToHclTerraform(this._id),
1132
+ isBlock: false,
1133
+ type: "simple",
1134
+ storageClassType: "string",
1135
+ },
1136
+ name: {
1137
+ value: cdktf.stringToHclTerraform(this._name),
1138
+ isBlock: false,
1139
+ type: "simple",
1140
+ storageClassType: "string",
1141
+ },
1142
+ project_id: {
1143
+ value: cdktf.numberToHclTerraform(this._projectId),
1144
+ isBlock: false,
1145
+ type: "simple",
1146
+ storageClassType: "number",
1147
+ },
1148
+ project_name: {
1149
+ value: cdktf.stringToHclTerraform(this._projectName),
1150
+ isBlock: false,
1151
+ type: "simple",
1152
+ storageClassType: "string",
1153
+ },
1154
+ region_id: {
1155
+ value: cdktf.numberToHclTerraform(this._regionId),
1156
+ isBlock: false,
1157
+ type: "simple",
1158
+ storageClassType: "number",
1159
+ },
1160
+ region_name: {
1161
+ value: cdktf.stringToHclTerraform(this._regionName),
1162
+ isBlock: false,
1163
+ type: "simple",
1164
+ storageClassType: "string",
1165
+ },
1166
+ status: {
1167
+ value: cdktf.stringToHclTerraform(this._status),
1168
+ isBlock: false,
1169
+ type: "simple",
1170
+ storageClassType: "string",
1171
+ },
1172
+ schedule: {
1173
+ value: cdktf.listMapperHcl(lifecyclepolicyScheduleToHclTerraform, true)(this._schedule.internalValue),
1174
+ isBlock: true,
1175
+ type: "list",
1176
+ storageClassType: "LifecyclepolicyScheduleList",
1177
+ },
1178
+ volume: {
1179
+ value: cdktf.listMapperHcl(lifecyclepolicyVolumeToHclTerraform, true)(this._volume.internalValue),
1180
+ isBlock: true,
1181
+ type: "set",
1182
+ storageClassType: "LifecyclepolicyVolumeList",
1183
+ },
1184
+ };
1185
+ // remove undefined attributes
1186
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1187
+ }
1188
+ }