@pulumi/digitalocean
Version:
A Pulumi package for creating and managing DigitalOcean cloud resources.
148 lines (147 loc) • 4.95 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* > VPC peering is currently in alpha. If you are not a member of the alpha group for this feature, you will not be able to use it until it has been more widely released. Please follow the official [DigitalOcean changelog](https://docs.digitalocean.com/release-notes/) for updates.
*
* Provides a DigitalOcean VPC Peering resource.
*
* VPC Peerings are used to connect two VPC networks allowing resources in each
* VPC to communicate with each other privately.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as digitalocean from "@pulumi/digitalocean";
*
* const example = new digitalocean.VpcPeering("example", {
* name: "example-peering",
* vpcIds: [
* vpc1.id,
* vpc2.id,
* ],
* });
* ```
*
* ### Resource Assignment
*
* You can use the VPC Peering resource to allow communication between resources
* in different VPCs. For example:
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as digitalocean from "@pulumi/digitalocean";
*
* const vpc1 = new digitalocean.Vpc("vpc1", {
* name: "vpc1",
* region: "nyc3",
* });
* const vpc2 = new digitalocean.Vpc("vpc2", {
* name: "vpc2",
* region: "nyc3",
* });
* const example = new digitalocean.VpcPeering("example", {
* name: "example-peering",
* vpcIds: [
* vpc1.id,
* vpc2.id,
* ],
* });
* const example1 = new digitalocean.Droplet("example1", {
* name: "example1",
* size: digitalocean.DropletSlug.DropletS1VCPU1GB,
* image: "ubuntu-18-04-x64",
* region: digitalocean.Region.NYC3,
* vpcUuid: vpc1.id,
* });
* const example2 = new digitalocean.Droplet("example2", {
* name: "example2",
* size: digitalocean.DropletSlug.DropletS1VCPU1GB,
* image: "ubuntu-18-04-x64",
* region: digitalocean.Region.NYC3,
* vpcUuid: vpc2.id,
* });
* ```
*
* ## Import
*
* A VPC Peering can be imported using its `id`, e.g.
*
* ```sh
* $ pulumi import digitalocean:index/vpcPeering:VpcPeering example 771ad360-c017-4b4e-a34e-73934f5f0190
* ```
*/
export declare class VpcPeering extends pulumi.CustomResource {
/**
* Get an existing VpcPeering resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcPeeringState, opts?: pulumi.CustomResourceOptions): VpcPeering;
/**
* Returns true if the given object is an instance of VpcPeering. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is VpcPeering;
/**
* The date and time of when the VPC Peering was created.
*/
readonly createdAt: pulumi.Output<string>;
/**
* A name for the VPC Peering. Must be unique and contain alphanumeric characters, dashes, and periods only.
*/
readonly name: pulumi.Output<string>;
/**
* The status of the VPC Peering.
*/
readonly status: pulumi.Output<string>;
/**
* A set of two VPC IDs to be peered.
*/
readonly vpcIds: pulumi.Output<string[]>;
/**
* Create a VpcPeering resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: VpcPeeringArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering VpcPeering resources.
*/
export interface VpcPeeringState {
/**
* The date and time of when the VPC Peering was created.
*/
createdAt?: pulumi.Input<string>;
/**
* A name for the VPC Peering. Must be unique and contain alphanumeric characters, dashes, and periods only.
*/
name?: pulumi.Input<string>;
/**
* The status of the VPC Peering.
*/
status?: pulumi.Input<string>;
/**
* A set of two VPC IDs to be peered.
*/
vpcIds?: pulumi.Input<pulumi.Input<string>[]>;
}
/**
* The set of arguments for constructing a VpcPeering resource.
*/
export interface VpcPeeringArgs {
/**
* A name for the VPC Peering. Must be unique and contain alphanumeric characters, dashes, and periods only.
*/
name?: pulumi.Input<string>;
/**
* A set of two VPC IDs to be peered.
*/
vpcIds: pulumi.Input<pulumi.Input<string>[]>;
}