@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
@@ -0,0 +1,129 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Provides a DigitalOcean Volume Snapshot which can be used to create a snapshot from an existing volume.
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as digitalocean from "@pulumi/digitalocean";
10
+ *
11
+ * const foobarVolume = new digitalocean.Volume("foobarVolume", {
12
+ * region: "nyc1",
13
+ * size: 100,
14
+ * description: "an example volume",
15
+ * });
16
+ * const foobarVolumeSnapshot = new digitalocean.VolumeSnapshot("foobarVolumeSnapshot", {volumeId: foobarVolume.id});
17
+ * ```
18
+ *
19
+ * ## Import
20
+ *
21
+ * Volume Snapshots can be imported using the `snapshot id`, e.g.
22
+ *
23
+ * ```sh
24
+ * $ pulumi import digitalocean:index/volumeSnapshot:VolumeSnapshot snapshot 506f78a4-e098-11e5-ad9f-000f53306ae1
25
+ * ```
26
+ */
27
+ export declare class VolumeSnapshot extends pulumi.CustomResource {
28
+ /**
29
+ * Get an existing VolumeSnapshot 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?: VolumeSnapshotState, opts?: pulumi.CustomResourceOptions): VolumeSnapshot;
38
+ /**
39
+ * Returns true if the given object is an instance of VolumeSnapshot. 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 VolumeSnapshot;
43
+ /**
44
+ * The date and time the volume snapshot was created.
45
+ */
46
+ readonly createdAt: pulumi.Output<string>;
47
+ /**
48
+ * The minimum size in gigabytes required for a volume to be created based on this volume snapshot.
49
+ */
50
+ readonly minDiskSize: pulumi.Output<number>;
51
+ /**
52
+ * A name for the volume snapshot.
53
+ */
54
+ readonly name: pulumi.Output<string>;
55
+ /**
56
+ * A list of DigitalOcean region "slugs" indicating where the volume snapshot is available.
57
+ */
58
+ readonly regions: pulumi.Output<string[]>;
59
+ /**
60
+ * The billable size of the volume snapshot in gigabytes.
61
+ */
62
+ readonly size: pulumi.Output<number>;
63
+ /**
64
+ * A list of the tags to be applied to this volume snapshot.
65
+ */
66
+ readonly tags: pulumi.Output<string[] | undefined>;
67
+ /**
68
+ * The ID of the volume from which the volume snapshot originated.
69
+ */
70
+ readonly volumeId: pulumi.Output<string>;
71
+ /**
72
+ * Create a VolumeSnapshot resource with the given unique name, arguments, and options.
73
+ *
74
+ * @param name The _unique_ name of the resource.
75
+ * @param args The arguments to use to populate this resource's properties.
76
+ * @param opts A bag of options that control this resource's behavior.
77
+ */
78
+ constructor(name: string, args: VolumeSnapshotArgs, opts?: pulumi.CustomResourceOptions);
79
+ }
80
+ /**
81
+ * Input properties used for looking up and filtering VolumeSnapshot resources.
82
+ */
83
+ export interface VolumeSnapshotState {
84
+ /**
85
+ * The date and time the volume snapshot was created.
86
+ */
87
+ createdAt?: pulumi.Input<string>;
88
+ /**
89
+ * The minimum size in gigabytes required for a volume to be created based on this volume snapshot.
90
+ */
91
+ minDiskSize?: pulumi.Input<number>;
92
+ /**
93
+ * A name for the volume snapshot.
94
+ */
95
+ name?: pulumi.Input<string>;
96
+ /**
97
+ * A list of DigitalOcean region "slugs" indicating where the volume snapshot is available.
98
+ */
99
+ regions?: pulumi.Input<pulumi.Input<string>[]>;
100
+ /**
101
+ * The billable size of the volume snapshot in gigabytes.
102
+ */
103
+ size?: pulumi.Input<number>;
104
+ /**
105
+ * A list of the tags to be applied to this volume snapshot.
106
+ */
107
+ tags?: pulumi.Input<pulumi.Input<string>[]>;
108
+ /**
109
+ * The ID of the volume from which the volume snapshot originated.
110
+ */
111
+ volumeId?: pulumi.Input<string>;
112
+ }
113
+ /**
114
+ * The set of arguments for constructing a VolumeSnapshot resource.
115
+ */
116
+ export interface VolumeSnapshotArgs {
117
+ /**
118
+ * A name for the volume snapshot.
119
+ */
120
+ name?: pulumi.Input<string>;
121
+ /**
122
+ * A list of the tags to be applied to this volume snapshot.
123
+ */
124
+ tags?: pulumi.Input<pulumi.Input<string>[]>;
125
+ /**
126
+ * The ID of the volume from which the volume snapshot originated.
127
+ */
128
+ volumeId: pulumi.Input<string>;
129
+ }
@@ -0,0 +1,90 @@
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 Volume Snapshot which can be used to create a snapshot from an existing volume.
9
+ *
10
+ * ## Example Usage
11
+ *
12
+ * ```typescript
13
+ * import * as pulumi from "@pulumi/pulumi";
14
+ * import * as digitalocean from "@pulumi/digitalocean";
15
+ *
16
+ * const foobarVolume = new digitalocean.Volume("foobarVolume", {
17
+ * region: "nyc1",
18
+ * size: 100,
19
+ * description: "an example volume",
20
+ * });
21
+ * const foobarVolumeSnapshot = new digitalocean.VolumeSnapshot("foobarVolumeSnapshot", {volumeId: foobarVolume.id});
22
+ * ```
23
+ *
24
+ * ## Import
25
+ *
26
+ * Volume Snapshots can be imported using the `snapshot id`, e.g.
27
+ *
28
+ * ```sh
29
+ * $ pulumi import digitalocean:index/volumeSnapshot:VolumeSnapshot snapshot 506f78a4-e098-11e5-ad9f-000f53306ae1
30
+ * ```
31
+ */
32
+ class VolumeSnapshot extends pulumi.CustomResource {
33
+ constructor(name, argsOrState, opts) {
34
+ let inputs = {};
35
+ opts = opts || {};
36
+ if (opts.id) {
37
+ const state = argsOrState;
38
+ inputs["createdAt"] = state ? state.createdAt : undefined;
39
+ inputs["minDiskSize"] = state ? state.minDiskSize : undefined;
40
+ inputs["name"] = state ? state.name : undefined;
41
+ inputs["regions"] = state ? state.regions : undefined;
42
+ inputs["size"] = state ? state.size : undefined;
43
+ inputs["tags"] = state ? state.tags : undefined;
44
+ inputs["volumeId"] = state ? state.volumeId : undefined;
45
+ }
46
+ else {
47
+ const args = argsOrState;
48
+ if ((!args || args.volumeId === undefined) && !opts.urn) {
49
+ throw new Error("Missing required property 'volumeId'");
50
+ }
51
+ inputs["name"] = args ? args.name : undefined;
52
+ inputs["tags"] = args ? args.tags : undefined;
53
+ inputs["volumeId"] = args ? args.volumeId : undefined;
54
+ inputs["createdAt"] = undefined /*out*/;
55
+ inputs["minDiskSize"] = undefined /*out*/;
56
+ inputs["regions"] = undefined /*out*/;
57
+ inputs["size"] = undefined /*out*/;
58
+ }
59
+ if (!opts.version) {
60
+ opts = pulumi.mergeOptions(opts, { version: utilities.getVersion() });
61
+ }
62
+ super(VolumeSnapshot.__pulumiType, name, inputs, opts);
63
+ }
64
+ /**
65
+ * Get an existing VolumeSnapshot resource's state with the given name, ID, and optional extra
66
+ * properties used to qualify the lookup.
67
+ *
68
+ * @param name The _unique_ name of the resulting resource.
69
+ * @param id The _unique_ provider ID of the resource to lookup.
70
+ * @param state Any extra arguments used during the lookup.
71
+ * @param opts Optional settings to control the behavior of the CustomResource.
72
+ */
73
+ static get(name, id, state, opts) {
74
+ return new VolumeSnapshot(name, state, Object.assign(Object.assign({}, opts), { id: id }));
75
+ }
76
+ /**
77
+ * Returns true if the given object is an instance of VolumeSnapshot. This is designed to work even
78
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
79
+ */
80
+ static isInstance(obj) {
81
+ if (obj === undefined || obj === null) {
82
+ return false;
83
+ }
84
+ return obj['__pulumiType'] === VolumeSnapshot.__pulumiType;
85
+ }
86
+ }
87
+ exports.VolumeSnapshot = VolumeSnapshot;
88
+ /** @internal */
89
+ VolumeSnapshot.__pulumiType = 'digitalocean:index/volumeSnapshot:VolumeSnapshot';
90
+ //# sourceMappingURL=volumeSnapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"volumeSnapshot.js","sourceRoot":"","sources":["../volumeSnapshot.ts"],"names":[],"mappings":"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"}
package/vpc.d.ts ADDED
@@ -0,0 +1,152 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Provides a [DigitalOcean VPC](https://docs.digitalocean.com/reference/api/api-reference/#tag/VPCs) resource.
4
+ *
5
+ * VPCs are virtual networks containing resources that can communicate with each
6
+ * other in full isolation, using private IP addresses.
7
+ *
8
+ * ## Example Usage
9
+ *
10
+ * ```typescript
11
+ * import * as pulumi from "@pulumi/pulumi";
12
+ * import * as digitalocean from "@pulumi/digitalocean";
13
+ *
14
+ * const example = new digitalocean.Vpc("example", {
15
+ * ipRange: "10.10.10.0/24",
16
+ * region: "nyc3",
17
+ * });
18
+ * ```
19
+ * ### Resource Assignment
20
+ *
21
+ * `digitalocean.Droplet`, `digitalocean.KubernetesCluster`,
22
+ * `digitaloceanLoadBalancer`, and `digitalocean.DatabaseCluster` resources
23
+ * may be assigned to a VPC by referencing its `id`. For example:
24
+ *
25
+ * ```typescript
26
+ * import * as pulumi from "@pulumi/pulumi";
27
+ * import * as digitalocean from "@pulumi/digitalocean";
28
+ *
29
+ * const exampleVpc = new digitalocean.Vpc("exampleVpc", {region: "nyc3"});
30
+ * const exampleDroplet = new digitalocean.Droplet("exampleDroplet", {
31
+ * size: "s-1vcpu-1gb",
32
+ * image: "ubuntu-18-04-x64",
33
+ * region: "nyc3",
34
+ * vpcUuid: exampleVpc.id,
35
+ * });
36
+ * ```
37
+ *
38
+ * ## Import
39
+ *
40
+ * A VPC can be imported using its `id`, e.g.
41
+ *
42
+ * ```sh
43
+ * $ pulumi import digitalocean:index/vpc:Vpc example 506f78a4-e098-11e5-ad9f-000f53306ae1
44
+ * ```
45
+ */
46
+ export declare class Vpc extends pulumi.CustomResource {
47
+ /**
48
+ * Get an existing Vpc resource's state with the given name, ID, and optional extra
49
+ * properties used to qualify the lookup.
50
+ *
51
+ * @param name The _unique_ name of the resulting resource.
52
+ * @param id The _unique_ provider ID of the resource to lookup.
53
+ * @param state Any extra arguments used during the lookup.
54
+ * @param opts Optional settings to control the behavior of the CustomResource.
55
+ */
56
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcState, opts?: pulumi.CustomResourceOptions): Vpc;
57
+ /**
58
+ * Returns true if the given object is an instance of Vpc. This is designed to work even
59
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
60
+ */
61
+ static isInstance(obj: any): obj is Vpc;
62
+ /**
63
+ * The date and time of when the VPC was created.
64
+ */
65
+ readonly createdAt: pulumi.Output<string>;
66
+ /**
67
+ * A boolean indicating whether or not the VPC is the default one for the region.
68
+ */
69
+ readonly default: pulumi.Output<boolean>;
70
+ /**
71
+ * A free-form text field up to a limit of 255 characters to describe the VPC.
72
+ */
73
+ readonly description: pulumi.Output<string | undefined>;
74
+ /**
75
+ * The range of IP addresses for the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be larger than `/16` or smaller than `/24`.
76
+ */
77
+ readonly ipRange: pulumi.Output<string>;
78
+ /**
79
+ * A name for the VPC. Must be unique and contain alphanumeric characters, dashes, and periods only.
80
+ */
81
+ readonly name: pulumi.Output<string>;
82
+ /**
83
+ * The DigitalOcean region slug for the VPC's location.
84
+ */
85
+ readonly region: pulumi.Output<string>;
86
+ /**
87
+ * The uniform resource name (URN) for the VPC.
88
+ */
89
+ readonly vpcUrn: pulumi.Output<string>;
90
+ /**
91
+ * Create a Vpc resource with the given unique name, arguments, and options.
92
+ *
93
+ * @param name The _unique_ name of the resource.
94
+ * @param args The arguments to use to populate this resource's properties.
95
+ * @param opts A bag of options that control this resource's behavior.
96
+ */
97
+ constructor(name: string, args: VpcArgs, opts?: pulumi.CustomResourceOptions);
98
+ }
99
+ /**
100
+ * Input properties used for looking up and filtering Vpc resources.
101
+ */
102
+ export interface VpcState {
103
+ /**
104
+ * The date and time of when the VPC was created.
105
+ */
106
+ createdAt?: pulumi.Input<string>;
107
+ /**
108
+ * A boolean indicating whether or not the VPC is the default one for the region.
109
+ */
110
+ default?: pulumi.Input<boolean>;
111
+ /**
112
+ * A free-form text field up to a limit of 255 characters to describe the VPC.
113
+ */
114
+ description?: pulumi.Input<string>;
115
+ /**
116
+ * The range of IP addresses for the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be larger than `/16` or smaller than `/24`.
117
+ */
118
+ ipRange?: pulumi.Input<string>;
119
+ /**
120
+ * A name for the VPC. Must be unique and contain alphanumeric characters, dashes, and periods only.
121
+ */
122
+ name?: pulumi.Input<string>;
123
+ /**
124
+ * The DigitalOcean region slug for the VPC's location.
125
+ */
126
+ region?: pulumi.Input<string>;
127
+ /**
128
+ * The uniform resource name (URN) for the VPC.
129
+ */
130
+ vpcUrn?: pulumi.Input<string>;
131
+ }
132
+ /**
133
+ * The set of arguments for constructing a Vpc resource.
134
+ */
135
+ export interface VpcArgs {
136
+ /**
137
+ * A free-form text field up to a limit of 255 characters to describe the VPC.
138
+ */
139
+ description?: pulumi.Input<string>;
140
+ /**
141
+ * The range of IP addresses for the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be larger than `/16` or smaller than `/24`.
142
+ */
143
+ ipRange?: pulumi.Input<string>;
144
+ /**
145
+ * A name for the VPC. Must be unique and contain alphanumeric characters, dashes, and periods only.
146
+ */
147
+ name?: pulumi.Input<string>;
148
+ /**
149
+ * The DigitalOcean region slug for the VPC's location.
150
+ */
151
+ region: pulumi.Input<string>;
152
+ }
package/vpc.js ADDED
@@ -0,0 +1,109 @@
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 VPC](https://docs.digitalocean.com/reference/api/api-reference/#tag/VPCs) resource.
9
+ *
10
+ * VPCs are virtual networks containing resources that can communicate with each
11
+ * other in full isolation, using private IP addresses.
12
+ *
13
+ * ## Example Usage
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as digitalocean from "@pulumi/digitalocean";
18
+ *
19
+ * const example = new digitalocean.Vpc("example", {
20
+ * ipRange: "10.10.10.0/24",
21
+ * region: "nyc3",
22
+ * });
23
+ * ```
24
+ * ### Resource Assignment
25
+ *
26
+ * `digitalocean.Droplet`, `digitalocean.KubernetesCluster`,
27
+ * `digitaloceanLoadBalancer`, and `digitalocean.DatabaseCluster` resources
28
+ * may be assigned to a VPC by referencing its `id`. For example:
29
+ *
30
+ * ```typescript
31
+ * import * as pulumi from "@pulumi/pulumi";
32
+ * import * as digitalocean from "@pulumi/digitalocean";
33
+ *
34
+ * const exampleVpc = new digitalocean.Vpc("exampleVpc", {region: "nyc3"});
35
+ * const exampleDroplet = new digitalocean.Droplet("exampleDroplet", {
36
+ * size: "s-1vcpu-1gb",
37
+ * image: "ubuntu-18-04-x64",
38
+ * region: "nyc3",
39
+ * vpcUuid: exampleVpc.id,
40
+ * });
41
+ * ```
42
+ *
43
+ * ## Import
44
+ *
45
+ * A VPC can be imported using its `id`, e.g.
46
+ *
47
+ * ```sh
48
+ * $ pulumi import digitalocean:index/vpc:Vpc example 506f78a4-e098-11e5-ad9f-000f53306ae1
49
+ * ```
50
+ */
51
+ class Vpc extends pulumi.CustomResource {
52
+ constructor(name, argsOrState, opts) {
53
+ let inputs = {};
54
+ opts = opts || {};
55
+ if (opts.id) {
56
+ const state = argsOrState;
57
+ inputs["createdAt"] = state ? state.createdAt : undefined;
58
+ inputs["default"] = state ? state.default : undefined;
59
+ inputs["description"] = state ? state.description : undefined;
60
+ inputs["ipRange"] = state ? state.ipRange : undefined;
61
+ inputs["name"] = state ? state.name : undefined;
62
+ inputs["region"] = state ? state.region : undefined;
63
+ inputs["vpcUrn"] = state ? state.vpcUrn : undefined;
64
+ }
65
+ else {
66
+ const args = argsOrState;
67
+ if ((!args || args.region === undefined) && !opts.urn) {
68
+ throw new Error("Missing required property 'region'");
69
+ }
70
+ inputs["description"] = args ? args.description : undefined;
71
+ inputs["ipRange"] = args ? args.ipRange : undefined;
72
+ inputs["name"] = args ? args.name : undefined;
73
+ inputs["region"] = args ? args.region : undefined;
74
+ inputs["createdAt"] = undefined /*out*/;
75
+ inputs["default"] = undefined /*out*/;
76
+ inputs["vpcUrn"] = undefined /*out*/;
77
+ }
78
+ if (!opts.version) {
79
+ opts = pulumi.mergeOptions(opts, { version: utilities.getVersion() });
80
+ }
81
+ super(Vpc.__pulumiType, name, inputs, opts);
82
+ }
83
+ /**
84
+ * Get an existing Vpc resource's state with the given name, ID, and optional extra
85
+ * properties used to qualify the lookup.
86
+ *
87
+ * @param name The _unique_ name of the resulting resource.
88
+ * @param id The _unique_ provider ID of the resource to lookup.
89
+ * @param state Any extra arguments used during the lookup.
90
+ * @param opts Optional settings to control the behavior of the CustomResource.
91
+ */
92
+ static get(name, id, state, opts) {
93
+ return new Vpc(name, state, Object.assign(Object.assign({}, opts), { id: id }));
94
+ }
95
+ /**
96
+ * Returns true if the given object is an instance of Vpc. This is designed to work even
97
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
98
+ */
99
+ static isInstance(obj) {
100
+ if (obj === undefined || obj === null) {
101
+ return false;
102
+ }
103
+ return obj['__pulumiType'] === Vpc.__pulumiType;
104
+ }
105
+ }
106
+ exports.Vpc = Vpc;
107
+ /** @internal */
108
+ Vpc.__pulumiType = 'digitalocean:index/vpc:Vpc';
109
+ //# sourceMappingURL=vpc.js.map
package/vpc.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vpc.js","sourceRoot":"","sources":["../vpc.ts"],"names":[],"mappings":"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"}