@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,564 @@
1
+ // https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/instance_port_security
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function instancePortSecuritySecurityGroupsToTerraform(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
+ overwrite_existing: cdktf.booleanToTerraform(struct.overwriteExisting),
13
+ security_group_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.securityGroupIds),
14
+ };
15
+ }
16
+ export function instancePortSecuritySecurityGroupsToHclTerraform(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
+ overwrite_existing: {
25
+ value: cdktf.booleanToHclTerraform(struct.overwriteExisting),
26
+ isBlock: false,
27
+ type: "simple",
28
+ storageClassType: "boolean",
29
+ },
30
+ security_group_ids: {
31
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.securityGroupIds),
32
+ isBlock: false,
33
+ type: "set",
34
+ storageClassType: "stringList",
35
+ },
36
+ };
37
+ // remove undefined attributes
38
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
39
+ }
40
+ export class InstancePortSecuritySecurityGroupsOutputReference extends cdktf.ComplexObject {
41
+ isEmptyObject = false;
42
+ /**
43
+ * @param terraformResource The parent resource
44
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
45
+ */
46
+ constructor(terraformResource, terraformAttribute) {
47
+ super(terraformResource, terraformAttribute, false, 0);
48
+ }
49
+ get internalValue() {
50
+ let hasAnyValues = this.isEmptyObject;
51
+ const internalValueResult = {};
52
+ if (this._overwriteExisting !== undefined) {
53
+ hasAnyValues = true;
54
+ internalValueResult.overwriteExisting = this._overwriteExisting;
55
+ }
56
+ if (this._securityGroupIds !== undefined) {
57
+ hasAnyValues = true;
58
+ internalValueResult.securityGroupIds = this._securityGroupIds;
59
+ }
60
+ return hasAnyValues ? internalValueResult : undefined;
61
+ }
62
+ set internalValue(value) {
63
+ if (value === undefined) {
64
+ this.isEmptyObject = false;
65
+ this._overwriteExisting = undefined;
66
+ this._securityGroupIds = undefined;
67
+ }
68
+ else {
69
+ this.isEmptyObject = Object.keys(value).length === 0;
70
+ this._overwriteExisting = value.overwriteExisting;
71
+ this._securityGroupIds = value.securityGroupIds;
72
+ }
73
+ }
74
+ // all_security_group_ids - computed: true, optional: false, required: false
75
+ get allSecurityGroupIds() {
76
+ return cdktf.Fn.tolist(this.getListAttribute('all_security_group_ids'));
77
+ }
78
+ // overwrite_existing - computed: false, optional: true, required: false
79
+ _overwriteExisting;
80
+ get overwriteExisting() {
81
+ return this.getBooleanAttribute('overwrite_existing');
82
+ }
83
+ set overwriteExisting(value) {
84
+ this._overwriteExisting = value;
85
+ }
86
+ resetOverwriteExisting() {
87
+ this._overwriteExisting = undefined;
88
+ }
89
+ // Temporarily expose input value. Use with caution.
90
+ get overwriteExistingInput() {
91
+ return this._overwriteExisting;
92
+ }
93
+ // security_group_ids - computed: true, optional: true, required: false
94
+ _securityGroupIds;
95
+ get securityGroupIds() {
96
+ return cdktf.Fn.tolist(this.getListAttribute('security_group_ids'));
97
+ }
98
+ set securityGroupIds(value) {
99
+ this._securityGroupIds = value;
100
+ }
101
+ resetSecurityGroupIds() {
102
+ this._securityGroupIds = undefined;
103
+ }
104
+ // Temporarily expose input value. Use with caution.
105
+ get securityGroupIdsInput() {
106
+ return this._securityGroupIds;
107
+ }
108
+ }
109
+ export function instancePortSecurityTimeoutsToTerraform(struct) {
110
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
111
+ return struct;
112
+ }
113
+ if (cdktf.isComplexElement(struct)) {
114
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
115
+ }
116
+ return {
117
+ create: cdktf.stringToTerraform(struct.create),
118
+ delete: cdktf.stringToTerraform(struct.delete),
119
+ read: cdktf.stringToTerraform(struct.read),
120
+ update: cdktf.stringToTerraform(struct.update),
121
+ };
122
+ }
123
+ export function instancePortSecurityTimeoutsToHclTerraform(struct) {
124
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
125
+ return struct;
126
+ }
127
+ if (cdktf.isComplexElement(struct)) {
128
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
129
+ }
130
+ const attrs = {
131
+ create: {
132
+ value: cdktf.stringToHclTerraform(struct.create),
133
+ isBlock: false,
134
+ type: "simple",
135
+ storageClassType: "string",
136
+ },
137
+ delete: {
138
+ value: cdktf.stringToHclTerraform(struct.delete),
139
+ isBlock: false,
140
+ type: "simple",
141
+ storageClassType: "string",
142
+ },
143
+ read: {
144
+ value: cdktf.stringToHclTerraform(struct.read),
145
+ isBlock: false,
146
+ type: "simple",
147
+ storageClassType: "string",
148
+ },
149
+ update: {
150
+ value: cdktf.stringToHclTerraform(struct.update),
151
+ isBlock: false,
152
+ type: "simple",
153
+ storageClassType: "string",
154
+ },
155
+ };
156
+ // remove undefined attributes
157
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
158
+ }
159
+ export class InstancePortSecurityTimeoutsOutputReference extends cdktf.ComplexObject {
160
+ isEmptyObject = false;
161
+ resolvableValue;
162
+ /**
163
+ * @param terraformResource The parent resource
164
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
165
+ */
166
+ constructor(terraformResource, terraformAttribute) {
167
+ super(terraformResource, terraformAttribute, false);
168
+ }
169
+ get internalValue() {
170
+ if (this.resolvableValue) {
171
+ return this.resolvableValue;
172
+ }
173
+ let hasAnyValues = this.isEmptyObject;
174
+ const internalValueResult = {};
175
+ if (this._create !== undefined) {
176
+ hasAnyValues = true;
177
+ internalValueResult.create = this._create;
178
+ }
179
+ if (this._delete !== undefined) {
180
+ hasAnyValues = true;
181
+ internalValueResult.delete = this._delete;
182
+ }
183
+ if (this._read !== undefined) {
184
+ hasAnyValues = true;
185
+ internalValueResult.read = this._read;
186
+ }
187
+ if (this._update !== undefined) {
188
+ hasAnyValues = true;
189
+ internalValueResult.update = this._update;
190
+ }
191
+ return hasAnyValues ? internalValueResult : undefined;
192
+ }
193
+ set internalValue(value) {
194
+ if (value === undefined) {
195
+ this.isEmptyObject = false;
196
+ this.resolvableValue = undefined;
197
+ this._create = undefined;
198
+ this._delete = undefined;
199
+ this._read = undefined;
200
+ this._update = undefined;
201
+ }
202
+ else if (cdktf.Tokenization.isResolvable(value)) {
203
+ this.isEmptyObject = false;
204
+ this.resolvableValue = value;
205
+ }
206
+ else {
207
+ this.isEmptyObject = Object.keys(value).length === 0;
208
+ this.resolvableValue = undefined;
209
+ this._create = value.create;
210
+ this._delete = value.delete;
211
+ this._read = value.read;
212
+ this._update = value.update;
213
+ }
214
+ }
215
+ // create - computed: false, optional: true, required: false
216
+ _create;
217
+ get create() {
218
+ return this.getStringAttribute('create');
219
+ }
220
+ set create(value) {
221
+ this._create = value;
222
+ }
223
+ resetCreate() {
224
+ this._create = undefined;
225
+ }
226
+ // Temporarily expose input value. Use with caution.
227
+ get createInput() {
228
+ return this._create;
229
+ }
230
+ // delete - computed: false, optional: true, required: false
231
+ _delete;
232
+ get delete() {
233
+ return this.getStringAttribute('delete');
234
+ }
235
+ set delete(value) {
236
+ this._delete = value;
237
+ }
238
+ resetDelete() {
239
+ this._delete = undefined;
240
+ }
241
+ // Temporarily expose input value. Use with caution.
242
+ get deleteInput() {
243
+ return this._delete;
244
+ }
245
+ // read - computed: false, optional: true, required: false
246
+ _read;
247
+ get read() {
248
+ return this.getStringAttribute('read');
249
+ }
250
+ set read(value) {
251
+ this._read = value;
252
+ }
253
+ resetRead() {
254
+ this._read = undefined;
255
+ }
256
+ // Temporarily expose input value. Use with caution.
257
+ get readInput() {
258
+ return this._read;
259
+ }
260
+ // update - computed: false, optional: true, required: false
261
+ _update;
262
+ get update() {
263
+ return this.getStringAttribute('update');
264
+ }
265
+ set update(value) {
266
+ this._update = value;
267
+ }
268
+ resetUpdate() {
269
+ this._update = undefined;
270
+ }
271
+ // Temporarily expose input value. Use with caution.
272
+ get updateInput() {
273
+ return this._update;
274
+ }
275
+ }
276
+ /**
277
+ * Represents a {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/instance_port_security edgecenter_instance_port_security}
278
+ */
279
+ export class InstancePortSecurity extends cdktf.TerraformResource {
280
+ // =================
281
+ // STATIC PROPERTIES
282
+ // =================
283
+ static tfResourceType = "edgecenter_instance_port_security";
284
+ // ==============
285
+ // STATIC Methods
286
+ // ==============
287
+ /**
288
+ * Generates CDKTF code for importing a InstancePortSecurity resource upon running "cdktf plan <stack-name>"
289
+ * @param scope The scope in which to define this construct
290
+ * @param importToId The construct id used in the generated config for the InstancePortSecurity to import
291
+ * @param importFromId The id of the existing InstancePortSecurity that should be imported. Refer to the {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/instance_port_security#import import section} in the documentation of this resource for the id to use
292
+ * @param provider? Optional instance of the provider where the InstancePortSecurity to import is found
293
+ */
294
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
295
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "edgecenter_instance_port_security", importId: importFromId, provider });
296
+ }
297
+ // ===========
298
+ // INITIALIZER
299
+ // ===========
300
+ /**
301
+ * Create a new {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/instance_port_security edgecenter_instance_port_security} Resource
302
+ *
303
+ * @param scope The scope in which to define this construct
304
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
305
+ * @param options InstancePortSecurityConfig
306
+ */
307
+ constructor(scope, id, config) {
308
+ super(scope, id, {
309
+ terraformResourceType: 'edgecenter_instance_port_security',
310
+ terraformGeneratorMetadata: {
311
+ providerName: 'edgecenter',
312
+ providerVersion: '0.10.4',
313
+ providerVersionConstraint: '0.10.4'
314
+ },
315
+ provider: config.provider,
316
+ dependsOn: config.dependsOn,
317
+ count: config.count,
318
+ lifecycle: config.lifecycle,
319
+ provisioners: config.provisioners,
320
+ connection: config.connection,
321
+ forEach: config.forEach
322
+ });
323
+ this._id = config.id;
324
+ this._instanceId = config.instanceId;
325
+ this._portId = config.portId;
326
+ this._portSecurityDisabled = config.portSecurityDisabled;
327
+ this._projectId = config.projectId;
328
+ this._projectName = config.projectName;
329
+ this._regionId = config.regionId;
330
+ this._regionName = config.regionName;
331
+ this._securityGroups.internalValue = config.securityGroups;
332
+ this._timeouts.internalValue = config.timeouts;
333
+ }
334
+ // ==========
335
+ // ATTRIBUTES
336
+ // ==========
337
+ // id - computed: true, optional: true, required: false
338
+ _id;
339
+ get id() {
340
+ return this.getStringAttribute('id');
341
+ }
342
+ set id(value) {
343
+ this._id = value;
344
+ }
345
+ resetId() {
346
+ this._id = undefined;
347
+ }
348
+ // Temporarily expose input value. Use with caution.
349
+ get idInput() {
350
+ return this._id;
351
+ }
352
+ // instance_id - computed: false, optional: false, required: true
353
+ _instanceId;
354
+ get instanceId() {
355
+ return this.getStringAttribute('instance_id');
356
+ }
357
+ set instanceId(value) {
358
+ this._instanceId = value;
359
+ }
360
+ // Temporarily expose input value. Use with caution.
361
+ get instanceIdInput() {
362
+ return this._instanceId;
363
+ }
364
+ // port_id - computed: false, optional: false, required: true
365
+ _portId;
366
+ get portId() {
367
+ return this.getStringAttribute('port_id');
368
+ }
369
+ set portId(value) {
370
+ this._portId = value;
371
+ }
372
+ // Temporarily expose input value. Use with caution.
373
+ get portIdInput() {
374
+ return this._portId;
375
+ }
376
+ // port_security_disabled - computed: true, optional: true, required: false
377
+ _portSecurityDisabled;
378
+ get portSecurityDisabled() {
379
+ return this.getBooleanAttribute('port_security_disabled');
380
+ }
381
+ set portSecurityDisabled(value) {
382
+ this._portSecurityDisabled = value;
383
+ }
384
+ resetPortSecurityDisabled() {
385
+ this._portSecurityDisabled = undefined;
386
+ }
387
+ // Temporarily expose input value. Use with caution.
388
+ get portSecurityDisabledInput() {
389
+ return this._portSecurityDisabled;
390
+ }
391
+ // project_id - computed: false, optional: true, required: false
392
+ _projectId;
393
+ get projectId() {
394
+ return this.getNumberAttribute('project_id');
395
+ }
396
+ set projectId(value) {
397
+ this._projectId = value;
398
+ }
399
+ resetProjectId() {
400
+ this._projectId = undefined;
401
+ }
402
+ // Temporarily expose input value. Use with caution.
403
+ get projectIdInput() {
404
+ return this._projectId;
405
+ }
406
+ // project_name - computed: false, optional: true, required: false
407
+ _projectName;
408
+ get projectName() {
409
+ return this.getStringAttribute('project_name');
410
+ }
411
+ set projectName(value) {
412
+ this._projectName = value;
413
+ }
414
+ resetProjectName() {
415
+ this._projectName = undefined;
416
+ }
417
+ // Temporarily expose input value. Use with caution.
418
+ get projectNameInput() {
419
+ return this._projectName;
420
+ }
421
+ // region_id - computed: false, optional: true, required: false
422
+ _regionId;
423
+ get regionId() {
424
+ return this.getNumberAttribute('region_id');
425
+ }
426
+ set regionId(value) {
427
+ this._regionId = value;
428
+ }
429
+ resetRegionId() {
430
+ this._regionId = undefined;
431
+ }
432
+ // Temporarily expose input value. Use with caution.
433
+ get regionIdInput() {
434
+ return this._regionId;
435
+ }
436
+ // region_name - computed: false, optional: true, required: false
437
+ _regionName;
438
+ get regionName() {
439
+ return this.getStringAttribute('region_name');
440
+ }
441
+ set regionName(value) {
442
+ this._regionName = value;
443
+ }
444
+ resetRegionName() {
445
+ this._regionName = undefined;
446
+ }
447
+ // Temporarily expose input value. Use with caution.
448
+ get regionNameInput() {
449
+ return this._regionName;
450
+ }
451
+ // security_groups - computed: false, optional: true, required: false
452
+ _securityGroups = new InstancePortSecuritySecurityGroupsOutputReference(this, "security_groups");
453
+ get securityGroups() {
454
+ return this._securityGroups;
455
+ }
456
+ putSecurityGroups(value) {
457
+ this._securityGroups.internalValue = value;
458
+ }
459
+ resetSecurityGroups() {
460
+ this._securityGroups.internalValue = undefined;
461
+ }
462
+ // Temporarily expose input value. Use with caution.
463
+ get securityGroupsInput() {
464
+ return this._securityGroups.internalValue;
465
+ }
466
+ // timeouts - computed: false, optional: true, required: false
467
+ _timeouts = new InstancePortSecurityTimeoutsOutputReference(this, "timeouts");
468
+ get timeouts() {
469
+ return this._timeouts;
470
+ }
471
+ putTimeouts(value) {
472
+ this._timeouts.internalValue = value;
473
+ }
474
+ resetTimeouts() {
475
+ this._timeouts.internalValue = undefined;
476
+ }
477
+ // Temporarily expose input value. Use with caution.
478
+ get timeoutsInput() {
479
+ return this._timeouts.internalValue;
480
+ }
481
+ // =========
482
+ // SYNTHESIS
483
+ // =========
484
+ synthesizeAttributes() {
485
+ return {
486
+ id: cdktf.stringToTerraform(this._id),
487
+ instance_id: cdktf.stringToTerraform(this._instanceId),
488
+ port_id: cdktf.stringToTerraform(this._portId),
489
+ port_security_disabled: cdktf.booleanToTerraform(this._portSecurityDisabled),
490
+ project_id: cdktf.numberToTerraform(this._projectId),
491
+ project_name: cdktf.stringToTerraform(this._projectName),
492
+ region_id: cdktf.numberToTerraform(this._regionId),
493
+ region_name: cdktf.stringToTerraform(this._regionName),
494
+ security_groups: instancePortSecuritySecurityGroupsToTerraform(this._securityGroups.internalValue),
495
+ timeouts: instancePortSecurityTimeoutsToTerraform(this._timeouts.internalValue),
496
+ };
497
+ }
498
+ synthesizeHclAttributes() {
499
+ const attrs = {
500
+ id: {
501
+ value: cdktf.stringToHclTerraform(this._id),
502
+ isBlock: false,
503
+ type: "simple",
504
+ storageClassType: "string",
505
+ },
506
+ instance_id: {
507
+ value: cdktf.stringToHclTerraform(this._instanceId),
508
+ isBlock: false,
509
+ type: "simple",
510
+ storageClassType: "string",
511
+ },
512
+ port_id: {
513
+ value: cdktf.stringToHclTerraform(this._portId),
514
+ isBlock: false,
515
+ type: "simple",
516
+ storageClassType: "string",
517
+ },
518
+ port_security_disabled: {
519
+ value: cdktf.booleanToHclTerraform(this._portSecurityDisabled),
520
+ isBlock: false,
521
+ type: "simple",
522
+ storageClassType: "boolean",
523
+ },
524
+ project_id: {
525
+ value: cdktf.numberToHclTerraform(this._projectId),
526
+ isBlock: false,
527
+ type: "simple",
528
+ storageClassType: "number",
529
+ },
530
+ project_name: {
531
+ value: cdktf.stringToHclTerraform(this._projectName),
532
+ isBlock: false,
533
+ type: "simple",
534
+ storageClassType: "string",
535
+ },
536
+ region_id: {
537
+ value: cdktf.numberToHclTerraform(this._regionId),
538
+ isBlock: false,
539
+ type: "simple",
540
+ storageClassType: "number",
541
+ },
542
+ region_name: {
543
+ value: cdktf.stringToHclTerraform(this._regionName),
544
+ isBlock: false,
545
+ type: "simple",
546
+ storageClassType: "string",
547
+ },
548
+ security_groups: {
549
+ value: instancePortSecuritySecurityGroupsToHclTerraform(this._securityGroups.internalValue),
550
+ isBlock: true,
551
+ type: "set",
552
+ storageClassType: "InstancePortSecuritySecurityGroupsList",
553
+ },
554
+ timeouts: {
555
+ value: instancePortSecurityTimeoutsToHclTerraform(this._timeouts.internalValue),
556
+ isBlock: true,
557
+ type: "struct",
558
+ storageClassType: "InstancePortSecurityTimeouts",
559
+ },
560
+ };
561
+ // remove undefined attributes
562
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
563
+ }
564
+ }