@pulumi/digitalocean 4.7.0-alpha.1633346817

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 (240) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +68 -0
  3. package/app.d.ts +203 -0
  4. package/app.js +174 -0
  5. package/app.js.map +1 -0
  6. package/cdn.d.ts +169 -0
  7. package/cdn.js +116 -0
  8. package/cdn.js.map +1 -0
  9. package/certificate.d.ts +225 -0
  10. package/certificate.js +137 -0
  11. package/certificate.js.map +1 -0
  12. package/config/index.d.ts +1 -0
  13. package/config/index.js +10 -0
  14. package/config/index.js.map +1 -0
  15. package/config/vars.d.ts +20 -0
  16. package/config/vars.js +28 -0
  17. package/config/vars.js.map +1 -0
  18. package/containerRegistry.d.ts +88 -0
  19. package/containerRegistry.js +83 -0
  20. package/containerRegistry.js.map +1 -0
  21. package/containerRegistryDockerCredentials.d.ts +108 -0
  22. package/containerRegistryDockerCredentials.js +93 -0
  23. package/containerRegistryDockerCredentials.js.map +1 -0
  24. package/customImage.d.ts +155 -0
  25. package/customImage.js +113 -0
  26. package/customImage.js.map +1 -0
  27. package/databaseCluster.d.ts +306 -0
  28. package/databaseCluster.js +165 -0
  29. package/databaseCluster.js.map +1 -0
  30. package/databaseConnectionPool.d.ts +189 -0
  31. package/databaseConnectionPool.js +120 -0
  32. package/databaseConnectionPool.js.map +1 -0
  33. package/databaseDb.d.ts +87 -0
  34. package/databaseDb.js +82 -0
  35. package/databaseDb.js.map +1 -0
  36. package/databaseFirewall.d.ts +129 -0
  37. package/databaseFirewall.js +126 -0
  38. package/databaseFirewall.js.map +1 -0
  39. package/databaseReplica.d.ts +204 -0
  40. package/databaseReplica.js +110 -0
  41. package/databaseReplica.js.map +1 -0
  42. package/databaseUser.d.ts +117 -0
  43. package/databaseUser.js +90 -0
  44. package/databaseUser.js.map +1 -0
  45. package/dnsRecord.d.ts +200 -0
  46. package/dnsRecord.js +114 -0
  47. package/dnsRecord.js.map +1 -0
  48. package/domain.d.ts +103 -0
  49. package/domain.js +83 -0
  50. package/domain.js.map +1 -0
  51. package/droplet.d.ts +386 -0
  52. package/droplet.js +137 -0
  53. package/droplet.js.map +1 -0
  54. package/dropletSnapshot.d.ts +117 -0
  55. package/dropletSnapshot.js +88 -0
  56. package/dropletSnapshot.js.map +1 -0
  57. package/firewall.d.ts +226 -0
  58. package/firewall.js +150 -0
  59. package/firewall.js.map +1 -0
  60. package/floatingIp.d.ts +112 -0
  61. package/floatingIp.js +91 -0
  62. package/floatingIp.js.map +1 -0
  63. package/floatingIpAssignment.d.ts +85 -0
  64. package/floatingIpAssignment.js +83 -0
  65. package/floatingIpAssignment.js.map +1 -0
  66. package/getAccount.d.ts +32 -0
  67. package/getAccount.js +31 -0
  68. package/getAccount.js.map +1 -0
  69. package/getApp.d.ts +63 -0
  70. package/getApp.js +36 -0
  71. package/getApp.js.map +1 -0
  72. package/getCertificate.d.ts +48 -0
  73. package/getCertificate.js +40 -0
  74. package/getCertificate.js.map +1 -0
  75. package/getContainerRegistry.d.ts +54 -0
  76. package/getContainerRegistry.js +41 -0
  77. package/getContainerRegistry.js.map +1 -0
  78. package/getDatabaseCluster.d.ts +103 -0
  79. package/getDatabaseCluster.js +35 -0
  80. package/getDatabaseCluster.js.map +1 -0
  81. package/getDatabaseReplica.d.ts +87 -0
  82. package/getDatabaseReplica.js +40 -0
  83. package/getDatabaseReplica.js.map +1 -0
  84. package/getDomain.d.ts +37 -0
  85. package/getDomain.js +28 -0
  86. package/getDomain.js.map +1 -0
  87. package/getDomains.d.ts +61 -0
  88. package/getDomains.js +49 -0
  89. package/getDomains.js.map +1 -0
  90. package/getDroplet.d.ts +161 -0
  91. package/getDroplet.js +67 -0
  92. package/getDroplet.js.map +1 -0
  93. package/getDropletSnapshot.d.ts +76 -0
  94. package/getDropletSnapshot.js +43 -0
  95. package/getDropletSnapshot.js.map +1 -0
  96. package/getDroplets.d.ts +85 -0
  97. package/getDroplets.js +73 -0
  98. package/getDroplets.js.map +1 -0
  99. package/getFirewall.d.ts +83 -0
  100. package/getFirewall.js +40 -0
  101. package/getFirewall.js.map +1 -0
  102. package/getFloatingIp.d.ts +48 -0
  103. package/getFloatingIp.js +43 -0
  104. package/getFloatingIp.js.map +1 -0
  105. package/getImage.d.ts +110 -0
  106. package/getImage.js +71 -0
  107. package/getImage.js.map +1 -0
  108. package/getImages.d.ts +90 -0
  109. package/getImages.js +74 -0
  110. package/getImages.js.map +1 -0
  111. package/getKubernetesCluster.d.ts +95 -0
  112. package/getKubernetesCluster.js +23 -0
  113. package/getKubernetesCluster.js.map +1 -0
  114. package/getKubernetesVersions.d.ts +79 -0
  115. package/getKubernetesVersions.js +70 -0
  116. package/getKubernetesVersions.js.map +1 -0
  117. package/getLoadBalancer.d.ts +59 -0
  118. package/getLoadBalancer.js +41 -0
  119. package/getLoadBalancer.js.map +1 -0
  120. package/getProject.d.ts +72 -0
  121. package/getProject.js +37 -0
  122. package/getProject.js.map +1 -0
  123. package/getProjects.d.ts +85 -0
  124. package/getProjects.js +72 -0
  125. package/getProjects.js.map +1 -0
  126. package/getRecord.d.ts +42 -0
  127. package/getRecord.js +28 -0
  128. package/getRecord.js.map +1 -0
  129. package/getRecords.d.ts +39 -0
  130. package/getRecords.js +25 -0
  131. package/getRecords.js.map +1 -0
  132. package/getRegion.d.ts +56 -0
  133. package/getRegion.js +35 -0
  134. package/getRegion.js.map +1 -0
  135. package/getRegions.d.ts +82 -0
  136. package/getRegions.js +70 -0
  137. package/getRegions.js.map +1 -0
  138. package/getSizes.d.ts +35 -0
  139. package/getSizes.js +26 -0
  140. package/getSizes.js.map +1 -0
  141. package/getSpacesBucket.d.ts +59 -0
  142. package/getSpacesBucket.js +39 -0
  143. package/getSpacesBucket.js.map +1 -0
  144. package/getSpacesBucketObject.d.ts +125 -0
  145. package/getSpacesBucketObject.js +53 -0
  146. package/getSpacesBucketObject.js.map +1 -0
  147. package/getSpacesBucketObjects.d.ts +83 -0
  148. package/getSpacesBucketObjects.js +49 -0
  149. package/getSpacesBucketObjects.js.map +1 -0
  150. package/getSpacesBuckets.d.ts +75 -0
  151. package/getSpacesBuckets.js +63 -0
  152. package/getSpacesBuckets.js.map +1 -0
  153. package/getSshKey.d.ts +47 -0
  154. package/getSshKey.js +46 -0
  155. package/getSshKey.js.map +1 -0
  156. package/getSshKeys.d.ts +58 -0
  157. package/getSshKeys.js +46 -0
  158. package/getSshKeys.js.map +1 -0
  159. package/getTag.d.ts +71 -0
  160. package/getTag.js +45 -0
  161. package/getTag.js.map +1 -0
  162. package/getTags.d.ts +50 -0
  163. package/getTags.js +41 -0
  164. package/getTags.js.map +1 -0
  165. package/getVolume.d.ts +98 -0
  166. package/getVolume.js +64 -0
  167. package/getVolume.js.map +1 -0
  168. package/getVolumeSnapshot.d.ts +98 -0
  169. package/getVolumeSnapshot.js +61 -0
  170. package/getVolumeSnapshot.js.map +1 -0
  171. package/getVpc.d.ts +95 -0
  172. package/getVpc.js +61 -0
  173. package/getVpc.js.map +1 -0
  174. package/index.d.ts +74 -0
  175. package/index.js +240 -0
  176. package/index.js.map +1 -0
  177. package/kubernetesCluster.d.ts +220 -0
  178. package/kubernetesCluster.js +102 -0
  179. package/kubernetesCluster.js.map +1 -0
  180. package/kubernetesNodePool.d.ts +242 -0
  181. package/kubernetesNodePool.js +141 -0
  182. package/kubernetesNodePool.js.map +1 -0
  183. package/loadBalancer.d.ts +307 -0
  184. package/loadBalancer.js +161 -0
  185. package/loadBalancer.js.map +1 -0
  186. package/monitorAlert.d.ts +193 -0
  187. package/monitorAlert.js +99 -0
  188. package/monitorAlert.js.map +1 -0
  189. package/package.json +28 -0
  190. package/package.json.bak +27 -0
  191. package/package.json.dev +27 -0
  192. package/project.d.ts +191 -0
  193. package/project.js +129 -0
  194. package/project.js.map +1 -0
  195. package/projectResources.d.ts +100 -0
  196. package/projectResources.js +98 -0
  197. package/projectResources.js.map +1 -0
  198. package/provider.d.ts +67 -0
  199. package/provider.js +51 -0
  200. package/provider.js.map +1 -0
  201. package/scripts/install-pulumi-plugin.js +21 -0
  202. package/spacesBucket.d.ts +210 -0
  203. package/spacesBucket.js +139 -0
  204. package/spacesBucket.js.map +1 -0
  205. package/spacesBucketObject.d.ts +293 -0
  206. package/spacesBucketObject.js +139 -0
  207. package/spacesBucketObject.js.map +1 -0
  208. package/sshKey.d.ts +103 -0
  209. package/sshKey.js +89 -0
  210. package/sshKey.js.map +1 -0
  211. package/tag.d.ts +127 -0
  212. package/tag.js +93 -0
  213. package/tag.js.map +1 -0
  214. package/types/enums/index.d.ts +151 -0
  215. package/types/enums/index.js +148 -0
  216. package/types/enums/index.js.map +1 -0
  217. package/types/index.d.ts +4 -0
  218. package/types/index.js +12 -0
  219. package/types/index.js.map +1 -0
  220. package/types/input.d.ts +1584 -0
  221. package/types/input.js +5 -0
  222. package/types/input.js.map +1 -0
  223. package/types/output.d.ts +2730 -0
  224. package/types/output.js +5 -0
  225. package/types/output.js.map +1 -0
  226. package/utilities.d.ts +4 -0
  227. package/utilities.js +51 -0
  228. package/utilities.js.map +1 -0
  229. package/volume.d.ts +225 -0
  230. package/volume.js +128 -0
  231. package/volume.js.map +1 -0
  232. package/volumeAttachment.d.ts +88 -0
  233. package/volumeAttachment.js +86 -0
  234. package/volumeAttachment.js.map +1 -0
  235. package/volumeSnapshot.d.ts +129 -0
  236. package/volumeSnapshot.js +90 -0
  237. package/volumeSnapshot.js.map +1 -0
  238. package/vpc.d.ts +152 -0
  239. package/vpc.js +109 -0
  240. package/vpc.js.map +1 -0
