@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,83 @@
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.ManagedDatabaseLogicalDatabase = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * This resource represents a logical database 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
+ * // PostgreSQL managed database with additional logical database: example_db
18
+ * const exampleManagedDatabasePostgresql = new upcloud.ManagedDatabasePostgresql("exampleManagedDatabasePostgresql", {
19
+ * plan: "1x1xCPU-2GB-25GB",
20
+ * title: "postgres",
21
+ * zone: "fi-hel1",
22
+ * });
23
+ * const exampleDb = new upcloud.ManagedDatabaseLogicalDatabase("exampleDb", {service: exampleManagedDatabasePostgresql.id});
24
+ * // MySQL managed database with additional logical database: example2_db
25
+ * const exampleManagedDatabaseMysql = new upcloud.ManagedDatabaseMysql("exampleManagedDatabaseMysql", {
26
+ * plan: "1x1xCPU-2GB-25GB",
27
+ * title: "mysql",
28
+ * zone: "fi-hel1",
29
+ * });
30
+ * const example2Db = new upcloud.ManagedDatabaseLogicalDatabase("example2Db", {service: exampleManagedDatabaseMysql.id});
31
+ * ```
32
+ */
33
+ class ManagedDatabaseLogicalDatabase extends pulumi.CustomResource {
34
+ /**
35
+ * Get an existing ManagedDatabaseLogicalDatabase resource's state with the given name, ID, and optional extra
36
+ * properties used to qualify the lookup.
37
+ *
38
+ * @param name The _unique_ name of the resulting resource.
39
+ * @param id The _unique_ provider ID of the resource to lookup.
40
+ * @param state Any extra arguments used during the lookup.
41
+ * @param opts Optional settings to control the behavior of the CustomResource.
42
+ */
43
+ static get(name, id, state, opts) {
44
+ return new ManagedDatabaseLogicalDatabase(name, state, Object.assign(Object.assign({}, opts), { id: id }));
45
+ }
46
+ /**
47
+ * Returns true if the given object is an instance of ManagedDatabaseLogicalDatabase. This is designed to work even
48
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
49
+ */
50
+ static isInstance(obj) {
51
+ if (obj === undefined || obj === null) {
52
+ return false;
53
+ }
54
+ return obj['__pulumiType'] === ManagedDatabaseLogicalDatabase.__pulumiType;
55
+ }
56
+ constructor(name, argsOrState, opts) {
57
+ let resourceInputs = {};
58
+ opts = opts || {};
59
+ if (opts.id) {
60
+ const state = argsOrState;
61
+ resourceInputs["characterSet"] = state ? state.characterSet : undefined;
62
+ resourceInputs["collation"] = state ? state.collation : undefined;
63
+ resourceInputs["name"] = state ? state.name : undefined;
64
+ resourceInputs["service"] = state ? state.service : undefined;
65
+ }
66
+ else {
67
+ const args = argsOrState;
68
+ if ((!args || args.service === undefined) && !opts.urn) {
69
+ throw new Error("Missing required property 'service'");
70
+ }
71
+ resourceInputs["characterSet"] = args ? args.characterSet : undefined;
72
+ resourceInputs["collation"] = args ? args.collation : undefined;
73
+ resourceInputs["name"] = args ? args.name : undefined;
74
+ resourceInputs["service"] = args ? args.service : undefined;
75
+ }
76
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
77
+ super(ManagedDatabaseLogicalDatabase.__pulumiType, name, resourceInputs, opts);
78
+ }
79
+ }
80
+ exports.ManagedDatabaseLogicalDatabase = ManagedDatabaseLogicalDatabase;
81
+ /** @internal */
82
+ ManagedDatabaseLogicalDatabase.__pulumiType = 'upcloud:index/managedDatabaseLogicalDatabase:ManagedDatabaseLogicalDatabase';
83
+ //# sourceMappingURL=managedDatabaseLogicalDatabase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managedDatabaseLogicalDatabase.js","sourceRoot":"","sources":["../managedDatabaseLogicalDatabase.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAa,8BAA+B,SAAQ,MAAM,CAAC,cAAc;IACrE;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA2C,EAAE,IAAmC;QACzI,OAAO,IAAI,8BAA8B,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACrF,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,8BAA8B,CAAC,YAAY,CAAC;IAC/E,CAAC;IA2BD,YAAY,IAAY,EAAE,WAAsF,EAAE,IAAmC;QACjJ,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA8D,CAAC;YAC7E,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SACjE;aAAM;YACH,MAAM,IAAI,GAAG,WAA6D,CAAC;YAC3E,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SAC/D;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,8BAA8B,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACnF,CAAC;;AA1EL,wEA2EC;AA7DG,gBAAgB;AACO,2CAAY,GAAG,6EAA6E,CAAC"}
@@ -0,0 +1,298 @@
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 MySQL 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.ManagedDatabaseMysql("example1", {
15
+ * plan: "1x1xCPU-2GB-25GB",
16
+ * title: "mysql-1-example-1",
17
+ * zone: "fi-hel1",
18
+ * });
19
+ * // Shutdown instance after creation
20
+ * const example2 = new upcloud.ManagedDatabaseMysql("example2", {
21
+ * plan: "1x1xCPU-2GB-25GB",
22
+ * powered: false,
23
+ * title: "mysql-2-example-2",
24
+ * zone: "fi-hel1",
25
+ * });
26
+ * // Service with custom properties
27
+ * // Note that this basically sets strict mode off which is not normally recommended
28
+ * const example3 = new upcloud.ManagedDatabaseMysql("example3", {
29
+ * plan: "1x1xCPU-2GB-25GB",
30
+ * properties: {
31
+ * adminPassword: "<ADMIN_PASSWORD>",
32
+ * adminUsername: "admin",
33
+ * maxAllowedPacket: 16000000,
34
+ * sortBufferSize: 4000000,
35
+ * sqlMode: "NO_ENGINE_SUBSTITUTION",
36
+ * waitTimeout: 300,
37
+ * },
38
+ * title: "mysql-3-example-3",
39
+ * zone: "fi-hel1",
40
+ * });
41
+ * ```
42
+ */
43
+ export declare class ManagedDatabaseMysql extends pulumi.CustomResource {
44
+ /**
45
+ * Get an existing ManagedDatabaseMysql resource's state with the given name, ID, and optional extra
46
+ * properties used to qualify the lookup.
47
+ *
48
+ * @param name The _unique_ name of the resulting resource.
49
+ * @param id The _unique_ provider ID of the resource to lookup.
50
+ * @param state Any extra arguments used during the lookup.
51
+ * @param opts Optional settings to control the behavior of the CustomResource.
52
+ */
53
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ManagedDatabaseMysqlState, opts?: pulumi.CustomResourceOptions): ManagedDatabaseMysql;
54
+ /**
55
+ * Returns true if the given object is an instance of ManagedDatabaseMysql. This is designed to work even
56
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
57
+ */
58
+ static isInstance(obj: any): obj is ManagedDatabaseMysql;
59
+ /**
60
+ * Service component information
61
+ */
62
+ readonly components: pulumi.Output<outputs.ManagedDatabaseMysqlComponent[]>;
63
+ /**
64
+ * User defined key-value pairs to classify the managed database.
65
+ */
66
+ readonly labels: pulumi.Output<{
67
+ [key: string]: string;
68
+ } | undefined>;
69
+ /**
70
+ * Maintenance window day of week. Lower case weekday name (monday, tuesday, ...)
71
+ */
72
+ readonly maintenanceWindowDow: pulumi.Output<string>;
73
+ /**
74
+ * Maintenance window UTC time in hh:mm:ss format
75
+ */
76
+ readonly maintenanceWindowTime: pulumi.Output<string>;
77
+ /**
78
+ * Name of the service. The name is used as a prefix for the logical hostname. Must be unique within an account
79
+ */
80
+ readonly name: pulumi.Output<string>;
81
+ /**
82
+ * Private networks attached to the managed database
83
+ */
84
+ readonly networks: pulumi.Output<outputs.ManagedDatabaseMysqlNetwork[] | undefined>;
85
+ /**
86
+ * Information about nodes providing the managed service
87
+ */
88
+ readonly nodeStates: pulumi.Output<outputs.ManagedDatabaseMysqlNodeState[]>;
89
+ /**
90
+ * Service plan to use. This determines how much resources the instance will have. You can list available plans with `upctl
91
+ * database plans <type>`.
92
+ */
93
+ readonly plan: pulumi.Output<string>;
94
+ /**
95
+ * The administrative power state of the service
96
+ */
97
+ readonly powered: pulumi.Output<boolean | undefined>;
98
+ /**
99
+ * Primary database name
100
+ */
101
+ readonly primaryDatabase: pulumi.Output<string>;
102
+ /**
103
+ * Database Engine properties for MySQL
104
+ */
105
+ readonly properties: pulumi.Output<outputs.ManagedDatabaseMysqlProperties>;
106
+ /**
107
+ * Hostname to the service instance
108
+ */
109
+ readonly serviceHost: pulumi.Output<string>;
110
+ /**
111
+ * Primary username's password to the service instance
112
+ */
113
+ readonly servicePassword: pulumi.Output<string>;
114
+ /**
115
+ * Port to the service instance
116
+ */
117
+ readonly servicePort: pulumi.Output<string>;
118
+ /**
119
+ * URI to the service instance
120
+ */
121
+ readonly serviceUri: pulumi.Output<string>;
122
+ /**
123
+ * Primary username to the service instance
124
+ */
125
+ readonly serviceUsername: pulumi.Output<string>;
126
+ /**
127
+ * State of the service
128
+ */
129
+ readonly state: pulumi.Output<string>;
130
+ /**
131
+ * If set to true, prevents the managed service from being powered off, or deleted.
132
+ */
133
+ readonly terminationProtection: pulumi.Output<boolean | undefined>;
134
+ /**
135
+ * Title of a managed database instance
136
+ */
137
+ readonly title: pulumi.Output<string>;
138
+ /**
139
+ * Type of the service
140
+ */
141
+ readonly type: pulumi.Output<string>;
142
+ /**
143
+ * Zone where the instance resides, e.g. `de-fra1`. You can list available zones with `upctl zone list`.
144
+ */
145
+ readonly zone: pulumi.Output<string>;
146
+ /**
147
+ * Create a ManagedDatabaseMysql resource with the given unique name, arguments, and options.
148
+ *
149
+ * @param name The _unique_ name of the resource.
150
+ * @param args The arguments to use to populate this resource's properties.
151
+ * @param opts A bag of options that control this resource's behavior.
152
+ */
153
+ constructor(name: string, args: ManagedDatabaseMysqlArgs, opts?: pulumi.CustomResourceOptions);
154
+ }
155
+ /**
156
+ * Input properties used for looking up and filtering ManagedDatabaseMysql resources.
157
+ */
158
+ export interface ManagedDatabaseMysqlState {
159
+ /**
160
+ * Service component information
161
+ */
162
+ components?: pulumi.Input<pulumi.Input<inputs.ManagedDatabaseMysqlComponent>[]>;
163
+ /**
164
+ * User defined key-value pairs to classify the managed database.
165
+ */
166
+ labels?: pulumi.Input<{
167
+ [key: string]: pulumi.Input<string>;
168
+ }>;
169
+ /**
170
+ * Maintenance window day of week. Lower case weekday name (monday, tuesday, ...)
171
+ */
172
+ maintenanceWindowDow?: pulumi.Input<string>;
173
+ /**
174
+ * Maintenance window UTC time in hh:mm:ss format
175
+ */
176
+ maintenanceWindowTime?: pulumi.Input<string>;
177
+ /**
178
+ * Name of the service. The name is used as a prefix for the logical hostname. Must be unique within an account
179
+ */
180
+ name?: pulumi.Input<string>;
181
+ /**
182
+ * Private networks attached to the managed database
183
+ */
184
+ networks?: pulumi.Input<pulumi.Input<inputs.ManagedDatabaseMysqlNetwork>[]>;
185
+ /**
186
+ * Information about nodes providing the managed service
187
+ */
188
+ nodeStates?: pulumi.Input<pulumi.Input<inputs.ManagedDatabaseMysqlNodeState>[]>;
189
+ /**
190
+ * Service plan to use. This determines how much resources the instance will have. You can list available plans with `upctl
191
+ * database plans <type>`.
192
+ */
193
+ plan?: pulumi.Input<string>;
194
+ /**
195
+ * The administrative power state of the service
196
+ */
197
+ powered?: pulumi.Input<boolean>;
198
+ /**
199
+ * Primary database name
200
+ */
201
+ primaryDatabase?: pulumi.Input<string>;
202
+ /**
203
+ * Database Engine properties for MySQL
204
+ */
205
+ properties?: pulumi.Input<inputs.ManagedDatabaseMysqlProperties>;
206
+ /**
207
+ * Hostname to the service instance
208
+ */
209
+ serviceHost?: pulumi.Input<string>;
210
+ /**
211
+ * Primary username's password to the service instance
212
+ */
213
+ servicePassword?: pulumi.Input<string>;
214
+ /**
215
+ * Port to the service instance
216
+ */
217
+ servicePort?: pulumi.Input<string>;
218
+ /**
219
+ * URI to the service instance
220
+ */
221
+ serviceUri?: pulumi.Input<string>;
222
+ /**
223
+ * Primary username to the service instance
224
+ */
225
+ serviceUsername?: pulumi.Input<string>;
226
+ /**
227
+ * State of the service
228
+ */
229
+ state?: pulumi.Input<string>;
230
+ /**
231
+ * If set to true, prevents the managed service from being powered off, or deleted.
232
+ */
233
+ terminationProtection?: pulumi.Input<boolean>;
234
+ /**
235
+ * Title of a managed database instance
236
+ */
237
+ title?: pulumi.Input<string>;
238
+ /**
239
+ * Type of the service
240
+ */
241
+ type?: pulumi.Input<string>;
242
+ /**
243
+ * Zone where the instance resides, e.g. `de-fra1`. You can list available zones with `upctl zone list`.
244
+ */
245
+ zone?: pulumi.Input<string>;
246
+ }
247
+ /**
248
+ * The set of arguments for constructing a ManagedDatabaseMysql resource.
249
+ */
250
+ export interface ManagedDatabaseMysqlArgs {
251
+ /**
252
+ * User defined key-value pairs to classify the managed database.
253
+ */
254
+ labels?: pulumi.Input<{
255
+ [key: string]: pulumi.Input<string>;
256
+ }>;
257
+ /**
258
+ * Maintenance window day of week. Lower case weekday name (monday, tuesday, ...)
259
+ */
260
+ maintenanceWindowDow?: pulumi.Input<string>;
261
+ /**
262
+ * Maintenance window UTC time in hh:mm:ss format
263
+ */
264
+ maintenanceWindowTime?: pulumi.Input<string>;
265
+ /**
266
+ * Name of the service. The name is used as a prefix for the logical hostname. Must be unique within an account
267
+ */
268
+ name?: pulumi.Input<string>;
269
+ /**
270
+ * Private networks attached to the managed database
271
+ */
272
+ networks?: pulumi.Input<pulumi.Input<inputs.ManagedDatabaseMysqlNetwork>[]>;
273
+ /**
274
+ * Service plan to use. This determines how much resources the instance will have. You can list available plans with `upctl
275
+ * database plans <type>`.
276
+ */
277
+ plan: pulumi.Input<string>;
278
+ /**
279
+ * The administrative power state of the service
280
+ */
281
+ powered?: pulumi.Input<boolean>;
282
+ /**
283
+ * Database Engine properties for MySQL
284
+ */
285
+ properties?: pulumi.Input<inputs.ManagedDatabaseMysqlProperties>;
286
+ /**
287
+ * If set to true, prevents the managed service from being powered off, or deleted.
288
+ */
289
+ terminationProtection?: pulumi.Input<boolean>;
290
+ /**
291
+ * Title of a managed database instance
292
+ */
293
+ title: pulumi.Input<string>;
294
+ /**
295
+ * Zone where the instance resides, e.g. `de-fra1`. You can list available zones with `upctl zone list`.
296
+ */
297
+ zone: pulumi.Input<string>;
298
+ }
@@ -0,0 +1,139 @@
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.ManagedDatabaseMysql = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * This resource represents MySQL 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.ManagedDatabaseMysql("example1", {
19
+ * plan: "1x1xCPU-2GB-25GB",
20
+ * title: "mysql-1-example-1",
21
+ * zone: "fi-hel1",
22
+ * });
23
+ * // Shutdown instance after creation
24
+ * const example2 = new upcloud.ManagedDatabaseMysql("example2", {
25
+ * plan: "1x1xCPU-2GB-25GB",
26
+ * powered: false,
27
+ * title: "mysql-2-example-2",
28
+ * zone: "fi-hel1",
29
+ * });
30
+ * // Service with custom properties
31
+ * // Note that this basically sets strict mode off which is not normally recommended
32
+ * const example3 = new upcloud.ManagedDatabaseMysql("example3", {
33
+ * plan: "1x1xCPU-2GB-25GB",
34
+ * properties: {
35
+ * adminPassword: "<ADMIN_PASSWORD>",
36
+ * adminUsername: "admin",
37
+ * maxAllowedPacket: 16000000,
38
+ * sortBufferSize: 4000000,
39
+ * sqlMode: "NO_ENGINE_SUBSTITUTION",
40
+ * waitTimeout: 300,
41
+ * },
42
+ * title: "mysql-3-example-3",
43
+ * zone: "fi-hel1",
44
+ * });
45
+ * ```
46
+ */
47
+ class ManagedDatabaseMysql extends pulumi.CustomResource {
48
+ /**
49
+ * Get an existing ManagedDatabaseMysql resource's state with the given name, ID, and optional extra
50
+ * properties used to qualify the lookup.
51
+ *
52
+ * @param name The _unique_ name of the resulting resource.
53
+ * @param id The _unique_ provider ID of the resource to lookup.
54
+ * @param state Any extra arguments used during the lookup.
55
+ * @param opts Optional settings to control the behavior of the CustomResource.
56
+ */
57
+ static get(name, id, state, opts) {
58
+ return new ManagedDatabaseMysql(name, state, Object.assign(Object.assign({}, opts), { id: id }));
59
+ }
60
+ /**
61
+ * Returns true if the given object is an instance of ManagedDatabaseMysql. This is designed to work even
62
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
63
+ */
64
+ static isInstance(obj) {
65
+ if (obj === undefined || obj === null) {
66
+ return false;
67
+ }
68
+ return obj['__pulumiType'] === ManagedDatabaseMysql.__pulumiType;
69
+ }
70
+ constructor(name, argsOrState, opts) {
71
+ let resourceInputs = {};
72
+ opts = opts || {};
73
+ if (opts.id) {
74
+ const state = argsOrState;
75
+ resourceInputs["components"] = state ? state.components : undefined;
76
+ resourceInputs["labels"] = state ? state.labels : undefined;
77
+ resourceInputs["maintenanceWindowDow"] = state ? state.maintenanceWindowDow : undefined;
78
+ resourceInputs["maintenanceWindowTime"] = state ? state.maintenanceWindowTime : undefined;
79
+ resourceInputs["name"] = state ? state.name : undefined;
80
+ resourceInputs["networks"] = state ? state.networks : undefined;
81
+ resourceInputs["nodeStates"] = state ? state.nodeStates : undefined;
82
+ resourceInputs["plan"] = state ? state.plan : undefined;
83
+ resourceInputs["powered"] = state ? state.powered : undefined;
84
+ resourceInputs["primaryDatabase"] = state ? state.primaryDatabase : undefined;
85
+ resourceInputs["properties"] = state ? state.properties : undefined;
86
+ resourceInputs["serviceHost"] = state ? state.serviceHost : undefined;
87
+ resourceInputs["servicePassword"] = state ? state.servicePassword : undefined;
88
+ resourceInputs["servicePort"] = state ? state.servicePort : undefined;
89
+ resourceInputs["serviceUri"] = state ? state.serviceUri : undefined;
90
+ resourceInputs["serviceUsername"] = state ? state.serviceUsername : undefined;
91
+ resourceInputs["state"] = state ? state.state : undefined;
92
+ resourceInputs["terminationProtection"] = state ? state.terminationProtection : undefined;
93
+ resourceInputs["title"] = state ? state.title : undefined;
94
+ resourceInputs["type"] = state ? state.type : undefined;
95
+ resourceInputs["zone"] = state ? state.zone : undefined;
96
+ }
97
+ else {
98
+ const args = argsOrState;
99
+ if ((!args || args.plan === undefined) && !opts.urn) {
100
+ throw new Error("Missing required property 'plan'");
101
+ }
102
+ if ((!args || args.title === undefined) && !opts.urn) {
103
+ throw new Error("Missing required property 'title'");
104
+ }
105
+ if ((!args || args.zone === undefined) && !opts.urn) {
106
+ throw new Error("Missing required property 'zone'");
107
+ }
108
+ resourceInputs["labels"] = args ? args.labels : undefined;
109
+ resourceInputs["maintenanceWindowDow"] = args ? args.maintenanceWindowDow : undefined;
110
+ resourceInputs["maintenanceWindowTime"] = args ? args.maintenanceWindowTime : undefined;
111
+ resourceInputs["name"] = args ? args.name : undefined;
112
+ resourceInputs["networks"] = args ? args.networks : undefined;
113
+ resourceInputs["plan"] = args ? args.plan : undefined;
114
+ resourceInputs["powered"] = args ? args.powered : undefined;
115
+ resourceInputs["properties"] = args ? args.properties : undefined;
116
+ resourceInputs["terminationProtection"] = args ? args.terminationProtection : undefined;
117
+ resourceInputs["title"] = args ? args.title : undefined;
118
+ resourceInputs["zone"] = args ? args.zone : undefined;
119
+ resourceInputs["components"] = undefined /*out*/;
120
+ resourceInputs["nodeStates"] = undefined /*out*/;
121
+ resourceInputs["primaryDatabase"] = undefined /*out*/;
122
+ resourceInputs["serviceHost"] = undefined /*out*/;
123
+ resourceInputs["servicePassword"] = undefined /*out*/;
124
+ resourceInputs["servicePort"] = undefined /*out*/;
125
+ resourceInputs["serviceUri"] = undefined /*out*/;
126
+ resourceInputs["serviceUsername"] = undefined /*out*/;
127
+ resourceInputs["state"] = undefined /*out*/;
128
+ resourceInputs["type"] = undefined /*out*/;
129
+ }
130
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
131
+ const secretOpts = { additionalSecretOutputs: ["servicePassword", "serviceUri"] };
132
+ opts = pulumi.mergeOptions(opts, secretOpts);
133
+ super(ManagedDatabaseMysql.__pulumiType, name, resourceInputs, opts);
134
+ }
135
+ }
136
+ exports.ManagedDatabaseMysql = ManagedDatabaseMysql;
137
+ /** @internal */
138
+ ManagedDatabaseMysql.__pulumiType = 'upcloud:index/managedDatabaseMysql:ManagedDatabaseMysql';
139
+ //# sourceMappingURL=managedDatabaseMysql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managedDatabaseMysql.js","sourceRoot":"","sources":["../managedDatabaseMysql.ts"],"names":[],"mappings":"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"}