@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,287 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * > Redis is deprecated in favor of Valkey. Please use Valkey for new key value store instances.
6
+ *
7
+ * This resource represents Redis managed database. See UpCloud [Managed Databases](https://upcloud.com/products/managed-databases) product page for more details about the service.
8
+ *
9
+ * ## Example Usage
10
+ *
11
+ * ```typescript
12
+ * import * as pulumi from "@pulumi/pulumi";
13
+ * import * as upcloud from "@upcloud/pulumi-upcloud";
14
+ *
15
+ * // Minimal config
16
+ * const example1 = new upcloud.ManagedDatabaseRedis("example1", {
17
+ * plan: "1x1xCPU-2GB",
18
+ * title: "redis-1-example-2",
19
+ * zone: "fi-hel2",
20
+ * });
21
+ * // Service with custom properties
22
+ * const example2 = new upcloud.ManagedDatabaseRedis("example2", {
23
+ * plan: "1x1xCPU-2GB",
24
+ * properties: {
25
+ * publicAccess: false,
26
+ * },
27
+ * title: "redis-2-example-2",
28
+ * zone: "fi-hel1",
29
+ * });
30
+ * ```
31
+ */
32
+ export declare class ManagedDatabaseRedis extends pulumi.CustomResource {
33
+ /**
34
+ * Get an existing ManagedDatabaseRedis 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?: ManagedDatabaseRedisState, opts?: pulumi.CustomResourceOptions): ManagedDatabaseRedis;
43
+ /**
44
+ * Returns true if the given object is an instance of ManagedDatabaseRedis. 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 ManagedDatabaseRedis;
48
+ /**
49
+ * Service component information
50
+ */
51
+ readonly components: pulumi.Output<outputs.ManagedDatabaseRedisComponent[]>;
52
+ /**
53
+ * User defined key-value pairs to classify the managed database.
54
+ */
55
+ readonly labels: pulumi.Output<{
56
+ [key: string]: string;
57
+ } | undefined>;
58
+ /**
59
+ * Maintenance window day of week. Lower case weekday name (monday, tuesday, ...)
60
+ */
61
+ readonly maintenanceWindowDow: pulumi.Output<string>;
62
+ /**
63
+ * Maintenance window UTC time in hh:mm:ss format
64
+ */
65
+ readonly maintenanceWindowTime: pulumi.Output<string>;
66
+ /**
67
+ * Name of the service. The name is used as a prefix for the logical hostname. Must be unique within an account
68
+ */
69
+ readonly name: pulumi.Output<string>;
70
+ /**
71
+ * Private networks attached to the managed database
72
+ */
73
+ readonly networks: pulumi.Output<outputs.ManagedDatabaseRedisNetwork[] | undefined>;
74
+ /**
75
+ * Information about nodes providing the managed service
76
+ */
77
+ readonly nodeStates: pulumi.Output<outputs.ManagedDatabaseRedisNodeState[]>;
78
+ /**
79
+ * Service plan to use. This determines how much resources the instance will have. You can list available plans with `upctl
80
+ * database plans <type>`.
81
+ */
82
+ readonly plan: pulumi.Output<string>;
83
+ /**
84
+ * The administrative power state of the service
85
+ */
86
+ readonly powered: pulumi.Output<boolean | undefined>;
87
+ /**
88
+ * Primary database name
89
+ */
90
+ readonly primaryDatabase: pulumi.Output<string>;
91
+ /**
92
+ * Database Engine properties for Redis
93
+ */
94
+ readonly properties: pulumi.Output<outputs.ManagedDatabaseRedisProperties>;
95
+ /**
96
+ * Hostname to the service instance
97
+ */
98
+ readonly serviceHost: pulumi.Output<string>;
99
+ /**
100
+ * Primary username's password to the service instance
101
+ */
102
+ readonly servicePassword: pulumi.Output<string>;
103
+ /**
104
+ * Port to the service instance
105
+ */
106
+ readonly servicePort: pulumi.Output<string>;
107
+ /**
108
+ * URI to the service instance
109
+ */
110
+ readonly serviceUri: pulumi.Output<string>;
111
+ /**
112
+ * Primary username to the service instance
113
+ */
114
+ readonly serviceUsername: pulumi.Output<string>;
115
+ /**
116
+ * State of the service
117
+ */
118
+ readonly state: pulumi.Output<string>;
119
+ /**
120
+ * If set to true, prevents the managed service from being powered off, or deleted.
121
+ */
122
+ readonly terminationProtection: pulumi.Output<boolean | undefined>;
123
+ /**
124
+ * Title of a managed database instance
125
+ */
126
+ readonly title: pulumi.Output<string>;
127
+ /**
128
+ * Type of the service
129
+ */
130
+ readonly type: pulumi.Output<string>;
131
+ /**
132
+ * Zone where the instance resides, e.g. `de-fra1`. You can list available zones with `upctl zone list`.
133
+ */
134
+ readonly zone: pulumi.Output<string>;
135
+ /**
136
+ * Create a ManagedDatabaseRedis resource with the given unique name, arguments, and options.
137
+ *
138
+ * @param name The _unique_ name of the resource.
139
+ * @param args The arguments to use to populate this resource's properties.
140
+ * @param opts A bag of options that control this resource's behavior.
141
+ */
142
+ constructor(name: string, args: ManagedDatabaseRedisArgs, opts?: pulumi.CustomResourceOptions);
143
+ }
144
+ /**
145
+ * Input properties used for looking up and filtering ManagedDatabaseRedis resources.
146
+ */
147
+ export interface ManagedDatabaseRedisState {
148
+ /**
149
+ * Service component information
150
+ */
151
+ components?: pulumi.Input<pulumi.Input<inputs.ManagedDatabaseRedisComponent>[]>;
152
+ /**
153
+ * User defined key-value pairs to classify the managed database.
154
+ */
155
+ labels?: pulumi.Input<{
156
+ [key: string]: pulumi.Input<string>;
157
+ }>;
158
+ /**
159
+ * Maintenance window day of week. Lower case weekday name (monday, tuesday, ...)
160
+ */
161
+ maintenanceWindowDow?: pulumi.Input<string>;
162
+ /**
163
+ * Maintenance window UTC time in hh:mm:ss format
164
+ */
165
+ maintenanceWindowTime?: pulumi.Input<string>;
166
+ /**
167
+ * Name of the service. The name is used as a prefix for the logical hostname. Must be unique within an account
168
+ */
169
+ name?: pulumi.Input<string>;
170
+ /**
171
+ * Private networks attached to the managed database
172
+ */
173
+ networks?: pulumi.Input<pulumi.Input<inputs.ManagedDatabaseRedisNetwork>[]>;
174
+ /**
175
+ * Information about nodes providing the managed service
176
+ */
177
+ nodeStates?: pulumi.Input<pulumi.Input<inputs.ManagedDatabaseRedisNodeState>[]>;
178
+ /**
179
+ * Service plan to use. This determines how much resources the instance will have. You can list available plans with `upctl
180
+ * database plans <type>`.
181
+ */
182
+ plan?: pulumi.Input<string>;
183
+ /**
184
+ * The administrative power state of the service
185
+ */
186
+ powered?: pulumi.Input<boolean>;
187
+ /**
188
+ * Primary database name
189
+ */
190
+ primaryDatabase?: pulumi.Input<string>;
191
+ /**
192
+ * Database Engine properties for Redis
193
+ */
194
+ properties?: pulumi.Input<inputs.ManagedDatabaseRedisProperties>;
195
+ /**
196
+ * Hostname to the service instance
197
+ */
198
+ serviceHost?: pulumi.Input<string>;
199
+ /**
200
+ * Primary username's password to the service instance
201
+ */
202
+ servicePassword?: pulumi.Input<string>;
203
+ /**
204
+ * Port to the service instance
205
+ */
206
+ servicePort?: pulumi.Input<string>;
207
+ /**
208
+ * URI to the service instance
209
+ */
210
+ serviceUri?: pulumi.Input<string>;
211
+ /**
212
+ * Primary username to the service instance
213
+ */
214
+ serviceUsername?: pulumi.Input<string>;
215
+ /**
216
+ * State of the service
217
+ */
218
+ state?: pulumi.Input<string>;
219
+ /**
220
+ * If set to true, prevents the managed service from being powered off, or deleted.
221
+ */
222
+ terminationProtection?: pulumi.Input<boolean>;
223
+ /**
224
+ * Title of a managed database instance
225
+ */
226
+ title?: pulumi.Input<string>;
227
+ /**
228
+ * Type of the service
229
+ */
230
+ type?: pulumi.Input<string>;
231
+ /**
232
+ * Zone where the instance resides, e.g. `de-fra1`. You can list available zones with `upctl zone list`.
233
+ */
234
+ zone?: pulumi.Input<string>;
235
+ }
236
+ /**
237
+ * The set of arguments for constructing a ManagedDatabaseRedis resource.
238
+ */
239
+ export interface ManagedDatabaseRedisArgs {
240
+ /**
241
+ * User defined key-value pairs to classify the managed database.
242
+ */
243
+ labels?: pulumi.Input<{
244
+ [key: string]: pulumi.Input<string>;
245
+ }>;
246
+ /**
247
+ * Maintenance window day of week. Lower case weekday name (monday, tuesday, ...)
248
+ */
249
+ maintenanceWindowDow?: pulumi.Input<string>;
250
+ /**
251
+ * Maintenance window UTC time in hh:mm:ss format
252
+ */
253
+ maintenanceWindowTime?: pulumi.Input<string>;
254
+ /**
255
+ * Name of the service. The name is used as a prefix for the logical hostname. Must be unique within an account
256
+ */
257
+ name?: pulumi.Input<string>;
258
+ /**
259
+ * Private networks attached to the managed database
260
+ */
261
+ networks?: pulumi.Input<pulumi.Input<inputs.ManagedDatabaseRedisNetwork>[]>;
262
+ /**
263
+ * Service plan to use. This determines how much resources the instance will have. You can list available plans with `upctl
264
+ * database plans <type>`.
265
+ */
266
+ plan: pulumi.Input<string>;
267
+ /**
268
+ * The administrative power state of the service
269
+ */
270
+ powered?: pulumi.Input<boolean>;
271
+ /**
272
+ * Database Engine properties for Redis
273
+ */
274
+ properties?: pulumi.Input<inputs.ManagedDatabaseRedisProperties>;
275
+ /**
276
+ * If set to true, prevents the managed service from being powered off, or deleted.
277
+ */
278
+ terminationProtection?: pulumi.Input<boolean>;
279
+ /**
280
+ * Title of a managed database instance
281
+ */
282
+ title: pulumi.Input<string>;
283
+ /**
284
+ * Zone where the instance resides, e.g. `de-fra1`. You can list available zones with `upctl zone list`.
285
+ */
286
+ zone: pulumi.Input<string>;
287
+ }
@@ -0,0 +1,128 @@
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.ManagedDatabaseRedis = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * > Redis is deprecated in favor of Valkey. Please use Valkey for new key value store instances.
10
+ *
11
+ * This resource represents Redis managed database. See UpCloud [Managed Databases](https://upcloud.com/products/managed-databases) product page for more details about the service.
12
+ *
13
+ * ## Example Usage
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as upcloud from "@upcloud/pulumi-upcloud";
18
+ *
19
+ * // Minimal config
20
+ * const example1 = new upcloud.ManagedDatabaseRedis("example1", {
21
+ * plan: "1x1xCPU-2GB",
22
+ * title: "redis-1-example-2",
23
+ * zone: "fi-hel2",
24
+ * });
25
+ * // Service with custom properties
26
+ * const example2 = new upcloud.ManagedDatabaseRedis("example2", {
27
+ * plan: "1x1xCPU-2GB",
28
+ * properties: {
29
+ * publicAccess: false,
30
+ * },
31
+ * title: "redis-2-example-2",
32
+ * zone: "fi-hel1",
33
+ * });
34
+ * ```
35
+ */
36
+ class ManagedDatabaseRedis extends pulumi.CustomResource {
37
+ /**
38
+ * Get an existing ManagedDatabaseRedis 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 ManagedDatabaseRedis(name, state, Object.assign(Object.assign({}, opts), { id: id }));
48
+ }
49
+ /**
50
+ * Returns true if the given object is an instance of ManagedDatabaseRedis. 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'] === ManagedDatabaseRedis.__pulumiType;
58
+ }
59
+ constructor(name, argsOrState, opts) {
60
+ let resourceInputs = {};
61
+ opts = opts || {};
62
+ if (opts.id) {
63
+ const state = argsOrState;
64
+ resourceInputs["components"] = state ? state.components : undefined;
65
+ resourceInputs["labels"] = state ? state.labels : undefined;
66
+ resourceInputs["maintenanceWindowDow"] = state ? state.maintenanceWindowDow : undefined;
67
+ resourceInputs["maintenanceWindowTime"] = state ? state.maintenanceWindowTime : undefined;
68
+ resourceInputs["name"] = state ? state.name : undefined;
69
+ resourceInputs["networks"] = state ? state.networks : undefined;
70
+ resourceInputs["nodeStates"] = state ? state.nodeStates : undefined;
71
+ resourceInputs["plan"] = state ? state.plan : undefined;
72
+ resourceInputs["powered"] = state ? state.powered : undefined;
73
+ resourceInputs["primaryDatabase"] = state ? state.primaryDatabase : undefined;
74
+ resourceInputs["properties"] = state ? state.properties : undefined;
75
+ resourceInputs["serviceHost"] = state ? state.serviceHost : undefined;
76
+ resourceInputs["servicePassword"] = state ? state.servicePassword : undefined;
77
+ resourceInputs["servicePort"] = state ? state.servicePort : undefined;
78
+ resourceInputs["serviceUri"] = state ? state.serviceUri : undefined;
79
+ resourceInputs["serviceUsername"] = state ? state.serviceUsername : undefined;
80
+ resourceInputs["state"] = state ? state.state : undefined;
81
+ resourceInputs["terminationProtection"] = state ? state.terminationProtection : undefined;
82
+ resourceInputs["title"] = state ? state.title : undefined;
83
+ resourceInputs["type"] = state ? state.type : undefined;
84
+ resourceInputs["zone"] = state ? state.zone : undefined;
85
+ }
86
+ else {
87
+ const args = argsOrState;
88
+ if ((!args || args.plan === undefined) && !opts.urn) {
89
+ throw new Error("Missing required property 'plan'");
90
+ }
91
+ if ((!args || args.title === undefined) && !opts.urn) {
92
+ throw new Error("Missing required property 'title'");
93
+ }
94
+ if ((!args || args.zone === undefined) && !opts.urn) {
95
+ throw new Error("Missing required property 'zone'");
96
+ }
97
+ resourceInputs["labels"] = args ? args.labels : undefined;
98
+ resourceInputs["maintenanceWindowDow"] = args ? args.maintenanceWindowDow : undefined;
99
+ resourceInputs["maintenanceWindowTime"] = args ? args.maintenanceWindowTime : undefined;
100
+ resourceInputs["name"] = args ? args.name : undefined;
101
+ resourceInputs["networks"] = args ? args.networks : undefined;
102
+ resourceInputs["plan"] = args ? args.plan : undefined;
103
+ resourceInputs["powered"] = args ? args.powered : undefined;
104
+ resourceInputs["properties"] = args ? args.properties : undefined;
105
+ resourceInputs["terminationProtection"] = args ? args.terminationProtection : undefined;
106
+ resourceInputs["title"] = args ? args.title : undefined;
107
+ resourceInputs["zone"] = args ? args.zone : undefined;
108
+ resourceInputs["components"] = undefined /*out*/;
109
+ resourceInputs["nodeStates"] = undefined /*out*/;
110
+ resourceInputs["primaryDatabase"] = undefined /*out*/;
111
+ resourceInputs["serviceHost"] = undefined /*out*/;
112
+ resourceInputs["servicePassword"] = undefined /*out*/;
113
+ resourceInputs["servicePort"] = undefined /*out*/;
114
+ resourceInputs["serviceUri"] = undefined /*out*/;
115
+ resourceInputs["serviceUsername"] = undefined /*out*/;
116
+ resourceInputs["state"] = undefined /*out*/;
117
+ resourceInputs["type"] = undefined /*out*/;
118
+ }
119
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
120
+ const secretOpts = { additionalSecretOutputs: ["servicePassword", "serviceUri"] };
121
+ opts = pulumi.mergeOptions(opts, secretOpts);
122
+ super(ManagedDatabaseRedis.__pulumiType, name, resourceInputs, opts);
123
+ }
124
+ }
125
+ exports.ManagedDatabaseRedis = ManagedDatabaseRedis;
126
+ /** @internal */
127
+ ManagedDatabaseRedis.__pulumiType = 'upcloud:index/managedDatabaseRedis:ManagedDatabaseRedis';
128
+ //# sourceMappingURL=managedDatabaseRedis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managedDatabaseRedis.js","sourceRoot":"","sources":["../managedDatabaseRedis.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,163 @@
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 a user in managed database
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as upcloud from "@upcloud/pulumi-upcloud";
12
+ *
13
+ * const example = new upcloud.ManagedDatabasePostgresql("example", {
14
+ * plan: "1x1xCPU-2GB-25GB",
15
+ * title: "postgres",
16
+ * zone: "fi-hel1",
17
+ * });
18
+ * const exampleUser = new upcloud.ManagedDatabaseUser("exampleUser", {
19
+ * service: example.id,
20
+ * username: "example_user",
21
+ * password: "<USER_PASSWORD>",
22
+ * });
23
+ * ```
24
+ */
25
+ export declare class ManagedDatabaseUser extends pulumi.CustomResource {
26
+ /**
27
+ * Get an existing ManagedDatabaseUser resource's state with the given name, ID, and optional extra
28
+ * properties used to qualify the lookup.
29
+ *
30
+ * @param name The _unique_ name of the resulting resource.
31
+ * @param id The _unique_ provider ID of the resource to lookup.
32
+ * @param state Any extra arguments used during the lookup.
33
+ * @param opts Optional settings to control the behavior of the CustomResource.
34
+ */
35
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ManagedDatabaseUserState, opts?: pulumi.CustomResourceOptions): ManagedDatabaseUser;
36
+ /**
37
+ * Returns true if the given object is an instance of ManagedDatabaseUser. This is designed to work even
38
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
39
+ */
40
+ static isInstance(obj: any): obj is ManagedDatabaseUser;
41
+ /**
42
+ * MySQL only, authentication type.
43
+ */
44
+ readonly authentication: pulumi.Output<string | undefined>;
45
+ /**
46
+ * OpenSearch access control object.
47
+ */
48
+ readonly opensearchAccessControl: pulumi.Output<outputs.ManagedDatabaseUserOpensearchAccessControl | undefined>;
49
+ /**
50
+ * Password for the database user. Defaults to a random value
51
+ */
52
+ readonly password: pulumi.Output<string>;
53
+ /**
54
+ * PostgreSQL access control object.
55
+ */
56
+ readonly pgAccessControl: pulumi.Output<outputs.ManagedDatabaseUserPgAccessControl | undefined>;
57
+ /**
58
+ * Redis access control object.
59
+ */
60
+ readonly redisAccessControl: pulumi.Output<outputs.ManagedDatabaseUserRedisAccessControl | undefined>;
61
+ /**
62
+ * Service's UUID for which this user belongs to
63
+ */
64
+ readonly service: pulumi.Output<string>;
65
+ /**
66
+ * Type of the user. Only normal type users can be created
67
+ */
68
+ readonly type: pulumi.Output<string>;
69
+ /**
70
+ * Name of the database user
71
+ */
72
+ readonly username: pulumi.Output<string>;
73
+ /**
74
+ * Valkey access control object.
75
+ */
76
+ readonly valkeyAccessControl: pulumi.Output<outputs.ManagedDatabaseUserValkeyAccessControl | undefined>;
77
+ /**
78
+ * Create a ManagedDatabaseUser resource with the given unique name, arguments, and options.
79
+ *
80
+ * @param name The _unique_ name of the resource.
81
+ * @param args The arguments to use to populate this resource's properties.
82
+ * @param opts A bag of options that control this resource's behavior.
83
+ */
84
+ constructor(name: string, args: ManagedDatabaseUserArgs, opts?: pulumi.CustomResourceOptions);
85
+ }
86
+ /**
87
+ * Input properties used for looking up and filtering ManagedDatabaseUser resources.
88
+ */
89
+ export interface ManagedDatabaseUserState {
90
+ /**
91
+ * MySQL only, authentication type.
92
+ */
93
+ authentication?: pulumi.Input<string>;
94
+ /**
95
+ * OpenSearch access control object.
96
+ */
97
+ opensearchAccessControl?: pulumi.Input<inputs.ManagedDatabaseUserOpensearchAccessControl>;
98
+ /**
99
+ * Password for the database user. Defaults to a random value
100
+ */
101
+ password?: pulumi.Input<string>;
102
+ /**
103
+ * PostgreSQL access control object.
104
+ */
105
+ pgAccessControl?: pulumi.Input<inputs.ManagedDatabaseUserPgAccessControl>;
106
+ /**
107
+ * Redis access control object.
108
+ */
109
+ redisAccessControl?: pulumi.Input<inputs.ManagedDatabaseUserRedisAccessControl>;
110
+ /**
111
+ * Service's UUID for which this user belongs to
112
+ */
113
+ service?: pulumi.Input<string>;
114
+ /**
115
+ * Type of the user. Only normal type users can be created
116
+ */
117
+ type?: pulumi.Input<string>;
118
+ /**
119
+ * Name of the database user
120
+ */
121
+ username?: pulumi.Input<string>;
122
+ /**
123
+ * Valkey access control object.
124
+ */
125
+ valkeyAccessControl?: pulumi.Input<inputs.ManagedDatabaseUserValkeyAccessControl>;
126
+ }
127
+ /**
128
+ * The set of arguments for constructing a ManagedDatabaseUser resource.
129
+ */
130
+ export interface ManagedDatabaseUserArgs {
131
+ /**
132
+ * MySQL only, authentication type.
133
+ */
134
+ authentication?: pulumi.Input<string>;
135
+ /**
136
+ * OpenSearch access control object.
137
+ */
138
+ opensearchAccessControl?: pulumi.Input<inputs.ManagedDatabaseUserOpensearchAccessControl>;
139
+ /**
140
+ * Password for the database user. Defaults to a random value
141
+ */
142
+ password?: pulumi.Input<string>;
143
+ /**
144
+ * PostgreSQL access control object.
145
+ */
146
+ pgAccessControl?: pulumi.Input<inputs.ManagedDatabaseUserPgAccessControl>;
147
+ /**
148
+ * Redis access control object.
149
+ */
150
+ redisAccessControl?: pulumi.Input<inputs.ManagedDatabaseUserRedisAccessControl>;
151
+ /**
152
+ * Service's UUID for which this user belongs to
153
+ */
154
+ service: pulumi.Input<string>;
155
+ /**
156
+ * Name of the database user
157
+ */
158
+ username: pulumi.Input<string>;
159
+ /**
160
+ * Valkey access control object.
161
+ */
162
+ valkeyAccessControl?: pulumi.Input<inputs.ManagedDatabaseUserValkeyAccessControl>;
163
+ }
@@ -0,0 +1,94 @@
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.ManagedDatabaseUser = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * This resource represents a user in managed database
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as upcloud from "@upcloud/pulumi-upcloud";
16
+ *
17
+ * const example = new upcloud.ManagedDatabasePostgresql("example", {
18
+ * plan: "1x1xCPU-2GB-25GB",
19
+ * title: "postgres",
20
+ * zone: "fi-hel1",
21
+ * });
22
+ * const exampleUser = new upcloud.ManagedDatabaseUser("exampleUser", {
23
+ * service: example.id,
24
+ * username: "example_user",
25
+ * password: "<USER_PASSWORD>",
26
+ * });
27
+ * ```
28
+ */
29
+ class ManagedDatabaseUser extends pulumi.CustomResource {
30
+ /**
31
+ * Get an existing ManagedDatabaseUser resource's state with the given name, ID, and optional extra
32
+ * properties used to qualify the lookup.
33
+ *
34
+ * @param name The _unique_ name of the resulting resource.
35
+ * @param id The _unique_ provider ID of the resource to lookup.
36
+ * @param state Any extra arguments used during the lookup.
37
+ * @param opts Optional settings to control the behavior of the CustomResource.
38
+ */
39
+ static get(name, id, state, opts) {
40
+ return new ManagedDatabaseUser(name, state, Object.assign(Object.assign({}, opts), { id: id }));
41
+ }
42
+ /**
43
+ * Returns true if the given object is an instance of ManagedDatabaseUser. This is designed to work even
44
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
45
+ */
46
+ static isInstance(obj) {
47
+ if (obj === undefined || obj === null) {
48
+ return false;
49
+ }
50
+ return obj['__pulumiType'] === ManagedDatabaseUser.__pulumiType;
51
+ }
52
+ constructor(name, argsOrState, opts) {
53
+ let resourceInputs = {};
54
+ opts = opts || {};
55
+ if (opts.id) {
56
+ const state = argsOrState;
57
+ resourceInputs["authentication"] = state ? state.authentication : undefined;
58
+ resourceInputs["opensearchAccessControl"] = state ? state.opensearchAccessControl : undefined;
59
+ resourceInputs["password"] = state ? state.password : undefined;
60
+ resourceInputs["pgAccessControl"] = state ? state.pgAccessControl : undefined;
61
+ resourceInputs["redisAccessControl"] = state ? state.redisAccessControl : undefined;
62
+ resourceInputs["service"] = state ? state.service : undefined;
63
+ resourceInputs["type"] = state ? state.type : undefined;
64
+ resourceInputs["username"] = state ? state.username : undefined;
65
+ resourceInputs["valkeyAccessControl"] = state ? state.valkeyAccessControl : undefined;
66
+ }
67
+ else {
68
+ const args = argsOrState;
69
+ if ((!args || args.service === undefined) && !opts.urn) {
70
+ throw new Error("Missing required property 'service'");
71
+ }
72
+ if ((!args || args.username === undefined) && !opts.urn) {
73
+ throw new Error("Missing required property 'username'");
74
+ }
75
+ resourceInputs["authentication"] = args ? args.authentication : undefined;
76
+ resourceInputs["opensearchAccessControl"] = args ? args.opensearchAccessControl : undefined;
77
+ resourceInputs["password"] = (args === null || args === void 0 ? void 0 : args.password) ? pulumi.secret(args.password) : undefined;
78
+ resourceInputs["pgAccessControl"] = args ? args.pgAccessControl : undefined;
79
+ resourceInputs["redisAccessControl"] = args ? args.redisAccessControl : undefined;
80
+ resourceInputs["service"] = args ? args.service : undefined;
81
+ resourceInputs["username"] = args ? args.username : undefined;
82
+ resourceInputs["valkeyAccessControl"] = args ? args.valkeyAccessControl : undefined;
83
+ resourceInputs["type"] = undefined /*out*/;
84
+ }
85
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
86
+ const secretOpts = { additionalSecretOutputs: ["password"] };
87
+ opts = pulumi.mergeOptions(opts, secretOpts);
88
+ super(ManagedDatabaseUser.__pulumiType, name, resourceInputs, opts);
89
+ }
90
+ }
91
+ exports.ManagedDatabaseUser = ManagedDatabaseUser;
92
+ /** @internal */
93
+ ManagedDatabaseUser.__pulumiType = 'upcloud:index/managedDatabaseUser:ManagedDatabaseUser';
94
+ //# sourceMappingURL=managedDatabaseUser.js.map