@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,513 @@
1
+ // https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/reservedfixedip
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function reservedfixedipAllowedAddressPairsToTerraform(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
+ ip_address: cdktf.stringToTerraform(struct.ipAddress),
13
+ mac_address: cdktf.stringToTerraform(struct.macAddress),
14
+ };
15
+ }
16
+ export function reservedfixedipAllowedAddressPairsToHclTerraform(struct) {
17
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
18
+ return struct;
19
+ }
20
+ if (cdktf.isComplexElement(struct)) {
21
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
22
+ }
23
+ const attrs = {
24
+ ip_address: {
25
+ value: cdktf.stringToHclTerraform(struct.ipAddress),
26
+ isBlock: false,
27
+ type: "simple",
28
+ storageClassType: "string",
29
+ },
30
+ mac_address: {
31
+ value: cdktf.stringToHclTerraform(struct.macAddress),
32
+ isBlock: false,
33
+ type: "simple",
34
+ storageClassType: "string",
35
+ },
36
+ };
37
+ // remove undefined attributes
38
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
39
+ }
40
+ export class ReservedfixedipAllowedAddressPairsOutputReference extends cdktf.ComplexObject {
41
+ isEmptyObject = false;
42
+ resolvableValue;
43
+ /**
44
+ * @param terraformResource The parent resource
45
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
46
+ * @param complexObjectIndex the index of this item in the list
47
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
48
+ */
49
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
50
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
51
+ }
52
+ get internalValue() {
53
+ if (this.resolvableValue) {
54
+ return this.resolvableValue;
55
+ }
56
+ let hasAnyValues = this.isEmptyObject;
57
+ const internalValueResult = {};
58
+ if (this._ipAddress !== undefined) {
59
+ hasAnyValues = true;
60
+ internalValueResult.ipAddress = this._ipAddress;
61
+ }
62
+ if (this._macAddress !== undefined) {
63
+ hasAnyValues = true;
64
+ internalValueResult.macAddress = this._macAddress;
65
+ }
66
+ return hasAnyValues ? internalValueResult : undefined;
67
+ }
68
+ set internalValue(value) {
69
+ if (value === undefined) {
70
+ this.isEmptyObject = false;
71
+ this.resolvableValue = undefined;
72
+ this._ipAddress = undefined;
73
+ this._macAddress = undefined;
74
+ }
75
+ else if (cdktf.Tokenization.isResolvable(value)) {
76
+ this.isEmptyObject = false;
77
+ this.resolvableValue = value;
78
+ }
79
+ else {
80
+ this.isEmptyObject = Object.keys(value).length === 0;
81
+ this.resolvableValue = undefined;
82
+ this._ipAddress = value.ipAddress;
83
+ this._macAddress = value.macAddress;
84
+ }
85
+ }
86
+ // ip_address - computed: false, optional: true, required: false
87
+ _ipAddress;
88
+ get ipAddress() {
89
+ return this.getStringAttribute('ip_address');
90
+ }
91
+ set ipAddress(value) {
92
+ this._ipAddress = value;
93
+ }
94
+ resetIpAddress() {
95
+ this._ipAddress = undefined;
96
+ }
97
+ // Temporarily expose input value. Use with caution.
98
+ get ipAddressInput() {
99
+ return this._ipAddress;
100
+ }
101
+ // mac_address - computed: false, optional: true, required: false
102
+ _macAddress;
103
+ get macAddress() {
104
+ return this.getStringAttribute('mac_address');
105
+ }
106
+ set macAddress(value) {
107
+ this._macAddress = value;
108
+ }
109
+ resetMacAddress() {
110
+ this._macAddress = undefined;
111
+ }
112
+ // Temporarily expose input value. Use with caution.
113
+ get macAddressInput() {
114
+ return this._macAddress;
115
+ }
116
+ }
117
+ export class ReservedfixedipAllowedAddressPairsList extends cdktf.ComplexList {
118
+ terraformResource;
119
+ terraformAttribute;
120
+ wrapsSet;
121
+ internalValue;
122
+ /**
123
+ * @param terraformResource The parent resource
124
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
125
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
126
+ */
127
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
128
+ super(terraformResource, terraformAttribute, wrapsSet);
129
+ this.terraformResource = terraformResource;
130
+ this.terraformAttribute = terraformAttribute;
131
+ this.wrapsSet = wrapsSet;
132
+ }
133
+ /**
134
+ * @param index the index of the item to return
135
+ */
136
+ get(index) {
137
+ return new ReservedfixedipAllowedAddressPairsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
138
+ }
139
+ }
140
+ /**
141
+ * Represents a {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/reservedfixedip edgecenter_reservedfixedip}
142
+ */
143
+ export class Reservedfixedip extends cdktf.TerraformResource {
144
+ // =================
145
+ // STATIC PROPERTIES
146
+ // =================
147
+ static tfResourceType = "edgecenter_reservedfixedip";
148
+ // ==============
149
+ // STATIC Methods
150
+ // ==============
151
+ /**
152
+ * Generates CDKTF code for importing a Reservedfixedip resource upon running "cdktf plan <stack-name>"
153
+ * @param scope The scope in which to define this construct
154
+ * @param importToId The construct id used in the generated config for the Reservedfixedip to import
155
+ * @param importFromId The id of the existing Reservedfixedip that should be imported. Refer to the {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/reservedfixedip#import import section} in the documentation of this resource for the id to use
156
+ * @param provider? Optional instance of the provider where the Reservedfixedip to import is found
157
+ */
158
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
159
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "edgecenter_reservedfixedip", importId: importFromId, provider });
160
+ }
161
+ // ===========
162
+ // INITIALIZER
163
+ // ===========
164
+ /**
165
+ * Create a new {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/reservedfixedip edgecenter_reservedfixedip} Resource
166
+ *
167
+ * @param scope The scope in which to define this construct
168
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
169
+ * @param options ReservedfixedipConfig
170
+ */
171
+ constructor(scope, id, config) {
172
+ super(scope, id, {
173
+ terraformResourceType: 'edgecenter_reservedfixedip',
174
+ terraformGeneratorMetadata: {
175
+ providerName: 'edgecenter',
176
+ providerVersion: '0.10.4',
177
+ providerVersionConstraint: '0.10.4'
178
+ },
179
+ provider: config.provider,
180
+ dependsOn: config.dependsOn,
181
+ count: config.count,
182
+ lifecycle: config.lifecycle,
183
+ provisioners: config.provisioners,
184
+ connection: config.connection,
185
+ forEach: config.forEach
186
+ });
187
+ this._fixedIpAddress = config.fixedIpAddress;
188
+ this._id = config.id;
189
+ this._instancePortsThatShareVip = config.instancePortsThatShareVip;
190
+ this._isVip = config.isVip;
191
+ this._lastUpdated = config.lastUpdated;
192
+ this._networkId = config.networkId;
193
+ this._projectId = config.projectId;
194
+ this._projectName = config.projectName;
195
+ this._regionId = config.regionId;
196
+ this._regionName = config.regionName;
197
+ this._subnetId = config.subnetId;
198
+ this._type = config.type;
199
+ this._allowedAddressPairs.internalValue = config.allowedAddressPairs;
200
+ }
201
+ // ==========
202
+ // ATTRIBUTES
203
+ // ==========
204
+ // fixed_ip_address - computed: true, optional: true, required: false
205
+ _fixedIpAddress;
206
+ get fixedIpAddress() {
207
+ return this.getStringAttribute('fixed_ip_address');
208
+ }
209
+ set fixedIpAddress(value) {
210
+ this._fixedIpAddress = value;
211
+ }
212
+ resetFixedIpAddress() {
213
+ this._fixedIpAddress = undefined;
214
+ }
215
+ // Temporarily expose input value. Use with caution.
216
+ get fixedIpAddressInput() {
217
+ return this._fixedIpAddress;
218
+ }
219
+ // id - computed: true, optional: true, required: false
220
+ _id;
221
+ get id() {
222
+ return this.getStringAttribute('id');
223
+ }
224
+ set id(value) {
225
+ this._id = value;
226
+ }
227
+ resetId() {
228
+ this._id = undefined;
229
+ }
230
+ // Temporarily expose input value. Use with caution.
231
+ get idInput() {
232
+ return this._id;
233
+ }
234
+ // instance_ports_that_share_vip - computed: false, optional: true, required: false
235
+ _instancePortsThatShareVip;
236
+ get instancePortsThatShareVip() {
237
+ return cdktf.Fn.tolist(this.getListAttribute('instance_ports_that_share_vip'));
238
+ }
239
+ set instancePortsThatShareVip(value) {
240
+ this._instancePortsThatShareVip = value;
241
+ }
242
+ resetInstancePortsThatShareVip() {
243
+ this._instancePortsThatShareVip = undefined;
244
+ }
245
+ // Temporarily expose input value. Use with caution.
246
+ get instancePortsThatShareVipInput() {
247
+ return this._instancePortsThatShareVip;
248
+ }
249
+ // is_vip - computed: false, optional: true, required: false
250
+ _isVip;
251
+ get isVip() {
252
+ return this.getBooleanAttribute('is_vip');
253
+ }
254
+ set isVip(value) {
255
+ this._isVip = value;
256
+ }
257
+ resetIsVip() {
258
+ this._isVip = undefined;
259
+ }
260
+ // Temporarily expose input value. Use with caution.
261
+ get isVipInput() {
262
+ return this._isVip;
263
+ }
264
+ // last_updated - computed: true, optional: true, required: false
265
+ _lastUpdated;
266
+ get lastUpdated() {
267
+ return this.getStringAttribute('last_updated');
268
+ }
269
+ set lastUpdated(value) {
270
+ this._lastUpdated = value;
271
+ }
272
+ resetLastUpdated() {
273
+ this._lastUpdated = undefined;
274
+ }
275
+ // Temporarily expose input value. Use with caution.
276
+ get lastUpdatedInput() {
277
+ return this._lastUpdated;
278
+ }
279
+ // network_id - computed: true, optional: true, required: false
280
+ _networkId;
281
+ get networkId() {
282
+ return this.getStringAttribute('network_id');
283
+ }
284
+ set networkId(value) {
285
+ this._networkId = value;
286
+ }
287
+ resetNetworkId() {
288
+ this._networkId = undefined;
289
+ }
290
+ // Temporarily expose input value. Use with caution.
291
+ get networkIdInput() {
292
+ return this._networkId;
293
+ }
294
+ // port_id - computed: true, optional: false, required: false
295
+ get portId() {
296
+ return this.getStringAttribute('port_id');
297
+ }
298
+ // project_id - computed: false, optional: true, required: false
299
+ _projectId;
300
+ get projectId() {
301
+ return this.getNumberAttribute('project_id');
302
+ }
303
+ set projectId(value) {
304
+ this._projectId = value;
305
+ }
306
+ resetProjectId() {
307
+ this._projectId = undefined;
308
+ }
309
+ // Temporarily expose input value. Use with caution.
310
+ get projectIdInput() {
311
+ return this._projectId;
312
+ }
313
+ // project_name - computed: false, optional: true, required: false
314
+ _projectName;
315
+ get projectName() {
316
+ return this.getStringAttribute('project_name');
317
+ }
318
+ set projectName(value) {
319
+ this._projectName = value;
320
+ }
321
+ resetProjectName() {
322
+ this._projectName = undefined;
323
+ }
324
+ // Temporarily expose input value. Use with caution.
325
+ get projectNameInput() {
326
+ return this._projectName;
327
+ }
328
+ // region_id - computed: false, optional: true, required: false
329
+ _regionId;
330
+ get regionId() {
331
+ return this.getNumberAttribute('region_id');
332
+ }
333
+ set regionId(value) {
334
+ this._regionId = value;
335
+ }
336
+ resetRegionId() {
337
+ this._regionId = undefined;
338
+ }
339
+ // Temporarily expose input value. Use with caution.
340
+ get regionIdInput() {
341
+ return this._regionId;
342
+ }
343
+ // region_name - computed: false, optional: true, required: false
344
+ _regionName;
345
+ get regionName() {
346
+ return this.getStringAttribute('region_name');
347
+ }
348
+ set regionName(value) {
349
+ this._regionName = value;
350
+ }
351
+ resetRegionName() {
352
+ this._regionName = undefined;
353
+ }
354
+ // Temporarily expose input value. Use with caution.
355
+ get regionNameInput() {
356
+ return this._regionName;
357
+ }
358
+ // reservation - computed: true, optional: false, required: false
359
+ _reservation = new cdktf.StringMap(this, "reservation");
360
+ get reservation() {
361
+ return this._reservation;
362
+ }
363
+ // status - computed: true, optional: false, required: false
364
+ get status() {
365
+ return this.getStringAttribute('status');
366
+ }
367
+ // subnet_id - computed: true, optional: true, required: false
368
+ _subnetId;
369
+ get subnetId() {
370
+ return this.getStringAttribute('subnet_id');
371
+ }
372
+ set subnetId(value) {
373
+ this._subnetId = value;
374
+ }
375
+ resetSubnetId() {
376
+ this._subnetId = undefined;
377
+ }
378
+ // Temporarily expose input value. Use with caution.
379
+ get subnetIdInput() {
380
+ return this._subnetId;
381
+ }
382
+ // type - computed: false, optional: false, required: true
383
+ _type;
384
+ get type() {
385
+ return this.getStringAttribute('type');
386
+ }
387
+ set type(value) {
388
+ this._type = value;
389
+ }
390
+ // Temporarily expose input value. Use with caution.
391
+ get typeInput() {
392
+ return this._type;
393
+ }
394
+ // allowed_address_pairs - computed: false, optional: true, required: false
395
+ _allowedAddressPairs = new ReservedfixedipAllowedAddressPairsList(this, "allowed_address_pairs", false);
396
+ get allowedAddressPairs() {
397
+ return this._allowedAddressPairs;
398
+ }
399
+ putAllowedAddressPairs(value) {
400
+ this._allowedAddressPairs.internalValue = value;
401
+ }
402
+ resetAllowedAddressPairs() {
403
+ this._allowedAddressPairs.internalValue = undefined;
404
+ }
405
+ // Temporarily expose input value. Use with caution.
406
+ get allowedAddressPairsInput() {
407
+ return this._allowedAddressPairs.internalValue;
408
+ }
409
+ // =========
410
+ // SYNTHESIS
411
+ // =========
412
+ synthesizeAttributes() {
413
+ return {
414
+ fixed_ip_address: cdktf.stringToTerraform(this._fixedIpAddress),
415
+ id: cdktf.stringToTerraform(this._id),
416
+ instance_ports_that_share_vip: cdktf.listMapper(cdktf.stringToTerraform, false)(this._instancePortsThatShareVip),
417
+ is_vip: cdktf.booleanToTerraform(this._isVip),
418
+ last_updated: cdktf.stringToTerraform(this._lastUpdated),
419
+ network_id: cdktf.stringToTerraform(this._networkId),
420
+ project_id: cdktf.numberToTerraform(this._projectId),
421
+ project_name: cdktf.stringToTerraform(this._projectName),
422
+ region_id: cdktf.numberToTerraform(this._regionId),
423
+ region_name: cdktf.stringToTerraform(this._regionName),
424
+ subnet_id: cdktf.stringToTerraform(this._subnetId),
425
+ type: cdktf.stringToTerraform(this._type),
426
+ allowed_address_pairs: cdktf.listMapper(reservedfixedipAllowedAddressPairsToTerraform, true)(this._allowedAddressPairs.internalValue),
427
+ };
428
+ }
429
+ synthesizeHclAttributes() {
430
+ const attrs = {
431
+ fixed_ip_address: {
432
+ value: cdktf.stringToHclTerraform(this._fixedIpAddress),
433
+ isBlock: false,
434
+ type: "simple",
435
+ storageClassType: "string",
436
+ },
437
+ id: {
438
+ value: cdktf.stringToHclTerraform(this._id),
439
+ isBlock: false,
440
+ type: "simple",
441
+ storageClassType: "string",
442
+ },
443
+ instance_ports_that_share_vip: {
444
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._instancePortsThatShareVip),
445
+ isBlock: false,
446
+ type: "set",
447
+ storageClassType: "stringList",
448
+ },
449
+ is_vip: {
450
+ value: cdktf.booleanToHclTerraform(this._isVip),
451
+ isBlock: false,
452
+ type: "simple",
453
+ storageClassType: "boolean",
454
+ },
455
+ last_updated: {
456
+ value: cdktf.stringToHclTerraform(this._lastUpdated),
457
+ isBlock: false,
458
+ type: "simple",
459
+ storageClassType: "string",
460
+ },
461
+ network_id: {
462
+ value: cdktf.stringToHclTerraform(this._networkId),
463
+ isBlock: false,
464
+ type: "simple",
465
+ storageClassType: "string",
466
+ },
467
+ project_id: {
468
+ value: cdktf.numberToHclTerraform(this._projectId),
469
+ isBlock: false,
470
+ type: "simple",
471
+ storageClassType: "number",
472
+ },
473
+ project_name: {
474
+ value: cdktf.stringToHclTerraform(this._projectName),
475
+ isBlock: false,
476
+ type: "simple",
477
+ storageClassType: "string",
478
+ },
479
+ region_id: {
480
+ value: cdktf.numberToHclTerraform(this._regionId),
481
+ isBlock: false,
482
+ type: "simple",
483
+ storageClassType: "number",
484
+ },
485
+ region_name: {
486
+ value: cdktf.stringToHclTerraform(this._regionName),
487
+ isBlock: false,
488
+ type: "simple",
489
+ storageClassType: "string",
490
+ },
491
+ subnet_id: {
492
+ value: cdktf.stringToHclTerraform(this._subnetId),
493
+ isBlock: false,
494
+ type: "simple",
495
+ storageClassType: "string",
496
+ },
497
+ type: {
498
+ value: cdktf.stringToHclTerraform(this._type),
499
+ isBlock: false,
500
+ type: "simple",
501
+ storageClassType: "string",
502
+ },
503
+ allowed_address_pairs: {
504
+ value: cdktf.listMapperHcl(reservedfixedipAllowedAddressPairsToHclTerraform, true)(this._allowedAddressPairs.internalValue),
505
+ isBlock: true,
506
+ type: "list",
507
+ storageClassType: "ReservedfixedipAllowedAddressPairsList",
508
+ },
509
+ };
510
+ // remove undefined attributes
511
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
512
+ }
513
+ }