@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,207 @@
1
+ import { Construct } from 'constructs';
2
+ import * as cdktf from 'cdktf';
3
+ export interface LbmemberConfig extends cdktf.TerraformMetaArguments {
4
+ /**
5
+ * The IP address of the load balancer pool member.
6
+ *
7
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember#address Lbmember#address}
8
+ */
9
+ readonly address: string;
10
+ /**
11
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember#id Lbmember#id}
12
+ *
13
+ * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
14
+ * 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.
15
+ */
16
+ readonly id?: string;
17
+ /**
18
+ * The uuid of the instance (amphora) associated with the pool member.
19
+ *
20
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember#instance_id Lbmember#instance_id}
21
+ */
22
+ readonly instanceId?: string;
23
+ /**
24
+ * The timestamp of the last update (use with update context).
25
+ *
26
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember#last_updated Lbmember#last_updated}
27
+ */
28
+ readonly lastUpdated?: string;
29
+ /**
30
+ * The uuid for the load balancer pool.
31
+ *
32
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember#pool_id Lbmember#pool_id}
33
+ */
34
+ readonly poolId: string;
35
+ /**
36
+ * The uuid of the project. Either 'project_id' or 'project_name' must be specified.
37
+ *
38
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember#project_id Lbmember#project_id}
39
+ */
40
+ readonly projectId?: number;
41
+ /**
42
+ * The name of the project. Either 'project_id' or 'project_name' must be specified.
43
+ *
44
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember#project_name Lbmember#project_name}
45
+ */
46
+ readonly projectName?: string;
47
+ /**
48
+ * The port on which the member listens for requests.
49
+ *
50
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember#protocol_port Lbmember#protocol_port}
51
+ */
52
+ readonly protocolPort: number;
53
+ /**
54
+ * The uuid of the region. Either 'region_id' or 'region_name' must be specified.
55
+ *
56
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember#region_id Lbmember#region_id}
57
+ */
58
+ readonly regionId?: number;
59
+ /**
60
+ * The name of the region. Either 'region_id' or 'region_name' must be specified.
61
+ *
62
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember#region_name Lbmember#region_name}
63
+ */
64
+ readonly regionName?: string;
65
+ /**
66
+ * The uuid of the subnet in which the pool member is located.
67
+ *
68
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember#subnet_id Lbmember#subnet_id}
69
+ */
70
+ readonly subnetId?: string;
71
+ /**
72
+ * A weight value between 0 and 256, determining the distribution of requests among the members of the pool.
73
+ *
74
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember#weight Lbmember#weight}
75
+ */
76
+ readonly weight?: number;
77
+ /**
78
+ * timeouts block
79
+ *
80
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember#timeouts Lbmember#timeouts}
81
+ */
82
+ readonly timeouts?: LbmemberTimeouts;
83
+ }
84
+ export interface LbmemberTimeouts {
85
+ /**
86
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember#create Lbmember#create}
87
+ */
88
+ readonly create?: string;
89
+ /**
90
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember#delete Lbmember#delete}
91
+ */
92
+ readonly delete?: string;
93
+ }
94
+ export declare function lbmemberTimeoutsToTerraform(struct?: LbmemberTimeouts | cdktf.IResolvable): any;
95
+ export declare function lbmemberTimeoutsToHclTerraform(struct?: LbmemberTimeouts | cdktf.IResolvable): any;
96
+ export declare class LbmemberTimeoutsOutputReference extends cdktf.ComplexObject {
97
+ private isEmptyObject;
98
+ private resolvableValue?;
99
+ /**
100
+ * @param terraformResource The parent resource
101
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
102
+ */
103
+ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
104
+ get internalValue(): LbmemberTimeouts | cdktf.IResolvable | undefined;
105
+ set internalValue(value: LbmemberTimeouts | cdktf.IResolvable | undefined);
106
+ private _create?;
107
+ get create(): string;
108
+ set create(value: string);
109
+ resetCreate(): void;
110
+ get createInput(): string;
111
+ private _delete?;
112
+ get delete(): string;
113
+ set delete(value: string);
114
+ resetDelete(): void;
115
+ get deleteInput(): string;
116
+ }
117
+ /**
118
+ * Represents a {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember edgecenter_lbmember}
119
+ */
120
+ export declare class Lbmember extends cdktf.TerraformResource {
121
+ static readonly tfResourceType = "edgecenter_lbmember";
122
+ /**
123
+ * Generates CDKTF code for importing a Lbmember resource upon running "cdktf plan <stack-name>"
124
+ * @param scope The scope in which to define this construct
125
+ * @param importToId The construct id used in the generated config for the Lbmember to import
126
+ * @param importFromId The id of the existing Lbmember that should be imported. Refer to the {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember#import import section} in the documentation of this resource for the id to use
127
+ * @param provider? Optional instance of the provider where the Lbmember to import is found
128
+ */
129
+ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any;
130
+ /**
131
+ * Create a new {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember edgecenter_lbmember} Resource
132
+ *
133
+ * @param scope The scope in which to define this construct
134
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
135
+ * @param options LbmemberConfig
136
+ */
137
+ constructor(scope: Construct, id: string, config: LbmemberConfig);
138
+ private _address?;
139
+ get address(): string;
140
+ set address(value: string);
141
+ get addressInput(): string;
142
+ private _id?;
143
+ get id(): string;
144
+ set id(value: string);
145
+ resetId(): void;
146
+ get idInput(): string;
147
+ private _instanceId?;
148
+ get instanceId(): string;
149
+ set instanceId(value: string);
150
+ resetInstanceId(): void;
151
+ get instanceIdInput(): string;
152
+ private _lastUpdated?;
153
+ get lastUpdated(): string;
154
+ set lastUpdated(value: string);
155
+ resetLastUpdated(): void;
156
+ get lastUpdatedInput(): string;
157
+ get operatingStatus(): any;
158
+ private _poolId?;
159
+ get poolId(): string;
160
+ set poolId(value: string);
161
+ get poolIdInput(): string;
162
+ private _projectId?;
163
+ get projectId(): number;
164
+ set projectId(value: number);
165
+ resetProjectId(): void;
166
+ get projectIdInput(): number;
167
+ private _projectName?;
168
+ get projectName(): string;
169
+ set projectName(value: string);
170
+ resetProjectName(): void;
171
+ get projectNameInput(): string;
172
+ private _protocolPort?;
173
+ get protocolPort(): number;
174
+ set protocolPort(value: number);
175
+ get protocolPortInput(): number;
176
+ private _regionId?;
177
+ get regionId(): number;
178
+ set regionId(value: number);
179
+ resetRegionId(): void;
180
+ get regionIdInput(): number;
181
+ private _regionName?;
182
+ get regionName(): string;
183
+ set regionName(value: string);
184
+ resetRegionName(): void;
185
+ get regionNameInput(): string;
186
+ private _subnetId?;
187
+ get subnetId(): string;
188
+ set subnetId(value: string);
189
+ resetSubnetId(): void;
190
+ get subnetIdInput(): string;
191
+ private _weight?;
192
+ get weight(): number;
193
+ set weight(value: number);
194
+ resetWeight(): void;
195
+ get weightInput(): number;
196
+ private _timeouts;
197
+ get timeouts(): LbmemberTimeoutsOutputReference;
198
+ putTimeouts(value: LbmemberTimeouts): void;
199
+ resetTimeouts(): void;
200
+ get timeoutsInput(): any;
201
+ protected synthesizeAttributes(): {
202
+ [name: string]: any;
203
+ };
204
+ protected synthesizeHclAttributes(): {
205
+ [name: string]: any;
206
+ };
207
+ }
@@ -0,0 +1,473 @@
1
+ // https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function lbmemberTimeoutsToTerraform(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
+ create: cdktf.stringToTerraform(struct.create),
13
+ delete: cdktf.stringToTerraform(struct.delete),
14
+ };
15
+ }
16
+ export function lbmemberTimeoutsToHclTerraform(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
+ create: {
25
+ value: cdktf.stringToHclTerraform(struct.create),
26
+ isBlock: false,
27
+ type: "simple",
28
+ storageClassType: "string",
29
+ },
30
+ delete: {
31
+ value: cdktf.stringToHclTerraform(struct.delete),
32
+ isBlock: false,
33
+ type: "simple",
34
+ storageClassType: "string",
35
+ },
36
+ };
37
+ // remove undefined attributes
38
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
39
+ }
40
+ export class LbmemberTimeoutsOutputReference extends cdktf.ComplexObject {
41
+ isEmptyObject = false;
42
+ resolvableValue;
43
+ /**
44
+ * @param terraformResource The parent resource
45
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
46
+ */
47
+ constructor(terraformResource, terraformAttribute) {
48
+ super(terraformResource, terraformAttribute, false);
49
+ }
50
+ get internalValue() {
51
+ if (this.resolvableValue) {
52
+ return this.resolvableValue;
53
+ }
54
+ let hasAnyValues = this.isEmptyObject;
55
+ const internalValueResult = {};
56
+ if (this._create !== undefined) {
57
+ hasAnyValues = true;
58
+ internalValueResult.create = this._create;
59
+ }
60
+ if (this._delete !== undefined) {
61
+ hasAnyValues = true;
62
+ internalValueResult.delete = this._delete;
63
+ }
64
+ return hasAnyValues ? internalValueResult : undefined;
65
+ }
66
+ set internalValue(value) {
67
+ if (value === undefined) {
68
+ this.isEmptyObject = false;
69
+ this.resolvableValue = undefined;
70
+ this._create = undefined;
71
+ this._delete = undefined;
72
+ }
73
+ else if (cdktf.Tokenization.isResolvable(value)) {
74
+ this.isEmptyObject = false;
75
+ this.resolvableValue = value;
76
+ }
77
+ else {
78
+ this.isEmptyObject = Object.keys(value).length === 0;
79
+ this.resolvableValue = undefined;
80
+ this._create = value.create;
81
+ this._delete = value.delete;
82
+ }
83
+ }
84
+ // create - computed: false, optional: true, required: false
85
+ _create;
86
+ get create() {
87
+ return this.getStringAttribute('create');
88
+ }
89
+ set create(value) {
90
+ this._create = value;
91
+ }
92
+ resetCreate() {
93
+ this._create = undefined;
94
+ }
95
+ // Temporarily expose input value. Use with caution.
96
+ get createInput() {
97
+ return this._create;
98
+ }
99
+ // delete - computed: false, optional: true, required: false
100
+ _delete;
101
+ get delete() {
102
+ return this.getStringAttribute('delete');
103
+ }
104
+ set delete(value) {
105
+ this._delete = value;
106
+ }
107
+ resetDelete() {
108
+ this._delete = undefined;
109
+ }
110
+ // Temporarily expose input value. Use with caution.
111
+ get deleteInput() {
112
+ return this._delete;
113
+ }
114
+ }
115
+ /**
116
+ * Represents a {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember edgecenter_lbmember}
117
+ */
118
+ export class Lbmember extends cdktf.TerraformResource {
119
+ // =================
120
+ // STATIC PROPERTIES
121
+ // =================
122
+ static tfResourceType = "edgecenter_lbmember";
123
+ // ==============
124
+ // STATIC Methods
125
+ // ==============
126
+ /**
127
+ * Generates CDKTF code for importing a Lbmember resource upon running "cdktf plan <stack-name>"
128
+ * @param scope The scope in which to define this construct
129
+ * @param importToId The construct id used in the generated config for the Lbmember to import
130
+ * @param importFromId The id of the existing Lbmember that should be imported. Refer to the {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember#import import section} in the documentation of this resource for the id to use
131
+ * @param provider? Optional instance of the provider where the Lbmember to import is found
132
+ */
133
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
134
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "edgecenter_lbmember", importId: importFromId, provider });
135
+ }
136
+ // ===========
137
+ // INITIALIZER
138
+ // ===========
139
+ /**
140
+ * Create a new {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/lbmember edgecenter_lbmember} Resource
141
+ *
142
+ * @param scope The scope in which to define this construct
143
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
144
+ * @param options LbmemberConfig
145
+ */
146
+ constructor(scope, id, config) {
147
+ super(scope, id, {
148
+ terraformResourceType: 'edgecenter_lbmember',
149
+ terraformGeneratorMetadata: {
150
+ providerName: 'edgecenter',
151
+ providerVersion: '0.10.4',
152
+ providerVersionConstraint: '0.10.4'
153
+ },
154
+ provider: config.provider,
155
+ dependsOn: config.dependsOn,
156
+ count: config.count,
157
+ lifecycle: config.lifecycle,
158
+ provisioners: config.provisioners,
159
+ connection: config.connection,
160
+ forEach: config.forEach
161
+ });
162
+ this._address = config.address;
163
+ this._id = config.id;
164
+ this._instanceId = config.instanceId;
165
+ this._lastUpdated = config.lastUpdated;
166
+ this._poolId = config.poolId;
167
+ this._projectId = config.projectId;
168
+ this._projectName = config.projectName;
169
+ this._protocolPort = config.protocolPort;
170
+ this._regionId = config.regionId;
171
+ this._regionName = config.regionName;
172
+ this._subnetId = config.subnetId;
173
+ this._weight = config.weight;
174
+ this._timeouts.internalValue = config.timeouts;
175
+ }
176
+ // ==========
177
+ // ATTRIBUTES
178
+ // ==========
179
+ // address - computed: false, optional: false, required: true
180
+ _address;
181
+ get address() {
182
+ return this.getStringAttribute('address');
183
+ }
184
+ set address(value) {
185
+ this._address = value;
186
+ }
187
+ // Temporarily expose input value. Use with caution.
188
+ get addressInput() {
189
+ return this._address;
190
+ }
191
+ // id - computed: true, optional: true, required: false
192
+ _id;
193
+ get id() {
194
+ return this.getStringAttribute('id');
195
+ }
196
+ set id(value) {
197
+ this._id = value;
198
+ }
199
+ resetId() {
200
+ this._id = undefined;
201
+ }
202
+ // Temporarily expose input value. Use with caution.
203
+ get idInput() {
204
+ return this._id;
205
+ }
206
+ // instance_id - computed: false, optional: true, required: false
207
+ _instanceId;
208
+ get instanceId() {
209
+ return this.getStringAttribute('instance_id');
210
+ }
211
+ set instanceId(value) {
212
+ this._instanceId = value;
213
+ }
214
+ resetInstanceId() {
215
+ this._instanceId = undefined;
216
+ }
217
+ // Temporarily expose input value. Use with caution.
218
+ get instanceIdInput() {
219
+ return this._instanceId;
220
+ }
221
+ // last_updated - computed: true, optional: true, required: false
222
+ _lastUpdated;
223
+ get lastUpdated() {
224
+ return this.getStringAttribute('last_updated');
225
+ }
226
+ set lastUpdated(value) {
227
+ this._lastUpdated = value;
228
+ }
229
+ resetLastUpdated() {
230
+ this._lastUpdated = undefined;
231
+ }
232
+ // Temporarily expose input value. Use with caution.
233
+ get lastUpdatedInput() {
234
+ return this._lastUpdated;
235
+ }
236
+ // operating_status - computed: true, optional: false, required: false
237
+ get operatingStatus() {
238
+ return this.getStringAttribute('operating_status');
239
+ }
240
+ // pool_id - computed: false, optional: false, required: true
241
+ _poolId;
242
+ get poolId() {
243
+ return this.getStringAttribute('pool_id');
244
+ }
245
+ set poolId(value) {
246
+ this._poolId = value;
247
+ }
248
+ // Temporarily expose input value. Use with caution.
249
+ get poolIdInput() {
250
+ return this._poolId;
251
+ }
252
+ // project_id - computed: false, optional: true, required: false
253
+ _projectId;
254
+ get projectId() {
255
+ return this.getNumberAttribute('project_id');
256
+ }
257
+ set projectId(value) {
258
+ this._projectId = value;
259
+ }
260
+ resetProjectId() {
261
+ this._projectId = undefined;
262
+ }
263
+ // Temporarily expose input value. Use with caution.
264
+ get projectIdInput() {
265
+ return this._projectId;
266
+ }
267
+ // project_name - computed: false, optional: true, required: false
268
+ _projectName;
269
+ get projectName() {
270
+ return this.getStringAttribute('project_name');
271
+ }
272
+ set projectName(value) {
273
+ this._projectName = value;
274
+ }
275
+ resetProjectName() {
276
+ this._projectName = undefined;
277
+ }
278
+ // Temporarily expose input value. Use with caution.
279
+ get projectNameInput() {
280
+ return this._projectName;
281
+ }
282
+ // protocol_port - computed: false, optional: false, required: true
283
+ _protocolPort;
284
+ get protocolPort() {
285
+ return this.getNumberAttribute('protocol_port');
286
+ }
287
+ set protocolPort(value) {
288
+ this._protocolPort = value;
289
+ }
290
+ // Temporarily expose input value. Use with caution.
291
+ get protocolPortInput() {
292
+ return this._protocolPort;
293
+ }
294
+ // region_id - computed: false, optional: true, required: false
295
+ _regionId;
296
+ get regionId() {
297
+ return this.getNumberAttribute('region_id');
298
+ }
299
+ set regionId(value) {
300
+ this._regionId = value;
301
+ }
302
+ resetRegionId() {
303
+ this._regionId = undefined;
304
+ }
305
+ // Temporarily expose input value. Use with caution.
306
+ get regionIdInput() {
307
+ return this._regionId;
308
+ }
309
+ // region_name - computed: false, optional: true, required: false
310
+ _regionName;
311
+ get regionName() {
312
+ return this.getStringAttribute('region_name');
313
+ }
314
+ set regionName(value) {
315
+ this._regionName = value;
316
+ }
317
+ resetRegionName() {
318
+ this._regionName = undefined;
319
+ }
320
+ // Temporarily expose input value. Use with caution.
321
+ get regionNameInput() {
322
+ return this._regionName;
323
+ }
324
+ // subnet_id - computed: true, optional: true, required: false
325
+ _subnetId;
326
+ get subnetId() {
327
+ return this.getStringAttribute('subnet_id');
328
+ }
329
+ set subnetId(value) {
330
+ this._subnetId = value;
331
+ }
332
+ resetSubnetId() {
333
+ this._subnetId = undefined;
334
+ }
335
+ // Temporarily expose input value. Use with caution.
336
+ get subnetIdInput() {
337
+ return this._subnetId;
338
+ }
339
+ // weight - computed: false, optional: true, required: false
340
+ _weight;
341
+ get weight() {
342
+ return this.getNumberAttribute('weight');
343
+ }
344
+ set weight(value) {
345
+ this._weight = value;
346
+ }
347
+ resetWeight() {
348
+ this._weight = undefined;
349
+ }
350
+ // Temporarily expose input value. Use with caution.
351
+ get weightInput() {
352
+ return this._weight;
353
+ }
354
+ // timeouts - computed: false, optional: true, required: false
355
+ _timeouts = new LbmemberTimeoutsOutputReference(this, "timeouts");
356
+ get timeouts() {
357
+ return this._timeouts;
358
+ }
359
+ putTimeouts(value) {
360
+ this._timeouts.internalValue = value;
361
+ }
362
+ resetTimeouts() {
363
+ this._timeouts.internalValue = undefined;
364
+ }
365
+ // Temporarily expose input value. Use with caution.
366
+ get timeoutsInput() {
367
+ return this._timeouts.internalValue;
368
+ }
369
+ // =========
370
+ // SYNTHESIS
371
+ // =========
372
+ synthesizeAttributes() {
373
+ return {
374
+ address: cdktf.stringToTerraform(this._address),
375
+ id: cdktf.stringToTerraform(this._id),
376
+ instance_id: cdktf.stringToTerraform(this._instanceId),
377
+ last_updated: cdktf.stringToTerraform(this._lastUpdated),
378
+ pool_id: cdktf.stringToTerraform(this._poolId),
379
+ project_id: cdktf.numberToTerraform(this._projectId),
380
+ project_name: cdktf.stringToTerraform(this._projectName),
381
+ protocol_port: cdktf.numberToTerraform(this._protocolPort),
382
+ region_id: cdktf.numberToTerraform(this._regionId),
383
+ region_name: cdktf.stringToTerraform(this._regionName),
384
+ subnet_id: cdktf.stringToTerraform(this._subnetId),
385
+ weight: cdktf.numberToTerraform(this._weight),
386
+ timeouts: lbmemberTimeoutsToTerraform(this._timeouts.internalValue),
387
+ };
388
+ }
389
+ synthesizeHclAttributes() {
390
+ const attrs = {
391
+ address: {
392
+ value: cdktf.stringToHclTerraform(this._address),
393
+ isBlock: false,
394
+ type: "simple",
395
+ storageClassType: "string",
396
+ },
397
+ id: {
398
+ value: cdktf.stringToHclTerraform(this._id),
399
+ isBlock: false,
400
+ type: "simple",
401
+ storageClassType: "string",
402
+ },
403
+ instance_id: {
404
+ value: cdktf.stringToHclTerraform(this._instanceId),
405
+ isBlock: false,
406
+ type: "simple",
407
+ storageClassType: "string",
408
+ },
409
+ last_updated: {
410
+ value: cdktf.stringToHclTerraform(this._lastUpdated),
411
+ isBlock: false,
412
+ type: "simple",
413
+ storageClassType: "string",
414
+ },
415
+ pool_id: {
416
+ value: cdktf.stringToHclTerraform(this._poolId),
417
+ isBlock: false,
418
+ type: "simple",
419
+ storageClassType: "string",
420
+ },
421
+ project_id: {
422
+ value: cdktf.numberToHclTerraform(this._projectId),
423
+ isBlock: false,
424
+ type: "simple",
425
+ storageClassType: "number",
426
+ },
427
+ project_name: {
428
+ value: cdktf.stringToHclTerraform(this._projectName),
429
+ isBlock: false,
430
+ type: "simple",
431
+ storageClassType: "string",
432
+ },
433
+ protocol_port: {
434
+ value: cdktf.numberToHclTerraform(this._protocolPort),
435
+ isBlock: false,
436
+ type: "simple",
437
+ storageClassType: "number",
438
+ },
439
+ region_id: {
440
+ value: cdktf.numberToHclTerraform(this._regionId),
441
+ isBlock: false,
442
+ type: "simple",
443
+ storageClassType: "number",
444
+ },
445
+ region_name: {
446
+ value: cdktf.stringToHclTerraform(this._regionName),
447
+ isBlock: false,
448
+ type: "simple",
449
+ storageClassType: "string",
450
+ },
451
+ subnet_id: {
452
+ value: cdktf.stringToHclTerraform(this._subnetId),
453
+ isBlock: false,
454
+ type: "simple",
455
+ storageClassType: "string",
456
+ },
457
+ weight: {
458
+ value: cdktf.numberToHclTerraform(this._weight),
459
+ isBlock: false,
460
+ type: "simple",
461
+ storageClassType: "number",
462
+ },
463
+ timeouts: {
464
+ value: lbmemberTimeoutsToHclTerraform(this._timeouts.internalValue),
465
+ isBlock: true,
466
+ type: "struct",
467
+ storageClassType: "LbmemberTimeouts",
468
+ },
469
+ };
470
+ // remove undefined attributes
471
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
472
+ }
473
+ }