@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,196 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * > The `upcloud.ObjectStorage` resource manages previous generatation object storage instances that will reach end of life (EOL) by the end of 2024. For new instances, consider using the new Object Storage product managed with `upcloud.ManagedObjectStorage` resource.
6
+ *
7
+ * This resource represents an UpCloud Object Storage instance, which provides S3 compatible storage.
8
+ *
9
+ * ## Example Usage
10
+ *
11
+ * ```typescript
12
+ * import * as pulumi from "@pulumi/pulumi";
13
+ * import * as upcloud from "@upcloud/pulumi-upcloud";
14
+ *
15
+ * // Object storage instance called storage-name in the fi-hel2 zone, with 2 buckets called "products" and "images".
16
+ * const myObjectStorage = new upcloud.ObjectStorage("myObjectStorage", {
17
+ * accessKey: "admin",
18
+ * buckets: [
19
+ * {
20
+ * name: "products",
21
+ * },
22
+ * {
23
+ * name: "images",
24
+ * },
25
+ * ],
26
+ * description: "catalogue",
27
+ * secretKey: "changeme",
28
+ * size: 250,
29
+ * zone: "fi-hel2",
30
+ * });
31
+ * // The zone in wgich to create the instance
32
+ * ```
33
+ *
34
+ * ## Import
35
+ *
36
+ * For object storage import to work properly, you need to set environment variables for access and secret key.
37
+ *
38
+ * The environment variables names are UPCLOUD_OBJECT_STORAGE_ACCESS_KEY_{name} and UPCLOUD_OBJECT_STORAGE_SECRET_KEY_{name}
39
+ *
40
+ * where {name} is the name of your object storage instance (not the resource label!), all uppercased, and with all dashes (-)
41
+ *
42
+ * replaced with underscores (_). So importing an object storage that is named "my-storage" will look like this:
43
+ *
44
+ * UPCLOUD_OBJECT_STORAGE_ACCESS_KEY_MY_STORAGE=accesskey \
45
+ *
46
+ * UPCLOUD_OBJECT_STORAGE_SECRET_KEY_MY_STORAGE=supersecret \
47
+ *
48
+ * ```sh
49
+ * $ pulumi import upcloud:index/objectStorage:ObjectStorage example_storage 06c1f4b6-faf2-47d0-8896-1d941092b009
50
+ * ```
51
+ */
52
+ export declare class ObjectStorage extends pulumi.CustomResource {
53
+ /**
54
+ * Get an existing ObjectStorage resource's state with the given name, ID, and optional extra
55
+ * properties used to qualify the lookup.
56
+ *
57
+ * @param name The _unique_ name of the resulting resource.
58
+ * @param id The _unique_ provider ID of the resource to lookup.
59
+ * @param state Any extra arguments used during the lookup.
60
+ * @param opts Optional settings to control the behavior of the CustomResource.
61
+ */
62
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ObjectStorageState, opts?: pulumi.CustomResourceOptions): ObjectStorage;
63
+ /**
64
+ * Returns true if the given object is an instance of ObjectStorage. This is designed to work even
65
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
66
+ */
67
+ static isInstance(obj: any): obj is ObjectStorage;
68
+ /**
69
+ * The access key used to identify user. Can be set to an empty string, which will tell the provider to get the access key
70
+ * from environment variable. The environment variable should be "UPCLOUD_OBJECT_STORAGE_ACCESS_KEY_{name}". {name} is the
71
+ * name given to object storage instance (so not the resource label), it should be all uppercased and all dashes (-) should
72
+ * be replaced with underscores (_). For example, object storage named "my-files" would use environment variable named
73
+ * "UPCLOUD_OBJECT_STORAGE_ACCESS_KEY_MY_FILES".
74
+ */
75
+ readonly accessKey: pulumi.Output<string>;
76
+ readonly buckets: pulumi.Output<outputs.ObjectStorageBucket[] | undefined>;
77
+ readonly created: pulumi.Output<string>;
78
+ /**
79
+ * The description of the object storage instance to be created
80
+ */
81
+ readonly description: pulumi.Output<string>;
82
+ /**
83
+ * The name of the object storage instance to be created
84
+ */
85
+ readonly name: pulumi.Output<string>;
86
+ /**
87
+ * The secret key used to authenticate user. Can be set to an empty string, which will tell the provider to get the secret
88
+ * key from environment variable. The environment variable should be "UPCLOUD_OBJECT_STORAGE_SECRET_KEY_{name}". {name} is
89
+ * the name given to object storage instance (so not the resource label), it should be all uppercased and all dashes (-)
90
+ * should be replaced with underscores (_). For example, object storage named "my-files" would use environment variable
91
+ * named "UPCLOUD_OBJECT_STORAGE_SECRET_KEY_MY_FILES".
92
+ */
93
+ readonly secretKey: pulumi.Output<string>;
94
+ /**
95
+ * The size of the object storage instance in gigabytes
96
+ */
97
+ readonly size: pulumi.Output<number>;
98
+ readonly state: pulumi.Output<string>;
99
+ readonly url: pulumi.Output<string>;
100
+ readonly usedSpace: pulumi.Output<number>;
101
+ /**
102
+ * The zone in which the object storage instance will be created, e.g. `de-fra1`. You can list available zones with `upctl
103
+ * zone list`.
104
+ */
105
+ readonly zone: pulumi.Output<string>;
106
+ /**
107
+ * Create a ObjectStorage resource with the given unique name, arguments, and options.
108
+ *
109
+ * @param name The _unique_ name of the resource.
110
+ * @param args The arguments to use to populate this resource's properties.
111
+ * @param opts A bag of options that control this resource's behavior.
112
+ */
113
+ constructor(name: string, args: ObjectStorageArgs, opts?: pulumi.CustomResourceOptions);
114
+ }
115
+ /**
116
+ * Input properties used for looking up and filtering ObjectStorage resources.
117
+ */
118
+ export interface ObjectStorageState {
119
+ /**
120
+ * The access key used to identify user. Can be set to an empty string, which will tell the provider to get the access key
121
+ * from environment variable. The environment variable should be "UPCLOUD_OBJECT_STORAGE_ACCESS_KEY_{name}". {name} is the
122
+ * name given to object storage instance (so not the resource label), it should be all uppercased and all dashes (-) should
123
+ * be replaced with underscores (_). For example, object storage named "my-files" would use environment variable named
124
+ * "UPCLOUD_OBJECT_STORAGE_ACCESS_KEY_MY_FILES".
125
+ */
126
+ accessKey?: pulumi.Input<string>;
127
+ buckets?: pulumi.Input<pulumi.Input<inputs.ObjectStorageBucket>[]>;
128
+ created?: pulumi.Input<string>;
129
+ /**
130
+ * The description of the object storage instance to be created
131
+ */
132
+ description?: pulumi.Input<string>;
133
+ /**
134
+ * The name of the object storage instance to be created
135
+ */
136
+ name?: pulumi.Input<string>;
137
+ /**
138
+ * The secret key used to authenticate user. Can be set to an empty string, which will tell the provider to get the secret
139
+ * key from environment variable. The environment variable should be "UPCLOUD_OBJECT_STORAGE_SECRET_KEY_{name}". {name} is
140
+ * the name given to object storage instance (so not the resource label), it should be all uppercased and all dashes (-)
141
+ * should be replaced with underscores (_). For example, object storage named "my-files" would use environment variable
142
+ * named "UPCLOUD_OBJECT_STORAGE_SECRET_KEY_MY_FILES".
143
+ */
144
+ secretKey?: pulumi.Input<string>;
145
+ /**
146
+ * The size of the object storage instance in gigabytes
147
+ */
148
+ size?: pulumi.Input<number>;
149
+ state?: pulumi.Input<string>;
150
+ url?: pulumi.Input<string>;
151
+ usedSpace?: pulumi.Input<number>;
152
+ /**
153
+ * The zone in which the object storage instance will be created, e.g. `de-fra1`. You can list available zones with `upctl
154
+ * zone list`.
155
+ */
156
+ zone?: pulumi.Input<string>;
157
+ }
158
+ /**
159
+ * The set of arguments for constructing a ObjectStorage resource.
160
+ */
161
+ export interface ObjectStorageArgs {
162
+ /**
163
+ * The access key used to identify user. Can be set to an empty string, which will tell the provider to get the access key
164
+ * from environment variable. The environment variable should be "UPCLOUD_OBJECT_STORAGE_ACCESS_KEY_{name}". {name} is the
165
+ * name given to object storage instance (so not the resource label), it should be all uppercased and all dashes (-) should
166
+ * be replaced with underscores (_). For example, object storage named "my-files" would use environment variable named
167
+ * "UPCLOUD_OBJECT_STORAGE_ACCESS_KEY_MY_FILES".
168
+ */
169
+ accessKey: pulumi.Input<string>;
170
+ buckets?: pulumi.Input<pulumi.Input<inputs.ObjectStorageBucket>[]>;
171
+ /**
172
+ * The description of the object storage instance to be created
173
+ */
174
+ description: pulumi.Input<string>;
175
+ /**
176
+ * The name of the object storage instance to be created
177
+ */
178
+ name?: pulumi.Input<string>;
179
+ /**
180
+ * The secret key used to authenticate user. Can be set to an empty string, which will tell the provider to get the secret
181
+ * key from environment variable. The environment variable should be "UPCLOUD_OBJECT_STORAGE_SECRET_KEY_{name}". {name} is
182
+ * the name given to object storage instance (so not the resource label), it should be all uppercased and all dashes (-)
183
+ * should be replaced with underscores (_). For example, object storage named "my-files" would use environment variable
184
+ * named "UPCLOUD_OBJECT_STORAGE_SECRET_KEY_MY_FILES".
185
+ */
186
+ secretKey: pulumi.Input<string>;
187
+ /**
188
+ * The size of the object storage instance in gigabytes
189
+ */
190
+ size: pulumi.Input<number>;
191
+ /**
192
+ * The zone in which the object storage instance will be created, e.g. `de-fra1`. You can list available zones with `upctl
193
+ * zone list`.
194
+ */
195
+ zone: pulumi.Input<string>;
196
+ }
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.ObjectStorage = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * > The `upcloud.ObjectStorage` resource manages previous generatation object storage instances that will reach end of life (EOL) by the end of 2024. For new instances, consider using the new Object Storage product managed with `upcloud.ManagedObjectStorage` resource.
10
+ *
11
+ * This resource represents an UpCloud Object Storage instance, which provides S3 compatible storage.
12
+ *
13
+ * ## Example Usage
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as upcloud from "@upcloud/pulumi-upcloud";
18
+ *
19
+ * // Object storage instance called storage-name in the fi-hel2 zone, with 2 buckets called "products" and "images".
20
+ * const myObjectStorage = new upcloud.ObjectStorage("myObjectStorage", {
21
+ * accessKey: "admin",
22
+ * buckets: [
23
+ * {
24
+ * name: "products",
25
+ * },
26
+ * {
27
+ * name: "images",
28
+ * },
29
+ * ],
30
+ * description: "catalogue",
31
+ * secretKey: "changeme",
32
+ * size: 250,
33
+ * zone: "fi-hel2",
34
+ * });
35
+ * // The zone in wgich to create the instance
36
+ * ```
37
+ *
38
+ * ## Import
39
+ *
40
+ * For object storage import to work properly, you need to set environment variables for access and secret key.
41
+ *
42
+ * The environment variables names are UPCLOUD_OBJECT_STORAGE_ACCESS_KEY_{name} and UPCLOUD_OBJECT_STORAGE_SECRET_KEY_{name}
43
+ *
44
+ * where {name} is the name of your object storage instance (not the resource label!), all uppercased, and with all dashes (-)
45
+ *
46
+ * replaced with underscores (_). So importing an object storage that is named "my-storage" will look like this:
47
+ *
48
+ * UPCLOUD_OBJECT_STORAGE_ACCESS_KEY_MY_STORAGE=accesskey \
49
+ *
50
+ * UPCLOUD_OBJECT_STORAGE_SECRET_KEY_MY_STORAGE=supersecret \
51
+ *
52
+ * ```sh
53
+ * $ pulumi import upcloud:index/objectStorage:ObjectStorage example_storage 06c1f4b6-faf2-47d0-8896-1d941092b009
54
+ * ```
55
+ */
56
+ class ObjectStorage extends pulumi.CustomResource {
57
+ /**
58
+ * Get an existing ObjectStorage resource's state with the given name, ID, and optional extra
59
+ * properties used to qualify the lookup.
60
+ *
61
+ * @param name The _unique_ name of the resulting resource.
62
+ * @param id The _unique_ provider ID of the resource to lookup.
63
+ * @param state Any extra arguments used during the lookup.
64
+ * @param opts Optional settings to control the behavior of the CustomResource.
65
+ */
66
+ static get(name, id, state, opts) {
67
+ return new ObjectStorage(name, state, Object.assign(Object.assign({}, opts), { id: id }));
68
+ }
69
+ /**
70
+ * Returns true if the given object is an instance of ObjectStorage. This is designed to work even
71
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
72
+ */
73
+ static isInstance(obj) {
74
+ if (obj === undefined || obj === null) {
75
+ return false;
76
+ }
77
+ return obj['__pulumiType'] === ObjectStorage.__pulumiType;
78
+ }
79
+ constructor(name, argsOrState, opts) {
80
+ let resourceInputs = {};
81
+ opts = opts || {};
82
+ if (opts.id) {
83
+ const state = argsOrState;
84
+ resourceInputs["accessKey"] = state ? state.accessKey : undefined;
85
+ resourceInputs["buckets"] = state ? state.buckets : undefined;
86
+ resourceInputs["created"] = state ? state.created : undefined;
87
+ resourceInputs["description"] = state ? state.description : undefined;
88
+ resourceInputs["name"] = state ? state.name : undefined;
89
+ resourceInputs["secretKey"] = state ? state.secretKey : undefined;
90
+ resourceInputs["size"] = state ? state.size : undefined;
91
+ resourceInputs["state"] = state ? state.state : undefined;
92
+ resourceInputs["url"] = state ? state.url : undefined;
93
+ resourceInputs["usedSpace"] = state ? state.usedSpace : undefined;
94
+ resourceInputs["zone"] = state ? state.zone : undefined;
95
+ }
96
+ else {
97
+ const args = argsOrState;
98
+ if ((!args || args.accessKey === undefined) && !opts.urn) {
99
+ throw new Error("Missing required property 'accessKey'");
100
+ }
101
+ if ((!args || args.description === undefined) && !opts.urn) {
102
+ throw new Error("Missing required property 'description'");
103
+ }
104
+ if ((!args || args.secretKey === undefined) && !opts.urn) {
105
+ throw new Error("Missing required property 'secretKey'");
106
+ }
107
+ if ((!args || args.size === undefined) && !opts.urn) {
108
+ throw new Error("Missing required property 'size'");
109
+ }
110
+ if ((!args || args.zone === undefined) && !opts.urn) {
111
+ throw new Error("Missing required property 'zone'");
112
+ }
113
+ resourceInputs["accessKey"] = args ? args.accessKey : undefined;
114
+ resourceInputs["buckets"] = args ? args.buckets : undefined;
115
+ resourceInputs["description"] = args ? args.description : undefined;
116
+ resourceInputs["name"] = args ? args.name : undefined;
117
+ resourceInputs["secretKey"] = args ? args.secretKey : undefined;
118
+ resourceInputs["size"] = args ? args.size : undefined;
119
+ resourceInputs["zone"] = args ? args.zone : undefined;
120
+ resourceInputs["created"] = undefined /*out*/;
121
+ resourceInputs["state"] = undefined /*out*/;
122
+ resourceInputs["url"] = undefined /*out*/;
123
+ resourceInputs["usedSpace"] = undefined /*out*/;
124
+ }
125
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
126
+ super(ObjectStorage.__pulumiType, name, resourceInputs, opts);
127
+ }
128
+ }
129
+ exports.ObjectStorage = ObjectStorage;
130
+ /** @internal */
131
+ ObjectStorage.__pulumiType = 'upcloud:index/objectStorage:ObjectStorage';
132
+ //# sourceMappingURL=objectStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectStorage.js","sourceRoot":"","sources":["../objectStorage.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "@upcloud/pulumi-upcloud",
3
+ "version": "0.0.5",
4
+ "description": "A Pulumi package for creating and managing UpCloud resources.",
5
+ "keywords": [
6
+ "UpCloud",
7
+ "category/cloud"
8
+ ],
9
+ "homepage": "https://upcloud.com",
10
+ "repository": "https://github.com/UpCloudLtd/pulumi-upcloud",
11
+ "license": "Apache-2.0",
12
+ "scripts": {
13
+ "build": "tsc"
14
+ },
15
+ "dependencies": {
16
+ "@pulumi/pulumi": "^3.142.0"
17
+ },
18
+ "devDependencies": {
19
+ "@types/mime": "^2.0.0",
20
+ "@types/node": "^10.0.0",
21
+ "typescript": "^4.3.5"
22
+ },
23
+ "pulumi": {
24
+ "resource": true,
25
+ "name": "upcloud",
26
+ "version": "0.0.5",
27
+ "server": "github://api.github.com/UpCloudLtd/pulumi-upcloud"
28
+ }
29
+ }
package/provider.d.ts ADDED
@@ -0,0 +1,60 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * The provider type for the upcloud package. By default, resources use package-wide configuration
4
+ * settings, however an explicit `Provider` instance may be created and passed during resource
5
+ * construction to achieve fine-grained programmatic control over provider settings. See the
6
+ * [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.
7
+ */
8
+ export declare class Provider extends pulumi.ProviderResource {
9
+ /**
10
+ * Returns true if the given object is an instance of Provider. This is designed to work even
11
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
12
+ */
13
+ static isInstance(obj: any): obj is Provider;
14
+ /**
15
+ * Password for UpCloud API user. Can also be configured using the `UPCLOUD_PASSWORD` environment variable.
16
+ */
17
+ readonly password: pulumi.Output<string | undefined>;
18
+ /**
19
+ * UpCloud username with API access. Can also be configured using the `UPCLOUD_USERNAME` environment variable.
20
+ */
21
+ readonly username: pulumi.Output<string | undefined>;
22
+ /**
23
+ * Create a Provider resource with the given unique name, arguments, and options.
24
+ *
25
+ * @param name The _unique_ name of the resource.
26
+ * @param args The arguments to use to populate this resource's properties.
27
+ * @param opts A bag of options that control this resource's behavior.
28
+ */
29
+ constructor(name: string, args?: ProviderArgs, opts?: pulumi.ResourceOptions);
30
+ }
31
+ /**
32
+ * The set of arguments for constructing a Provider resource.
33
+ */
34
+ export interface ProviderArgs {
35
+ /**
36
+ * Password for UpCloud API user. Can also be configured using the `UPCLOUD_PASSWORD` environment variable.
37
+ */
38
+ password?: pulumi.Input<string>;
39
+ /**
40
+ * The duration (in seconds) that the provider waits for an HTTP request towards UpCloud API to complete. Defaults to 120
41
+ * seconds
42
+ */
43
+ requestTimeoutSec?: pulumi.Input<number>;
44
+ /**
45
+ * Maximum number of retries
46
+ */
47
+ retryMax?: pulumi.Input<number>;
48
+ /**
49
+ * Maximum time to wait between retries
50
+ */
51
+ retryWaitMaxSec?: pulumi.Input<number>;
52
+ /**
53
+ * Minimum time to wait between retries
54
+ */
55
+ retryWaitMinSec?: pulumi.Input<number>;
56
+ /**
57
+ * UpCloud username with API access. Can also be configured using the `UPCLOUD_USERNAME` environment variable.
58
+ */
59
+ username?: pulumi.Input<string>;
60
+ }
package/provider.js ADDED
@@ -0,0 +1,50 @@
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.Provider = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * The provider type for the upcloud package. By default, resources use package-wide configuration
10
+ * settings, however an explicit `Provider` instance may be created and passed during resource
11
+ * construction to achieve fine-grained programmatic control over provider settings. See the
12
+ * [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.
13
+ */
14
+ class Provider extends pulumi.ProviderResource {
15
+ /**
16
+ * Returns true if the given object is an instance of Provider. This is designed to work even
17
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
18
+ */
19
+ static isInstance(obj) {
20
+ if (obj === undefined || obj === null) {
21
+ return false;
22
+ }
23
+ return obj['__pulumiType'] === "pulumi:providers:" + Provider.__pulumiType;
24
+ }
25
+ /**
26
+ * Create a Provider resource with the given unique name, arguments, and options.
27
+ *
28
+ * @param name The _unique_ name of the resource.
29
+ * @param args The arguments to use to populate this resource's properties.
30
+ * @param opts A bag of options that control this resource's behavior.
31
+ */
32
+ constructor(name, args, opts) {
33
+ let resourceInputs = {};
34
+ opts = opts || {};
35
+ {
36
+ resourceInputs["password"] = args ? args.password : undefined;
37
+ resourceInputs["requestTimeoutSec"] = pulumi.output(args ? args.requestTimeoutSec : undefined).apply(JSON.stringify);
38
+ resourceInputs["retryMax"] = pulumi.output(args ? args.retryMax : undefined).apply(JSON.stringify);
39
+ resourceInputs["retryWaitMaxSec"] = pulumi.output(args ? args.retryWaitMaxSec : undefined).apply(JSON.stringify);
40
+ resourceInputs["retryWaitMinSec"] = pulumi.output(args ? args.retryWaitMinSec : undefined).apply(JSON.stringify);
41
+ resourceInputs["username"] = args ? args.username : undefined;
42
+ }
43
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
44
+ super(Provider.__pulumiType, name, resourceInputs, opts);
45
+ }
46
+ }
47
+ exports.Provider = Provider;
48
+ /** @internal */
49
+ Provider.__pulumiType = 'upcloud';
50
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../provider.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;GAKG;AACH,MAAa,QAAS,SAAQ,MAAM,CAAC,gBAAgB;IAIjD;;;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,mBAAmB,GAAG,QAAQ,CAAC,YAAY,CAAC;IAC/E,CAAC;IAWD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAAmB,EAAE,IAA6B;QACxE,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB;YACI,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrH,cAAc,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnG,cAAc,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjH,cAAc,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjH,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;SACjE;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;;AA5CL,4BA6CC;AA5CG,gBAAgB;AACO,qBAAY,GAAG,SAAS,CAAC"}
package/router.d.ts ADDED
@@ -0,0 +1,124 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * Routers can be used to connect multiple Private Networks. UpCloud Servers on any attached network can communicate directly with each other.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as upcloud from "@upcloud/pulumi-upcloud";
12
+ *
13
+ * const myExampleRouter = new upcloud.Router("myExampleRouter", {});
14
+ * ```
15
+ *
16
+ * ## Import
17
+ *
18
+ * ```sh
19
+ * $ pulumi import upcloud:index/router:Router my_example_router 049d7ca2-757e-4fb1-a833-f87ee056547a
20
+ * ```
21
+ */
22
+ export declare class Router extends pulumi.CustomResource {
23
+ /**
24
+ * Get an existing Router resource's state with the given name, ID, and optional extra
25
+ * properties used to qualify the lookup.
26
+ *
27
+ * @param name The _unique_ name of the resulting resource.
28
+ * @param id The _unique_ provider ID of the resource to lookup.
29
+ * @param state Any extra arguments used during the lookup.
30
+ * @param opts Optional settings to control the behavior of the CustomResource.
31
+ */
32
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RouterState, opts?: pulumi.CustomResourceOptions): Router;
33
+ /**
34
+ * Returns true if the given object is an instance of Router. This is designed to work even
35
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
36
+ */
37
+ static isInstance(obj: any): obj is Router;
38
+ /**
39
+ * List of UUIDs representing networks attached to this router.
40
+ */
41
+ readonly attachedNetworks: pulumi.Output<string[]>;
42
+ /**
43
+ * User defined key-value pairs to classify the router.
44
+ */
45
+ readonly labels: pulumi.Output<{
46
+ [key: string]: string;
47
+ }>;
48
+ /**
49
+ * Name of the router.
50
+ */
51
+ readonly name: pulumi.Output<string>;
52
+ /**
53
+ * A collection of user managed static routes for this router.
54
+ */
55
+ readonly staticRoute: pulumi.Output<outputs.RouterStaticRoute[] | undefined>;
56
+ /**
57
+ * A collection of static routes for this router. This set includes both user and service defined static routes. The
58
+ * objects in this set use the same schema as `staticRoute` blocks.
59
+ */
60
+ readonly staticRoutes: pulumi.Output<outputs.RouterStaticRoute[]>;
61
+ /**
62
+ * Type of the router
63
+ */
64
+ readonly type: pulumi.Output<string>;
65
+ /**
66
+ * Create a Router resource with the given unique name, arguments, and options.
67
+ *
68
+ * @param name The _unique_ name of the resource.
69
+ * @param args The arguments to use to populate this resource's properties.
70
+ * @param opts A bag of options that control this resource's behavior.
71
+ */
72
+ constructor(name: string, args?: RouterArgs, opts?: pulumi.CustomResourceOptions);
73
+ }
74
+ /**
75
+ * Input properties used for looking up and filtering Router resources.
76
+ */
77
+ export interface RouterState {
78
+ /**
79
+ * List of UUIDs representing networks attached to this router.
80
+ */
81
+ attachedNetworks?: pulumi.Input<pulumi.Input<string>[]>;
82
+ /**
83
+ * User defined key-value pairs to classify the router.
84
+ */
85
+ labels?: pulumi.Input<{
86
+ [key: string]: pulumi.Input<string>;
87
+ }>;
88
+ /**
89
+ * Name of the router.
90
+ */
91
+ name?: pulumi.Input<string>;
92
+ /**
93
+ * A collection of user managed static routes for this router.
94
+ */
95
+ staticRoute?: pulumi.Input<pulumi.Input<inputs.RouterStaticRoute>[]>;
96
+ /**
97
+ * A collection of static routes for this router. This set includes both user and service defined static routes. The
98
+ * objects in this set use the same schema as `staticRoute` blocks.
99
+ */
100
+ staticRoutes?: pulumi.Input<pulumi.Input<inputs.RouterStaticRoute>[]>;
101
+ /**
102
+ * Type of the router
103
+ */
104
+ type?: pulumi.Input<string>;
105
+ }
106
+ /**
107
+ * The set of arguments for constructing a Router resource.
108
+ */
109
+ export interface RouterArgs {
110
+ /**
111
+ * User defined key-value pairs to classify the router.
112
+ */
113
+ labels?: pulumi.Input<{
114
+ [key: string]: pulumi.Input<string>;
115
+ }>;
116
+ /**
117
+ * Name of the router.
118
+ */
119
+ name?: pulumi.Input<string>;
120
+ /**
121
+ * A collection of user managed static routes for this router.
122
+ */
123
+ staticRoute?: pulumi.Input<pulumi.Input<inputs.RouterStaticRoute>[]>;
124
+ }