@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.
- package/LICENSE +202 -0
- package/README.md +68 -0
- package/app.d.ts +203 -0
- package/app.js +174 -0
- package/app.js.map +1 -0
- package/cdn.d.ts +169 -0
- package/cdn.js +116 -0
- package/cdn.js.map +1 -0
- package/certificate.d.ts +225 -0
- package/certificate.js +137 -0
- package/certificate.js.map +1 -0
- package/config/index.d.ts +1 -0
- package/config/index.js +10 -0
- package/config/index.js.map +1 -0
- package/config/vars.d.ts +20 -0
- package/config/vars.js +28 -0
- package/config/vars.js.map +1 -0
- package/containerRegistry.d.ts +88 -0
- package/containerRegistry.js +83 -0
- package/containerRegistry.js.map +1 -0
- package/containerRegistryDockerCredentials.d.ts +108 -0
- package/containerRegistryDockerCredentials.js +93 -0
- package/containerRegistryDockerCredentials.js.map +1 -0
- package/customImage.d.ts +155 -0
- package/customImage.js +113 -0
- package/customImage.js.map +1 -0
- package/databaseCluster.d.ts +306 -0
- package/databaseCluster.js +165 -0
- package/databaseCluster.js.map +1 -0
- package/databaseConnectionPool.d.ts +189 -0
- package/databaseConnectionPool.js +120 -0
- package/databaseConnectionPool.js.map +1 -0
- package/databaseDb.d.ts +87 -0
- package/databaseDb.js +82 -0
- package/databaseDb.js.map +1 -0
- package/databaseFirewall.d.ts +129 -0
- package/databaseFirewall.js +126 -0
- package/databaseFirewall.js.map +1 -0
- package/databaseReplica.d.ts +204 -0
- package/databaseReplica.js +110 -0
- package/databaseReplica.js.map +1 -0
- package/databaseUser.d.ts +117 -0
- package/databaseUser.js +90 -0
- package/databaseUser.js.map +1 -0
- package/dnsRecord.d.ts +200 -0
- package/dnsRecord.js +114 -0
- package/dnsRecord.js.map +1 -0
- package/domain.d.ts +103 -0
- package/domain.js +83 -0
- package/domain.js.map +1 -0
- package/droplet.d.ts +386 -0
- package/droplet.js +137 -0
- package/droplet.js.map +1 -0
- package/dropletSnapshot.d.ts +117 -0
- package/dropletSnapshot.js +88 -0
- package/dropletSnapshot.js.map +1 -0
- package/firewall.d.ts +226 -0
- package/firewall.js +150 -0
- package/firewall.js.map +1 -0
- package/floatingIp.d.ts +112 -0
- package/floatingIp.js +91 -0
- package/floatingIp.js.map +1 -0
- package/floatingIpAssignment.d.ts +85 -0
- package/floatingIpAssignment.js +83 -0
- package/floatingIpAssignment.js.map +1 -0
- package/getAccount.d.ts +32 -0
- package/getAccount.js +31 -0
- package/getAccount.js.map +1 -0
- package/getApp.d.ts +63 -0
- package/getApp.js +36 -0
- package/getApp.js.map +1 -0
- package/getCertificate.d.ts +48 -0
- package/getCertificate.js +40 -0
- package/getCertificate.js.map +1 -0
- package/getContainerRegistry.d.ts +54 -0
- package/getContainerRegistry.js +41 -0
- package/getContainerRegistry.js.map +1 -0
- package/getDatabaseCluster.d.ts +103 -0
- package/getDatabaseCluster.js +35 -0
- package/getDatabaseCluster.js.map +1 -0
- package/getDatabaseReplica.d.ts +87 -0
- package/getDatabaseReplica.js +40 -0
- package/getDatabaseReplica.js.map +1 -0
- package/getDomain.d.ts +37 -0
- package/getDomain.js +28 -0
- package/getDomain.js.map +1 -0
- package/getDomains.d.ts +61 -0
- package/getDomains.js +49 -0
- package/getDomains.js.map +1 -0
- package/getDroplet.d.ts +161 -0
- package/getDroplet.js +67 -0
- package/getDroplet.js.map +1 -0
- package/getDropletSnapshot.d.ts +76 -0
- package/getDropletSnapshot.js +43 -0
- package/getDropletSnapshot.js.map +1 -0
- package/getDroplets.d.ts +85 -0
- package/getDroplets.js +73 -0
- package/getDroplets.js.map +1 -0
- package/getFirewall.d.ts +83 -0
- package/getFirewall.js +40 -0
- package/getFirewall.js.map +1 -0
- package/getFloatingIp.d.ts +48 -0
- package/getFloatingIp.js +43 -0
- package/getFloatingIp.js.map +1 -0
- package/getImage.d.ts +110 -0
- package/getImage.js +71 -0
- package/getImage.js.map +1 -0
- package/getImages.d.ts +90 -0
- package/getImages.js +74 -0
- package/getImages.js.map +1 -0
- package/getKubernetesCluster.d.ts +95 -0
- package/getKubernetesCluster.js +23 -0
- package/getKubernetesCluster.js.map +1 -0
- package/getKubernetesVersions.d.ts +79 -0
- package/getKubernetesVersions.js +70 -0
- package/getKubernetesVersions.js.map +1 -0
- package/getLoadBalancer.d.ts +59 -0
- package/getLoadBalancer.js +41 -0
- package/getLoadBalancer.js.map +1 -0
- package/getProject.d.ts +72 -0
- package/getProject.js +37 -0
- package/getProject.js.map +1 -0
- package/getProjects.d.ts +85 -0
- package/getProjects.js +72 -0
- package/getProjects.js.map +1 -0
- package/getRecord.d.ts +42 -0
- package/getRecord.js +28 -0
- package/getRecord.js.map +1 -0
- package/getRecords.d.ts +39 -0
- package/getRecords.js +25 -0
- package/getRecords.js.map +1 -0
- package/getRegion.d.ts +56 -0
- package/getRegion.js +35 -0
- package/getRegion.js.map +1 -0
- package/getRegions.d.ts +82 -0
- package/getRegions.js +70 -0
- package/getRegions.js.map +1 -0
- package/getSizes.d.ts +35 -0
- package/getSizes.js +26 -0
- package/getSizes.js.map +1 -0
- package/getSpacesBucket.d.ts +59 -0
- package/getSpacesBucket.js +39 -0
- package/getSpacesBucket.js.map +1 -0
- package/getSpacesBucketObject.d.ts +125 -0
- package/getSpacesBucketObject.js +53 -0
- package/getSpacesBucketObject.js.map +1 -0
- package/getSpacesBucketObjects.d.ts +83 -0
- package/getSpacesBucketObjects.js +49 -0
- package/getSpacesBucketObjects.js.map +1 -0
- package/getSpacesBuckets.d.ts +75 -0
- package/getSpacesBuckets.js +63 -0
- package/getSpacesBuckets.js.map +1 -0
- package/getSshKey.d.ts +47 -0
- package/getSshKey.js +46 -0
- package/getSshKey.js.map +1 -0
- package/getSshKeys.d.ts +58 -0
- package/getSshKeys.js +46 -0
- package/getSshKeys.js.map +1 -0
- package/getTag.d.ts +71 -0
- package/getTag.js +45 -0
- package/getTag.js.map +1 -0
- package/getTags.d.ts +50 -0
- package/getTags.js +41 -0
- package/getTags.js.map +1 -0
- package/getVolume.d.ts +98 -0
- package/getVolume.js +64 -0
- package/getVolume.js.map +1 -0
- package/getVolumeSnapshot.d.ts +98 -0
- package/getVolumeSnapshot.js +61 -0
- package/getVolumeSnapshot.js.map +1 -0
- package/getVpc.d.ts +95 -0
- package/getVpc.js +61 -0
- package/getVpc.js.map +1 -0
- package/index.d.ts +74 -0
- package/index.js +240 -0
- package/index.js.map +1 -0
- package/kubernetesCluster.d.ts +220 -0
- package/kubernetesCluster.js +102 -0
- package/kubernetesCluster.js.map +1 -0
- package/kubernetesNodePool.d.ts +242 -0
- package/kubernetesNodePool.js +141 -0
- package/kubernetesNodePool.js.map +1 -0
- package/loadBalancer.d.ts +307 -0
- package/loadBalancer.js +161 -0
- package/loadBalancer.js.map +1 -0
- package/monitorAlert.d.ts +193 -0
- package/monitorAlert.js +99 -0
- package/monitorAlert.js.map +1 -0
- package/package.json +28 -0
- package/package.json.bak +27 -0
- package/package.json.dev +27 -0
- package/project.d.ts +191 -0
- package/project.js +129 -0
- package/project.js.map +1 -0
- package/projectResources.d.ts +100 -0
- package/projectResources.js +98 -0
- package/projectResources.js.map +1 -0
- package/provider.d.ts +67 -0
- package/provider.js +51 -0
- package/provider.js.map +1 -0
- package/scripts/install-pulumi-plugin.js +21 -0
- package/spacesBucket.d.ts +210 -0
- package/spacesBucket.js +139 -0
- package/spacesBucket.js.map +1 -0
- package/spacesBucketObject.d.ts +293 -0
- package/spacesBucketObject.js +139 -0
- package/spacesBucketObject.js.map +1 -0
- package/sshKey.d.ts +103 -0
- package/sshKey.js +89 -0
- package/sshKey.js.map +1 -0
- package/tag.d.ts +127 -0
- package/tag.js +93 -0
- package/tag.js.map +1 -0
- package/types/enums/index.d.ts +151 -0
- package/types/enums/index.js +148 -0
- package/types/enums/index.js.map +1 -0
- package/types/index.d.ts +4 -0
- package/types/index.js +12 -0
- package/types/index.js.map +1 -0
- package/types/input.d.ts +1584 -0
- package/types/input.js +5 -0
- package/types/input.js.map +1 -0
- package/types/output.d.ts +2730 -0
- package/types/output.js +5 -0
- package/types/output.js.map +1 -0
- package/utilities.d.ts +4 -0
- package/utilities.js +51 -0
- package/utilities.js.map +1 -0
- package/volume.d.ts +225 -0
- package/volume.js +128 -0
- package/volume.js.map +1 -0
- package/volumeAttachment.d.ts +88 -0
- package/volumeAttachment.js +86 -0
- package/volumeAttachment.js.map +1 -0
- package/volumeSnapshot.d.ts +129 -0
- package/volumeSnapshot.js +90 -0
- package/volumeSnapshot.js.map +1 -0
- package/vpc.d.ts +152 -0
- package/vpc.js +109 -0
- 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
|
+
}
|