@upcloud/pulumi-upcloud 0.0.5

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 (198) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +61 -0
  3. package/config/index.d.ts +1 -0
  4. package/config/index.js +21 -0
  5. package/config/index.js.map +1 -0
  6. package/config/vars.d.ts +25 -0
  7. package/config/vars.js +43 -0
  8. package/config/vars.js.map +1 -0
  9. package/floatingIpAddress.d.ts +128 -0
  10. package/floatingIpAddress.js +90 -0
  11. package/floatingIpAddress.js.map +1 -0
  12. package/gateway.d.ts +206 -0
  13. package/gateway.js +111 -0
  14. package/gateway.js.map +1 -0
  15. package/gatewayConnection.d.ts +157 -0
  16. package/gatewayConnection.js +105 -0
  17. package/gatewayConnection.js.map +1 -0
  18. package/gatewayConnectionTunnel.d.ts +129 -0
  19. package/gatewayConnectionTunnel.js +78 -0
  20. package/gatewayConnectionTunnel.js.map +1 -0
  21. package/getHosts.d.ts +55 -0
  22. package/getHosts.js +52 -0
  23. package/getHosts.js.map +1 -0
  24. package/getIpAddresses.d.ts +51 -0
  25. package/getIpAddresses.js +48 -0
  26. package/getIpAddresses.js.map +1 -0
  27. package/getKubernetesCluster.d.ts +33 -0
  28. package/getKubernetesCluster.js +28 -0
  29. package/getKubernetesCluster.js.map +1 -0
  30. package/getLoadBalancerDnsChallengeDomain.d.ts +40 -0
  31. package/getLoadBalancerDnsChallengeDomain.js +42 -0
  32. package/getLoadBalancerDnsChallengeDomain.js.map +1 -0
  33. package/getManagedDatabaseMysqlSessions.d.ts +83 -0
  34. package/getManagedDatabaseMysqlSessions.js +74 -0
  35. package/getManagedDatabaseMysqlSessions.js.map +1 -0
  36. package/getManagedDatabaseOpensearchIndices.d.ts +82 -0
  37. package/getManagedDatabaseOpensearchIndices.js +76 -0
  38. package/getManagedDatabaseOpensearchIndices.js.map +1 -0
  39. package/getManagedDatabasePostgresqlSessions.d.ts +83 -0
  40. package/getManagedDatabasePostgresqlSessions.js +74 -0
  41. package/getManagedDatabasePostgresqlSessions.js.map +1 -0
  42. package/getManagedDatabaseRedisSessions.d.ts +87 -0
  43. package/getManagedDatabaseRedisSessions.js +78 -0
  44. package/getManagedDatabaseRedisSessions.js.map +1 -0
  45. package/getManagedDatabaseValkeySessions.d.ts +83 -0
  46. package/getManagedDatabaseValkeySessions.js +74 -0
  47. package/getManagedDatabaseValkeySessions.js.map +1 -0
  48. package/getManagedObjectStoragePolicies.d.ts +33 -0
  49. package/getManagedObjectStoragePolicies.js +28 -0
  50. package/getManagedObjectStoragePolicies.js.map +1 -0
  51. package/getManagedObjectStorageRegions.d.ts +33 -0
  52. package/getManagedObjectStorageRegions.js +30 -0
  53. package/getManagedObjectStorageRegions.js.map +1 -0
  54. package/getNetworks.d.ts +60 -0
  55. package/getNetworks.js +56 -0
  56. package/getNetworks.js.map +1 -0
  57. package/getStorage.d.ts +163 -0
  58. package/getStorage.js +122 -0
  59. package/getStorage.js.map +1 -0
  60. package/getTags.d.ts +20 -0
  61. package/getTags.js +24 -0
  62. package/getTags.js.map +1 -0
  63. package/getZone.d.ts +42 -0
  64. package/getZone.js +32 -0
  65. package/getZone.js.map +1 -0
  66. package/getZones.d.ts +29 -0
  67. package/getZones.js +30 -0
  68. package/getZones.js.map +1 -0
  69. package/index.d.ts +177 -0
  70. package/index.js +287 -0
  71. package/index.js.map +1 -0
  72. package/kubernetesCluster.d.ts +237 -0
  73. package/kubernetesCluster.js +131 -0
  74. package/kubernetesCluster.js.map +1 -0
  75. package/kubernetesNodeGroup.d.ts +243 -0
  76. package/kubernetesNodeGroup.js +120 -0
  77. package/kubernetesNodeGroup.js.map +1 -0
  78. package/loadbalancer.d.ts +261 -0
  79. package/loadbalancer.js +122 -0
  80. package/loadbalancer.js.map +1 -0
  81. package/loadbalancerBackend.d.ts +121 -0
  82. package/loadbalancerBackend.js +90 -0
  83. package/loadbalancerBackend.js.map +1 -0
  84. package/loadbalancerBackendTlsConfig.d.ts +75 -0
  85. package/loadbalancerBackendTlsConfig.js +62 -0
  86. package/loadbalancerBackendTlsConfig.js.map +1 -0
  87. package/loadbalancerDynamicBackendMember.d.ts +169 -0
  88. package/loadbalancerDynamicBackendMember.js +119 -0
  89. package/loadbalancerDynamicBackendMember.js.map +1 -0
  90. package/loadbalancerDynamicCertificateBundle.d.ts +114 -0
  91. package/loadbalancerDynamicCertificateBundle.js +83 -0
  92. package/loadbalancerDynamicCertificateBundle.js.map +1 -0
  93. package/loadbalancerFrontend.d.ts +184 -0
  94. package/loadbalancerFrontend.js +126 -0
  95. package/loadbalancerFrontend.js.map +1 -0
  96. package/loadbalancerFrontendRule.d.ts +170 -0
  97. package/loadbalancerFrontendRule.js +125 -0
  98. package/loadbalancerFrontendRule.js.map +1 -0
  99. package/loadbalancerFrontendTlsConfig.d.ts +114 -0
  100. package/loadbalancerFrontendTlsConfig.js +101 -0
  101. package/loadbalancerFrontendTlsConfig.js.map +1 -0
  102. package/loadbalancerManualCertificateBundle.d.ts +111 -0
  103. package/loadbalancerManualCertificateBundle.js +72 -0
  104. package/loadbalancerManualCertificateBundle.js.map +1 -0
  105. package/loadbalancerResolver.d.ts +171 -0
  106. package/loadbalancerResolver.js +120 -0
  107. package/loadbalancerResolver.js.map +1 -0
  108. package/loadbalancerStaticBackendMember.d.ts +156 -0
  109. package/loadbalancerStaticBackendMember.js +106 -0
  110. package/loadbalancerStaticBackendMember.js.map +1 -0
  111. package/managedDatabaseLogicalDatabase.d.ts +109 -0
  112. package/managedDatabaseLogicalDatabase.js +83 -0
  113. package/managedDatabaseLogicalDatabase.js.map +1 -0
  114. package/managedDatabaseMysql.d.ts +298 -0
  115. package/managedDatabaseMysql.js +139 -0
  116. package/managedDatabaseMysql.js.map +1 -0
  117. package/managedDatabaseOpensearch.d.ts +317 -0
  118. package/managedDatabaseOpensearch.js +132 -0
  119. package/managedDatabaseOpensearch.js.map +1 -0
  120. package/managedDatabasePostgresql.d.ts +295 -0
  121. package/managedDatabasePostgresql.js +130 -0
  122. package/managedDatabasePostgresql.js.map +1 -0
  123. package/managedDatabaseRedis.d.ts +287 -0
  124. package/managedDatabaseRedis.js +128 -0
  125. package/managedDatabaseRedis.js.map +1 -0
  126. package/managedDatabaseUser.d.ts +163 -0
  127. package/managedDatabaseUser.js +94 -0
  128. package/managedDatabaseUser.js.map +1 -0
  129. package/managedDatabaseValkey.d.ts +285 -0
  130. package/managedDatabaseValkey.js +126 -0
  131. package/managedDatabaseValkey.js.map +1 -0
  132. package/managedObjectStorage.d.ts +178 -0
  133. package/managedObjectStorage.js +107 -0
  134. package/managedObjectStorage.js.map +1 -0
  135. package/managedObjectStorageBucket.d.ts +94 -0
  136. package/managedObjectStorageBucket.js +76 -0
  137. package/managedObjectStorageBucket.js.map +1 -0
  138. package/managedObjectStorageCustomDomain.d.ts +105 -0
  139. package/managedObjectStorageCustomDomain.js +89 -0
  140. package/managedObjectStorageCustomDomain.js.map +1 -0
  141. package/managedObjectStoragePolicy.d.ts +155 -0
  142. package/managedObjectStoragePolicy.js +93 -0
  143. package/managedObjectStoragePolicy.js.map +1 -0
  144. package/managedObjectStorageUser.d.ts +101 -0
  145. package/managedObjectStorageUser.js +80 -0
  146. package/managedObjectStorageUser.js.map +1 -0
  147. package/managedObjectStorageUserAccessKey.d.ts +128 -0
  148. package/managedObjectStorageUserAccessKey.js +96 -0
  149. package/managedObjectStorageUserAccessKey.js.map +1 -0
  150. package/managedObjectStorageUserPolicy.d.ts +100 -0
  151. package/managedObjectStorageUserPolicy.js +87 -0
  152. package/managedObjectStorageUserPolicy.js.map +1 -0
  153. package/network.d.ts +142 -0
  154. package/network.js +95 -0
  155. package/network.js.map +1 -0
  156. package/networkPeering.d.ts +137 -0
  157. package/networkPeering.js +96 -0
  158. package/networkPeering.js.map +1 -0
  159. package/objectStorage.d.ts +196 -0
  160. package/objectStorage.js +132 -0
  161. package/objectStorage.js.map +1 -0
  162. package/package.json +29 -0
  163. package/provider.d.ts +60 -0
  164. package/provider.js +50 -0
  165. package/provider.js.map +1 -0
  166. package/router.d.ts +124 -0
  167. package/router.js +77 -0
  168. package/router.js.map +1 -0
  169. package/server.d.ts +332 -0
  170. package/server.js +106 -0
  171. package/server.js.map +1 -0
  172. package/serverFirewallRules.d.ts +124 -0
  173. package/serverFirewallRules.js +107 -0
  174. package/serverFirewallRules.js.map +1 -0
  175. package/serverGroup.d.ts +160 -0
  176. package/serverGroup.js +91 -0
  177. package/serverGroup.js.map +1 -0
  178. package/storage.d.ts +210 -0
  179. package/storage.js +91 -0
  180. package/storage.js.map +1 -0
  181. package/storageTemplate.d.ts +151 -0
  182. package/storageTemplate.js +90 -0
  183. package/storageTemplate.js.map +1 -0
  184. package/tag.d.ts +75 -0
  185. package/tag.js +56 -0
  186. package/tag.js.map +1 -0
  187. package/types/index.d.ts +3 -0
  188. package/types/index.js +11 -0
  189. package/types/index.js.map +1 -0
  190. package/types/input.d.ts +3721 -0
  191. package/types/input.js +5 -0
  192. package/types/input.js.map +1 -0
  193. package/types/output.d.ts +3459 -0
  194. package/types/output.js +5 -0
  195. package/types/output.js.map +1 -0
  196. package/utilities.d.ts +8 -0
  197. package/utilities.js +101 -0
  198. package/utilities.js.map +1 -0