package/droplet.d.ts ADDED
@@ -0,0 +1,386 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { enums } from "./types";
3
+ /**
4
+ * Provides a DigitalOcean Droplet resource. This can be used to create,
5
+ * modify, and delete Droplets.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as digitalocean from "@pulumi/digitalocean";
12
+ *
13
+ * // Create a new Web Droplet in the nyc2 region
14
+ * const web = new digitalocean.Droplet("web", {
15
+ * image: "ubuntu-18-04-x64",
16
+ * region: "nyc2",
17
+ * size: "s-1vcpu-1gb",
18
+ * });
19
+ * ```
20
+ *
21
+ * ## Import
22
+ *
23
+ * Droplets can be imported using the Droplet `id`, e.g.
24
+ *
25
+ * ```sh
26
+ * $ pulumi import digitalocean:index/droplet:Droplet mydroplet 100823
27
+ * ```
28
+ */
29
+ export declare class Droplet extends pulumi.CustomResource {
30
+ /**
31
+ * Get an existing Droplet resource's state with the given name, ID, and optional extra
32
+ * properties used to qualify the lookup.
33
+ *
34
+ * @param name The _unique_ name of the resulting resource.
35
+ * @param id The _unique_ provider ID of the resource to lookup.
36
+ * @param state Any extra arguments used during the lookup.
37
+ * @param opts Optional settings to control the behavior of the CustomResource.
38
+ */
39
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DropletState, opts?: pulumi.CustomResourceOptions): Droplet;
40
+ /**
41
+ * Returns true if the given object is an instance of Droplet. This is designed to work even
42
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
43
+ */
44
+ static isInstance(obj: any): obj is Droplet;
45
+ /**
46
+ * Boolean controlling if backups are made. Defaults to
47
+ * false.
48
+ */
49
+ readonly backups: pulumi.Output<boolean | undefined>;
50
+ readonly createdAt: pulumi.Output<string>;
51
+ /**
52
+ * The size of the instance's disk in GB
53
+ */
54
+ readonly disk: pulumi.Output<number>;
55
+ /**
56
+ * A boolean indicating whether to install the
57
+ * DigitalOcean agent used for providing access to the Droplet web console in
58
+ * the control panel. By default, the agent is installed on new Droplets but
59
+ * installation errors (i.e. OS not supported) are ignored. To prevent it from
60
+ * being installed, set to `false`. To make installation errors fatal, explicitly
61
+ * set it to `true`.
62
+ */
63
+ readonly dropletAgent: pulumi.Output<boolean | undefined>;
64
+ /**
65
+ * The uniform resource name of the Droplet
66
+ * * `name`- The name of the Droplet
67
+ */
68
+ readonly dropletUrn: pulumi.Output<string>;
69
+ /**
70
+ * The Droplet image ID or slug.
71
+ */
72
+ readonly image: pulumi.Output<string>;
73
+ /**
74
+ * The IPv4 address
75
+ */
76
+ readonly ipv4Address: pulumi.Output<string>;
77
+ /**
78
+ * The private networking IPv4 address
79
+ */
80
+ readonly ipv4AddressPrivate: pulumi.Output<string>;
81
+ /**
82
+ * Boolean controlling if IPv6 is enabled. Defaults to false.
83
+ */
84
+ readonly ipv6: pulumi.Output<boolean | undefined>;
85
+ /**
86
+ * The IPv6 address
87
+ */
88
+ readonly ipv6Address: pulumi.Output<string>;
89
+ /**
90
+ * Is the Droplet locked
91
+ */
92
+ readonly locked: pulumi.Output<boolean>;
93
+ readonly memory: pulumi.Output<number>;
94
+ /**
95
+ * Boolean controlling whether monitoring agent is installed.
96
+ * Defaults to false. If set to `true`, you can configure monitor alert policies
97
+ * [monitor alert resource](https://www.terraform.io/providers/digitalocean/digitalocean/latest/docs/resources/monitor_alert)
98
+ */
99
+ readonly monitoring: pulumi.Output<boolean | undefined>;
100
+ /**
101
+ * The Droplet name.
102
+ */
103
+ readonly name: pulumi.Output<string>;
104
+ /**
105
+ * Droplet hourly price
106
+ */
107
+ readonly priceHourly: pulumi.Output<number>;
108
+ /**
109
+ * Droplet monthly price
110
+ */
111
+ readonly priceMonthly: pulumi.Output<number>;
112
+ /**
113
+ * **Deprecated** Boolean controlling if private networking
114
+ * is enabled. This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region.
115
+ *
116
+ * @deprecated This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region.
117
+ */
118
+ readonly privateNetworking: pulumi.Output<boolean>;
119
+ /**
120
+ * The region to start in.
121
+ */
122
+ readonly region: pulumi.Output<string>;
123
+ /**
124
+ * Boolean controlling whether to increase the disk
125
+ * size when resizing a Droplet. It defaults to `true`. When set to `false`,
126
+ * only the Droplet's RAM and CPU will be resized. **Increasing a Droplet's disk
127
+ * size is a permanent change**. Increasing only RAM and CPU is reversible.
128
+ */
129
+ readonly resizeDisk: pulumi.Output<boolean | undefined>;
130
+ /**
131
+ * The unique slug that indentifies the type of Droplet. You can find a list of available slugs on [DigitalOcean API documentation](https://docs.digitalocean.com/reference/api/api-reference/#tag/Sizes).
132
+ */
133
+ readonly size: pulumi.Output<string>;
134
+ /**
135
+ * A list of SSH key IDs or fingerprints to enable in
136
+ * the format `[12345, 123456]`. To retrieve this info, use the
137
+ * [DigitalOcean API](https://docs.digitalocean.com/reference/api/api-reference/#tag/SSH-Keys)
138
+ * or CLI (`doctl compute ssh-key list`). Once a Droplet is created keys can not
139
+ * be added or removed via this provider. Modifying this field will prompt you
140
+ * to destroy and recreate the Droplet.
141
+ */
142
+ readonly sshKeys: pulumi.Output<string[] | undefined>;
143
+ /**
144
+ * The status of the Droplet
145
+ */
146
+ readonly status: pulumi.Output<string>;
147
+ /**
148
+ * A list of the tags to be applied to this Droplet.
149
+ */
150
+ readonly tags: pulumi.Output<string[] | undefined>;
151
+ /**
152
+ * A string of the desired User Data for the Droplet.
153
+ */
154
+ readonly userData: pulumi.Output<string | undefined>;
155
+ /**
156
+ * The number of the instance's virtual CPUs
157
+ */
158
+ readonly vcpus: pulumi.Output<number>;
159
+ /**
160
+ * A list of the IDs of each block storage volume to be attached to the Droplet.
161
+ */
162
+ readonly volumeIds: pulumi.Output<string[]>;
163
+ /**
164
+ * The ID of the VPC where the Droplet will be located.
165
+ */
166
+ readonly vpcUuid: pulumi.Output<string>;
167
+ /**
168
+ * Create a Droplet resource with the given unique name, arguments, and options.
169
+ *
170
+ * @param name The _unique_ name of the resource.
171
+ * @param args The arguments to use to populate this resource's properties.
172
+ * @param opts A bag of options that control this resource's behavior.
173
+ */
174
+ constructor(name: string, args: DropletArgs, opts?: pulumi.CustomResourceOptions);
175
+ }
176
+ /**
177
+ * Input properties used for looking up and filtering Droplet resources.
178
+ */
179
+ export interface DropletState {
180
+ /**
181
+ * Boolean controlling if backups are made. Defaults to
182
+ * false.
183
+ */
184
+ backups?: pulumi.Input<boolean>;
185
+ createdAt?: pulumi.Input<string>;
186
+ /**
187
+ * The size of the instance's disk in GB
188
+ */
189
+ disk?: pulumi.Input<number>;
190
+ /**
191
+ * A boolean indicating whether to install the
192
+ * DigitalOcean agent used for providing access to the Droplet web console in
193
+ * the control panel. By default, the agent is installed on new Droplets but
194
+ * installation errors (i.e. OS not supported) are ignored. To prevent it from
195
+ * being installed, set to `false`. To make installation errors fatal, explicitly
196
+ * set it to `true`.
197
+ */
198
+ dropletAgent?: pulumi.Input<boolean>;
199
+ /**
200
+ * The uniform resource name of the Droplet
201
+ * * `name`- The name of the Droplet
202
+ */
203
+ dropletUrn?: pulumi.Input<string>;
204
+ /**
205
+ * The Droplet image ID or slug.
206
+ */
207
+ image?: pulumi.Input<string>;
208
+ /**
209
+ * The IPv4 address
210
+ */
211
+ ipv4Address?: pulumi.Input<string>;
212
+ /**
213
+ * The private networking IPv4 address
214
+ */
215
+ ipv4AddressPrivate?: pulumi.Input<string>;
216
+ /**
217
+ * Boolean controlling if IPv6 is enabled. Defaults to false.
218
+ */
219
+ ipv6?: pulumi.Input<boolean>;
220
+ /**
221
+ * The IPv6 address
222
+ */
223
+ ipv6Address?: pulumi.Input<string>;
224
+ /**
225
+ * Is the Droplet locked
226
+ */
227
+ locked?: pulumi.Input<boolean>;
228
+ memory?: pulumi.Input<number>;
229
+ /**
230
+ * Boolean controlling whether monitoring agent is installed.
231
+ * Defaults to false. If set to `true`, you can configure monitor alert policies
232
+ * [monitor alert resource](https://www.terraform.io/providers/digitalocean/digitalocean/latest/docs/resources/monitor_alert)
233
+ */
234
+ monitoring?: pulumi.Input<boolean>;
235
+ /**
236
+ * The Droplet name.
237
+ */
238
+ name?: pulumi.Input<string>;
239
+ /**
240
+ * Droplet hourly price
241
+ */
242
+ priceHourly?: pulumi.Input<number>;
243
+ /**
244
+ * Droplet monthly price
245
+ */
246
+ priceMonthly?: pulumi.Input<number>;
247
+ /**
248
+ * **Deprecated** Boolean controlling if private networking
249
+ * is enabled. This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region.
250
+ *
251
+ * @deprecated This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region.
252
+ */
253
+ privateNetworking?: pulumi.Input<boolean>;
254
+ /**
255
+ * The region to start in.
256
+ */
257
+ region?: pulumi.Input<string | enums.Region>;
258
+ /**
259
+ * Boolean controlling whether to increase the disk
260
+ * size when resizing a Droplet. It defaults to `true`. When set to `false`,
261
+ * only the Droplet's RAM and CPU will be resized. **Increasing a Droplet's disk
262
+ * size is a permanent change**. Increasing only RAM and CPU is reversible.
263
+ */
264
+ resizeDisk?: pulumi.Input<boolean>;
265
+ /**
266
+ * The unique slug that indentifies the type of Droplet. You can find a list of available slugs on [DigitalOcean API documentation](https://docs.digitalocean.com/reference/api/api-reference/#tag/Sizes).
267
+ */
268
+ size?: pulumi.Input<string | enums.DropletSlug>;
269
+ /**
270
+ * A list of SSH key IDs or fingerprints to enable in
271
+ * the format `[12345, 123456]`. To retrieve this info, use the
272
+ * [DigitalOcean API](https://docs.digitalocean.com/reference/api/api-reference/#tag/SSH-Keys)
273
+ * or CLI (`doctl compute ssh-key list`). Once a Droplet is created keys can not
274
+ * be added or removed via this provider. Modifying this field will prompt you
275
+ * to destroy and recreate the Droplet.
276
+ */
277
+ sshKeys?: pulumi.Input<pulumi.Input<string>[]>;
278
+ /**
279
+ * The status of the Droplet
280
+ */
281
+ status?: pulumi.Input<string>;
282
+ /**
283
+ * A list of the tags to be applied to this Droplet.
284
+ */
285
+ tags?: pulumi.Input<pulumi.Input<string>[]>;
286
+ /**
287
+ * A string of the desired User Data for the Droplet.
288
+ */
289
+ userData?: pulumi.Input<string>;
290
+ /**
291
+ * The number of the instance's virtual CPUs
292
+ */
293
+ vcpus?: pulumi.Input<number>;
294
+ /**
295
+ * A list of the IDs of each block storage volume to be attached to the Droplet.
296
+ */
297
+ volumeIds?: pulumi.Input<pulumi.Input<string>[]>;
298
+ /**
299
+ * The ID of the VPC where the Droplet will be located.
300
+ */
301
+ vpcUuid?: pulumi.Input<string>;
302
+ }
303
+ /**
304
+ * The set of arguments for constructing a Droplet resource.
305
+ */
306
+ export interface DropletArgs {
307
+ /**
308
+ * Boolean controlling if backups are made. Defaults to
309
+ * false.
310
+ */
311
+ backups?: pulumi.Input<boolean>;
312
+ /**
313
+ * A boolean indicating whether to install the
314
+ * DigitalOcean agent used for providing access to the Droplet web console in
315
+ * the control panel. By default, the agent is installed on new Droplets but
316
+ * installation errors (i.e. OS not supported) are ignored. To prevent it from
317
+ * being installed, set to `false`. To make installation errors fatal, explicitly
318
+ * set it to `true`.
319
+ */
320
+ dropletAgent?: pulumi.Input<boolean>;
321
+ /**
322
+ * The Droplet image ID or slug.
323
+ */
324
+ image: pulumi.Input<string>;
325
+ /**
326
+ * Boolean controlling if IPv6 is enabled. Defaults to false.
327
+ */
328
+ ipv6?: pulumi.Input<boolean>;
329
+ /**
330
+ * Boolean controlling whether monitoring agent is installed.
331
+ * Defaults to false. If set to `true`, you can configure monitor alert policies
332
+ * [monitor alert resource](https://www.terraform.io/providers/digitalocean/digitalocean/latest/docs/resources/monitor_alert)
333
+ */
334
+ monitoring?: pulumi.Input<boolean>;
335
+ /**
336
+ * The Droplet name.
337
+ */
338
+ name?: pulumi.Input<string>;
339
+ /**
340
+ * **Deprecated** Boolean controlling if private networking
341
+ * is enabled. This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region.
342
+ *
343
+ * @deprecated This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region.
344
+ */
345
+ privateNetworking?: pulumi.Input<boolean>;
346
+ /**
347
+ * The region to start in.
348
+ */
349
+ region: pulumi.Input<string | enums.Region>;
350
+ /**
351
+ * Boolean controlling whether to increase the disk
352
+ * size when resizing a Droplet. It defaults to `true`. When set to `false`,
353
+ * only the Droplet's RAM and CPU will be resized. **Increasing a Droplet's disk
354
+ * size is a permanent change**. Increasing only RAM and CPU is reversible.
355
+ */
356
+ resizeDisk?: pulumi.Input<boolean>;
357
+ /**
358
+ * The unique slug that indentifies the type of Droplet. You can find a list of available slugs on [DigitalOcean API documentation](https://docs.digitalocean.com/reference/api/api-reference/#tag/Sizes).
359
+ */
360
+ size: pulumi.Input<string | enums.DropletSlug>;
361
+ /**
362
+ * A list of SSH key IDs or fingerprints to enable in
363
+ * the format `[12345, 123456]`. To retrieve this info, use the
364
+ * [DigitalOcean API](https://docs.digitalocean.com/reference/api/api-reference/#tag/SSH-Keys)
365
+ * or CLI (`doctl compute ssh-key list`). Once a Droplet is created keys can not
366
+ * be added or removed via this provider. Modifying this field will prompt you
367
+ * to destroy and recreate the Droplet.
368
+ */
369
+ sshKeys?: pulumi.Input<pulumi.Input<string>[]>;
370
+ /**
371
+ * A list of the tags to be applied to this Droplet.
372
+ */
373
+ tags?: pulumi.Input<pulumi.Input<string>[]>;
374
+ /**
375
+ * A string of the desired User Data for the Droplet.
376
+ */
377
+ userData?: pulumi.Input<string>;
378
+ /**
379
+ * A list of the IDs of each block storage volume to be attached to the Droplet.
380
+ */
381
+ volumeIds?: pulumi.Input<pulumi.Input<string>[]>;
382
+ /**
383
+ * The ID of the VPC where the Droplet will be located.
384
+ */
385
+ vpcUuid?: pulumi.Input<string>;
386
+ }
package/droplet.js ADDED
@@ -0,0 +1,137 @@
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
+ const pulumi = require("@pulumi/pulumi");
6
+ const utilities = require("./utilities");
7
+ /**
8
+ * Provides a DigitalOcean Droplet resource. This can be used to create,
9
+ * modify, and delete Droplets.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as digitalocean from "@pulumi/digitalocean";
16
+ *
17
+ * // Create a new Web Droplet in the nyc2 region
18
+ * const web = new digitalocean.Droplet("web", {
19
+ * image: "ubuntu-18-04-x64",
20
+ * region: "nyc2",
21
+ * size: "s-1vcpu-1gb",
22
+ * });
23
+ * ```
24
+ *
25
+ * ## Import
26
+ *
27
+ * Droplets can be imported using the Droplet `id`, e.g.
28
+ *
29
+ * ```sh
30
+ * $ pulumi import digitalocean:index/droplet:Droplet mydroplet 100823
31
+ * ```
32
+ */
33
+ class Droplet extends pulumi.CustomResource {
34
+ constructor(name, argsOrState, opts) {
35
+ let inputs = {};
36
+ opts = opts || {};
37
+ if (opts.id) {
38
+ const state = argsOrState;
39
+ inputs["backups"] = state ? state.backups : undefined;
40
+ inputs["createdAt"] = state ? state.createdAt : undefined;
41
+ inputs["disk"] = state ? state.disk : undefined;
42
+ inputs["dropletAgent"] = state ? state.dropletAgent : undefined;
43
+ inputs["dropletUrn"] = state ? state.dropletUrn : undefined;
44
+ inputs["image"] = state ? state.image : undefined;
45
+ inputs["ipv4Address"] = state ? state.ipv4Address : undefined;
46
+ inputs["ipv4AddressPrivate"] = state ? state.ipv4AddressPrivate : undefined;
47
+ inputs["ipv6"] = state ? state.ipv6 : undefined;
48
+ inputs["ipv6Address"] = state ? state.ipv6Address : undefined;
49
+ inputs["locked"] = state ? state.locked : undefined;
50
+ inputs["memory"] = state ? state.memory : undefined;
51
+ inputs["monitoring"] = state ? state.monitoring : undefined;
52
+ inputs["name"] = state ? state.name : undefined;
53
+ inputs["priceHourly"] = state ? state.priceHourly : undefined;
54
+ inputs["priceMonthly"] = state ? state.priceMonthly : undefined;
55
+ inputs["privateNetworking"] = state ? state.privateNetworking : undefined;
56
+ inputs["region"] = state ? state.region : undefined;
57
+ inputs["resizeDisk"] = state ? state.resizeDisk : undefined;
58
+ inputs["size"] = state ? state.size : undefined;
59
+ inputs["sshKeys"] = state ? state.sshKeys : undefined;
60
+ inputs["status"] = state ? state.status : undefined;
61
+ inputs["tags"] = state ? state.tags : undefined;
62
+ inputs["userData"] = state ? state.userData : undefined;
63
+ inputs["vcpus"] = state ? state.vcpus : undefined;
64
+ inputs["volumeIds"] = state ? state.volumeIds : undefined;
65
+ inputs["vpcUuid"] = state ? state.vpcUuid : undefined;
66
+ }
67
+ else {
68
+ const args = argsOrState;
69
+ if ((!args || args.image === undefined) && !opts.urn) {
70
+ throw new Error("Missing required property 'image'");
71
+ }
72
+ if ((!args || args.region === undefined) && !opts.urn) {
73
+ throw new Error("Missing required property 'region'");
74
+ }
75
+ if ((!args || args.size === undefined) && !opts.urn) {
76
+ throw new Error("Missing required property 'size'");
77
+ }
78
+ inputs["backups"] = args ? args.backups : undefined;
79
+ inputs["dropletAgent"] = args ? args.dropletAgent : undefined;
80
+ inputs["image"] = args ? args.image : undefined;
81
+ inputs["ipv6"] = args ? args.ipv6 : undefined;
82
+ inputs["monitoring"] = args ? args.monitoring : undefined;
83
+ inputs["name"] = args ? args.name : undefined;
84
+ inputs["privateNetworking"] = args ? args.privateNetworking : undefined;
85
+ inputs["region"] = args ? args.region : undefined;
86
+ inputs["resizeDisk"] = args ? args.resizeDisk : undefined;
87
+ inputs["size"] = args ? args.size : undefined;
88
+ inputs["sshKeys"] = args ? args.sshKeys : undefined;
89
+ inputs["tags"] = args ? args.tags : undefined;
90
+ inputs["userData"] = args ? args.userData : undefined;
91
+ inputs["volumeIds"] = args ? args.volumeIds : undefined;
92
+ inputs["vpcUuid"] = args ? args.vpcUuid : undefined;
93
+ inputs["createdAt"] = undefined /*out*/;
94
+ inputs["disk"] = undefined /*out*/;
95
+ inputs["dropletUrn"] = undefined /*out*/;
96
+ inputs["ipv4Address"] = undefined /*out*/;
97
+ inputs["ipv4AddressPrivate"] = undefined /*out*/;
98
+ inputs["ipv6Address"] = undefined /*out*/;
99
+ inputs["locked"] = undefined /*out*/;
100
+ inputs["memory"] = undefined /*out*/;
101
+ inputs["priceHourly"] = undefined /*out*/;
102
+ inputs["priceMonthly"] = undefined /*out*/;
103
+ inputs["status"] = undefined /*out*/;
104
+ inputs["vcpus"] = undefined /*out*/;
105
+ }
106
+ if (!opts.version) {
107
+ opts = pulumi.mergeOptions(opts, { version: utilities.getVersion() });
108
+ }
109
+ super(Droplet.__pulumiType, name, inputs, opts);
110
+ }
111
+ /**
112
+ * Get an existing Droplet resource's state with the given name, ID, and optional extra
113
+ * properties used to qualify the lookup.
114
+ *
115
+ * @param name The _unique_ name of the resulting resource.
116
+ * @param id The _unique_ provider ID of the resource to lookup.
117
+ * @param state Any extra arguments used during the lookup.
118
+ * @param opts Optional settings to control the behavior of the CustomResource.
119
+ */
120
+ static get(name, id, state, opts) {
121
+ return new Droplet(name, state, Object.assign(Object.assign({}, opts), { id: id }));
122
+ }
123
+ /**
124
+ * Returns true if the given object is an instance of Droplet. This is designed to work even
125
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
126
+ */
127
+ static isInstance(obj) {
128
+ if (obj === undefined || obj === null) {
129
+ return false;
130
+ }
131
+ return obj['__pulumiType'] === Droplet.__pulumiType;
132
+ }
133
+ }
134
+ exports.Droplet = Droplet;
135
+ /** @internal */
136
+ Droplet.__pulumiType = 'digitalocean:index/droplet:Droplet';
137
+ //# sourceMappingURL=droplet.js.map
package/droplet.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"droplet.js","sourceRoot":"","sources":["../droplet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Provides a resource which can be used to create a snapshot from an existing DigitalOcean Droplet.
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as digitalocean from "@pulumi/digitalocean";
10
+ *
11
+ * const web = new digitalocean.Droplet("web", {
12
+ * size: "s-1vcpu-1gb",
13
+ * image: "centos-7-x64",
14
+ * region: "nyc3",
15
+ * });
16
+ * const web_snapshot = new digitalocean.DropletSnapshot("web-snapshot", {dropletId: web.id});
17
+ * ```
18
+ *
19
+ * ## Import
20
+ *
21
+ * Droplet Snapshots can be imported using the `snapshot id`, e.g.
22
+ *
23
+ * ```sh
24
+ * $ pulumi import digitalocean:index/dropletSnapshot:DropletSnapshot mysnapshot 123456
25
+ * ```
26
+ */
27
+ export declare class DropletSnapshot extends pulumi.CustomResource {
28
+ /**
29
+ * Get an existing DropletSnapshot 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?: DropletSnapshotState, opts?: pulumi.CustomResourceOptions): DropletSnapshot;
38
+ /**
39
+ * Returns true if the given object is an instance of DropletSnapshot. 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 DropletSnapshot;
43
+ /**
44
+ * The date and time the Droplet snapshot was created.
45
+ */
46
+ readonly createdAt: pulumi.Output<string>;
47
+ /**
48
+ * The ID of the Droplet from which the snapshot will be taken.
49
+ */
50
+ readonly dropletId: pulumi.Output<string>;
51
+ /**
52
+ * The minimum size in gigabytes required for a Droplet to be created based on this snapshot.
53
+ */
54
+ readonly minDiskSize: pulumi.Output<number>;
55
+ /**
56
+ * A name for the Droplet snapshot.
57
+ */
58
+ readonly name: pulumi.Output<string>;
59
+ /**
60
+ * A list of DigitalOcean region "slugs" indicating where the droplet snapshot is available.
61
+ */
62
+ readonly regions: pulumi.Output<string[]>;
63
+ /**
64
+ * The billable size of the Droplet snapshot in gigabytes.
65
+ */
66
+ readonly size: pulumi.Output<number>;
67
+ /**
68
+ * Create a DropletSnapshot resource with the given unique name, arguments, and options.
69
+ *
70
+ * @param name The _unique_ name of the resource.
71
+ * @param args The arguments to use to populate this resource's properties.
72
+ * @param opts A bag of options that control this resource's behavior.
73
+ */
74
+ constructor(name: string, args: DropletSnapshotArgs, opts?: pulumi.CustomResourceOptions);
75
+ }
76
+ /**
77
+ * Input properties used for looking up and filtering DropletSnapshot resources.
78
+ */
79
+ export interface DropletSnapshotState {
80
+ /**
81
+ * The date and time the Droplet snapshot was created.
82
+ */
83
+ createdAt?: pulumi.Input<string>;
84
+ /**
85
+ * The ID of the Droplet from which the snapshot will be taken.
86
+ */
87
+ dropletId?: pulumi.Input<string>;
88
+ /**
89
+ * The minimum size in gigabytes required for a Droplet to be created based on this snapshot.
90
+ */
91
+ minDiskSize?: pulumi.Input<number>;
92
+ /**
93
+ * A name for the Droplet snapshot.
94
+ */
95
+ name?: pulumi.Input<string>;
96
+ /**
97
+ * A list of DigitalOcean region "slugs" indicating where the droplet snapshot is available.
98
+ */
99
+ regions?: pulumi.Input<pulumi.Input<string>[]>;
100
+ /**
101
+ * The billable size of the Droplet snapshot in gigabytes.
102
+ */
103
+ size?: pulumi.Input<number>;
104
+ }
105
+ /**
106
+ * The set of arguments for constructing a DropletSnapshot resource.
107
+ */
108
+ export interface DropletSnapshotArgs {
109
+ /**
110
+ * The ID of the Droplet from which the snapshot will be taken.
111
+ */
112
+ dropletId: pulumi.Input<string>;
113
+ /**
114
+ * A name for the Droplet snapshot.
115
+ */
116
+ name?: pulumi.Input<string>;
117
+ }