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