@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,143 @@
1
+ import { Construct } from 'constructs';
2
+ import * as cdktf from 'cdktf';
3
+ export interface ServergroupConfig extends cdktf.TerraformMetaArguments {
4
+ /**
5
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/servergroup#id Servergroup#id}
6
+ *
7
+ * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
8
+ * 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.
9
+ */
10
+ readonly id?: string;
11
+ /**
12
+ * Displayed server group name
13
+ *
14
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/servergroup#name Servergroup#name}
15
+ */
16
+ readonly name: string;
17
+ /**
18
+ * Server group policy. Available value is 'affinity', 'anti-affinity'
19
+ *
20
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/servergroup#policy Servergroup#policy}
21
+ */
22
+ readonly policy: string;
23
+ /**
24
+ * The uuid of the project. Either 'project_id' or 'project_name' must be specified.
25
+ *
26
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/servergroup#project_id Servergroup#project_id}
27
+ */
28
+ readonly projectId?: number;
29
+ /**
30
+ * The name of the project. Either 'project_id' or 'project_name' must be specified.
31
+ *
32
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/servergroup#project_name Servergroup#project_name}
33
+ */
34
+ readonly projectName?: string;
35
+ /**
36
+ * The uuid of the region. Either 'region_id' or 'region_name' must be specified.
37
+ *
38
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/servergroup#region_id Servergroup#region_id}
39
+ */
40
+ readonly regionId?: number;
41
+ /**
42
+ * The name of the region. Either 'region_id' or 'region_name' must be specified.
43
+ *
44
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/servergroup#region_name Servergroup#region_name}
45
+ */
46
+ readonly regionName?: string;
47
+ }
48
+ export interface ServergroupInstances {
49
+ }
50
+ export declare function servergroupInstancesToTerraform(struct?: ServergroupInstances): any;
51
+ export declare function servergroupInstancesToHclTerraform(struct?: ServergroupInstances): any;
52
+ export declare class ServergroupInstancesOutputReference extends cdktf.ComplexObject {
53
+ private isEmptyObject;
54
+ /**
55
+ * @param terraformResource The parent resource
56
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
57
+ * @param complexObjectIndex the index of this item in the list
58
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
59
+ */
60
+ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
61
+ get internalValue(): ServergroupInstances | undefined;
62
+ set internalValue(value: ServergroupInstances | undefined);
63
+ get instanceId(): any;
64
+ get instanceName(): any;
65
+ }
66
+ export declare class ServergroupInstancesList extends cdktf.ComplexList {
67
+ protected terraformResource: cdktf.IInterpolatingParent;
68
+ protected terraformAttribute: string;
69
+ protected wrapsSet: boolean;
70
+ /**
71
+ * @param terraformResource The parent resource
72
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
73
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
74
+ */
75
+ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
76
+ /**
77
+ * @param index the index of the item to return
78
+ */
79
+ get(index: number): ServergroupInstancesOutputReference;
80
+ }
81
+ /**
82
+ * Represents a {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/servergroup edgecenter_servergroup}
83
+ */
84
+ export declare class Servergroup extends cdktf.TerraformResource {
85
+ static readonly tfResourceType = "edgecenter_servergroup";
86
+ /**
87
+ * Generates CDKTF code for importing a Servergroup resource upon running "cdktf plan <stack-name>"
88
+ * @param scope The scope in which to define this construct
89
+ * @param importToId The construct id used in the generated config for the Servergroup to import
90
+ * @param importFromId The id of the existing Servergroup that should be imported. Refer to the {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/servergroup#import import section} in the documentation of this resource for the id to use
91
+ * @param provider? Optional instance of the provider where the Servergroup to import is found
92
+ */
93
+ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any;
94
+ /**
95
+ * Create a new {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/servergroup edgecenter_servergroup} Resource
96
+ *
97
+ * @param scope The scope in which to define this construct
98
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
99
+ * @param options ServergroupConfig
100
+ */
101
+ constructor(scope: Construct, id: string, config: ServergroupConfig);
102
+ private _id?;
103
+ get id(): string;
104
+ set id(value: string);
105
+ resetId(): void;
106
+ get idInput(): string;
107
+ private _instances;
108
+ get instances(): ServergroupInstancesList;
109
+ private _name?;
110
+ get name(): string;
111
+ set name(value: string);
112
+ get nameInput(): string;
113
+ private _policy?;
114
+ get policy(): string;
115
+ set policy(value: string);
116
+ get policyInput(): string;
117
+ private _projectId?;
118
+ get projectId(): number;
119
+ set projectId(value: number);
120
+ resetProjectId(): void;
121
+ get projectIdInput(): number;
122
+ private _projectName?;
123
+ get projectName(): string;
124
+ set projectName(value: string);
125
+ resetProjectName(): void;
126
+ get projectNameInput(): string;
127
+ private _regionId?;
128
+ get regionId(): number;
129
+ set regionId(value: number);
130
+ resetRegionId(): void;
131
+ get regionIdInput(): number;
132
+ private _regionName?;
133
+ get regionName(): string;
134
+ set regionName(value: string);
135
+ resetRegionName(): void;
136
+ get regionNameInput(): string;
137
+ protected synthesizeAttributes(): {
138
+ [name: string]: any;
139
+ };
140
+ protected synthesizeHclAttributes(): {
141
+ [name: string]: any;
142
+ };
143
+ }
@@ -0,0 +1,302 @@
1
+ // https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/servergroup
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function servergroupInstancesToTerraform(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 servergroupInstancesToHclTerraform(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 ServergroupInstancesOutputReference 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
+ // instance_id - computed: true, optional: false, required: false
48
+ get instanceId() {
49
+ return this.getStringAttribute('instance_id');
50
+ }
51
+ // instance_name - computed: true, optional: false, required: false
52
+ get instanceName() {
53
+ return this.getStringAttribute('instance_name');
54
+ }
55
+ }
56
+ export class ServergroupInstancesList extends cdktf.ComplexList {
57
+ terraformResource;
58
+ terraformAttribute;
59
+ wrapsSet;
60
+ /**
61
+ * @param terraformResource The parent resource
62
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
63
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
64
+ */
65
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
66
+ super(terraformResource, terraformAttribute, wrapsSet);
67
+ this.terraformResource = terraformResource;
68
+ this.terraformAttribute = terraformAttribute;
69
+ this.wrapsSet = wrapsSet;
70
+ }
71
+ /**
72
+ * @param index the index of the item to return
73
+ */
74
+ get(index) {
75
+ return new ServergroupInstancesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
76
+ }
77
+ }
78
+ /**
79
+ * Represents a {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/servergroup edgecenter_servergroup}
80
+ */
81
+ export class Servergroup extends cdktf.TerraformResource {
82
+ // =================
83
+ // STATIC PROPERTIES
84
+ // =================
85
+ static tfResourceType = "edgecenter_servergroup";
86
+ // ==============
87
+ // STATIC Methods
88
+ // ==============
89
+ /**
90
+ * Generates CDKTF code for importing a Servergroup resource upon running "cdktf plan <stack-name>"
91
+ * @param scope The scope in which to define this construct
92
+ * @param importToId The construct id used in the generated config for the Servergroup to import
93
+ * @param importFromId The id of the existing Servergroup that should be imported. Refer to the {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/servergroup#import import section} in the documentation of this resource for the id to use
94
+ * @param provider? Optional instance of the provider where the Servergroup to import is found
95
+ */
96
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
97
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "edgecenter_servergroup", importId: importFromId, provider });
98
+ }
99
+ // ===========
100
+ // INITIALIZER
101
+ // ===========
102
+ /**
103
+ * Create a new {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/servergroup edgecenter_servergroup} Resource
104
+ *
105
+ * @param scope The scope in which to define this construct
106
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
107
+ * @param options ServergroupConfig
108
+ */
109
+ constructor(scope, id, config) {
110
+ super(scope, id, {
111
+ terraformResourceType: 'edgecenter_servergroup',
112
+ terraformGeneratorMetadata: {
113
+ providerName: 'edgecenter',
114
+ providerVersion: '0.10.4',
115
+ providerVersionConstraint: '0.10.4'
116
+ },
117
+ provider: config.provider,
118
+ dependsOn: config.dependsOn,
119
+ count: config.count,
120
+ lifecycle: config.lifecycle,
121
+ provisioners: config.provisioners,
122
+ connection: config.connection,
123
+ forEach: config.forEach
124
+ });
125
+ this._id = config.id;
126
+ this._name = config.name;
127
+ this._policy = config.policy;
128
+ this._projectId = config.projectId;
129
+ this._projectName = config.projectName;
130
+ this._regionId = config.regionId;
131
+ this._regionName = config.regionName;
132
+ }
133
+ // ==========
134
+ // ATTRIBUTES
135
+ // ==========
136
+ // id - computed: true, optional: true, required: false
137
+ _id;
138
+ get id() {
139
+ return this.getStringAttribute('id');
140
+ }
141
+ set id(value) {
142
+ this._id = value;
143
+ }
144
+ resetId() {
145
+ this._id = undefined;
146
+ }
147
+ // Temporarily expose input value. Use with caution.
148
+ get idInput() {
149
+ return this._id;
150
+ }
151
+ // instances - computed: true, optional: false, required: false
152
+ _instances = new ServergroupInstancesList(this, "instances", false);
153
+ get instances() {
154
+ return this._instances;
155
+ }
156
+ // name - computed: false, optional: false, required: true
157
+ _name;
158
+ get name() {
159
+ return this.getStringAttribute('name');
160
+ }
161
+ set name(value) {
162
+ this._name = value;
163
+ }
164
+ // Temporarily expose input value. Use with caution.
165
+ get nameInput() {
166
+ return this._name;
167
+ }
168
+ // policy - computed: false, optional: false, required: true
169
+ _policy;
170
+ get policy() {
171
+ return this.getStringAttribute('policy');
172
+ }
173
+ set policy(value) {
174
+ this._policy = value;
175
+ }
176
+ // Temporarily expose input value. Use with caution.
177
+ get policyInput() {
178
+ return this._policy;
179
+ }
180
+ // project_id - computed: false, optional: true, required: false
181
+ _projectId;
182
+ get projectId() {
183
+ return this.getNumberAttribute('project_id');
184
+ }
185
+ set projectId(value) {
186
+ this._projectId = value;
187
+ }
188
+ resetProjectId() {
189
+ this._projectId = undefined;
190
+ }
191
+ // Temporarily expose input value. Use with caution.
192
+ get projectIdInput() {
193
+ return this._projectId;
194
+ }
195
+ // project_name - computed: false, optional: true, required: false
196
+ _projectName;
197
+ get projectName() {
198
+ return this.getStringAttribute('project_name');
199
+ }
200
+ set projectName(value) {
201
+ this._projectName = value;
202
+ }
203
+ resetProjectName() {
204
+ this._projectName = undefined;
205
+ }
206
+ // Temporarily expose input value. Use with caution.
207
+ get projectNameInput() {
208
+ return this._projectName;
209
+ }
210
+ // region_id - computed: false, optional: true, required: false
211
+ _regionId;
212
+ get regionId() {
213
+ return this.getNumberAttribute('region_id');
214
+ }
215
+ set regionId(value) {
216
+ this._regionId = value;
217
+ }
218
+ resetRegionId() {
219
+ this._regionId = undefined;
220
+ }
221
+ // Temporarily expose input value. Use with caution.
222
+ get regionIdInput() {
223
+ return this._regionId;
224
+ }
225
+ // region_name - computed: false, optional: true, required: false
226
+ _regionName;
227
+ get regionName() {
228
+ return this.getStringAttribute('region_name');
229
+ }
230
+ set regionName(value) {
231
+ this._regionName = value;
232
+ }
233
+ resetRegionName() {
234
+ this._regionName = undefined;
235
+ }
236
+ // Temporarily expose input value. Use with caution.
237
+ get regionNameInput() {
238
+ return this._regionName;
239
+ }
240
+ // =========
241
+ // SYNTHESIS
242
+ // =========
243
+ synthesizeAttributes() {
244
+ return {
245
+ id: cdktf.stringToTerraform(this._id),
246
+ name: cdktf.stringToTerraform(this._name),
247
+ policy: cdktf.stringToTerraform(this._policy),
248
+ project_id: cdktf.numberToTerraform(this._projectId),
249
+ project_name: cdktf.stringToTerraform(this._projectName),
250
+ region_id: cdktf.numberToTerraform(this._regionId),
251
+ region_name: cdktf.stringToTerraform(this._regionName),
252
+ };
253
+ }
254
+ synthesizeHclAttributes() {
255
+ const attrs = {
256
+ id: {
257
+ value: cdktf.stringToHclTerraform(this._id),
258
+ isBlock: false,
259
+ type: "simple",
260
+ storageClassType: "string",
261
+ },
262
+ name: {
263
+ value: cdktf.stringToHclTerraform(this._name),
264
+ isBlock: false,
265
+ type: "simple",
266
+ storageClassType: "string",
267
+ },
268
+ policy: {
269
+ value: cdktf.stringToHclTerraform(this._policy),
270
+ isBlock: false,
271
+ type: "simple",
272
+ storageClassType: "string",
273
+ },
274
+ project_id: {
275
+ value: cdktf.numberToHclTerraform(this._projectId),
276
+ isBlock: false,
277
+ type: "simple",
278
+ storageClassType: "number",
279
+ },
280
+ project_name: {
281
+ value: cdktf.stringToHclTerraform(this._projectName),
282
+ isBlock: false,
283
+ type: "simple",
284
+ storageClassType: "string",
285
+ },
286
+ region_id: {
287
+ value: cdktf.numberToHclTerraform(this._regionId),
288
+ isBlock: false,
289
+ type: "simple",
290
+ storageClassType: "number",
291
+ },
292
+ region_name: {
293
+ value: cdktf.stringToHclTerraform(this._regionName),
294
+ isBlock: false,
295
+ type: "simple",
296
+ storageClassType: "string",
297
+ },
298
+ };
299
+ // remove undefined attributes
300
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
301
+ }
302
+ }
@@ -0,0 +1,185 @@
1
+ import { Construct } from 'constructs';
2
+ import * as cdktf from 'cdktf';
3
+ export interface SnapshotConfig extends cdktf.TerraformMetaArguments {
4
+ /**
5
+ * A detailed description of the snapshot.
6
+ *
7
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/snapshot#description Snapshot#description}
8
+ */
9
+ readonly description?: string;
10
+ /**
11
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/snapshot#id Snapshot#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 timestamp of the last update (use with update context).
19
+ *
20
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/snapshot#last_updated Snapshot#last_updated}
21
+ */
22
+ readonly lastUpdated?: string;
23
+ /**
24
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/snapshot#metadata Snapshot#metadata}
25
+ */
26
+ readonly metadata?: {
27
+ [key: string]: string;
28
+ };
29
+ /**
30
+ * The name of the snapshot.
31
+ *
32
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/snapshot#name Snapshot#name}
33
+ */
34
+ readonly name: 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/snapshot#project_id Snapshot#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/snapshot#project_name Snapshot#project_name}
45
+ */
46
+ readonly projectName?: string;
47
+ /**
48
+ * The uuid of the region. Either 'region_id' or 'region_name' must be specified.
49
+ *
50
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/snapshot#region_id Snapshot#region_id}
51
+ */
52
+ readonly regionId?: number;
53
+ /**
54
+ * The name 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/snapshot#region_name Snapshot#region_name}
57
+ */
58
+ readonly regionName?: string;
59
+ /**
60
+ * The ID of the volume from which the snapshot was created.
61
+ *
62
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/snapshot#volume_id Snapshot#volume_id}
63
+ */
64
+ readonly volumeId: string;
65
+ }
66
+ export interface SnapshotMetadataReadOnly {
67
+ }
68
+ export declare function snapshotMetadataReadOnlyToTerraform(struct?: SnapshotMetadataReadOnly): any;
69
+ export declare function snapshotMetadataReadOnlyToHclTerraform(struct?: SnapshotMetadataReadOnly): any;
70
+ export declare class SnapshotMetadataReadOnlyOutputReference extends cdktf.ComplexObject {
71
+ private isEmptyObject;
72
+ /**
73
+ * @param terraformResource The parent resource
74
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
75
+ * @param complexObjectIndex the index of this item in the list
76
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
77
+ */
78
+ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
79
+ get internalValue(): SnapshotMetadataReadOnly | undefined;
80
+ set internalValue(value: SnapshotMetadataReadOnly | undefined);
81
+ get key(): any;
82
+ get readOnly(): any;
83
+ get value(): any;
84
+ }
85
+ export declare class SnapshotMetadataReadOnlyList extends cdktf.ComplexList {
86
+ protected terraformResource: cdktf.IInterpolatingParent;
87
+ protected terraformAttribute: string;
88
+ protected wrapsSet: boolean;
89
+ /**
90
+ * @param terraformResource The parent resource
91
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
92
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
93
+ */
94
+ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
95
+ /**
96
+ * @param index the index of the item to return
97
+ */
98
+ get(index: number): SnapshotMetadataReadOnlyOutputReference;
99
+ }
100
+ /**
101
+ * Represents a {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/snapshot edgecenter_snapshot}
102
+ */
103
+ export declare class Snapshot extends cdktf.TerraformResource {
104
+ static readonly tfResourceType = "edgecenter_snapshot";
105
+ /**
106
+ * Generates CDKTF code for importing a Snapshot resource upon running "cdktf plan <stack-name>"
107
+ * @param scope The scope in which to define this construct
108
+ * @param importToId The construct id used in the generated config for the Snapshot to import
109
+ * @param importFromId The id of the existing Snapshot that should be imported. Refer to the {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/snapshot#import import section} in the documentation of this resource for the id to use
110
+ * @param provider? Optional instance of the provider where the Snapshot to import is found
111
+ */
112
+ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any;
113
+ /**
114
+ * Create a new {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/snapshot edgecenter_snapshot} Resource
115
+ *
116
+ * @param scope The scope in which to define this construct
117
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
118
+ * @param options SnapshotConfig
119
+ */
120
+ constructor(scope: Construct, id: string, config: SnapshotConfig);
121
+ private _description?;
122
+ get description(): string;
123
+ set description(value: string);
124
+ resetDescription(): void;
125
+ get descriptionInput(): string;
126
+ private _id?;
127
+ get id(): string;
128
+ set id(value: string);
129
+ resetId(): void;
130
+ get idInput(): string;
131
+ private _lastUpdated?;
132
+ get lastUpdated(): string;
133
+ set lastUpdated(value: string);
134
+ resetLastUpdated(): void;
135
+ get lastUpdatedInput(): string;
136
+ private _metadata?;
137
+ get metadata(): {
138
+ [key: string]: string;
139
+ };
140
+ set metadata(value: {
141
+ [key: string]: string;
142
+ });
143
+ resetMetadata(): void;
144
+ get metadataInput(): {
145
+ [key: string]: string;
146
+ };
147
+ private _metadataReadOnly;
148
+ get metadataReadOnly(): SnapshotMetadataReadOnlyList;
149
+ private _name?;
150
+ get name(): string;
151
+ set name(value: string);
152
+ get nameInput(): string;
153
+ private _projectId?;
154
+ get projectId(): number;
155
+ set projectId(value: number);
156
+ resetProjectId(): void;
157
+ get projectIdInput(): number;
158
+ private _projectName?;
159
+ get projectName(): string;
160
+ set projectName(value: string);
161
+ resetProjectName(): void;
162
+ get projectNameInput(): string;
163
+ private _regionId?;
164
+ get regionId(): number;
165
+ set regionId(value: number);
166
+ resetRegionId(): void;
167
+ get regionIdInput(): number;
168
+ private _regionName?;
169
+ get regionName(): string;
170
+ set regionName(value: string);
171
+ resetRegionName(): void;
172
+ get regionNameInput(): string;
173
+ get size(): any;
174
+ get status(): any;
175
+ private _volumeId?;
176
+ get volumeId(): string;
177
+ set volumeId(value: string);
178
+ get volumeIdInput(): string;
179
+ protected synthesizeAttributes(): {
180
+ [name: string]: any;
181
+ };
182
+ protected synthesizeHclAttributes(): {
183
+ [name: string]: any;
184
+ };
185
+ }