Vpc
Provides a DigitalOcean VPC resource. VPCs are virtual networks containing resources that can communicate with each other in full isolation, using private IP addresses.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example = new digitalocean.Vpc("example", {
name: "example-project-network",
region: "nyc3",
ipRange: "10.10.10.0/24",
});
Content copied to clipboard
import pulumi
import pulumi_digitalocean as digitalocean
example = digitalocean.Vpc("example",
name="example-project-network",
region="nyc3",
ip_range="10.10.10.0/24")
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var example = new DigitalOcean.Vpc("example", new()
{
Name = "example-project-network",
Region = "nyc3",
IpRange = "10.10.10.0/24",
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := digitalocean.NewVpc(ctx, "example", &digitalocean.VpcArgs{
Name: pulumi.String("example-project-network"),
Region: pulumi.String("nyc3"),
IpRange: pulumi.String("10.10.10.0/24"),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.digitalocean.Vpc;
import com.pulumi.digitalocean.VpcArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Vpc("example", VpcArgs.builder()
.name("example-project-network")
.region("nyc3")
.ipRange("10.10.10.0/24")
.build());
}
}
Content copied to clipboard
resources:
example:
type: digitalocean:Vpc
properties:
name: example-project-network
region: nyc3
ipRange: 10.10.10.0/24
Content copied to clipboard
Resource Assignment
digitalocean.Droplet
, digitalocean.KubernetesCluster
, digitalocean_load_balancer
, and digitalocean.DatabaseCluster
resources may be assigned to a VPC by referencing its id
. For example:
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example = new digitalocean.Vpc("example", {
name: "example-project-network",
region: "nyc3",
});
const exampleDroplet = new digitalocean.Droplet("example", {
name: "example-01",
size: digitalocean.DropletSlug.DropletS1VCPU1GB,
image: "ubuntu-18-04-x64",
region: digitalocean.Region.NYC3,
vpcUuid: example.id,
});
Content copied to clipboard
import pulumi
import pulumi_digitalocean as digitalocean
example = digitalocean.Vpc("example",
name="example-project-network",
region="nyc3")
example_droplet = digitalocean.Droplet("example",
name="example-01",
size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
image="ubuntu-18-04-x64",
region=digitalocean.Region.NYC3,
vpc_uuid=example.id)
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var example = new DigitalOcean.Vpc("example", new()
{
Name = "example-project-network",
Region = "nyc3",
});
var exampleDroplet = new DigitalOcean.Droplet("example", new()
{
Name = "example-01",
Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,
Image = "ubuntu-18-04-x64",
Region = DigitalOcean.Region.NYC3,
VpcUuid = example.Id,
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := digitalocean.NewVpc(ctx, "example", &digitalocean.VpcArgs{
Name: pulumi.String("example-project-network"),
Region: pulumi.String("nyc3"),
})
if err != nil {
return err
}
_, err = digitalocean.NewDroplet(ctx, "example", &digitalocean.DropletArgs{
Name: pulumi.String("example-01"),
Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),
Image: pulumi.String("ubuntu-18-04-x64"),
Region: pulumi.String(digitalocean.RegionNYC3),
VpcUuid: example.ID(),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.digitalocean.Vpc;
import com.pulumi.digitalocean.VpcArgs;
import com.pulumi.digitalocean.Droplet;
import com.pulumi.digitalocean.DropletArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Vpc("example", VpcArgs.builder()
.name("example-project-network")
.region("nyc3")
.build());
var exampleDroplet = new Droplet("exampleDroplet", DropletArgs.builder()
.name("example-01")
.size("s-1vcpu-1gb")
.image("ubuntu-18-04-x64")
.region("nyc3")
.vpcUuid(example.id())
.build());
}
}
Content copied to clipboard
resources:
example:
type: digitalocean:Vpc
properties:
name: example-project-network
region: nyc3
exampleDroplet:
type: digitalocean:Droplet
name: example
properties:
name: example-01
size: s-1vcpu-1gb
image: ubuntu-18-04-x64
region: nyc3
vpcUuid: ${example.id}
Content copied to clipboard
Import
A VPC can be imported using its id
, e.g.
$ pulumi import digitalocean:index/vpc:Vpc example 506f78a4-e098-11e5-ad9f-000f53306ae1
Content copied to clipboard