@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,169 @@
1
+ import { Construct } from 'constructs';
2
+ import * as cdktf from 'cdktf';
3
+ export interface DataEdgecenterLoadbalancerv2Config extends cdktf.TerraformMetaArguments {
4
+ /**
5
+ * The ID of the load balancer. 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/loadbalancerv2#id DataEdgecenterLoadbalancerv2#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
+ * Filtration query opts (only key).
15
+ *
16
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/loadbalancerv2#metadata_k DataEdgecenterLoadbalancerv2#metadata_k}
17
+ */
18
+ readonly metadataK?: string;
19
+ /**
20
+ * Filtration query opts, for example, {offset = "10", limit = "10"}
21
+ *
22
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/loadbalancerv2#metadata_kv DataEdgecenterLoadbalancerv2#metadata_kv}
23
+ */
24
+ readonly metadataKv?: {
25
+ [key: string]: string;
26
+ };
27
+ /**
28
+ * The name of the load balancer. Either 'id' or 'name' must be specified.
29
+ *
30
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/loadbalancerv2#name DataEdgecenterLoadbalancerv2#name}
31
+ */
32
+ readonly name?: string;
33
+ /**
34
+ * The uuid of the project. Either 'project_id' or 'project_name' must be specified.
35
+ *
36
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/loadbalancerv2#project_id DataEdgecenterLoadbalancerv2#project_id}
37
+ */
38
+ readonly projectId?: number;
39
+ /**
40
+ * The name of the project. Either 'project_id' or 'project_name' must be specified.
41
+ *
42
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/loadbalancerv2#project_name DataEdgecenterLoadbalancerv2#project_name}
43
+ */
44
+ readonly projectName?: string;
45
+ /**
46
+ * The uuid of the region. Either 'region_id' or 'region_name' must be specified.
47
+ *
48
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/loadbalancerv2#region_id DataEdgecenterLoadbalancerv2#region_id}
49
+ */
50
+ readonly regionId?: number;
51
+ /**
52
+ * The name of the region. Either 'region_id' or 'region_name' must be specified.
53
+ *
54
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/loadbalancerv2#region_name DataEdgecenterLoadbalancerv2#region_name}
55
+ */
56
+ readonly regionName?: string;
57
+ }
58
+ export interface DataEdgecenterLoadbalancerv2MetadataReadOnly {
59
+ }
60
+ export declare function dataEdgecenterLoadbalancerv2MetadataReadOnlyToTerraform(struct?: DataEdgecenterLoadbalancerv2MetadataReadOnly): any;
61
+ export declare function dataEdgecenterLoadbalancerv2MetadataReadOnlyToHclTerraform(struct?: DataEdgecenterLoadbalancerv2MetadataReadOnly): any;
62
+ export declare class DataEdgecenterLoadbalancerv2MetadataReadOnlyOutputReference extends cdktf.ComplexObject {
63
+ private isEmptyObject;
64
+ /**
65
+ * @param terraformResource The parent resource
66
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
67
+ * @param complexObjectIndex the index of this item in the list
68
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
69
+ */
70
+ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
71
+ get internalValue(): DataEdgecenterLoadbalancerv2MetadataReadOnly | undefined;
72
+ set internalValue(value: DataEdgecenterLoadbalancerv2MetadataReadOnly | undefined);
73
+ get key(): any;
74
+ get readOnly(): any;
75
+ get value(): any;
76
+ }
77
+ export declare class DataEdgecenterLoadbalancerv2MetadataReadOnlyList extends cdktf.ComplexList {
78
+ protected terraformResource: cdktf.IInterpolatingParent;
79
+ protected terraformAttribute: string;
80
+ protected wrapsSet: boolean;
81
+ /**
82
+ * @param terraformResource The parent resource
83
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
84
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
85
+ */
86
+ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
87
+ /**
88
+ * @param index the index of the item to return
89
+ */
90
+ get(index: number): DataEdgecenterLoadbalancerv2MetadataReadOnlyOutputReference;
91
+ }
92
+ /**
93
+ * Represents a {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/loadbalancerv2 edgecenter_loadbalancerv2}
94
+ */
95
+ export declare class DataEdgecenterLoadbalancerv2 extends cdktf.TerraformDataSource {
96
+ static readonly tfResourceType = "edgecenter_loadbalancerv2";
97
+ /**
98
+ * Generates CDKTF code for importing a DataEdgecenterLoadbalancerv2 resource upon running "cdktf plan <stack-name>"
99
+ * @param scope The scope in which to define this construct
100
+ * @param importToId The construct id used in the generated config for the DataEdgecenterLoadbalancerv2 to import
101
+ * @param importFromId The id of the existing DataEdgecenterLoadbalancerv2 that should be imported. Refer to the {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/loadbalancerv2#import import section} in the documentation of this resource for the id to use
102
+ * @param provider? Optional instance of the provider where the DataEdgecenterLoadbalancerv2 to import is found
103
+ */
104
+ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any;
105
+ /**
106
+ * Create a new {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/loadbalancerv2 edgecenter_loadbalancerv2} Data Source
107
+ *
108
+ * @param scope The scope in which to define this construct
109
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
110
+ * @param options DataEdgecenterLoadbalancerv2Config = {}
111
+ */
112
+ constructor(scope: Construct, id: string, config?: DataEdgecenterLoadbalancerv2Config);
113
+ private _id?;
114
+ get id(): string;
115
+ set id(value: string);
116
+ resetId(): void;
117
+ get idInput(): string;
118
+ private _metadataK?;
119
+ get metadataK(): string;
120
+ set metadataK(value: string);
121
+ resetMetadataK(): void;
122
+ get metadataKInput(): string;
123
+ private _metadataKv?;
124
+ get metadataKv(): {
125
+ [key: string]: string;
126
+ };
127
+ set metadataKv(value: {
128
+ [key: string]: string;
129
+ });
130
+ resetMetadataKv(): void;
131
+ get metadataKvInput(): {
132
+ [key: string]: string;
133
+ };
134
+ private _metadataReadOnly;
135
+ get metadataReadOnly(): DataEdgecenterLoadbalancerv2MetadataReadOnlyList;
136
+ private _name?;
137
+ get name(): string;
138
+ set name(value: string);
139
+ resetName(): void;
140
+ get nameInput(): string;
141
+ private _projectId?;
142
+ get projectId(): number;
143
+ set projectId(value: number);
144
+ resetProjectId(): void;
145
+ get projectIdInput(): number;
146
+ private _projectName?;
147
+ get projectName(): string;
148
+ set projectName(value: string);
149
+ resetProjectName(): void;
150
+ get projectNameInput(): string;
151
+ private _regionId?;
152
+ get regionId(): number;
153
+ set regionId(value: number);
154
+ resetRegionId(): void;
155
+ get regionIdInput(): number;
156
+ private _regionName?;
157
+ get regionName(): string;
158
+ set regionName(value: string);
159
+ resetRegionName(): void;
160
+ get regionNameInput(): string;
161
+ get vipAddress(): any;
162
+ get vipPortId(): any;
163
+ protected synthesizeAttributes(): {
164
+ [name: string]: any;
165
+ };
166
+ protected synthesizeHclAttributes(): {
167
+ [name: string]: any;
168
+ };
169
+ }
@@ -0,0 +1,343 @@
1
+ // https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/loadbalancerv2
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function dataEdgecenterLoadbalancerv2MetadataReadOnlyToTerraform(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 dataEdgecenterLoadbalancerv2MetadataReadOnlyToHclTerraform(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 DataEdgecenterLoadbalancerv2MetadataReadOnlyOutputReference 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 DataEdgecenterLoadbalancerv2MetadataReadOnlyList 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 DataEdgecenterLoadbalancerv2MetadataReadOnlyOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
80
+ }
81
+ }
82
+ /**
83
+ * Represents a {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/loadbalancerv2 edgecenter_loadbalancerv2}
84
+ */
85
+ export class DataEdgecenterLoadbalancerv2 extends cdktf.TerraformDataSource {
86
+ // =================
87
+ // STATIC PROPERTIES
88
+ // =================
89
+ static tfResourceType = "edgecenter_loadbalancerv2";
90
+ // ==============
91
+ // STATIC Methods
92
+ // ==============
93
+ /**
94
+ * Generates CDKTF code for importing a DataEdgecenterLoadbalancerv2 resource upon running "cdktf plan <stack-name>"
95
+ * @param scope The scope in which to define this construct
96
+ * @param importToId The construct id used in the generated config for the DataEdgecenterLoadbalancerv2 to import
97
+ * @param importFromId The id of the existing DataEdgecenterLoadbalancerv2 that should be imported. Refer to the {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/loadbalancerv2#import import section} in the documentation of this resource for the id to use
98
+ * @param provider? Optional instance of the provider where the DataEdgecenterLoadbalancerv2 to import is found
99
+ */
100
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
101
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "edgecenter_loadbalancerv2", importId: importFromId, provider });
102
+ }
103
+ // ===========
104
+ // INITIALIZER
105
+ // ===========
106
+ /**
107
+ * Create a new {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/data-sources/loadbalancerv2 edgecenter_loadbalancerv2} Data Source
108
+ *
109
+ * @param scope The scope in which to define this construct
110
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
111
+ * @param options DataEdgecenterLoadbalancerv2Config = {}
112
+ */
113
+ constructor(scope, id, config = {}) {
114
+ super(scope, id, {
115
+ terraformResourceType: 'edgecenter_loadbalancerv2',
116
+ terraformGeneratorMetadata: {
117
+ providerName: 'edgecenter',
118
+ providerVersion: '0.10.4',
119
+ providerVersionConstraint: '0.10.4'
120
+ },
121
+ provider: config.provider,
122
+ dependsOn: config.dependsOn,
123
+ count: config.count,
124
+ lifecycle: config.lifecycle,
125
+ provisioners: config.provisioners,
126
+ connection: config.connection,
127
+ forEach: config.forEach
128
+ });
129
+ this._id = config.id;
130
+ this._metadataK = config.metadataK;
131
+ this._metadataKv = config.metadataKv;
132
+ this._name = config.name;
133
+ this._projectId = config.projectId;
134
+ this._projectName = config.projectName;
135
+ this._regionId = config.regionId;
136
+ this._regionName = config.regionName;
137
+ }
138
+ // ==========
139
+ // ATTRIBUTES
140
+ // ==========
141
+ // id - computed: true, optional: true, required: false
142
+ _id;
143
+ get id() {
144
+ return this.getStringAttribute('id');
145
+ }
146
+ set id(value) {
147
+ this._id = value;
148
+ }
149
+ resetId() {
150
+ this._id = undefined;
151
+ }
152
+ // Temporarily expose input value. Use with caution.
153
+ get idInput() {
154
+ return this._id;
155
+ }
156
+ // metadata_k - computed: false, optional: true, required: false
157
+ _metadataK;
158
+ get metadataK() {
159
+ return this.getStringAttribute('metadata_k');
160
+ }
161
+ set metadataK(value) {
162
+ this._metadataK = value;
163
+ }
164
+ resetMetadataK() {
165
+ this._metadataK = undefined;
166
+ }
167
+ // Temporarily expose input value. Use with caution.
168
+ get metadataKInput() {
169
+ return this._metadataK;
170
+ }
171
+ // metadata_kv - computed: false, optional: true, required: false
172
+ _metadataKv;
173
+ get metadataKv() {
174
+ return this.getStringMapAttribute('metadata_kv');
175
+ }
176
+ set metadataKv(value) {
177
+ this._metadataKv = value;
178
+ }
179
+ resetMetadataKv() {
180
+ this._metadataKv = undefined;
181
+ }
182
+ // Temporarily expose input value. Use with caution.
183
+ get metadataKvInput() {
184
+ return this._metadataKv;
185
+ }
186
+ // metadata_read_only - computed: true, optional: false, required: false
187
+ _metadataReadOnly = new DataEdgecenterLoadbalancerv2MetadataReadOnlyList(this, "metadata_read_only", false);
188
+ get metadataReadOnly() {
189
+ return this._metadataReadOnly;
190
+ }
191
+ // name - computed: true, optional: true, required: false
192
+ _name;
193
+ get name() {
194
+ return this.getStringAttribute('name');
195
+ }
196
+ set name(value) {
197
+ this._name = value;
198
+ }
199
+ resetName() {
200
+ this._name = undefined;
201
+ }
202
+ // Temporarily expose input value. Use with caution.
203
+ get nameInput() {
204
+ return this._name;
205
+ }
206
+ // project_id - computed: false, optional: true, required: false
207
+ _projectId;
208
+ get projectId() {
209
+ return this.getNumberAttribute('project_id');
210
+ }
211
+ set projectId(value) {
212
+ this._projectId = value;
213
+ }
214
+ resetProjectId() {
215
+ this._projectId = undefined;
216
+ }
217
+ // Temporarily expose input value. Use with caution.
218
+ get projectIdInput() {
219
+ return this._projectId;
220
+ }
221
+ // project_name - computed: false, optional: true, required: false
222
+ _projectName;
223
+ get projectName() {
224
+ return this.getStringAttribute('project_name');
225
+ }
226
+ set projectName(value) {
227
+ this._projectName = value;
228
+ }
229
+ resetProjectName() {
230
+ this._projectName = undefined;
231
+ }
232
+ // Temporarily expose input value. Use with caution.
233
+ get projectNameInput() {
234
+ return this._projectName;
235
+ }
236
+ // region_id - computed: false, optional: true, required: false
237
+ _regionId;
238
+ get regionId() {
239
+ return this.getNumberAttribute('region_id');
240
+ }
241
+ set regionId(value) {
242
+ this._regionId = value;
243
+ }
244
+ resetRegionId() {
245
+ this._regionId = undefined;
246
+ }
247
+ // Temporarily expose input value. Use with caution.
248
+ get regionIdInput() {
249
+ return this._regionId;
250
+ }
251
+ // region_name - computed: false, optional: true, required: false
252
+ _regionName;
253
+ get regionName() {
254
+ return this.getStringAttribute('region_name');
255
+ }
256
+ set regionName(value) {
257
+ this._regionName = value;
258
+ }
259
+ resetRegionName() {
260
+ this._regionName = undefined;
261
+ }
262
+ // Temporarily expose input value. Use with caution.
263
+ get regionNameInput() {
264
+ return this._regionName;
265
+ }
266
+ // vip_address - computed: true, optional: false, required: false
267
+ get vipAddress() {
268
+ return this.getStringAttribute('vip_address');
269
+ }
270
+ // vip_port_id - computed: true, optional: false, required: false
271
+ get vipPortId() {
272
+ return this.getStringAttribute('vip_port_id');
273
+ }
274
+ // =========
275
+ // SYNTHESIS
276
+ // =========
277
+ synthesizeAttributes() {
278
+ return {
279
+ id: cdktf.stringToTerraform(this._id),
280
+ metadata_k: cdktf.stringToTerraform(this._metadataK),
281
+ metadata_kv: cdktf.hashMapper(cdktf.stringToTerraform)(this._metadataKv),
282
+ name: cdktf.stringToTerraform(this._name),
283
+ project_id: cdktf.numberToTerraform(this._projectId),
284
+ project_name: cdktf.stringToTerraform(this._projectName),
285
+ region_id: cdktf.numberToTerraform(this._regionId),
286
+ region_name: cdktf.stringToTerraform(this._regionName),
287
+ };
288
+ }
289
+ synthesizeHclAttributes() {
290
+ const attrs = {
291
+ id: {
292
+ value: cdktf.stringToHclTerraform(this._id),
293
+ isBlock: false,
294
+ type: "simple",
295
+ storageClassType: "string",
296
+ },
297
+ metadata_k: {
298
+ value: cdktf.stringToHclTerraform(this._metadataK),
299
+ isBlock: false,
300
+ type: "simple",
301
+ storageClassType: "string",
302
+ },
303
+ metadata_kv: {
304
+ value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._metadataKv),
305
+ isBlock: false,
306
+ type: "map",
307
+ storageClassType: "stringMap",
308
+ },
309
+ name: {
310
+ value: cdktf.stringToHclTerraform(this._name),
311
+ isBlock: false,
312
+ type: "simple",
313
+ storageClassType: "string",
314
+ },
315
+ project_id: {
316
+ value: cdktf.numberToHclTerraform(this._projectId),
317
+ isBlock: false,
318
+ type: "simple",
319
+ storageClassType: "number",
320
+ },
321
+ project_name: {
322
+ value: cdktf.stringToHclTerraform(this._projectName),
323
+ isBlock: false,
324
+ type: "simple",
325
+ storageClassType: "string",
326
+ },
327
+ region_id: {
328
+ value: cdktf.numberToHclTerraform(this._regionId),
329
+ isBlock: false,
330
+ type: "simple",
331
+ storageClassType: "number",
332
+ },
333
+ region_name: {
334
+ value: cdktf.stringToHclTerraform(this._regionName),
335
+ isBlock: false,
336
+ type: "simple",
337
+ storageClassType: "string",
338
+ },
339
+ };
340
+ // remove undefined attributes
341
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
342
+ }
343
+ }