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