@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,171 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * This resource represents load balancer resolver.
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as upcloud from "@upcloud/pulumi-upcloud";
10
+ *
11
+ * const config = new pulumi.Config();
12
+ * const lbZone = config.get("lbZone") || "fi-hel2";
13
+ * const lbNetwork = new upcloud.Network("lbNetwork", {
14
+ * zone: lbZone,
15
+ * ipNetwork: {
16
+ * address: "10.0.0.0/24",
17
+ * dhcp: true,
18
+ * family: "IPv4",
19
+ * },
20
+ * });
21
+ * const lb = new upcloud.Loadbalancer("lb", {
22
+ * configuredStatus: "started",
23
+ * plan: "development",
24
+ * zone: lbZone,
25
+ * network: resource.upcloud_network.lb_network.id,
26
+ * });
27
+ * const lbResolver1 = new upcloud.LoadbalancerResolver("lbResolver1", {
28
+ * loadbalancer: resource.upcloud_loadbalancer.lb.id,
29
+ * cacheInvalid: 10,
30
+ * cacheValid: 100,
31
+ * retries: 5,
32
+ * timeout: 10,
33
+ * timeoutRetry: 10,
34
+ * nameservers: ["10.0.0.10:53"],
35
+ * });
36
+ * ```
37
+ */
38
+ export declare class LoadbalancerResolver extends pulumi.CustomResource {
39
+ /**
40
+ * Get an existing LoadbalancerResolver resource's state with the given name, ID, and optional extra
41
+ * properties used to qualify the lookup.
42
+ *
43
+ * @param name The _unique_ name of the resulting resource.
44
+ * @param id The _unique_ provider ID of the resource to lookup.
45
+ * @param state Any extra arguments used during the lookup.
46
+ * @param opts Optional settings to control the behavior of the CustomResource.
47
+ */
48
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: LoadbalancerResolverState, opts?: pulumi.CustomResourceOptions): LoadbalancerResolver;
49
+ /**
50
+ * Returns true if the given object is an instance of LoadbalancerResolver. 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: any): obj is LoadbalancerResolver;
54
+ /**
55
+ * Time in seconds to cache invalid results.
56
+ */
57
+ readonly cacheInvalid: pulumi.Output<number>;
58
+ /**
59
+ * Time in seconds to cache valid results.
60
+ */
61
+ readonly cacheValid: pulumi.Output<number>;
62
+ /**
63
+ * ID of the load balancer to which the resolver is connected.
64
+ */
65
+ readonly loadbalancer: pulumi.Output<string>;
66
+ /**
67
+ * The name of the resolver. Must be unique within the service.
68
+ */
69
+ readonly name: pulumi.Output<string>;
70
+ /**
71
+ * List of nameserver IP addresses. Nameserver can reside in public internet or in customer private network. Port is
72
+ * optional, if missing then default 53 will be used.
73
+ */
74
+ readonly nameservers: pulumi.Output<string[]>;
75
+ /**
76
+ * Number of retries on failure.
77
+ */
78
+ readonly retries: pulumi.Output<number>;
79
+ /**
80
+ * Timeout for the query in seconds.
81
+ */
82
+ readonly timeout: pulumi.Output<number>;
83
+ /**
84
+ * Timeout for the query retries in seconds.
85
+ */
86
+ readonly timeoutRetry: pulumi.Output<number>;
87
+ /**
88
+ * Create a LoadbalancerResolver resource with the given unique name, arguments, and options.
89
+ *
90
+ * @param name The _unique_ name of the resource.
91
+ * @param args The arguments to use to populate this resource's properties.
92
+ * @param opts A bag of options that control this resource's behavior.
93
+ */
94
+ constructor(name: string, args: LoadbalancerResolverArgs, opts?: pulumi.CustomResourceOptions);
95
+ }
96
+ /**
97
+ * Input properties used for looking up and filtering LoadbalancerResolver resources.
98
+ */
99
+ export interface LoadbalancerResolverState {
100
+ /**
101
+ * Time in seconds to cache invalid results.
102
+ */
103
+ cacheInvalid?: pulumi.Input<number>;
104
+ /**
105
+ * Time in seconds to cache valid results.
106
+ */
107
+ cacheValid?: pulumi.Input<number>;
108
+ /**
109
+ * ID of the load balancer to which the resolver is connected.
110
+ */
111
+ loadbalancer?: pulumi.Input<string>;
112
+ /**
113
+ * The name of the resolver. Must be unique within the service.
114
+ */
115
+ name?: pulumi.Input<string>;
116
+ /**
117
+ * List of nameserver IP addresses. Nameserver can reside in public internet or in customer private network. Port is
118
+ * optional, if missing then default 53 will be used.
119
+ */
120
+ nameservers?: pulumi.Input<pulumi.Input<string>[]>;
121
+ /**
122
+ * Number of retries on failure.
123
+ */
124
+ retries?: pulumi.Input<number>;
125
+ /**
126
+ * Timeout for the query in seconds.
127
+ */
128
+ timeout?: pulumi.Input<number>;
129
+ /**
130
+ * Timeout for the query retries in seconds.
131
+ */
132
+ timeoutRetry?: pulumi.Input<number>;
133
+ }
134
+ /**
135
+ * The set of arguments for constructing a LoadbalancerResolver resource.
136
+ */
137
+ export interface LoadbalancerResolverArgs {
138
+ /**
139
+ * Time in seconds to cache invalid results.
140
+ */
141
+ cacheInvalid: pulumi.Input<number>;
142
+ /**
143
+ * Time in seconds to cache valid results.
144
+ */
145
+ cacheValid: pulumi.Input<number>;
146
+ /**
147
+ * ID of the load balancer to which the resolver is connected.
148
+ */
149
+ loadbalancer: pulumi.Input<string>;
150
+ /**
151
+ * The name of the resolver. Must be unique within the service.
152
+ */
153
+ name?: pulumi.Input<string>;
154
+ /**
155
+ * List of nameserver IP addresses. Nameserver can reside in public internet or in customer private network. Port is
156
+ * optional, if missing then default 53 will be used.
157
+ */
158
+ nameservers: pulumi.Input<pulumi.Input<string>[]>;
159
+ /**
160
+ * Number of retries on failure.
161
+ */
162
+ retries: pulumi.Input<number>;
163
+ /**
164
+ * Timeout for the query in seconds.
165
+ */
166
+ timeout: pulumi.Input<number>;
167
+ /**
168
+ * Timeout for the query retries in seconds.
169
+ */
170
+ timeoutRetry: pulumi.Input<number>;
171
+ }
@@ -0,0 +1,120 @@
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.LoadbalancerResolver = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * This resource represents load balancer resolver.
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 config = new pulumi.Config();
18
+ * const lbZone = config.get("lbZone") || "fi-hel2";
19
+ * const lbNetwork = new upcloud.Network("lbNetwork", {
20
+ * zone: lbZone,
21
+ * ipNetwork: {
22
+ * address: "10.0.0.0/24",
23
+ * dhcp: true,
24
+ * family: "IPv4",
25
+ * },
26
+ * });
27
+ * const lb = new upcloud.Loadbalancer("lb", {
28
+ * configuredStatus: "started",
29
+ * plan: "development",
30
+ * zone: lbZone,
31
+ * network: resource.upcloud_network.lb_network.id,
32
+ * });
33
+ * const lbResolver1 = new upcloud.LoadbalancerResolver("lbResolver1", {
34
+ * loadbalancer: resource.upcloud_loadbalancer.lb.id,
35
+ * cacheInvalid: 10,
36
+ * cacheValid: 100,
37
+ * retries: 5,
38
+ * timeout: 10,
39
+ * timeoutRetry: 10,
40
+ * nameservers: ["10.0.0.10:53"],
41
+ * });
42
+ * ```
43
+ */
44
+ class LoadbalancerResolver extends pulumi.CustomResource {
45
+ /**
46
+ * Get an existing LoadbalancerResolver resource's state with the given name, ID, and optional extra
47
+ * properties used to qualify the lookup.
48
+ *
49
+ * @param name The _unique_ name of the resulting resource.
50
+ * @param id The _unique_ provider ID of the resource to lookup.
51
+ * @param state Any extra arguments used during the lookup.
52
+ * @param opts Optional settings to control the behavior of the CustomResource.
53
+ */
54
+ static get(name, id, state, opts) {
55
+ return new LoadbalancerResolver(name, state, Object.assign(Object.assign({}, opts), { id: id }));
56
+ }
57
+ /**
58
+ * Returns true if the given object is an instance of LoadbalancerResolver. This is designed to work even
59
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
60
+ */
61
+ static isInstance(obj) {
62
+ if (obj === undefined || obj === null) {
63
+ return false;
64
+ }
65
+ return obj['__pulumiType'] === LoadbalancerResolver.__pulumiType;
66
+ }
67
+ constructor(name, argsOrState, opts) {
68
+ let resourceInputs = {};
69
+ opts = opts || {};
70
+ if (opts.id) {
71
+ const state = argsOrState;
72
+ resourceInputs["cacheInvalid"] = state ? state.cacheInvalid : undefined;
73
+ resourceInputs["cacheValid"] = state ? state.cacheValid : undefined;
74
+ resourceInputs["loadbalancer"] = state ? state.loadbalancer : undefined;
75
+ resourceInputs["name"] = state ? state.name : undefined;
76
+ resourceInputs["nameservers"] = state ? state.nameservers : undefined;
77
+ resourceInputs["retries"] = state ? state.retries : undefined;
78
+ resourceInputs["timeout"] = state ? state.timeout : undefined;
79
+ resourceInputs["timeoutRetry"] = state ? state.timeoutRetry : undefined;
80
+ }
81
+ else {
82
+ const args = argsOrState;
83
+ if ((!args || args.cacheInvalid === undefined) && !opts.urn) {
84
+ throw new Error("Missing required property 'cacheInvalid'");
85
+ }
86
+ if ((!args || args.cacheValid === undefined) && !opts.urn) {
87
+ throw new Error("Missing required property 'cacheValid'");
88
+ }
89
+ if ((!args || args.loadbalancer === undefined) && !opts.urn) {
90
+ throw new Error("Missing required property 'loadbalancer'");
91
+ }
92
+ if ((!args || args.nameservers === undefined) && !opts.urn) {
93
+ throw new Error("Missing required property 'nameservers'");
94
+ }
95
+ if ((!args || args.retries === undefined) && !opts.urn) {
96
+ throw new Error("Missing required property 'retries'");
97
+ }
98
+ if ((!args || args.timeout === undefined) && !opts.urn) {
99
+ throw new Error("Missing required property 'timeout'");
100
+ }
101
+ if ((!args || args.timeoutRetry === undefined) && !opts.urn) {
102
+ throw new Error("Missing required property 'timeoutRetry'");
103
+ }
104
+ resourceInputs["cacheInvalid"] = args ? args.cacheInvalid : undefined;
105
+ resourceInputs["cacheValid"] = args ? args.cacheValid : undefined;
106
+ resourceInputs["loadbalancer"] = args ? args.loadbalancer : undefined;
107
+ resourceInputs["name"] = args ? args.name : undefined;
108
+ resourceInputs["nameservers"] = args ? args.nameservers : undefined;
109
+ resourceInputs["retries"] = args ? args.retries : undefined;
110
+ resourceInputs["timeout"] = args ? args.timeout : undefined;
111
+ resourceInputs["timeoutRetry"] = args ? args.timeoutRetry : undefined;
112
+ }
113
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
114
+ super(LoadbalancerResolver.__pulumiType, name, resourceInputs, opts);
115
+ }
116
+ }
117
+ exports.LoadbalancerResolver = LoadbalancerResolver;
118
+ /** @internal */
119
+ LoadbalancerResolver.__pulumiType = 'upcloud:index/loadbalancerResolver:LoadbalancerResolver';
120
+ //# sourceMappingURL=loadbalancerResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadbalancerResolver.js","sourceRoot":"","sources":["../loadbalancerResolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,156 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * This resource represents load balancer static backend member
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as upcloud from "@upcloud/pulumi-upcloud";
10
+ *
11
+ * const config = new pulumi.Config();
12
+ * const lbZone = config.get("lbZone") || "fi-hel2";
13
+ * const lbNetwork = new upcloud.Network("lbNetwork", {
14
+ * zone: lbZone,
15
+ * ipNetwork: {
16
+ * address: "10.0.0.0/24",
17
+ * dhcp: true,
18
+ * family: "IPv4",
19
+ * },
20
+ * });
21
+ * const lb = new upcloud.Loadbalancer("lb", {
22
+ * configuredStatus: "started",
23
+ * plan: "development",
24
+ * zone: lbZone,
25
+ * network: resource.upcloud_network.lb_network.id,
26
+ * });
27
+ * const lbBe1 = new upcloud.LoadbalancerBackend("lbBe1", {loadbalancer: resource.upcloud_loadbalancer.lb.id});
28
+ * const lbBe1Sm1 = new upcloud.LoadbalancerStaticBackendMember("lbBe1Sm1", {
29
+ * backend: resource.upcloud_loadbalancer_backend.lb_be_1.id,
30
+ * ip: "10.0.0.10",
31
+ * port: 8000,
32
+ * weight: 0,
33
+ * maxSessions: 0,
34
+ * enabled: true,
35
+ * });
36
+ * ```
37
+ */
38
+ export declare class LoadbalancerStaticBackendMember extends pulumi.CustomResource {
39
+ /**
40
+ * Get an existing LoadbalancerStaticBackendMember resource's state with the given name, ID, and optional extra
41
+ * properties used to qualify the lookup.
42
+ *
43
+ * @param name The _unique_ name of the resulting resource.
44
+ * @param id The _unique_ provider ID of the resource to lookup.
45
+ * @param state Any extra arguments used during the lookup.
46
+ * @param opts Optional settings to control the behavior of the CustomResource.
47
+ */
48
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: LoadbalancerStaticBackendMemberState, opts?: pulumi.CustomResourceOptions): LoadbalancerStaticBackendMember;
49
+ /**
50
+ * Returns true if the given object is an instance of LoadbalancerStaticBackendMember. 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: any): obj is LoadbalancerStaticBackendMember;
54
+ /**
55
+ * ID of the load balancer backend to which the member is connected.
56
+ */
57
+ readonly backend: pulumi.Output<string>;
58
+ /**
59
+ * Indicates if the member is enabled. Disabled members are excluded from load balancing.
60
+ */
61
+ readonly enabled: pulumi.Output<boolean>;
62
+ /**
63
+ * Optional fallback IP address in case of failure on DNS resolving.
64
+ */
65
+ readonly ip: pulumi.Output<string>;
66
+ /**
67
+ * Maximum number of sessions before queueing.
68
+ */
69
+ readonly maxSessions: pulumi.Output<number>;
70
+ /**
71
+ * The name of the member. Must be unique within within the load balancer backend.
72
+ */
73
+ readonly name: pulumi.Output<string>;
74
+ /**
75
+ * Server port. Port is optional and can be specified in DNS SRV record.
76
+ */
77
+ readonly port: pulumi.Output<number>;
78
+ /**
79
+ * Weight of the member. The higher the weight, the more traffic the member receives.
80
+ */
81
+ readonly weight: pulumi.Output<number>;
82
+ /**
83
+ * Create a LoadbalancerStaticBackendMember resource with the given unique name, arguments, and options.
84
+ *
85
+ * @param name The _unique_ name of the resource.
86
+ * @param args The arguments to use to populate this resource's properties.
87
+ * @param opts A bag of options that control this resource's behavior.
88
+ */
89
+ constructor(name: string, args: LoadbalancerStaticBackendMemberArgs, opts?: pulumi.CustomResourceOptions);
90
+ }
91
+ /**
92
+ * Input properties used for looking up and filtering LoadbalancerStaticBackendMember resources.
93
+ */
94
+ export interface LoadbalancerStaticBackendMemberState {
95
+ /**
96
+ * ID of the load balancer backend to which the member is connected.
97
+ */
98
+ backend?: pulumi.Input<string>;
99
+ /**
100
+ * Indicates if the member is enabled. Disabled members are excluded from load balancing.
101
+ */
102
+ enabled?: pulumi.Input<boolean>;
103
+ /**
104
+ * Optional fallback IP address in case of failure on DNS resolving.
105
+ */
106
+ ip?: pulumi.Input<string>;
107
+ /**
108
+ * Maximum number of sessions before queueing.
109
+ */
110
+ maxSessions?: pulumi.Input<number>;
111
+ /**
112
+ * The name of the member. Must be unique within within the load balancer backend.
113
+ */
114
+ name?: pulumi.Input<string>;
115
+ /**
116
+ * Server port. Port is optional and can be specified in DNS SRV record.
117
+ */
118
+ port?: pulumi.Input<number>;
119
+ /**
120
+ * Weight of the member. The higher the weight, the more traffic the member receives.
121
+ */
122
+ weight?: pulumi.Input<number>;
123
+ }
124
+ /**
125
+ * The set of arguments for constructing a LoadbalancerStaticBackendMember resource.
126
+ */
127
+ export interface LoadbalancerStaticBackendMemberArgs {
128
+ /**
129
+ * ID of the load balancer backend to which the member is connected.
130
+ */
131
+ backend: pulumi.Input<string>;
132
+ /**
133
+ * Indicates if the member is enabled. Disabled members are excluded from load balancing.
134
+ */
135
+ enabled?: pulumi.Input<boolean>;
136
+ /**
137
+ * Optional fallback IP address in case of failure on DNS resolving.
138
+ */
139
+ ip?: pulumi.Input<string>;
140
+ /**
141
+ * Maximum number of sessions before queueing.
142
+ */
143
+ maxSessions: pulumi.Input<number>;
144
+ /**
145
+ * The name of the member. Must be unique within within the load balancer backend.
146
+ */
147
+ name?: pulumi.Input<string>;
148
+ /**
149
+ * Server port. Port is optional and can be specified in DNS SRV record.
150
+ */
151
+ port?: pulumi.Input<number>;
152
+ /**
153
+ * Weight of the member. The higher the weight, the more traffic the member receives.
154
+ */
155
+ weight: pulumi.Input<number>;
156
+ }
@@ -0,0 +1,106 @@
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.LoadbalancerStaticBackendMember = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * This resource represents load balancer static backend member
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 config = new pulumi.Config();
18
+ * const lbZone = config.get("lbZone") || "fi-hel2";
19
+ * const lbNetwork = new upcloud.Network("lbNetwork", {
20
+ * zone: lbZone,
21
+ * ipNetwork: {
22
+ * address: "10.0.0.0/24",
23
+ * dhcp: true,
24
+ * family: "IPv4",
25
+ * },
26
+ * });
27
+ * const lb = new upcloud.Loadbalancer("lb", {
28
+ * configuredStatus: "started",
29
+ * plan: "development",
30
+ * zone: lbZone,
31
+ * network: resource.upcloud_network.lb_network.id,
32
+ * });
33
+ * const lbBe1 = new upcloud.LoadbalancerBackend("lbBe1", {loadbalancer: resource.upcloud_loadbalancer.lb.id});
34
+ * const lbBe1Sm1 = new upcloud.LoadbalancerStaticBackendMember("lbBe1Sm1", {
35
+ * backend: resource.upcloud_loadbalancer_backend.lb_be_1.id,
36
+ * ip: "10.0.0.10",
37
+ * port: 8000,
38
+ * weight: 0,
39
+ * maxSessions: 0,
40
+ * enabled: true,
41
+ * });
42
+ * ```
43
+ */
44
+ class LoadbalancerStaticBackendMember extends pulumi.CustomResource {
45
+ /**
46
+ * Get an existing LoadbalancerStaticBackendMember resource's state with the given name, ID, and optional extra
47
+ * properties used to qualify the lookup.
48
+ *
49
+ * @param name The _unique_ name of the resulting resource.
50
+ * @param id The _unique_ provider ID of the resource to lookup.
51
+ * @param state Any extra arguments used during the lookup.
52
+ * @param opts Optional settings to control the behavior of the CustomResource.
53
+ */
54
+ static get(name, id, state, opts) {
55
+ return new LoadbalancerStaticBackendMember(name, state, Object.assign(Object.assign({}, opts), { id: id }));
56
+ }
57
+ /**
58
+ * Returns true if the given object is an instance of LoadbalancerStaticBackendMember. This is designed to work even
59
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
60
+ */
61
+ static isInstance(obj) {
62
+ if (obj === undefined || obj === null) {
63
+ return false;
64
+ }
65
+ return obj['__pulumiType'] === LoadbalancerStaticBackendMember.__pulumiType;
66
+ }
67
+ constructor(name, argsOrState, opts) {
68
+ let resourceInputs = {};
69
+ opts = opts || {};
70
+ if (opts.id) {
71
+ const state = argsOrState;
72
+ resourceInputs["backend"] = state ? state.backend : undefined;
73
+ resourceInputs["enabled"] = state ? state.enabled : undefined;
74
+ resourceInputs["ip"] = state ? state.ip : undefined;
75
+ resourceInputs["maxSessions"] = state ? state.maxSessions : undefined;
76
+ resourceInputs["name"] = state ? state.name : undefined;
77
+ resourceInputs["port"] = state ? state.port : undefined;
78
+ resourceInputs["weight"] = state ? state.weight : undefined;
79
+ }
80
+ else {
81
+ const args = argsOrState;
82
+ if ((!args || args.backend === undefined) && !opts.urn) {
83
+ throw new Error("Missing required property 'backend'");
84
+ }
85
+ if ((!args || args.maxSessions === undefined) && !opts.urn) {
86
+ throw new Error("Missing required property 'maxSessions'");
87
+ }
88
+ if ((!args || args.weight === undefined) && !opts.urn) {
89
+ throw new Error("Missing required property 'weight'");
90
+ }
91
+ resourceInputs["backend"] = args ? args.backend : undefined;
92
+ resourceInputs["enabled"] = args ? args.enabled : undefined;
93
+ resourceInputs["ip"] = args ? args.ip : undefined;
94
+ resourceInputs["maxSessions"] = args ? args.maxSessions : undefined;
95
+ resourceInputs["name"] = args ? args.name : undefined;
96
+ resourceInputs["port"] = args ? args.port : undefined;
97
+ resourceInputs["weight"] = args ? args.weight : undefined;
98
+ }
99
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
100
+ super(LoadbalancerStaticBackendMember.__pulumiType, name, resourceInputs, opts);
101
+ }
102
+ }
103
+ exports.LoadbalancerStaticBackendMember = LoadbalancerStaticBackendMember;
104
+ /** @internal */
105
+ LoadbalancerStaticBackendMember.__pulumiType = 'upcloud:index/loadbalancerStaticBackendMember:LoadbalancerStaticBackendMember';
106
+ //# sourceMappingURL=loadbalancerStaticBackendMember.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadbalancerStaticBackendMember.js","sourceRoot":"","sources":["../loadbalancerStaticBackendMember.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * This resource represents a logical database in managed database
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as upcloud from "@upcloud/pulumi-upcloud";
10
+ *
11
+ * // PostgreSQL managed database with additional logical database: example_db
12
+ * const exampleManagedDatabasePostgresql = new upcloud.ManagedDatabasePostgresql("exampleManagedDatabasePostgresql", {
13
+ * plan: "1x1xCPU-2GB-25GB",
14
+ * title: "postgres",
15
+ * zone: "fi-hel1",
16
+ * });
17
+ * const exampleDb = new upcloud.ManagedDatabaseLogicalDatabase("exampleDb", {service: exampleManagedDatabasePostgresql.id});
18
+ * // MySQL managed database with additional logical database: example2_db
19
+ * const exampleManagedDatabaseMysql = new upcloud.ManagedDatabaseMysql("exampleManagedDatabaseMysql", {
20
+ * plan: "1x1xCPU-2GB-25GB",
21
+ * title: "mysql",
22
+ * zone: "fi-hel1",
23
+ * });
24
+ * const example2Db = new upcloud.ManagedDatabaseLogicalDatabase("example2Db", {service: exampleManagedDatabaseMysql.id});
25
+ * ```
26
+ */
27
+ export declare class ManagedDatabaseLogicalDatabase extends pulumi.CustomResource {
28
+ /**
29
+ * Get an existing ManagedDatabaseLogicalDatabase resource's state with the given name, ID, and optional extra
30
+ * properties used to qualify the lookup.
31
+ *
32
+ * @param name The _unique_ name of the resulting resource.
33
+ * @param id The _unique_ provider ID of the resource to lookup.
34
+ * @param state Any extra arguments used during the lookup.
35
+ * @param opts Optional settings to control the behavior of the CustomResource.
36
+ */
37
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ManagedDatabaseLogicalDatabaseState, opts?: pulumi.CustomResourceOptions): ManagedDatabaseLogicalDatabase;
38
+ /**
39
+ * Returns true if the given object is an instance of ManagedDatabaseLogicalDatabase. This is designed to work even
40
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
41
+ */
42
+ static isInstance(obj: any): obj is ManagedDatabaseLogicalDatabase;
43
+ /**
44
+ * Default character set for the database (LC_CTYPE)
45
+ */
46
+ readonly characterSet: pulumi.Output<string>;
47
+ /**
48
+ * Default collation for the database (LC_COLLATE)
49
+ */
50
+ readonly collation: pulumi.Output<string>;
51
+ /**
52
+ * Name of the logical database
53
+ */
54
+ readonly name: pulumi.Output<string>;
55
+ /**
56
+ * Service's UUID for which this user belongs to
57
+ */
58
+ readonly service: pulumi.Output<string>;
59
+ /**
60
+ * Create a ManagedDatabaseLogicalDatabase resource with the given unique name, arguments, and options.
61
+ *
62
+ * @param name The _unique_ name of the resource.
63
+ * @param args The arguments to use to populate this resource's properties.
64
+ * @param opts A bag of options that control this resource's behavior.
65
+ */
66
+ constructor(name: string, args: ManagedDatabaseLogicalDatabaseArgs, opts?: pulumi.CustomResourceOptions);
67
+ }
68
+ /**
69
+ * Input properties used for looking up and filtering ManagedDatabaseLogicalDatabase resources.
70
+ */
71
+ export interface ManagedDatabaseLogicalDatabaseState {
72
+ /**
73
+ * Default character set for the database (LC_CTYPE)
74
+ */
75
+ characterSet?: pulumi.Input<string>;
76
+ /**
77
+ * Default collation for the database (LC_COLLATE)
78
+ */
79
+ collation?: pulumi.Input<string>;
80
+ /**
81
+ * Name of the logical database
82
+ */
83
+ name?: pulumi.Input<string>;
84
+ /**
85
+ * Service's UUID for which this user belongs to
86
+ */
87
+ service?: pulumi.Input<string>;
88
+ }
89
+ /**
90
+ * The set of arguments for constructing a ManagedDatabaseLogicalDatabase resource.
91
+ */
92
+ export interface ManagedDatabaseLogicalDatabaseArgs {
93
+ /**
94
+ * Default character set for the database (LC_CTYPE)
95
+ */
96
+ characterSet?: pulumi.Input<string>;
97
+ /**
98
+ * Default collation for the database (LC_COLLATE)
99
+ */
100
+ collation?: pulumi.Input<string>;
101
+ /**
102
+ * Name of the logical database
103
+ */
104
+ name?: pulumi.Input<string>;
105
+ /**
106
+ * Service's UUID for which this user belongs to
107
+ */
108
+ service: pulumi.Input<string>;
109
+ }