@@ -0,0 +1,317 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * This resource represents OpenSearch managed database. See UpCloud [Managed Databases](https://upcloud.com/products/managed-databases) product page for more details about the service.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as upcloud from "@upcloud/pulumi-upcloud";
12
+ *
13
+ * // Minimal config
14
+ * const example1 = new upcloud.ManagedDatabaseOpensearch("example1", {
15
+ * plan: "1x2xCPU-4GB-80GB-1D",
16
+ * title: "opensearch-1-example-1",
17
+ * zone: "fi-hel2",
18
+ * });
19
+ * // Service with custom properties and access control
20
+ * const example2 = new upcloud.ManagedDatabaseOpensearch("example2", {
21
+ * accessControl: true,
22
+ * extendedAccessControl: true,
23
+ * plan: "1x2xCPU-4GB-80GB-1D",
24
+ * properties: {
25
+ * publicAccess: false,
26
+ * },
27
+ * title: "opensearch-2-example-2",
28
+ * zone: "fi-hel1",
29
+ * });
30
+ * ```
31
+ */
32
+ export declare class ManagedDatabaseOpensearch extends pulumi.CustomResource {
33
+ /**
34
+ * Get an existing ManagedDatabaseOpensearch resource's state with the given name, ID, and optional extra
35
+ * properties used to qualify the lookup.
36
+ *
37
+ * @param name The _unique_ name of the resulting resource.
38
+ * @param id The _unique_ provider ID of the resource to lookup.
39
+ * @param state Any extra arguments used during the lookup.
40
+ * @param opts Optional settings to control the behavior of the CustomResource.
41
+ */
42
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ManagedDatabaseOpensearchState, opts?: pulumi.CustomResourceOptions): ManagedDatabaseOpensearch;
43
+ /**
44
+ * Returns true if the given object is an instance of ManagedDatabaseOpensearch. This is designed to work even
45
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
46
+ */
47
+ static isInstance(obj: any): obj is ManagedDatabaseOpensearch;
48
+ /**
49
+ * Enables users access control for OpenSearch service. User access control rules will only be enforced if this attribute
50
+ * is enabled.
51
+ */
52
+ readonly accessControl: pulumi.Output<boolean>;
53
+ /**
54
+ * Service component information
55
+ */
56
+ readonly components: pulumi.Output<outputs.ManagedDatabaseOpensearchComponent[]>;
57
+ /**
58
+ * Grant access to top-level `_mget`, `_msearch` and `_bulk` APIs. Users are limited to perform operations on indices based
59
+ * on the user-specific access control rules.
60
+ */
61
+ readonly extendedAccessControl: pulumi.Output<boolean>;
62
+ /**
63
+ * User defined key-value pairs to classify the managed database.
64
+ */
65
+ readonly labels: pulumi.Output<{
66
+ [key: string]: string;
67
+ } | undefined>;
68
+ /**
69
+ * Maintenance window day of week. Lower case weekday name (monday, tuesday, ...)
70
+ */
71
+ readonly maintenanceWindowDow: pulumi.Output<string>;
72
+ /**
73
+ * Maintenance window UTC time in hh:mm:ss format
74
+ */
75
+ readonly maintenanceWindowTime: pulumi.Output<string>;
76
+ /**
77
+ * Name of the service. The name is used as a prefix for the logical hostname. Must be unique within an account
78
+ */
79
+ readonly name: pulumi.Output<string>;
80
+ /**
81
+ * Private networks attached to the managed database
82
+ */
83
+ readonly networks: pulumi.Output<outputs.ManagedDatabaseOpensearchNetwork[] | undefined>;
84
+ /**
85
+ * Information about nodes providing the managed service
86
+ */
87
+ readonly nodeStates: pulumi.Output<outputs.ManagedDatabaseOpensearchNodeState[]>;
88
+ /**
89
+ * Service plan to use. This determines how much resources the instance will have. You can list available plans with `upctl
90
+ * database plans <type>`.
91
+ */
92
+ readonly plan: pulumi.Output<string>;
93
+ /**
94
+ * The administrative power state of the service
95
+ */
96
+ readonly powered: pulumi.Output<boolean | undefined>;
97
+ /**
98
+ * Primary database name
99
+ */
100
+ readonly primaryDatabase: pulumi.Output<string>;
101
+ /**
102
+ * Database Engine properties for OpenSearch
103
+ */
104
+ readonly properties: pulumi.Output<outputs.ManagedDatabaseOpensearchProperties>;
105
+ /**
106
+ * Hostname to the service instance
107
+ */
108
+ readonly serviceHost: pulumi.Output<string>;
109
+ /**
110
+ * Primary username's password to the service instance
111
+ */
112
+ readonly servicePassword: pulumi.Output<string>;
113
+ /**
114
+ * Port to the service instance
115
+ */
116
+ readonly servicePort: pulumi.Output<string>;
117
+ /**
118
+ * URI to the service instance
119
+ */
120
+ readonly serviceUri: pulumi.Output<string>;
121
+ /**
122
+ * Primary username to the service instance
123
+ */
124
+ readonly serviceUsername: pulumi.Output<string>;
125
+ /**
126
+ * State of the service
127
+ */
128
+ readonly state: pulumi.Output<string>;
129
+ /**
130
+ * If set to true, prevents the managed service from being powered off, or deleted.
131
+ */
132
+ readonly terminationProtection: pulumi.Output<boolean | undefined>;
133
+ /**
134
+ * Title of a managed database instance
135
+ */
136
+ readonly title: pulumi.Output<string>;
137
+ /**
138
+ * Type of the service
139
+ */
140
+ readonly type: pulumi.Output<string>;
141
+ /**
142
+ * Zone where the instance resides, e.g. `de-fra1`. You can list available zones with `upctl zone list`.
143
+ */
144
+ readonly zone: pulumi.Output<string>;
145
+ /**
146
+ * Create a ManagedDatabaseOpensearch resource with the given unique name, arguments, and options.
147
+ *
148
+ * @param name The _unique_ name of the resource.
149
+ * @param args The arguments to use to populate this resource's properties.
150
+ * @param opts A bag of options that control this resource's behavior.
151
+ */
152
+ constructor(name: string, args: ManagedDatabaseOpensearchArgs, opts?: pulumi.CustomResourceOptions);
153
+ }
154
+ /**
155
+ * Input properties used for looking up and filtering ManagedDatabaseOpensearch resources.
156
+ */
157
+ export interface ManagedDatabaseOpensearchState {
158
+ /**
159
+ * Enables users access control for OpenSearch service. User access control rules will only be enforced if this attribute
160
+ * is enabled.
161
+ */
162
+ accessControl?: pulumi.Input<boolean>;
163
+ /**
164
+ * Service component information
165
+ */
166
+ components?: pulumi.Input<pulumi.Input<inputs.ManagedDatabaseOpensearchComponent>[]>;
167
+ /**
168
+ * Grant access to top-level `_mget`, `_msearch` and `_bulk` APIs. Users are limited to perform operations on indices based
169
+ * on the user-specific access control rules.
170
+ */
171
+ extendedAccessControl?: pulumi.Input<boolean>;
172
+ /**
173
+ * User defined key-value pairs to classify the managed database.
174
+ */
175
+ labels?: pulumi.Input<{
176
+ [key: string]: pulumi.Input<string>;
177
+ }>;
178
+ /**
179
+ * Maintenance window day of week. Lower case weekday name (monday, tuesday, ...)
180
+ */
181
+ maintenanceWindowDow?: pulumi.Input<string>;
182
+ /**
183
+ * Maintenance window UTC time in hh:mm:ss format
184
+ */
185
+ maintenanceWindowTime?: pulumi.Input<string>;
186
+ /**
187
+ * Name of the service. The name is used as a prefix for the logical hostname. Must be unique within an account
188
+ */
189
+ name?: pulumi.Input<string>;
190
+ /**
191
+ * Private networks attached to the managed database
192
+ */
193
+ networks?: pulumi.Input<pulumi.Input<inputs.ManagedDatabaseOpensearchNetwork>[]>;
194
+ /**
195
+ * Information about nodes providing the managed service
196
+ */
197
+ nodeStates?: pulumi.Input<pulumi.Input<inputs.ManagedDatabaseOpensearchNodeState>[]>;
198
+ /**
199
+ * Service plan to use. This determines how much resources the instance will have. You can list available plans with `upctl
200
+ * database plans <type>`.
201
+ */
202
+ plan?: pulumi.Input<string>;
203
+ /**
204
+ * The administrative power state of the service
205
+ */
206
+ powered?: pulumi.Input<boolean>;
207
+ /**
208
+ * Primary database name
209
+ */
210
+ primaryDatabase?: pulumi.Input<string>;
211
+ /**
212
+ * Database Engine properties for OpenSearch
213
+ */
214
+ properties?: pulumi.Input<inputs.ManagedDatabaseOpensearchProperties>;
215
+ /**
216
+ * Hostname to the service instance
217
+ */
218
+ serviceHost?: pulumi.Input<string>;
219
+ /**
220
+ * Primary username's password to the service instance
221
+ */
222
+ servicePassword?: pulumi.Input<string>;
223
+ /**
224
+ * Port to the service instance
225
+ */
226
+ servicePort?: pulumi.Input<string>;
227
+ /**
228
+ * URI to the service instance
229
+ */
230
+ serviceUri?: pulumi.Input<string>;
231
+ /**
232
+ * Primary username to the service instance
233
+ */
234
+ serviceUsername?: pulumi.Input<string>;
235
+ /**
236
+ * State of the service
237
+ */
238
+ state?: pulumi.Input<string>;
239
+ /**
240
+ * If set to true, prevents the managed service from being powered off, or deleted.
241
+ */
242
+ terminationProtection?: pulumi.Input<boolean>;
243
+ /**
244
+ * Title of a managed database instance
245
+ */
246
+ title?: pulumi.Input<string>;
247
+ /**
248
+ * Type of the service
249
+ */
250
+ type?: pulumi.Input<string>;
251
+ /**
252
+ * Zone where the instance resides, e.g. `de-fra1`. You can list available zones with `upctl zone list`.
253
+ */
254
+ zone?: pulumi.Input<string>;
255
+ }
256
+ /**
257
+ * The set of arguments for constructing a ManagedDatabaseOpensearch resource.
258
+ */
259
+ export interface ManagedDatabaseOpensearchArgs {
260
+ /**
261
+ * Enables users access control for OpenSearch service. User access control rules will only be enforced if this attribute
262
+ * is enabled.
263
+ */
264
+ accessControl?: pulumi.Input<boolean>;
265
+ /**
266
+ * Grant access to top-level `_mget`, `_msearch` and `_bulk` APIs. Users are limited to perform operations on indices based
267
+ * on the user-specific access control rules.
268
+ */
269
+ extendedAccessControl?: pulumi.Input<boolean>;
270
+ /**
271
+ * User defined key-value pairs to classify the managed database.
272
+ */
273
+ labels?: pulumi.Input<{
274
+ [key: string]: pulumi.Input<string>;
275
+ }>;
276
+ /**
277
+ * Maintenance window day of week. Lower case weekday name (monday, tuesday, ...)
278
+ */
279
+ maintenanceWindowDow?: pulumi.Input<string>;
280
+ /**
281
+ * Maintenance window UTC time in hh:mm:ss format
282
+ */
283
+ maintenanceWindowTime?: pulumi.Input<string>;
284
+ /**
285
+ * Name of the service. The name is used as a prefix for the logical hostname. Must be unique within an account
286
+ */
287
+ name?: pulumi.Input<string>;
288
+ /**
289
+ * Private networks attached to the managed database
290
+ */
291
+ networks?: pulumi.Input<pulumi.Input<inputs.ManagedDatabaseOpensearchNetwork>[]>;
292
+ /**
293
+ * Service plan to use. This determines how much resources the instance will have. You can list available plans with `upctl
294
+ * database plans <type>`.
295
+ */
296
+ plan: pulumi.Input<string>;
297
+ /**
298
+ * The administrative power state of the service
299
+ */
300
+ powered?: pulumi.Input<boolean>;
301
+ /**
302
+ * Database Engine properties for OpenSearch
303
+ */
304
+ properties?: pulumi.Input<inputs.ManagedDatabaseOpensearchProperties>;
305
+ /**
306
+ * If set to true, prevents the managed service from being powered off, or deleted.
307
+ */
308
+ terminationProtection?: pulumi.Input<boolean>;
309
+ /**
310
+ * Title of a managed database instance
311
+ */
312
+ title: pulumi.Input<string>;
313
+ /**
314
+ * Zone where the instance resides, e.g. `de-fra1`. You can list available zones with `upctl zone list`.
315
+ */
316
+ zone: pulumi.Input<string>;
317
+ }
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.ManagedDatabaseOpensearch = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * This resource represents OpenSearch managed database. See UpCloud [Managed Databases](https://upcloud.com/products/managed-databases) product page for more details about the service.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as upcloud from "@upcloud/pulumi-upcloud";
16
+ *
17
+ * // Minimal config
18
+ * const example1 = new upcloud.ManagedDatabaseOpensearch("example1", {
19
+ * plan: "1x2xCPU-4GB-80GB-1D",
20
+ * title: "opensearch-1-example-1",
21
+ * zone: "fi-hel2",
22
+ * });
23
+ * // Service with custom properties and access control
24
+ * const example2 = new upcloud.ManagedDatabaseOpensearch("example2", {
25
+ * accessControl: true,
26
+ * extendedAccessControl: true,
27
+ * plan: "1x2xCPU-4GB-80GB-1D",
28
+ * properties: {
29
+ * publicAccess: false,
30
+ * },
31
+ * title: "opensearch-2-example-2",
32
+ * zone: "fi-hel1",
33
+ * });
34
+ * ```
35
+ */
36
+ class ManagedDatabaseOpensearch extends pulumi.CustomResource {
37
+ /**
38
+ * Get an existing ManagedDatabaseOpensearch resource's state with the given name, ID, and optional extra
39
+ * properties used to qualify the lookup.
40
+ *
41
+ * @param name The _unique_ name of the resulting resource.
42
+ * @param id The _unique_ provider ID of the resource to lookup.
43
+ * @param state Any extra arguments used during the lookup.
44
+ * @param opts Optional settings to control the behavior of the CustomResource.
45
+ */
46
+ static get(name, id, state, opts) {
47
+ return new ManagedDatabaseOpensearch(name, state, Object.assign(Object.assign({}, opts), { id: id }));
48
+ }
49
+ /**
50
+ * Returns true if the given object is an instance of ManagedDatabaseOpensearch. This is designed to work even
51
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
52
+ */
53
+ static isInstance(obj) {
54
+ if (obj === undefined || obj === null) {
55
+ return false;
56
+ }
57
+ return obj['__pulumiType'] === ManagedDatabaseOpensearch.__pulumiType;
58
+ }
59
+ constructor(name, argsOrState, opts) {
60
+ let resourceInputs = {};
61
+ opts = opts || {};
62
+ if (opts.id) {
63
+ const state = argsOrState;
64
+ resourceInputs["accessControl"] = state ? state.accessControl : undefined;
65
+ resourceInputs["components"] = state ? state.components : undefined;
66
+ resourceInputs["extendedAccessControl"] = state ? state.extendedAccessControl : undefined;
67
+ resourceInputs["labels"] = state ? state.labels : undefined;
68
+ resourceInputs["maintenanceWindowDow"] = state ? state.maintenanceWindowDow : undefined;
69
+ resourceInputs["maintenanceWindowTime"] = state ? state.maintenanceWindowTime : undefined;
70
+ resourceInputs["name"] = state ? state.name : undefined;
71
+ resourceInputs["networks"] = state ? state.networks : undefined;
72
+ resourceInputs["nodeStates"] = state ? state.nodeStates : undefined;
73
+ resourceInputs["plan"] = state ? state.plan : undefined;
74
+ resourceInputs["powered"] = state ? state.powered : undefined;
75
+ resourceInputs["primaryDatabase"] = state ? state.primaryDatabase : undefined;
76
+ resourceInputs["properties"] = state ? state.properties : undefined;
77
+ resourceInputs["serviceHost"] = state ? state.serviceHost : undefined;
78
+ resourceInputs["servicePassword"] = state ? state.servicePassword : undefined;
79
+ resourceInputs["servicePort"] = state ? state.servicePort : undefined;
80
+ resourceInputs["serviceUri"] = state ? state.serviceUri : undefined;
81
+ resourceInputs["serviceUsername"] = state ? state.serviceUsername : undefined;
82
+ resourceInputs["state"] = state ? state.state : undefined;
83
+ resourceInputs["terminationProtection"] = state ? state.terminationProtection : undefined;
84
+ resourceInputs["title"] = state ? state.title : undefined;
85
+ resourceInputs["type"] = state ? state.type : undefined;
86
+ resourceInputs["zone"] = state ? state.zone : undefined;
87
+ }
88
+ else {
89
+ const args = argsOrState;
90
+ if ((!args || args.plan === undefined) && !opts.urn) {
91
+ throw new Error("Missing required property 'plan'");
92
+ }
93
+ if ((!args || args.title === undefined) && !opts.urn) {
94
+ throw new Error("Missing required property 'title'");
95
+ }
96
+ if ((!args || args.zone === undefined) && !opts.urn) {
97
+ throw new Error("Missing required property 'zone'");
98
+ }
99
+ resourceInputs["accessControl"] = args ? args.accessControl : undefined;
100
+ resourceInputs["extendedAccessControl"] = args ? args.extendedAccessControl : undefined;
101
+ resourceInputs["labels"] = args ? args.labels : undefined;
102
+ resourceInputs["maintenanceWindowDow"] = args ? args.maintenanceWindowDow : undefined;
103
+ resourceInputs["maintenanceWindowTime"] = args ? args.maintenanceWindowTime : undefined;
104
+ resourceInputs["name"] = args ? args.name : undefined;
105
+ resourceInputs["networks"] = args ? args.networks : undefined;
106
+ resourceInputs["plan"] = args ? args.plan : undefined;
107
+ resourceInputs["powered"] = args ? args.powered : undefined;
108
+ resourceInputs["properties"] = args ? args.properties : undefined;
109
+ resourceInputs["terminationProtection"] = args ? args.terminationProtection : undefined;
110
+ resourceInputs["title"] = args ? args.title : undefined;
111
+ resourceInputs["zone"] = args ? args.zone : undefined;
112
+ resourceInputs["components"] = undefined /*out*/;
113
+ resourceInputs["nodeStates"] = undefined /*out*/;
114
+ resourceInputs["primaryDatabase"] = undefined /*out*/;
115
+ resourceInputs["serviceHost"] = undefined /*out*/;
116
+ resourceInputs["servicePassword"] = undefined /*out*/;
117
+ resourceInputs["servicePort"] = undefined /*out*/;
118
+ resourceInputs["serviceUri"] = undefined /*out*/;
119
+ resourceInputs["serviceUsername"] = undefined /*out*/;
120
+ resourceInputs["state"] = undefined /*out*/;
121
+ resourceInputs["type"] = undefined /*out*/;
122
+ }
123
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
124
+ const secretOpts = { additionalSecretOutputs: ["servicePassword", "serviceUri"] };
125
+ opts = pulumi.mergeOptions(opts, secretOpts);
126
+ super(ManagedDatabaseOpensearch.__pulumiType, name, resourceInputs, opts);
127
+ }
128
+ }
129
+ exports.ManagedDatabaseOpensearch = ManagedDatabaseOpensearch;
130
+ /** @internal */
131
+ ManagedDatabaseOpensearch.__pulumiType = 'upcloud:index/managedDatabaseOpensearch:ManagedDatabaseOpensearch';
132
+ //# sourceMappingURL=managedDatabaseOpensearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managedDatabaseOpensearch.js","sourceRoot":"","sources":["../managedDatabaseOpensearch.ts"],"names":[],"mappings":"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"}