@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,204 @@
1
+ import { Construct } from 'constructs';
2
+ import * as cdktf from 'cdktf';
3
+ export interface DataEdgecenterLbpoolConfig extends cdktf.TerraformMetaArguments {
4
+ /**
5
+ * The ID of the load balancer pool. Either 'id' or 'name' must be specified.
6
+ *
7
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/lbpool#id DataEdgecenterLbpool#id}
8
+ *
9
+ * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
10
+ * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
11
+ */
12
+ readonly id?: string;
13
+ /**
14
+ * The uuid for the load balancer listener.
15
+ *
16
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/lbpool#listener_id DataEdgecenterLbpool#listener_id}
17
+ */
18
+ readonly listenerId?: string;
19
+ /**
20
+ * The uuid for the load balancer.
21
+ *
22
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/lbpool#loadbalancer_id DataEdgecenterLbpool#loadbalancer_id}
23
+ */
24
+ readonly loadbalancerId?: string;
25
+ /**
26
+ * The name of the load balancer pool. Either 'id' or 'name' must be specified.
27
+ *
28
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/lbpool#name DataEdgecenterLbpool#name}
29
+ */
30
+ readonly name?: string;
31
+ /**
32
+ * The uuid of the project. Either 'project_id' or 'project_name' must be specified.
33
+ *
34
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/lbpool#project_id DataEdgecenterLbpool#project_id}
35
+ */
36
+ readonly projectId?: number;
37
+ /**
38
+ * The name of the project. Either 'project_id' or 'project_name' must be specified.
39
+ *
40
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/lbpool#project_name DataEdgecenterLbpool#project_name}
41
+ */
42
+ readonly projectName?: string;
43
+ /**
44
+ * The uuid of the region. Either 'region_id' or 'region_name' must be specified.
45
+ *
46
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/lbpool#region_id DataEdgecenterLbpool#region_id}
47
+ */
48
+ readonly regionId?: number;
49
+ /**
50
+ * The name of the region. Either 'region_id' or 'region_name' must be specified.
51
+ *
52
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/lbpool#region_name DataEdgecenterLbpool#region_name}
53
+ */
54
+ readonly regionName?: string;
55
+ }
56
+ export interface DataEdgecenterLbpoolHealthMonitor {
57
+ }
58
+ export declare function dataEdgecenterLbpoolHealthMonitorToTerraform(struct?: DataEdgecenterLbpoolHealthMonitor): any;
59
+ export declare function dataEdgecenterLbpoolHealthMonitorToHclTerraform(struct?: DataEdgecenterLbpoolHealthMonitor): any;
60
+ export declare class DataEdgecenterLbpoolHealthMonitorOutputReference extends cdktf.ComplexObject {
61
+ private isEmptyObject;
62
+ /**
63
+ * @param terraformResource The parent resource
64
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
65
+ * @param complexObjectIndex the index of this item in the list
66
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
67
+ */
68
+ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
69
+ get internalValue(): DataEdgecenterLbpoolHealthMonitor | undefined;
70
+ set internalValue(value: DataEdgecenterLbpoolHealthMonitor | undefined);
71
+ get delay(): any;
72
+ get expectedCodes(): any;
73
+ get httpMethod(): any;
74
+ get id(): any;
75
+ get maxRetries(): any;
76
+ get maxRetriesDown(): any;
77
+ get timeout(): any;
78
+ get type(): any;
79
+ get urlPath(): any;
80
+ }
81
+ export declare class DataEdgecenterLbpoolHealthMonitorList extends cdktf.ComplexList {
82
+ protected terraformResource: cdktf.IInterpolatingParent;
83
+ protected terraformAttribute: string;
84
+ protected wrapsSet: boolean;
85
+ /**
86
+ * @param terraformResource The parent resource
87
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
88
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
89
+ */
90
+ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
91
+ /**
92
+ * @param index the index of the item to return
93
+ */
94
+ get(index: number): DataEdgecenterLbpoolHealthMonitorOutputReference;
95
+ }
96
+ export interface DataEdgecenterLbpoolSessionPersistence {
97
+ }
98
+ export declare function dataEdgecenterLbpoolSessionPersistenceToTerraform(struct?: DataEdgecenterLbpoolSessionPersistence): any;
99
+ export declare function dataEdgecenterLbpoolSessionPersistenceToHclTerraform(struct?: DataEdgecenterLbpoolSessionPersistence): any;
100
+ export declare class DataEdgecenterLbpoolSessionPersistenceOutputReference extends cdktf.ComplexObject {
101
+ private isEmptyObject;
102
+ /**
103
+ * @param terraformResource The parent resource
104
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
105
+ * @param complexObjectIndex the index of this item in the list
106
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
107
+ */
108
+ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
109
+ get internalValue(): DataEdgecenterLbpoolSessionPersistence | undefined;
110
+ set internalValue(value: DataEdgecenterLbpoolSessionPersistence | undefined);
111
+ get cookieName(): any;
112
+ get persistenceGranularity(): any;
113
+ get persistenceTimeout(): any;
114
+ get type(): any;
115
+ }
116
+ export declare class DataEdgecenterLbpoolSessionPersistenceList extends cdktf.ComplexList {
117
+ protected terraformResource: cdktf.IInterpolatingParent;
118
+ protected terraformAttribute: string;
119
+ protected wrapsSet: boolean;
120
+ /**
121
+ * @param terraformResource The parent resource
122
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
123
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
124
+ */
125
+ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
126
+ /**
127
+ * @param index the index of the item to return
128
+ */
129
+ get(index: number): DataEdgecenterLbpoolSessionPersistenceOutputReference;
130
+ }
131
+ /**
132
+ * Represents a {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/lbpool edgecenter_lbpool}
133
+ */
134
+ export declare class DataEdgecenterLbpool extends cdktf.TerraformDataSource {
135
+ static readonly tfResourceType = "edgecenter_lbpool";
136
+ /**
137
+ * Generates CDKTF code for importing a DataEdgecenterLbpool resource upon running "cdktf plan <stack-name>"
138
+ * @param scope The scope in which to define this construct
139
+ * @param importToId The construct id used in the generated config for the DataEdgecenterLbpool to import
140
+ * @param importFromId The id of the existing DataEdgecenterLbpool that should be imported. Refer to the {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/lbpool#import import section} in the documentation of this resource for the id to use
141
+ * @param provider? Optional instance of the provider where the DataEdgecenterLbpool to import is found
142
+ */
143
+ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any;
144
+ /**
145
+ * Create a new {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/lbpool edgecenter_lbpool} Data Source
146
+ *
147
+ * @param scope The scope in which to define this construct
148
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
149
+ * @param options DataEdgecenterLbpoolConfig = {}
150
+ */
151
+ constructor(scope: Construct, id: string, config?: DataEdgecenterLbpoolConfig);
152
+ private _healthMonitor;
153
+ get healthMonitor(): DataEdgecenterLbpoolHealthMonitorList;
154
+ private _id?;
155
+ get id(): string;
156
+ set id(value: string);
157
+ resetId(): void;
158
+ get idInput(): string;
159
+ get lbAlgorithm(): any;
160
+ private _listenerId?;
161
+ get listenerId(): string;
162
+ set listenerId(value: string);
163
+ resetListenerId(): void;
164
+ get listenerIdInput(): string;
165
+ private _loadbalancerId?;
166
+ get loadbalancerId(): string;
167
+ set loadbalancerId(value: string);
168
+ resetLoadbalancerId(): void;
169
+ get loadbalancerIdInput(): string;
170
+ private _name?;
171
+ get name(): string;
172
+ set name(value: string);
173
+ resetName(): void;
174
+ get nameInput(): string;
175
+ private _projectId?;
176
+ get projectId(): number;
177
+ set projectId(value: number);
178
+ resetProjectId(): void;
179
+ get projectIdInput(): number;
180
+ private _projectName?;
181
+ get projectName(): string;
182
+ set projectName(value: string);
183
+ resetProjectName(): void;
184
+ get projectNameInput(): string;
185
+ get protocol(): any;
186
+ private _regionId?;
187
+ get regionId(): number;
188
+ set regionId(value: number);
189
+ resetRegionId(): void;
190
+ get regionIdInput(): number;
191
+ private _regionName?;
192
+ get regionName(): string;
193
+ set regionName(value: string);
194
+ resetRegionName(): void;
195
+ get regionNameInput(): string;
196
+ private _sessionPersistence;
197
+ get sessionPersistence(): DataEdgecenterLbpoolSessionPersistenceList;
198
+ protected synthesizeAttributes(): {
199
+ [name: string]: any;
200
+ };
201
+ protected synthesizeHclAttributes(): {
202
+ [name: string]: any;
203
+ };
204
+ }
@@ -0,0 +1,454 @@
1
+ // https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/lbpool
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function dataEdgecenterLbpoolHealthMonitorToTerraform(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 dataEdgecenterLbpoolHealthMonitorToHclTerraform(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 DataEdgecenterLbpoolHealthMonitorOutputReference 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
+ // delay - computed: true, optional: false, required: false
48
+ get delay() {
49
+ return this.getNumberAttribute('delay');
50
+ }
51
+ // expected_codes - computed: true, optional: false, required: false
52
+ get expectedCodes() {
53
+ return this.getStringAttribute('expected_codes');
54
+ }
55
+ // http_method - computed: true, optional: false, required: false
56
+ get httpMethod() {
57
+ return this.getStringAttribute('http_method');
58
+ }
59
+ // id - computed: true, optional: false, required: false
60
+ get id() {
61
+ return this.getStringAttribute('id');
62
+ }
63
+ // max_retries - computed: true, optional: false, required: false
64
+ get maxRetries() {
65
+ return this.getNumberAttribute('max_retries');
66
+ }
67
+ // max_retries_down - computed: true, optional: false, required: false
68
+ get maxRetriesDown() {
69
+ return this.getNumberAttribute('max_retries_down');
70
+ }
71
+ // timeout - computed: true, optional: false, required: false
72
+ get timeout() {
73
+ return this.getNumberAttribute('timeout');
74
+ }
75
+ // type - computed: true, optional: false, required: false
76
+ get type() {
77
+ return this.getStringAttribute('type');
78
+ }
79
+ // url_path - computed: true, optional: false, required: false
80
+ get urlPath() {
81
+ return this.getStringAttribute('url_path');
82
+ }
83
+ }
84
+ export class DataEdgecenterLbpoolHealthMonitorList extends cdktf.ComplexList {
85
+ terraformResource;
86
+ terraformAttribute;
87
+ wrapsSet;
88
+ /**
89
+ * @param terraformResource The parent resource
90
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
91
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
92
+ */
93
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
94
+ super(terraformResource, terraformAttribute, wrapsSet);
95
+ this.terraformResource = terraformResource;
96
+ this.terraformAttribute = terraformAttribute;
97
+ this.wrapsSet = wrapsSet;
98
+ }
99
+ /**
100
+ * @param index the index of the item to return
101
+ */
102
+ get(index) {
103
+ return new DataEdgecenterLbpoolHealthMonitorOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
104
+ }
105
+ }
106
+ export function dataEdgecenterLbpoolSessionPersistenceToTerraform(struct) {
107
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
108
+ return struct;
109
+ }
110
+ if (cdktf.isComplexElement(struct)) {
111
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
112
+ }
113
+ return {};
114
+ }
115
+ export function dataEdgecenterLbpoolSessionPersistenceToHclTerraform(struct) {
116
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
117
+ return struct;
118
+ }
119
+ if (cdktf.isComplexElement(struct)) {
120
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
121
+ }
122
+ const attrs = {};
123
+ return attrs;
124
+ }
125
+ export class DataEdgecenterLbpoolSessionPersistenceOutputReference extends cdktf.ComplexObject {
126
+ isEmptyObject = false;
127
+ /**
128
+ * @param terraformResource The parent resource
129
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
130
+ * @param complexObjectIndex the index of this item in the list
131
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
132
+ */
133
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
134
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
135
+ }
136
+ get internalValue() {
137
+ let hasAnyValues = this.isEmptyObject;
138
+ const internalValueResult = {};
139
+ return hasAnyValues ? internalValueResult : undefined;
140
+ }
141
+ set internalValue(value) {
142
+ if (value === undefined) {
143
+ this.isEmptyObject = false;
144
+ }
145
+ else {
146
+ this.isEmptyObject = Object.keys(value).length === 0;
147
+ }
148
+ }
149
+ // cookie_name - computed: true, optional: false, required: false
150
+ get cookieName() {
151
+ return this.getStringAttribute('cookie_name');
152
+ }
153
+ // persistence_granularity - computed: true, optional: false, required: false
154
+ get persistenceGranularity() {
155
+ return this.getStringAttribute('persistence_granularity');
156
+ }
157
+ // persistence_timeout - computed: true, optional: false, required: false
158
+ get persistenceTimeout() {
159
+ return this.getNumberAttribute('persistence_timeout');
160
+ }
161
+ // type - computed: true, optional: false, required: false
162
+ get type() {
163
+ return this.getStringAttribute('type');
164
+ }
165
+ }
166
+ export class DataEdgecenterLbpoolSessionPersistenceList extends cdktf.ComplexList {
167
+ terraformResource;
168
+ terraformAttribute;
169
+ wrapsSet;
170
+ /**
171
+ * @param terraformResource The parent resource
172
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
173
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
174
+ */
175
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
176
+ super(terraformResource, terraformAttribute, wrapsSet);
177
+ this.terraformResource = terraformResource;
178
+ this.terraformAttribute = terraformAttribute;
179
+ this.wrapsSet = wrapsSet;
180
+ }
181
+ /**
182
+ * @param index the index of the item to return
183
+ */
184
+ get(index) {
185
+ return new DataEdgecenterLbpoolSessionPersistenceOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
186
+ }
187
+ }
188
+ /**
189
+ * Represents a {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/lbpool edgecenter_lbpool}
190
+ */
191
+ export class DataEdgecenterLbpool extends cdktf.TerraformDataSource {
192
+ // =================
193
+ // STATIC PROPERTIES
194
+ // =================
195
+ static tfResourceType = "edgecenter_lbpool";
196
+ // ==============
197
+ // STATIC Methods
198
+ // ==============
199
+ /**
200
+ * Generates CDKTF code for importing a DataEdgecenterLbpool resource upon running "cdktf plan <stack-name>"
201
+ * @param scope The scope in which to define this construct
202
+ * @param importToId The construct id used in the generated config for the DataEdgecenterLbpool to import
203
+ * @param importFromId The id of the existing DataEdgecenterLbpool that should be imported. Refer to the {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/lbpool#import import section} in the documentation of this resource for the id to use
204
+ * @param provider? Optional instance of the provider where the DataEdgecenterLbpool to import is found
205
+ */
206
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
207
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "edgecenter_lbpool", importId: importFromId, provider });
208
+ }
209
+ // ===========
210
+ // INITIALIZER
211
+ // ===========
212
+ /**
213
+ * Create a new {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/lbpool edgecenter_lbpool} Data Source
214
+ *
215
+ * @param scope The scope in which to define this construct
216
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
217
+ * @param options DataEdgecenterLbpoolConfig = {}
218
+ */
219
+ constructor(scope, id, config = {}) {
220
+ super(scope, id, {
221
+ terraformResourceType: 'edgecenter_lbpool',
222
+ terraformGeneratorMetadata: {
223
+ providerName: 'edgecenter',
224
+ providerVersion: '0.10.4',
225
+ providerVersionConstraint: '0.10.4'
226
+ },
227
+ provider: config.provider,
228
+ dependsOn: config.dependsOn,
229
+ count: config.count,
230
+ lifecycle: config.lifecycle,
231
+ provisioners: config.provisioners,
232
+ connection: config.connection,
233
+ forEach: config.forEach
234
+ });
235
+ this._id = config.id;
236
+ this._listenerId = config.listenerId;
237
+ this._loadbalancerId = config.loadbalancerId;
238
+ this._name = config.name;
239
+ this._projectId = config.projectId;
240
+ this._projectName = config.projectName;
241
+ this._regionId = config.regionId;
242
+ this._regionName = config.regionName;
243
+ }
244
+ // ==========
245
+ // ATTRIBUTES
246
+ // ==========
247
+ // health_monitor - computed: true, optional: false, required: false
248
+ _healthMonitor = new DataEdgecenterLbpoolHealthMonitorList(this, "health_monitor", false);
249
+ get healthMonitor() {
250
+ return this._healthMonitor;
251
+ }
252
+ // id - computed: true, optional: true, required: false
253
+ _id;
254
+ get id() {
255
+ return this.getStringAttribute('id');
256
+ }
257
+ set id(value) {
258
+ this._id = value;
259
+ }
260
+ resetId() {
261
+ this._id = undefined;
262
+ }
263
+ // Temporarily expose input value. Use with caution.
264
+ get idInput() {
265
+ return this._id;
266
+ }
267
+ // lb_algorithm - computed: true, optional: false, required: false
268
+ get lbAlgorithm() {
269
+ return this.getStringAttribute('lb_algorithm');
270
+ }
271
+ // listener_id - computed: true, optional: true, required: false
272
+ _listenerId;
273
+ get listenerId() {
274
+ return this.getStringAttribute('listener_id');
275
+ }
276
+ set listenerId(value) {
277
+ this._listenerId = value;
278
+ }
279
+ resetListenerId() {
280
+ this._listenerId = undefined;
281
+ }
282
+ // Temporarily expose input value. Use with caution.
283
+ get listenerIdInput() {
284
+ return this._listenerId;
285
+ }
286
+ // loadbalancer_id - computed: true, optional: true, required: false
287
+ _loadbalancerId;
288
+ get loadbalancerId() {
289
+ return this.getStringAttribute('loadbalancer_id');
290
+ }
291
+ set loadbalancerId(value) {
292
+ this._loadbalancerId = value;
293
+ }
294
+ resetLoadbalancerId() {
295
+ this._loadbalancerId = undefined;
296
+ }
297
+ // Temporarily expose input value. Use with caution.
298
+ get loadbalancerIdInput() {
299
+ return this._loadbalancerId;
300
+ }
301
+ // name - computed: true, optional: true, required: false
302
+ _name;
303
+ get name() {
304
+ return this.getStringAttribute('name');
305
+ }
306
+ set name(value) {
307
+ this._name = value;
308
+ }
309
+ resetName() {
310
+ this._name = undefined;
311
+ }
312
+ // Temporarily expose input value. Use with caution.
313
+ get nameInput() {
314
+ return this._name;
315
+ }
316
+ // project_id - computed: false, optional: true, required: false
317
+ _projectId;
318
+ get projectId() {
319
+ return this.getNumberAttribute('project_id');
320
+ }
321
+ set projectId(value) {
322
+ this._projectId = value;
323
+ }
324
+ resetProjectId() {
325
+ this._projectId = undefined;
326
+ }
327
+ // Temporarily expose input value. Use with caution.
328
+ get projectIdInput() {
329
+ return this._projectId;
330
+ }
331
+ // project_name - computed: false, optional: true, required: false
332
+ _projectName;
333
+ get projectName() {
334
+ return this.getStringAttribute('project_name');
335
+ }
336
+ set projectName(value) {
337
+ this._projectName = value;
338
+ }
339
+ resetProjectName() {
340
+ this._projectName = undefined;
341
+ }
342
+ // Temporarily expose input value. Use with caution.
343
+ get projectNameInput() {
344
+ return this._projectName;
345
+ }
346
+ // protocol - computed: true, optional: false, required: false
347
+ get protocol() {
348
+ return this.getStringAttribute('protocol');
349
+ }
350
+ // region_id - computed: false, optional: true, required: false
351
+ _regionId;
352
+ get regionId() {
353
+ return this.getNumberAttribute('region_id');
354
+ }
355
+ set regionId(value) {
356
+ this._regionId = value;
357
+ }
358
+ resetRegionId() {
359
+ this._regionId = undefined;
360
+ }
361
+ // Temporarily expose input value. Use with caution.
362
+ get regionIdInput() {
363
+ return this._regionId;
364
+ }
365
+ // region_name - computed: false, optional: true, required: false
366
+ _regionName;
367
+ get regionName() {
368
+ return this.getStringAttribute('region_name');
369
+ }
370
+ set regionName(value) {
371
+ this._regionName = value;
372
+ }
373
+ resetRegionName() {
374
+ this._regionName = undefined;
375
+ }
376
+ // Temporarily expose input value. Use with caution.
377
+ get regionNameInput() {
378
+ return this._regionName;
379
+ }
380
+ // session_persistence - computed: true, optional: false, required: false
381
+ _sessionPersistence = new DataEdgecenterLbpoolSessionPersistenceList(this, "session_persistence", false);
382
+ get sessionPersistence() {
383
+ return this._sessionPersistence;
384
+ }
385
+ // =========
386
+ // SYNTHESIS
387
+ // =========
388
+ synthesizeAttributes() {
389
+ return {
390
+ id: cdktf.stringToTerraform(this._id),
391
+ listener_id: cdktf.stringToTerraform(this._listenerId),
392
+ loadbalancer_id: cdktf.stringToTerraform(this._loadbalancerId),
393
+ name: cdktf.stringToTerraform(this._name),
394
+ project_id: cdktf.numberToTerraform(this._projectId),
395
+ project_name: cdktf.stringToTerraform(this._projectName),
396
+ region_id: cdktf.numberToTerraform(this._regionId),
397
+ region_name: cdktf.stringToTerraform(this._regionName),
398
+ };
399
+ }
400
+ synthesizeHclAttributes() {
401
+ const attrs = {
402
+ id: {
403
+ value: cdktf.stringToHclTerraform(this._id),
404
+ isBlock: false,
405
+ type: "simple",
406
+ storageClassType: "string",
407
+ },
408
+ listener_id: {
409
+ value: cdktf.stringToHclTerraform(this._listenerId),
410
+ isBlock: false,
411
+ type: "simple",
412
+ storageClassType: "string",
413
+ },
414
+ loadbalancer_id: {
415
+ value: cdktf.stringToHclTerraform(this._loadbalancerId),
416
+ isBlock: false,
417
+ type: "simple",
418
+ storageClassType: "string",
419
+ },
420
+ name: {
421
+ value: cdktf.stringToHclTerraform(this._name),
422
+ isBlock: false,
423
+ type: "simple",
424
+ storageClassType: "string",
425
+ },
426
+ project_id: {
427
+ value: cdktf.numberToHclTerraform(this._projectId),
428
+ isBlock: false,
429
+ type: "simple",
430
+ storageClassType: "number",
431
+ },
432
+ project_name: {
433
+ value: cdktf.stringToHclTerraform(this._projectName),
434
+ isBlock: false,
435
+ type: "simple",
436
+ storageClassType: "string",
437
+ },
438
+ region_id: {
439
+ value: cdktf.numberToHclTerraform(this._regionId),
440
+ isBlock: false,
441
+ type: "simple",
442
+ storageClassType: "number",
443
+ },
444
+ region_name: {
445
+ value: cdktf.stringToHclTerraform(this._regionName),
446
+ isBlock: false,
447
+ type: "simple",
448
+ storageClassType: "string",
449
+ },
450
+ };
451
+ // remove undefined attributes
452
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
453
+ }
454
+ }