Module ec2

This page documents the language specification for the aws package. If you're looking for help working with the inputs, outputs, or functions of aws resources in a Pulumi program, please see the resource documentation for examples and API reference.

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-aws repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-aws repo.

namespace InstancePlatforms

namespace InstanceTypes

namespace Tenancies

Resources

Functions

Others

namespace InstancePlatforms

const LinuxUnixPlatform

const LinuxUnixPlatform: InstancePlatform = "Linux/UNIX";

const RedHatEnterpriseLinuxPlatform

const RedHatEnterpriseLinuxPlatform: InstancePlatform = "Red Hat Enterprise Linux";

const SuseLinuxPlatform

const SuseLinuxPlatform: InstancePlatform = "SUSE Linux";

const WindowsPlatform

const WindowsPlatform: InstancePlatform = "Windows";

const WindowsWithSqlServerEnterprisePlatform

const WindowsWithSqlServerEnterprisePlatform: InstancePlatform = "Windows with SQL Server Enterprise";

const WindowsWithSqlServerPlatform

const WindowsWithSqlServerPlatform: InstancePlatform = "Windows with SQL Server";

const WindowsWithSqlServerStandardPlatform

const WindowsWithSqlServerStandardPlatform: InstancePlatform = "Windows with SQL Server Standard";

const WindowsWithSqlServerWebPlatform

const WindowsWithSqlServerWebPlatform: InstancePlatform = "Windows with SQL Server Web";

namespace InstanceTypes

const A1_2XLarge

const A1_2XLarge: InstanceType = "a1.2xlarge";

const A1_4XLarge

const A1_4XLarge: InstanceType = "a1.4xlarge";

const A1_Large

const A1_Large: InstanceType = "a1.large";

const A1_Medium

const A1_Medium: InstanceType = "a1.medium";

const A1_XLarge

const A1_XLarge: InstanceType = "a1.xlarge";

const C3_2XLarge

const C3_2XLarge: InstanceType = "c3.2xlarge";

const C3_4XLarge

const C3_4XLarge: InstanceType = "c3.4xlarge";

const C3_8XLarge

const C3_8XLarge: InstanceType = "c3.8xlarge";

const C3_Large

const C3_Large: InstanceType = "c3.large";

const C3_XLarge

const C3_XLarge: InstanceType = "c3.xlarge";

const C4_2XLarge

const C4_2XLarge: InstanceType = "c4.2xlarge";

const C4_4XLarge

const C4_4XLarge: InstanceType = "c4.4xlarge";

const C4_8XLarge

const C4_8XLarge: InstanceType = "c4.8xlarge";

const C4_Large

const C4_Large: InstanceType = "c4.large";

const C4_XLarge

const C4_XLarge: InstanceType = "c4.xlarge";

const C5_18XLarge

const C5_18XLarge: InstanceType = "c5.18xlarge";

const C5_2XLarge

const C5_2XLarge: InstanceType = "c5.2xlarge";

const C5_4XLarge

const C5_4XLarge: InstanceType = "c5.4xlarge";

const C5_9XLarge

const C5_9XLarge: InstanceType = "c5.9xlarge";

const C5_Large

const C5_Large: InstanceType = "c5.large";

const C5_XLarge

const C5_XLarge: InstanceType = "c5.xlarge";

const C5d_18XLarge

const C5d_18XLarge: InstanceType = "c5d.18xlarge";

const C5d_2XLarge

const C5d_2XLarge: InstanceType = "c5d.2xlarge";

const C5d_4XLarge

const C5d_4XLarge: InstanceType = "c5d.4xlarge";

const C5d_9XLarge

const C5d_9XLarge: InstanceType = "c5d.9xlarge";

const C5d_Large

const C5d_Large: InstanceType = "c5d.large";

const C5d_XLarge

const C5d_XLarge: InstanceType = "c5d.xlarge";

const C5n_18XLarge

const C5n_18XLarge: InstanceType = "c5n.18xlarge";

const C5n_2XLarge

const C5n_2XLarge: InstanceType = "c5n.2xlarge";

const C5n_4XLarge

const C5n_4XLarge: InstanceType = "c5n.4xlarge";

const C5n_9XLarge

const C5n_9XLarge: InstanceType = "c5n.9xlarge";

const C5n_Large

const C5n_Large: InstanceType = "c5n.large";

const C5n_XLarge

const C5n_XLarge: InstanceType = "c5n.xlarge";

const D2_2XLarge

const D2_2XLarge: InstanceType = "d2.2xlarge";

const D2_4XLarge

const D2_4XLarge: InstanceType = "d2.4xlarge";

const D2_8XLarge

const D2_8XLarge: InstanceType = "d2.8xlarge";

const D2_XLarge

const D2_XLarge: InstanceType = "d2.xlarge";

const F1_16XLarge

const F1_16XLarge: InstanceType = "f1.16xlarge";

const F1_2XLarge

const F1_2XLarge: InstanceType = "f1.2xlarge";

const G2_2XLarge

const G2_2XLarge: InstanceType = "g2.2xlarge";

const G2_8XLarge

const G2_8XLarge: InstanceType = "g2.8xlarge";

const G3_16XLarge

const G3_16XLarge: InstanceType = "g3.16xlarge";

const G3_4XLarge

const G3_4XLarge: InstanceType = "g3.4xlarge";

const G3_8XLarge

const G3_8XLarge: InstanceType = "g3.8xlarge";

const G3s_XLarge

const G3s_XLarge: InstanceType = "g3s.xlarge";

const H1_16XLarge

const H1_16XLarge: InstanceType = "h1.16xlarge";

const H1_2XLarge

const H1_2XLarge: InstanceType = "h1.2xlarge";

const H1_4XLarge

const H1_4XLarge: InstanceType = "h1.4xlarge";

const H1_8XLarge

const H1_8XLarge: InstanceType = "h1.8xlarge";

const Hs1_8XLarge

const Hs1_8XLarge: InstanceType = "hs1.8xlarge";

const I3_16XLarge

const I3_16XLarge: InstanceType = "i3.16xlarge";

const I3_2XLarge

const I3_2XLarge: InstanceType = "i3.2xlarge";

const I3_4XLarge

const I3_4XLarge: InstanceType = "i3.4xlarge";

const I3_8XLarge

const I3_8XLarge: InstanceType = "i3.8xlarge";

const I3_Large

const I3_Large: InstanceType = "i3.large";

const I3_Metal

const I3_Metal: InstanceType = "i3.metal";

const I3_XLarge

const I3_XLarge: InstanceType = "i3.xlarge";

const M3_2XLarge

const M3_2XLarge: InstanceType = "m3.2xlarge";

const M3_Large

const M3_Large: InstanceType = "m3.large";

const M3_Medium

const M3_Medium: InstanceType = "m3.medium";

const M3_XLarge

const M3_XLarge: InstanceType = "m3.xlarge";

const M4_10XLarge

const M4_10XLarge: InstanceType = "m4.10xlarge";

const M4_16XLarge

const M4_16XLarge: InstanceType = "m4.16xlarge";

const M4_2XLarge

const M4_2XLarge: InstanceType = "m4.2xlarge";

const M4_4XLarge

const M4_4XLarge: InstanceType = "m4.4xlarge";

const M4_Large

const M4_Large: InstanceType = "m4.large";

const M4_XLarge

const M4_XLarge: InstanceType = "m4.xlarge";

const M5_12XLarge

const M5_12XLarge: InstanceType = "m5.12xlarge";

const M5_24XLarge

const M5_24XLarge: InstanceType = "m5.24xlarge";

const M5_2XLarge

const M5_2XLarge: InstanceType = "m5.2xlarge";

const M5_4XLarge

const M5_4XLarge: InstanceType = "m5.4xlarge";

const M5_Large

const M5_Large: InstanceType = "m5.large";

const M5_XLarge

const M5_XLarge: InstanceType = "m5.xlarge";

const M5a_12XLarge

const M5a_12XLarge: InstanceType = "m5a.12xlarge";

const M5a_24XLarge

const M5a_24XLarge: InstanceType = "m5a.24xlarge";

const M5a_2XLarge

const M5a_2XLarge: InstanceType = "m5a.2xlarge";

const M5a_4XLarge

const M5a_4XLarge: InstanceType = "m5a.4xlarge";

const M5a_Large

const M5a_Large: InstanceType = "m5a.large";

const M5a_XLarge

const M5a_XLarge: InstanceType = "m5a.xlarge";

const M5d_12XLarge

const M5d_12XLarge: InstanceType = "m5d.12xlarge";

const M5d_24XLarge

const M5d_24XLarge: InstanceType = "m5d.24xlarge";

const M5d_2XLarge

const M5d_2XLarge: InstanceType = "m5d.2xlarge";

const M5d_4XLarge

const M5d_4XLarge: InstanceType = "m5d.4xlarge";

const M5d_Large

const M5d_Large: InstanceType = "m5d.large";

const M5d_XLarge

const M5d_XLarge: InstanceType = "m5d.xlarge";

const P2_16XLarge

const P2_16XLarge: InstanceType = "p2.16xlarge";

const P2_8XLarge

const P2_8XLarge: InstanceType = "p2.8xlarge";

const P2_XLarge

const P2_XLarge: InstanceType = "p2.xlarge";

const P3_16XLarge

const P3_16XLarge: InstanceType = "p3.16xlarge";

const P3_2XLarge

const P3_2XLarge: InstanceType = "p3.2xlarge";

const P3_8XLarge

const P3_8XLarge: InstanceType = "p3.8xlarge";

const P3dn_24XLarge

const P3dn_24XLarge: InstanceType = "p3dn.24xlarge";

const R3_2XLarge

const R3_2XLarge: InstanceType = "r3.2xlarge";

const R3_4XLarge

const R3_4XLarge: InstanceType = "r3.4xlarge";

const R3_8XLarge

const R3_8XLarge: InstanceType = "r3.8xlarge";

const R3_Large

const R3_Large: InstanceType = "r3.large";

const R3_XLarge

const R3_XLarge: InstanceType = "r3.xlarge";

const R4_16XLarge

const R4_16XLarge: InstanceType = "r4.16xlarge";

const R4_2XLarge

const R4_2XLarge: InstanceType = "r4.2xlarge";

const R4_4XLarge

const R4_4XLarge: InstanceType = "r4.4xlarge";

const R4_8XLarge

const R4_8XLarge: InstanceType = "r4.8xlarge";

const R4_Large

const R4_Large: InstanceType = "r4.large";

const R4_XLarge

const R4_XLarge: InstanceType = "r4.xlarge";

const R5_12XLarge

const R5_12XLarge: InstanceType = "r5.12xlarge";

const R5_24XLarge

const R5_24XLarge: InstanceType = "r5.24xlarge";

const R5_2XLarge

const R5_2XLarge: InstanceType = "r5.2xlarge";

const R5_4XLarge

const R5_4XLarge: InstanceType = "r5.4xlarge";

const R5_Large

const R5_Large: InstanceType = "r5.large";

const R5_XLarge

const R5_XLarge: InstanceType = "r5.xlarge";

const R5a_12XLarge

const R5a_12XLarge: InstanceType = "r5a.12xlarge";

const R5a_24XLarge

const R5a_24XLarge: InstanceType = "r5a.24xlarge";

const R5a_2XLarge

const R5a_2XLarge: InstanceType = "r5a.2xlarge";

const R5a_4XLarge

const R5a_4XLarge: InstanceType = "r5a.4xlarge";

const R5a_Large

const R5a_Large: InstanceType = "r5a.large";

const R5a_XLarge

const R5a_XLarge: InstanceType = "r5a.xlarge";

const R5d_12XLarge

const R5d_12XLarge: InstanceType = "r5d.12xlarge";

const R5d_24XLarge

const R5d_24XLarge: InstanceType = "r5d.24xlarge";

const R5d_2XLarge

const R5d_2XLarge: InstanceType = "r5d.2xlarge";

const R5d_4XLarge

const R5d_4XLarge: InstanceType = "r5d.4xlarge";

const R5d_Large

const R5d_Large: InstanceType = "r5d.large";

const R5d_XLarge

const R5d_XLarge: InstanceType = "r5d.xlarge";

const T2_2XLarge

const T2_2XLarge: InstanceType = "t2.2xlarge";

const T2_Large

const T2_Large: InstanceType = "t2.large";

const T2_Medium

const T2_Medium: InstanceType = "t2.medium";

const T2_Micro

const T2_Micro: InstanceType = "t2.micro";

const T2_Nano

const T2_Nano: InstanceType = "t2.nano";

const T2_Small

const T2_Small: InstanceType = "t2.small";

const T2_XLarge

const T2_XLarge: InstanceType = "t2.xlarge";

const T3_2XLarge

const T3_2XLarge: InstanceType = "t3.2xlarge";

const T3_Large

const T3_Large: InstanceType = "t3.large";

const T3_Medium

const T3_Medium: InstanceType = "t3.medium";

const T3_Micro

const T3_Micro: InstanceType = "t3.micro";

const T3_Nano

const T3_Nano: InstanceType = "t3.nano";

const T3_Small

const T3_Small: InstanceType = "t3.small";

const T3_XLarge

const T3_XLarge: InstanceType = "t3.xlarge";

const T3a_2XLarge

const T3a_2XLarge: InstanceType = "t3a.2xlarge";

const T3a_Large

const T3a_Large: InstanceType = "t3a.large";

const T3a_Medium

const T3a_Medium: InstanceType = "t3a.medium";

const T3a_Micro

const T3a_Micro: InstanceType = "t3a.micro";

const T3a_Nano

const T3a_Nano: InstanceType = "t3a.nano";

const T3a_Small

const T3a_Small: InstanceType = "t3a.small";

const T3a_XLarge

const T3a_XLarge: InstanceType = "t3a.xlarge";

const U_12tb1Metal

const U_12tb1Metal: InstanceType = "u-12tb1.metal";

const U_6tb1Metal

const U_6tb1Metal: InstanceType = "u-6tb1.metal";

const U_9tb1Metal

const U_9tb1Metal: InstanceType = "u-9tb1.metal";

const X1_16XLarge

const X1_16XLarge: InstanceType = "x1.16xlarge";

const X1_32XLarge

const X1_32XLarge: InstanceType = "x1.32xlarge";

const X1e_16XLarge

const X1e_16XLarge: InstanceType = "x1e.16xlarge";

const X1e_2XLarge

const X1e_2XLarge: InstanceType = "x1e.2xlarge";

const X1e_32XLarge

const X1e_32XLarge: InstanceType = "x1e.32xlarge";

const X1e_4XLarge

const X1e_4XLarge: InstanceType = "x1e.4xlarge";

const X1e_8XLarge

const X1e_8XLarge: InstanceType = "x1e.8xlarge";

const X1e_XLarge

const X1e_XLarge: InstanceType = "x1e.xlarge";

const Z1d_12XLarge

const Z1d_12XLarge: InstanceType = "z1d.12xlarge";

const Z1d_2XLarge

const Z1d_2XLarge: InstanceType = "z1d.2xlarge";

const Z1d_3XLarge

const Z1d_3XLarge: InstanceType = "z1d.3xlarge";

const Z1d_6XLarge

const Z1d_6XLarge: InstanceType = "z1d.6xlarge";

const Z1d_Large

const Z1d_Large: InstanceType = "z1d.large";

const Z1d_XLarge

const Z1d_XLarge: InstanceType = "z1d.xlarge";

namespace Tenancies

const DedicatedTenancy

const DedicatedTenancy: Tenancy = "dedicated";

const DefaultTenancy

const DefaultTenancy: Tenancy = "default";

Resources

Resource Ami

class Ami extends CustomResource

The AMI resource allows the creation and management of a completely-custom Amazon Machine Image (AMI).

If you just want to duplicate an existing AMI, possibly copying it to another region, it’s better to use aws.ec2.AmiCopy instead.

If you just want to share an existing AMI with another AWS account, it’s better to use aws.ec2.AmiLaunchPermission instead.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

// Create an AMI that will start a machine whose root device is backed by
// an EBS volume populated from a snapshot. It is assumed that such a snapshot
// already exists with the id "snap-xxxxxxxx".
const example = new aws.ec2.Ami("example", {
    ebsBlockDevices: [{
        deviceName: "/dev/xvda",
        snapshotId: "snap-xxxxxxxx",
        volumeSize: 8,
    }],
    rootDeviceName: "/dev/xvda",
    virtualizationType: "hvm",
});

constructor

new Ami(name: string, args?: AmiArgs, opts?: pulumi.CustomResourceOptions)

Create a Ami resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AmiState, opts?: pulumi.CustomResourceOptions): Ami

Get an existing Ami resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Ami

Returns true if the given object is an instance of Ami. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property architecture

public architecture: pulumi.Output<string | undefined>;

Machine architecture for created instances. Defaults to “x8664”.

property description

public description: pulumi.Output<string | undefined>;

A longer, human-readable description for the AMI.

property ebsBlockDevices

public ebsBlockDevices: pulumi.Output<AmiEbsBlockDevice[]>;

Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.

property enaSupport

public enaSupport: pulumi.Output<boolean | undefined>;

Specifies whether enhanced networking with ENA is enabled. Defaults to false.

property ephemeralBlockDevices

public ephemeralBlockDevices: pulumi.Output<AmiEphemeralBlockDevice[]>;

Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property imageLocation

public imageLocation: pulumi.Output<string>;

Path to an S3 object containing an image manifest, e.g. created by the ec2-upload-bundle command in the EC2 command line tools.

property kernelId

public kernelId: pulumi.Output<string | undefined>;

The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.

property manageEbsSnapshots

public manageEbsSnapshots: pulumi.Output<boolean>;

property name

public name: pulumi.Output<string>;

A region-unique name for the AMI.

property ramdiskId

public ramdiskId: pulumi.Output<string | undefined>;

The id of an initrd image (ARI) that will be used when booting the created instances.

property rootDeviceName

public rootDeviceName: pulumi.Output<string | undefined>;

The name of the root device (for example, /dev/sda1, or /dev/xvda).

property rootSnapshotId

public rootSnapshotId: pulumi.Output<string>;

The Snapshot ID for the root volume (for EBS-backed AMIs)

property sriovNetSupport

public sriovNetSupport: pulumi.Output<string | undefined>;

When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property virtualizationType

public virtualizationType: pulumi.Output<string | undefined>;

Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.

Resource AmiCopy

class AmiCopy extends CustomResource

The “AMI copy” resource allows duplication of an Amazon Machine Image (AMI), including cross-region copies.

If the source AMI has associated EBS snapshots, those will also be duplicated along with the AMI.

This is useful for taking a single AMI provisioned in one region and making it available in another for a multi-region deployment.

Copying an AMI can take several minutes. The creation of this resource will block until the new AMI is available for use on new instances.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.ec2.AmiCopy("example", {
    description: "A copy of ami-xxxxxxxx",
    sourceAmiId: "ami-xxxxxxxx",
    sourceAmiRegion: "us-west-1",
    tags: {
        Name: "HelloWorld",
    },
});

constructor

new AmiCopy(name: string, args: AmiCopyArgs, opts?: pulumi.CustomResourceOptions)

Create a AmiCopy resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AmiCopyState, opts?: pulumi.CustomResourceOptions): AmiCopy

Get an existing AmiCopy resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is AmiCopy

Returns true if the given object is an instance of AmiCopy. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property architecture

public architecture: pulumi.Output<string>;

Machine architecture for created instances. Defaults to “x8664”.

property description

public description: pulumi.Output<string | undefined>;

A longer, human-readable description for the AMI.

property ebsBlockDevices

public ebsBlockDevices: pulumi.Output<AmiCopyEbsBlockDevice[]>;

Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.

property enaSupport

public enaSupport: pulumi.Output<boolean>;

Specifies whether enhanced networking with ENA is enabled. Defaults to false.

property encrypted

public encrypted: pulumi.Output<boolean | undefined>;

Boolean controlling whether the created EBS volumes will be encrypted. Can’t be used with snapshotId.

property ephemeralBlockDevices

public ephemeralBlockDevices: pulumi.Output<AmiCopyEphemeralBlockDevice[]>;

Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property imageLocation

public imageLocation: pulumi.Output<string>;

Path to an S3 object containing an image manifest, e.g. created by the ec2-upload-bundle command in the EC2 command line tools.

property kernelId

public kernelId: pulumi.Output<string>;

The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.

property kmsKeyId

public kmsKeyId: pulumi.Output<string>;

The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when encrypting the snapshots of an image during a copy operation. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used

property manageEbsSnapshots

public manageEbsSnapshots: pulumi.Output<boolean>;

property name

public name: pulumi.Output<string>;

A region-unique name for the AMI.

property ramdiskId

public ramdiskId: pulumi.Output<string>;

The id of an initrd image (ARI) that will be used when booting the created instances.

property rootDeviceName

public rootDeviceName: pulumi.Output<string>;

The name of the root device (for example, /dev/sda1, or /dev/xvda).

property rootSnapshotId

public rootSnapshotId: pulumi.Output<string>;

property sourceAmiId

public sourceAmiId: pulumi.Output<string>;

The id of the AMI to copy. This id must be valid in the region given by sourceAmiRegion.

property sourceAmiRegion

public sourceAmiRegion: pulumi.Output<string>;

The region from which the AMI will be copied. This may be the same as the AWS provider region in order to create a copy within the same region.

property sriovNetSupport

public sriovNetSupport: pulumi.Output<string>;

When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property virtualizationType

public virtualizationType: pulumi.Output<string>;

Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.

Resource AmiFromInstance

class AmiFromInstance extends CustomResource

The “AMI from instance” resource allows the creation of an Amazon Machine Image (AMI) modelled after an existing EBS-backed EC2 instance.

The created AMI will refer to implicitly-created snapshots of the instance’s EBS volumes and mimick its assigned block device configuration at the time the resource is created.

This resource is best applied to an instance that is stopped when this instance is created, so that the contents of the created image are predictable. When applied to an instance that is running, the instance will be stopped before taking the snapshots and then started back up again, resulting in a period of downtime.

Note that the source instance is inspected only at the initial creation of this resource. Ongoing updates to the referenced instance will not be propagated into the generated AMI. Users may taint or otherwise recreate the resource in order to produce a fresh snapshot.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.ec2.AmiFromInstance("example", {
    sourceInstanceId: "i-xxxxxxxx",
});

constructor

new AmiFromInstance(name: string, args: AmiFromInstanceArgs, opts?: pulumi.CustomResourceOptions)

Create a AmiFromInstance resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AmiFromInstanceState, opts?: pulumi.CustomResourceOptions): AmiFromInstance

Get an existing AmiFromInstance resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is AmiFromInstance

Returns true if the given object is an instance of AmiFromInstance. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property architecture

public architecture: pulumi.Output<string>;

Machine architecture for created instances. Defaults to “x8664”.

property description

public description: pulumi.Output<string | undefined>;

A longer, human-readable description for the AMI.

property ebsBlockDevices

public ebsBlockDevices: pulumi.Output<AmiFromInstanceEbsBlockDevice[]>;

Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.

property enaSupport

public enaSupport: pulumi.Output<boolean>;

Specifies whether enhanced networking with ENA is enabled. Defaults to false.

property ephemeralBlockDevices

public ephemeralBlockDevices: pulumi.Output<AmiFromInstanceEphemeralBlockDevice[]>;

Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property imageLocation

public imageLocation: pulumi.Output<string>;

Path to an S3 object containing an image manifest, e.g. created by the ec2-upload-bundle command in the EC2 command line tools.

property kernelId

public kernelId: pulumi.Output<string>;

The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.

property manageEbsSnapshots

public manageEbsSnapshots: pulumi.Output<boolean>;

property name

public name: pulumi.Output<string>;

A region-unique name for the AMI.

property ramdiskId

public ramdiskId: pulumi.Output<string>;

The id of an initrd image (ARI) that will be used when booting the created instances.

property rootDeviceName

public rootDeviceName: pulumi.Output<string>;

The name of the root device (for example, /dev/sda1, or /dev/xvda).

property rootSnapshotId

public rootSnapshotId: pulumi.Output<string>;

property snapshotWithoutReboot

public snapshotWithoutReboot: pulumi.Output<boolean | undefined>;

Boolean that overrides the behavior of stopping the instance before snapshotting. This is risky since it may cause a snapshot of an inconsistent filesystem state, but can be used to avoid downtime if the user otherwise guarantees that no filesystem writes will be underway at the time of snapshot.

property sourceInstanceId

public sourceInstanceId: pulumi.Output<string>;

The id of the instance to use as the basis of the AMI.

property sriovNetSupport

public sriovNetSupport: pulumi.Output<string>;

When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property virtualizationType

public virtualizationType: pulumi.Output<string>;

Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.

Resource AmiLaunchPermission

class AmiLaunchPermission extends CustomResource

Adds launch permission to Amazon Machine Image (AMI) from another AWS account.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.ec2.AmiLaunchPermission("example", {
    accountId: "123456789012",
    imageId: "ami-12345678",
});

constructor

new AmiLaunchPermission(name: string, args: AmiLaunchPermissionArgs, opts?: pulumi.CustomResourceOptions)

Create a AmiLaunchPermission resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AmiLaunchPermissionState, opts?: pulumi.CustomResourceOptions): AmiLaunchPermission

Get an existing AmiLaunchPermission resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is AmiLaunchPermission

Returns true if the given object is an instance of AmiLaunchPermission. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property accountId

public accountId: pulumi.Output<string>;

An AWS Account ID to add launch permissions.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property imageId

public imageId: pulumi.Output<string>;

A region-unique name for the AMI.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource AvailabilityZoneGroup

class AvailabilityZoneGroup extends CustomResource

Manages an EC2 Availability Zone Group, such as updating its opt-in status.

NOTE: This is an advanced resource. The provider will automatically assume management of the EC2 Availability Zone Group without import and perform no actions on removal from configuration.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.ec2.AvailabilityZoneGroup("example", {
    groupName: "us-west-2-lax-1",
    optInStatus: "opted-in",
});

constructor

new AvailabilityZoneGroup(name: string, args: AvailabilityZoneGroupArgs, opts?: pulumi.CustomResourceOptions)

Create a AvailabilityZoneGroup resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AvailabilityZoneGroupState, opts?: pulumi.CustomResourceOptions): AvailabilityZoneGroup

Get an existing AvailabilityZoneGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is AvailabilityZoneGroup

Returns true if the given object is an instance of AvailabilityZoneGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property groupName

public groupName: pulumi.Output<string>;

Name of the Availability Zone Group.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property optInStatus

public optInStatus: pulumi.Output<string>;

Indicates whether to enable or disable Availability Zone Group. Valid values: opted-in or not-opted-in.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource CapacityReservation

class CapacityReservation extends CustomResource

Provides an EC2 Capacity Reservation. This allows you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const defaultCapacityReservation = new aws.ec2.CapacityReservation("default", {
    availabilityZone: "eu-west-1a",
    instanceCount: 1,
    instancePlatform: "Linux/UNIX",
    instanceType: "t2.micro",
});

constructor

new CapacityReservation(name: string, args: CapacityReservationArgs, opts?: pulumi.CustomResourceOptions)

Create a CapacityReservation resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: CapacityReservationState, opts?: pulumi.CustomResourceOptions): CapacityReservation

Get an existing CapacityReservation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is CapacityReservation

Returns true if the given object is an instance of CapacityReservation. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property availabilityZone

public availabilityZone: pulumi.Output<string>;

The Availability Zone in which to create the Capacity Reservation.

property ebsOptimized

public ebsOptimized: pulumi.Output<boolean | undefined>;

Indicates whether the Capacity Reservation supports EBS-optimized instances.

property endDate

public endDate: pulumi.Output<string | undefined>;

The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ)

property endDateType

public endDateType: pulumi.Output<string | undefined>;

Indicates the way in which the Capacity Reservation ends. Specify either unlimited or limited.

property ephemeralStorage

public ephemeralStorage: pulumi.Output<boolean | undefined>;

Indicates whether the Capacity Reservation supports instances with temporary, block-level storage.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instanceCount

public instanceCount: pulumi.Output<number>;

The number of instances for which to reserve capacity.

property instanceMatchCriteria

public instanceMatchCriteria: pulumi.Output<string | undefined>;

Indicates the type of instance launches that the Capacity Reservation accepts. Specify either open or targeted.

property instancePlatform

public instancePlatform: pulumi.Output<InstancePlatform>;

The type of operating system for which to reserve capacity. Valid options are Linux/UNIX, Red Hat Enterprise Linux, SUSE Linux, Windows, Windows with SQL Server, Windows with SQL Server Enterprise, Windows with SQL Server Standard or Windows with SQL Server Web.

property instanceType

public instanceType: pulumi.Output<InstanceType>;

The instance type for which to reserve capacity.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property tenancy

public tenancy: pulumi.Output<Tenancy | undefined>;

Indicates the tenancy of the Capacity Reservation. Specify either default or dedicated.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource CustomerGateway

class CustomerGateway extends CustomResource

Provides a customer gateway inside a VPC. These objects can be connected to VPN gateways via VPN connections, and allow you to establish tunnels between your network and the VPC.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const main = new aws.ec2.CustomerGateway("main", {
    bgpAsn: 65000,
    ipAddress: "172.83.124.10",
    tags: {
        Name: "main-customer-gateway",
    },
    type: "ipsec.1",
});

constructor

new CustomerGateway(name: string, args: CustomerGatewayArgs, opts?: pulumi.CustomResourceOptions)

Create a CustomerGateway resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: CustomerGatewayState, opts?: pulumi.CustomResourceOptions): CustomerGateway

Get an existing CustomerGateway resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is CustomerGateway

Returns true if the given object is an instance of CustomerGateway. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property bgpAsn

public bgpAsn: pulumi.Output<number>;

The gateway’s Border Gateway Protocol (BGP) Autonomous System Number (ASN).

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property ipAddress

public ipAddress: pulumi.Output<string>;

The IP address of the gateway’s Internet-routable external interface.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

Tags to apply to the gateway.

property type

public type: pulumi.Output<string>;

The type of customer gateway. The only type AWS supports at this time is “ipsec.1”.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource DefaultNetworkAcl

class DefaultNetworkAcl extends CustomResource

Provides a resource to manage the default AWS Network ACL. VPC Only.

Each VPC created in AWS comes with a Default Network ACL that can be managed, but not destroyed. This is an advanced resource, and has special caveats to be aware of when using it. Please read this document in its entirety before using this resource.

The aws.ec2.DefaultNetworkAcl behaves differently from normal resources, in that this provider does not create this resource, but instead attempts to “adopt” it into management. We can do this because each VPC created has a Default Network ACL that cannot be destroyed, and is created with a known set of default rules.

When this provider first adopts the Default Network ACL, it immediately removes all rules in the ACL. It then proceeds to create any rules specified in the configuration. This step is required so that only the rules specified in the configuration are created.

This resource treats its inline rules as absolute; only the rules defined inline are created, and any additions/removals external to this resource will result in diffs being shown. For these reasons, this resource is incompatible with the aws.ec2.NetworkAclRule resource.

For more information about Network ACLs, see the AWS Documentation on [Network ACLs][aws-network-acls].

Basic Example Usage, with default rules

The following config gives the Default Network ACL the same rules that AWS includes, but pulls the resource under management by this provider. This means that any ACL rules added or changed will be detected as drift.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const mainvpc = new aws.ec2.Vpc("mainvpc", {cidrBlock: "10.1.0.0/16"});
const _default = new aws.ec2.DefaultNetworkAcl("default", {
    defaultNetworkAclId: mainvpc.defaultNetworkAclId,
    ingress: [{
        protocol: -1,
        ruleNo: 100,
        action: "allow",
        cidrBlock: mainvpc.cidrBlock,
        fromPort: 0,
        toPort: 0,
    }],
    egress: [{
        protocol: -1,
        ruleNo: 100,
        action: "allow",
        cidrBlock: "0.0.0.0/0",
        fromPort: 0,
        toPort: 0,
    }],
});

Example config to deny all Egress traffic, allowing Ingress

The following denies all Egress traffic by omitting any egress rules, while including the default ingress rule to allow all traffic.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const mainvpc = new aws.ec2.Vpc("mainvpc", {cidrBlock: "10.1.0.0/16"});
const _default = new aws.ec2.DefaultNetworkAcl("default", {
    defaultNetworkAclId: mainvpc.defaultNetworkAclId,
    ingress: [{
        protocol: -1,
        ruleNo: 100,
        action: "allow",
        cidrBlock: mainvpc.cidrBlock,
        fromPort: 0,
        toPort: 0,
    }],
});

Example config to deny all traffic to any Subnet in the Default Network ACL

This config denies all traffic in the Default ACL. This can be useful if you want a locked down default to force all resources in the VPC to assign a non-default ACL.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const mainvpc = new aws.ec2.Vpc("mainvpc", {
    cidrBlock: "10.1.0.0/16",
});
const defaultDefaultNetworkAcl = new aws.ec2.DefaultNetworkAcl("default", {
    defaultNetworkAclId: mainvpc.defaultNetworkAclId,
});

constructor

new DefaultNetworkAcl(name: string, args: DefaultNetworkAclArgs, opts?: pulumi.CustomResourceOptions)

Create a DefaultNetworkAcl resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DefaultNetworkAclState, opts?: pulumi.CustomResourceOptions): DefaultNetworkAcl

Get an existing DefaultNetworkAcl resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is DefaultNetworkAcl

Returns true if the given object is an instance of DefaultNetworkAcl. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property defaultNetworkAclId

public defaultNetworkAclId: pulumi.Output<string>;

The Network ACL ID to manage. This attribute is exported from aws.ec2.Vpc, or manually found via the AWS Console.

property egress

public egress: pulumi.Output<DefaultNetworkAclEgress[] | undefined>;

Specifies an egress rule. Parameters defined below.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property ingress

public ingress: pulumi.Output<DefaultNetworkAclIngress[] | undefined>;

Specifies an ingress rule. Parameters defined below.

property ownerId

public ownerId: pulumi.Output<string>;

The ID of the AWS account that owns the Default Network ACL

property subnetIds

public subnetIds: pulumi.Output<string[] | undefined>;

A list of Subnet IDs to apply the ACL to. See the notes below on managing Subnets in the Default Network ACL

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string>;

The ID of the associated VPC

Resource DefaultRouteTable

class DefaultRouteTable extends CustomResource

Provides a resource to manage a Default VPC Routing Table.

Each VPC created in AWS comes with a Default Route Table that can be managed, but not destroyed. This is an advanced resource, and has special caveats to be aware of when using it. Please read this document in its entirety before using this resource. It is recommended you do not use both aws.ec2.DefaultRouteTable to manage the default route table and use the aws.ec2.MainRouteTableAssociation, due to possible conflict in routes.

The aws.ec2.DefaultRouteTable behaves differently from normal resources, in that this provider does not create this resource, but instead attempts to “adopt” it into management. We can do this because each VPC created has a Default Route Table that cannot be destroyed, and is created with a single route.

When this provider first adopts the Default Route Table, it immediately removes all defined routes. It then proceeds to create any routes specified in the configuration. This step is required so that only the routes specified in the configuration present in the Default Route Table.

For more information about Route Tables, see the AWS Documentation on [Route Tables][aws-route-tables].

For more information about managing normal Route Tables in this provider, see our documentation on [aws.ec2.RouteTable][tf-route-tables].

NOTE on Route Tables and Routes: This provider currently provides both a standalone Route resource and a Route Table resource with routes defined in-line. At this time you cannot use a Route Table with in-line routes in conjunction with any Route resources. Doing so will cause a conflict of rule settings and will overwrite routes.

Example Usage

With Tags
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const defaultRouteTable = new aws.ec2.DefaultRouteTable("r", {
    defaultRouteTableId: aws_vpc_foo.defaultRouteTableId,
    routes: [{}],
    tags: {
        Name: "default table",
    },
});

constructor

new DefaultRouteTable(name: string, args: DefaultRouteTableArgs, opts?: pulumi.CustomResourceOptions)

Create a DefaultRouteTable resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DefaultRouteTableState, opts?: pulumi.CustomResourceOptions): DefaultRouteTable

Get an existing DefaultRouteTable resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is DefaultRouteTable

Returns true if the given object is an instance of DefaultRouteTable. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property defaultRouteTableId

public defaultRouteTableId: pulumi.Output<string>;

The ID of the Default Routing Table.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property ownerId

public ownerId: pulumi.Output<string>;

The ID of the AWS account that owns the route table

property propagatingVgws

public propagatingVgws: pulumi.Output<string[] | undefined>;

A list of virtual gateways for propagation.

property routes

public routes: pulumi.Output<DefaultRouteTableRoute[]>;

A list of route objects. Their keys are documented below.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string>;

Resource DefaultSecurityGroup

class DefaultSecurityGroup extends CustomResource

Provides a resource to manage the default AWS Security Group.

For EC2 Classic accounts, each region comes with a Default Security Group. Additionally, each VPC created in AWS comes with a Default Security Group that can be managed, but not destroyed. This is an advanced resource, and has special caveats to be aware of when using it. Please read this document in its entirety before using this resource.

The aws.ec2.DefaultSecurityGroup behaves differently from normal resources, in that this provider does not create this resource, but instead “adopts” it into management. We can do this because these default security groups cannot be destroyed, and are created with a known set of default ingress/egress rules.

When this provider first adopts the Default Security Group, it immediately removes all ingress and egress rules in the Security Group. It then proceeds to create any rules specified in the configuration. This step is required so that only the rules specified in the configuration are created.

This resource treats its inline rules as absolute; only the rules defined inline are created, and any additions/removals external to this resource will result in diff shown. For these reasons, this resource is incompatible with the aws.ec2.SecurityGroupRule resource.

For more information about Default Security Groups, see the AWS Documentation on [Default Security Groups][aws-default-security-groups].

Basic Example Usage, with default rules

The following config gives the Default Security Group the same rules that AWS provides by default, but pulls the resource under management by this provider. This means that any ingress or egress rules added or changed will be detected as drift.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const mainvpc = new aws.ec2.Vpc("mainvpc", {
    cidrBlock: "10.1.0.0/16",
});
const defaultDefaultSecurityGroup = new aws.ec2.DefaultSecurityGroup("default", {
    egress: [{
        cidrBlocks: ["0.0.0.0/0"],
        fromPort: 0,
        protocol: "-1",
        toPort: 0,
    }],
    ingress: [{
        fromPort: 0,
        protocol: "-1",
        self: true,
        toPort: 0,
    }],
    vpcId: mainvpc.id,
});

Example config to deny all Egress traffic, allowing Ingress

The following denies all Egress traffic by omitting any egress rules, while including the default ingress rule to allow all traffic.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const mainvpc = new aws.ec2.Vpc("mainvpc", {
    cidrBlock: "10.1.0.0/16",
});
const defaultDefaultSecurityGroup = new aws.ec2.DefaultSecurityGroup("default", {
    ingress: [{
        fromPort: 0,
        protocol: "-1",
        self: true,
        toPort: 0,
    }],
    vpcId: mainvpc.id,
});

Usage

With the exceptions mentioned above, aws.ec2.DefaultSecurityGroup should identical behavior to aws.ec2.SecurityGroup. Please consult AWS_SECURITY_GROUP for further usage documentation.

Removing aws.ec2.DefaultSecurityGroup from your configuration

Each AWS VPC (or region, if using EC2 Classic) comes with a Default Security Group that cannot be deleted. The aws.ec2.DefaultSecurityGroup allows you to manage this Security Group, but this provider cannot destroy it. Removing this resource from your configuration will remove it from your statefile and management, but will not destroy the Security Group. All ingress or egress rules will be left as they are at the time of removal. You can resume managing them via the AWS Console.

constructor

new DefaultSecurityGroup(name: string, args?: DefaultSecurityGroupArgs, opts?: pulumi.CustomResourceOptions)

Create a DefaultSecurityGroup resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DefaultSecurityGroupState, opts?: pulumi.CustomResourceOptions): DefaultSecurityGroup

Get an existing DefaultSecurityGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is DefaultSecurityGroup

Returns true if the given object is an instance of DefaultSecurityGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property arn

public arn: pulumi.Output<string>;

property description

public description: pulumi.Output<string>;

The description of the security group

property egress

public egress: pulumi.Output<DefaultSecurityGroupEgress[] | undefined>;

Can be specified multiple times for each egress rule. Each egress block supports fields documented below.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property ingress

public ingress: pulumi.Output<DefaultSecurityGroupIngress[] | undefined>;

Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below.

property name

public name: pulumi.Output<string>;

The name of the security group

property ownerId

public ownerId: pulumi.Output<string>;

The owner ID.

property revokeRulesOnDelete

public revokeRulesOnDelete: pulumi.Output<boolean | undefined>;

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string>;

The VPC ID. Note that changing the vpcId will not restore any default security group rules that were modified, added, or removed. It will be left in its current state

Resource DefaultSubnet

class DefaultSubnet extends CustomResource

Provides a resource to manage a default AWS VPC subnet in the current region.

The aws.ec2.DefaultSubnet behaves differently from normal resources, in that this provider does not create this resource, but instead “adopts” it into management.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const defaultAz1 = new aws.ec2.DefaultSubnet("default_az1", {
    availabilityZone: "us-west-2a",
    tags: {
        Name: "Default subnet for us-west-2a",
    },
});

constructor

new DefaultSubnet(name: string, args: DefaultSubnetArgs, opts?: pulumi.CustomResourceOptions)

Create a DefaultSubnet resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DefaultSubnetState, opts?: pulumi.CustomResourceOptions): DefaultSubnet

Get an existing DefaultSubnet resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is DefaultSubnet

Returns true if the given object is an instance of DefaultSubnet. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property arn

public arn: pulumi.Output<string>;

property assignIpv6AddressOnCreation

public assignIpv6AddressOnCreation: pulumi.Output<boolean>;

property availabilityZone

public availabilityZone: pulumi.Output<string>;

property availabilityZoneId

public availabilityZoneId: pulumi.Output<string>;

property cidrBlock

public cidrBlock: pulumi.Output<string>;

The CIDR block for the subnet.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property ipv6CidrBlock

public ipv6CidrBlock: pulumi.Output<string>;

The IPv6 CIDR block.

property ipv6CidrBlockAssociationId

public ipv6CidrBlockAssociationId: pulumi.Output<string>;

property mapPublicIpOnLaunch

public mapPublicIpOnLaunch: pulumi.Output<boolean>;

Specify true to indicate that instances launched into the subnet should be assigned a public IP address.

property outpostArn

public outpostArn: pulumi.Output<string | undefined>;

property ownerId

public ownerId: pulumi.Output<string>;

The ID of the AWS account that owns the subnet.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string>;

The VPC ID.

Resource DefaultVpc

class DefaultVpc extends CustomResource

Provides a resource to manage the default AWS VPC in the current region.

For AWS accounts created after 2013-12-04, each region comes with a Default VPC. This is an advanced resource, and has special caveats to be aware of when using it. Please read this document in its entirety before using this resource.

The aws.ec2.DefaultVpc behaves differently from normal resources, in that this provider does not create this resource, but instead “adopts” it into management.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const defaultDefaultVpc = new aws.ec2.DefaultVpc("default", {
    tags: {
        Name: "Default VPC",
    },
});

constructor

new DefaultVpc(name: string, args?: DefaultVpcArgs, opts?: pulumi.CustomResourceOptions)

Create a DefaultVpc resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DefaultVpcState, opts?: pulumi.CustomResourceOptions): DefaultVpc

Get an existing DefaultVpc resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is DefaultVpc

Returns true if the given object is an instance of DefaultVpc. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property arn

public arn: pulumi.Output<string>;

Amazon Resource Name (ARN) of VPC

property assignGeneratedIpv6CidrBlock

public assignGeneratedIpv6CidrBlock: pulumi.Output<boolean>;

Whether or not an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC was assigned

property cidrBlock

public cidrBlock: pulumi.Output<string>;

The CIDR block of the VPC

property defaultNetworkAclId

public defaultNetworkAclId: pulumi.Output<string>;

The ID of the network ACL created by default on VPC creation

property defaultRouteTableId

public defaultRouteTableId: pulumi.Output<string>;

The ID of the route table created by default on VPC creation

property defaultSecurityGroupId

public defaultSecurityGroupId: pulumi.Output<string>;

The ID of the security group created by default on VPC creation

property dhcpOptionsId

public dhcpOptionsId: pulumi.Output<string>;
public enableClassiclink: pulumi.Output<boolean>;

A boolean flag to enable/disable ClassicLink for the VPC. Only valid in regions and accounts that support EC2 Classic. See the ClassicLink documentation for more information. Defaults false.

property enableClassiclinkDnsSupport

public enableClassiclinkDnsSupport: pulumi.Output<boolean>;

property enableDnsHostnames

public enableDnsHostnames: pulumi.Output<boolean>;

A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.

property enableDnsSupport

public enableDnsSupport: pulumi.Output<boolean | undefined>;

A boolean flag to enable/disable DNS support in the VPC. Defaults true.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instanceTenancy

public instanceTenancy: pulumi.Output<string>;

Tenancy of instances spin up within VPC.

property ipv6AssociationId

public ipv6AssociationId: pulumi.Output<string>;

The association ID for the IPv6 CIDR block of the VPC

property ipv6CidrBlock

public ipv6CidrBlock: pulumi.Output<string>;

The IPv6 CIDR block of the VPC

property mainRouteTableId

public mainRouteTableId: pulumi.Output<string>;

The ID of the main route table associated with this VPC. Note that you can change a VPC’s main route table by using an aws.ec2.MainRouteTableAssociation

property ownerId

public ownerId: pulumi.Output<string>;

The ID of the AWS account that owns the VPC.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource DefaultVpcDhcpOptions

class DefaultVpcDhcpOptions extends CustomResource

Provides a resource to manage the default AWS DHCP Options Set in the current region.

Each AWS region comes with a default set of DHCP options. This is an advanced resource, and has special caveats to be aware of when using it. Please read this document in its entirety before using this resource.

The aws.ec2.DefaultVpcDhcpOptions behaves differently from normal resources, in that this provider does not create this resource, but instead “adopts” it into management.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const defaultDefaultVpcDhcpOptions = new aws.ec2.DefaultVpcDhcpOptions("default", {
    tags: {
        Name: "Default DHCP Option Set",
    },
});

constructor

new DefaultVpcDhcpOptions(name: string, args?: DefaultVpcDhcpOptionsArgs, opts?: pulumi.CustomResourceOptions)

Create a DefaultVpcDhcpOptions resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DefaultVpcDhcpOptionsState, opts?: pulumi.CustomResourceOptions): DefaultVpcDhcpOptions

Get an existing DefaultVpcDhcpOptions resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is DefaultVpcDhcpOptions

Returns true if the given object is an instance of DefaultVpcDhcpOptions. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property domainName

public domainName: pulumi.Output<string>;

property domainNameServers

public domainNameServers: pulumi.Output<string>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property netbiosNameServers

public netbiosNameServers: pulumi.Output<string[] | undefined>;

List of NETBIOS name servers.

property netbiosNodeType

public netbiosNodeType: pulumi.Output<string | undefined>;

The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see RFC 2132.

property ntpServers

public ntpServers: pulumi.Output<string>;

property ownerId

public ownerId: pulumi.Output<string>;

The ID of the AWS account that owns the DHCP options set.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource EgressOnlyInternetGateway

class EgressOnlyInternetGateway extends CustomResource

[IPv6 only] Creates an egress-only Internet gateway for your VPC. An egress-only Internet gateway is used to enable outbound communication over IPv6 from instances in your VPC to the Internet, and prevents hosts outside of your VPC from initiating an IPv6 connection with your instance.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const exampleVpc = new aws.ec2.Vpc("example", {
    assignGeneratedIpv6CidrBlock: true,
    cidrBlock: "10.1.0.0/16",
});
const exampleEgressOnlyInternetGateway = new aws.ec2.EgressOnlyInternetGateway("example", {
    tags: {
        Name: "main",
    },
    vpcId: exampleVpc.id,
});

constructor

new EgressOnlyInternetGateway(name: string, args: EgressOnlyInternetGatewayArgs, opts?: pulumi.CustomResourceOptions)

Create a EgressOnlyInternetGateway resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: EgressOnlyInternetGatewayState, opts?: pulumi.CustomResourceOptions): EgressOnlyInternetGateway

Get an existing EgressOnlyInternetGateway resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is EgressOnlyInternetGateway

Returns true if the given object is an instance of EgressOnlyInternetGateway. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string>;

The VPC ID to create in.

Resource Eip

class Eip extends CustomResource

Provides an Elastic IP resource.

Note: EIP may require IGW to exist prior to association. Use dependsOn to set an explicit dependency on the IGW.

Note: Do not use networkInterface to associate the EIP to aws.lb.LoadBalancer or aws.ec2.NatGateway resources. Instead use the allocationId available in those resources to allow AWS to manage the association, otherwise you will see AuthFailure errors.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const lb = new aws.ec2.Eip("lb", {
    instance: aws_instance_web.id,
    vpc: true,
});

constructor

new Eip(name: string, args?: EipArgs, opts?: pulumi.CustomResourceOptions)

Create a Eip resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: EipState, opts?: pulumi.CustomResourceOptions): Eip

Get an existing Eip resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Eip

Returns true if the given object is an instance of Eip. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property allocationId

public allocationId: pulumi.Output<string>;

property associateWithPrivateIp

public associateWithPrivateIp: pulumi.Output<string | undefined>;

A user specified primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

property associationId

public associationId: pulumi.Output<string>;

property customerOwnedIp

public customerOwnedIp: pulumi.Output<string>;

Customer owned IP.

property customerOwnedIpv4Pool

public customerOwnedIpv4Pool: pulumi.Output<string | undefined>;

The ID of a customer-owned address pool. For more on customer owned IP addressed check out Customer-owned IP addresses guide

property domain

public domain: pulumi.Output<string>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instance

public instance: pulumi.Output<string>;

EC2 instance ID.

property networkInterface

public networkInterface: pulumi.Output<string>;

Network interface ID to associate with.

property privateDns

public privateDns: pulumi.Output<string>;

The Private DNS associated with the Elastic IP address (if in VPC).

property privateIp

public privateIp: pulumi.Output<string>;

Contains the private IP address (if in VPC).

property publicDns

public publicDns: pulumi.Output<string>;

Public DNS associated with the Elastic IP address.

property publicIp

public publicIp: pulumi.Output<string>;

Contains the public IP address.

property publicIpv4Pool

public publicIpv4Pool: pulumi.Output<string>;

EC2 IPv4 address pool identifier or amazon. This option is only available for VPC EIPs.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpc

public vpc: pulumi.Output<boolean>;

Boolean if the EIP is in a VPC or not.

Resource EipAssociation

class EipAssociation extends CustomResource

Provides an AWS EIP Association as a top level resource, to associate and disassociate Elastic IPs from AWS Instances and Network Interfaces.

NOTE: Do not use this resource to associate an EIP to aws.lb.LoadBalancer or aws.ec2.NatGateway resources. Instead use the allocationId available in those resources to allow AWS to manage the association, otherwise you will see AuthFailure errors.

NOTE: aws.ec2.EipAssociation is useful in scenarios where EIPs are either pre-existing or distributed to customers or users and therefore cannot be changed.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const web = new aws.ec2.Instance("web", {
    ami: "ami-21f78e11",
    availabilityZone: "us-west-2a",
    instanceType: "t1.micro",
    tags: {
        Name: "HelloWorld",
    },
});
const example = new aws.ec2.Eip("example", {
    vpc: true,
});
const eipAssoc = new aws.ec2.EipAssociation("eip_assoc", {
    allocationId: example.id,
    instanceId: web.id,
});

constructor

new EipAssociation(name: string, args?: EipAssociationArgs, opts?: pulumi.CustomResourceOptions)

Create a EipAssociation resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: EipAssociationState, opts?: pulumi.CustomResourceOptions): EipAssociation

Get an existing EipAssociation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is EipAssociation

Returns true if the given object is an instance of EipAssociation. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property allocationId

public allocationId: pulumi.Output<string>;

The allocation ID. This is required for EC2-VPC.

property allowReassociation

public allowReassociation: pulumi.Output<boolean | undefined>;

Whether to allow an Elastic IP to be re-associated. Defaults to true in VPC.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instanceId

public instanceId: pulumi.Output<string>;

The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. The operation fails if you specify an instance ID unless exactly one network interface is attached.

property networkInterfaceId

public networkInterfaceId: pulumi.Output<string>;

The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

property privateIpAddress

public privateIpAddress: pulumi.Output<string>;

The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

property publicIp

public publicIp: pulumi.Output<string>;

The Elastic IP address. This is required for EC2-Classic.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Fleet

class Fleet extends CustomResource

Provides a resource to manage EC2 Fleets.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.ec2.Fleet("example", {
    launchTemplateConfig: {
        launchTemplateSpecification: {
            launchTemplateId: aws_launch_template_example.id,
            version: aws_launch_template_example.latestVersion,
        },
    },
    targetCapacitySpecification: {
        defaultTargetCapacityType: "spot",
        totalTargetCapacity: 5,
    },
});

constructor

new Fleet(name: string, args: FleetArgs, opts?: pulumi.CustomResourceOptions)

Create a Fleet resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FleetState, opts?: pulumi.CustomResourceOptions): Fleet

Get an existing Fleet resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Fleet

Returns true if the given object is an instance of Fleet. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property excessCapacityTerminationPolicy

public excessCapacityTerminationPolicy: pulumi.Output<string | undefined>;

Whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2. Valid values: no-termination, termination. Defaults to termination.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property launchTemplateConfig

public launchTemplateConfig: pulumi.Output<FleetLaunchTemplateConfig>;

Nested argument containing EC2 Launch Template configurations. Defined below.

property onDemandOptions

public onDemandOptions: pulumi.Output<FleetOnDemandOptions | undefined>;

Nested argument containing On-Demand configurations. Defined below.

property replaceUnhealthyInstances

public replaceUnhealthyInstances: pulumi.Output<boolean | undefined>;

Whether EC2 Fleet should replace unhealthy instances. Defaults to false.

property spotOptions

public spotOptions: pulumi.Output<FleetSpotOptions | undefined>;

Nested argument containing Spot configurations. Defined below.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

Map of Fleet tags. To tag instances at launch, specify the tags in the Launch Template.

property targetCapacitySpecification

public targetCapacitySpecification: pulumi.Output<FleetTargetCapacitySpecification>;

Nested argument containing target capacity configurations. Defined below.

property terminateInstances

public terminateInstances: pulumi.Output<boolean | undefined>;

Whether to terminate instances for an EC2 Fleet if it is deleted successfully. Defaults to false.

property terminateInstancesWithExpiration

public terminateInstancesWithExpiration: pulumi.Output<boolean | undefined>;

Whether running instances should be terminated when the EC2 Fleet expires. Defaults to false.

property type

public type: pulumi.Output<string | undefined>;

The type of request. Indicates whether the EC2 Fleet only requests the target capacity, or also attempts to maintain it. Valid values: maintain, request. Defaults to maintain.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource FlowLog

class FlowLog extends CustomResource

Provides a VPC/Subnet/ENI Flow Log to capture IP traffic for a specific network interface, subnet, or VPC. Logs are sent to a CloudWatch Log Group or a S3 Bucket.

Example Usage

CloudWatch Logging
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const exampleLogGroup = new aws.cloudwatch.LogGroup("example", {});
const exampleRole = new aws.iam.Role("example", {
    assumeRolePolicy: `{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "vpc-flow-logs.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
`,
});
const exampleFlowLog = new aws.ec2.FlowLog("example", {
    iamRoleArn: exampleRole.arn,
    logDestination: exampleLogGroup.arn,
    trafficType: "ALL",
    vpcId: aws_vpc_example.id,
});
const exampleRolePolicy = new aws.iam.RolePolicy("example", {
    policy: `{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
`,
    role: exampleRole.id,
});
S3 Logging
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const exampleBucket = new aws.s3.Bucket("example", {});
const exampleFlowLog = new aws.ec2.FlowLog("example", {
    logDestination: exampleBucket.arn,
    logDestinationType: "s3",
    trafficType: "ALL",
    vpcId: aws_vpc_example.id,
});

constructor

new FlowLog(name: string, args: FlowLogArgs, opts?: pulumi.CustomResourceOptions)

Create a FlowLog resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FlowLogState, opts?: pulumi.CustomResourceOptions): FlowLog

Get an existing FlowLog resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is FlowLog

Returns true if the given object is an instance of FlowLog. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property eniId

public eniId: pulumi.Output<string | undefined>;

Elastic Network Interface ID to attach to

property iamRoleArn

public iamRoleArn: pulumi.Output<string | undefined>;

The ARN for the IAM role that’s used to post flow logs to a CloudWatch Logs log group

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property logDestination

public logDestination: pulumi.Output<string>;

The ARN of the logging destination.

property logDestinationType

public logDestinationType: pulumi.Output<string | undefined>;

The type of the logging destination. Valid values: cloud-watch-logs, s3. Default: cloud-watch-logs.

property logFormat

public logFormat: pulumi.Output<string>;

The fields to include in the flow log record, in the order in which they should appear.

property logGroupName

DEPRECATED use 'log_destination' argument instead
public logGroupName: pulumi.Output<string>;

Deprecated: Use logDestination instead. The name of the CloudWatch log group.

property maxAggregationInterval

public maxAggregationInterval: pulumi.Output<number | undefined>;

The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. Valid Values: 60 seconds (1 minute) or 600 seconds (10 minutes). Default: 600.

property subnetId

public subnetId: pulumi.Output<string | undefined>;

Subnet ID to attach to

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

Key-value map of resource tags

property trafficType

public trafficType: pulumi.Output<string>;

The type of traffic to capture. Valid values: ACCEPT,REJECT, ALL.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string | undefined>;

VPC ID to attach to

Resource Instance

class Instance extends CustomResource

Provides an EC2 instance resource. This allows instances to be created, updated, and deleted.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const ubuntu = pulumi.output(aws.getAmi({
    filters: [
        {
            name: "name",
            values: ["ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*"],
        },
        {
            name: "virtualization-type",
            values: ["hvm"],
        },
    ],
    mostRecent: true,
    owners: ["099720109477"], // Canonical
}, { async: true }));
const web = new aws.ec2.Instance("web", {
    ami: ubuntu.id,
    instanceType: "t2.micro",
    tags: {
        Name: "HelloWorld",
    },
});

constructor

new Instance(name: string, args: InstanceArgs, opts?: pulumi.CustomResourceOptions)

Create a Instance resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: InstanceState, opts?: pulumi.CustomResourceOptions): Instance

Get an existing Instance resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Instance

Returns true if the given object is an instance of Instance. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property ami

public ami: pulumi.Output<string>;

The AMI to use for the instance.

property arn

public arn: pulumi.Output<string>;

The ARN of the instance.

property associatePublicIpAddress

public associatePublicIpAddress: pulumi.Output<boolean>;

Associate a public ip address with an instance in a VPC. Boolean value.

property availabilityZone

public availabilityZone: pulumi.Output<string>;

The AZ to start the instance in.

property cpuCoreCount

public cpuCoreCount: pulumi.Output<number>;

Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.

property cpuThreadsPerCore

public cpuThreadsPerCore: pulumi.Output<number>;

If set to to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

property creditSpecification

public creditSpecification: pulumi.Output<InstanceCreditSpecification | undefined>;

Customize the credit specification of the instance. See Credit Specification below for more details.

property disableApiTermination

public disableApiTermination: pulumi.Output<boolean | undefined>;

If true, enables EC2 Instance Termination Protection

property ebsBlockDevices

public ebsBlockDevices: pulumi.Output<InstanceEbsBlockDevice[]>;

Additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection.

property ebsOptimized

public ebsOptimized: pulumi.Output<boolean | undefined>;

If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.

property ephemeralBlockDevices

public ephemeralBlockDevices: pulumi.Output<InstanceEphemeralBlockDevice[]>;

Customize Ephemeral (also known as “Instance Store”) volumes on the instance. See Block Devices below for details.

property getPasswordData

public getPasswordData: pulumi.Output<boolean | undefined>;

If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the passwordData attribute. See GetPasswordData for more information.

property hibernation

public hibernation: pulumi.Output<boolean | undefined>;

If true, the launched EC2 instance will support hibernation.

property hostId

public hostId: pulumi.Output<string>;

The Id of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.

property iamInstanceProfile

public iamInstanceProfile: pulumi.Output<string | undefined>;

The IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instanceInitiatedShutdownBehavior

public instanceInitiatedShutdownBehavior: pulumi.Output<string | undefined>;

Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.

property instanceState

public instanceState: pulumi.Output<string>;

The state of the instance. One of: pending, running, shutting-down, terminated, stopping, stopped. See Instance Lifecycle for more information.

property instanceType

public instanceType: pulumi.Output<InstanceType>;

The type of instance to start. Updates to this field will trigger a stop/start of the EC2 instance.

property ipv6AddressCount

public ipv6AddressCount: pulumi.Output<number>;

A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.

property ipv6Addresses

public ipv6Addresses: pulumi.Output<string[]>;

Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface

property keyName

public keyName: pulumi.Output<string>;

The key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.

property metadataOptions

public metadataOptions: pulumi.Output<InstanceMetadataOptions>;

Customize the metadata options of the instance. See Metadata Options below for more details.

property monitoring

public monitoring: pulumi.Output<boolean | undefined>;

If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)

property networkInterfaces

public networkInterfaces: pulumi.Output<InstanceNetworkInterface[]>;

Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.

property outpostArn

public outpostArn: pulumi.Output<string>;

The ARN of the Outpost the instance is assigned to.

property passwordData

public passwordData: pulumi.Output<string>;

Base-64 encoded encrypted password data for the instance. Useful for getting the administrator password for instances running Microsoft Windows. This attribute is only exported if getPasswordData is true. Note that this encrypted value will be stored in the state file, as with all exported attributes. See GetPasswordData for more information.

property placementGroup

public placementGroup: pulumi.Output<string>;

The Placement Group to start the instance in.

property primaryNetworkInterfaceId

public primaryNetworkInterfaceId: pulumi.Output<string>;

The ID of the instance’s primary network interface.

property privateDns

public privateDns: pulumi.Output<string>;

The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you’ve enabled DNS hostnames for your VPC

property privateIp

public privateIp: pulumi.Output<string>;

Private IP address to associate with the instance in a VPC.

property publicDns

public publicDns: pulumi.Output<string>;

The public DNS name assigned to the instance. For EC2-VPC, this is only available if you’ve enabled DNS hostnames for your VPC

property publicIp

public publicIp: pulumi.Output<string>;

The public IP address assigned to the instance, if applicable. NOTE: If you are using an aws.ec2.Eip with your instance, you should refer to the EIP’s address directly and not use publicIp, as this field will change after the EIP is attached.

property rootBlockDevice

public rootBlockDevice: pulumi.Output<InstanceRootBlockDevice>;

Customize details about the root block device of the instance. See Block Devices below for details.

property securityGroups

DEPRECATED Use of securityGroups is discouraged as it does not allow for changes and will force your instance to be replaced if changes are made. To avoid this, use vpcSecurityGroupIds which allows for updates.
public securityGroups: pulumi.Output<string[]>;

A list of security group names (EC2-Classic) or IDs (default VPC) to associate with.

property sourceDestCheck

public sourceDestCheck: pulumi.Output<boolean | undefined>;

Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.

property subnetId

public subnetId: pulumi.Output<string>;

The VPC Subnet ID to launch in.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property tenancy

public tenancy: pulumi.Output<string>;

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property userData

public userData: pulumi.Output<string | undefined>;

The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see userDataBase64 instead.

property userDataBase64

public userDataBase64: pulumi.Output<string | undefined>;

Can be used instead of userData to pass base64-encoded binary data directly. Use this instead of userData whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.

property volumeTags

public volumeTags: pulumi.Output<{[key: string]: any}>;

A map of tags to assign to the devices created by the instance at launch time.

property vpcSecurityGroupIds

public vpcSecurityGroupIds: pulumi.Output<string[]>;

A list of security group IDs to associate with.

Resource InternetGateway

class InternetGateway extends CustomResource

Provides a resource to create a VPC Internet Gateway.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const gw = new aws.ec2.InternetGateway("gw", {
    tags: {
        Name: "main",
    },
    vpcId: aws_vpc_main.id,
});

constructor

new InternetGateway(name: string, args?: InternetGatewayArgs, opts?: pulumi.CustomResourceOptions)

Create a InternetGateway resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: InternetGatewayState, opts?: pulumi.CustomResourceOptions): InternetGateway

Get an existing InternetGateway resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is InternetGateway

Returns true if the given object is an instance of InternetGateway. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property ownerId

public ownerId: pulumi.Output<string>;

The ID of the AWS account that owns the internet gateway.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string | undefined>;

The VPC ID to create in.

Resource KeyPair

class KeyPair extends CustomResource

Provides an EC2 key pair resource. A key pair is used to control login access to EC2 instances.

Currently this resource requires an existing user-supplied key pair. This key pair’s public key will be registered with AWS to allow logging-in to EC2 instances.

When importing an existing key pair the public key material may be in any format supported by AWS. Supported formats (per the AWS documentation) are:

  • OpenSSH public key format (the format in ~/.ssh/authorized_keys)
  • Base64 encoded DER format
  • SSH public key file format as specified in RFC4716

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const deployer = new aws.ec2.KeyPair("deployer", {
    publicKey: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 email@example.com",
});

constructor

new KeyPair(name: string, args: KeyPairArgs, opts?: pulumi.CustomResourceOptions)

Create a KeyPair resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: KeyPairState, opts?: pulumi.CustomResourceOptions): KeyPair

Get an existing KeyPair resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is KeyPair

Returns true if the given object is an instance of KeyPair. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property fingerprint

public fingerprint: pulumi.Output<string>;

The MD5 public key fingerprint as specified in section 4 of RFC 4716.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property keyName

public keyName: pulumi.Output<string>;

The name for the key pair.

property keyNamePrefix

public keyNamePrefix: pulumi.Output<string | undefined>;

Creates a unique name beginning with the specified prefix. Conflicts with keyName.

property keyPairId

public keyPairId: pulumi.Output<string>;

The key pair ID.

property publicKey

public publicKey: pulumi.Output<string>;

The public key material.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

Key-value map of resource tags

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource LaunchConfiguration

class LaunchConfiguration extends CustomResource

Provides a resource to create a new launch configuration, used for autoscaling groups.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const ubuntu = pulumi.output(aws.getAmi({
    filters: [
        {
            name: "name",
            values: ["ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*"],
        },
        {
            name: "virtualization-type",
            values: ["hvm"],
        },
    ],
    mostRecent: true,
    owners: ["099720109477"], // Canonical
}, { async: true }));
const asConf = new aws.ec2.LaunchConfiguration("as_conf", {
    imageId: ubuntu.id,
    instanceType: "t2.micro",
});

Using with AutoScaling Groups

Launch Configurations cannot be updated after creation with the Amazon Web Service API. In order to update a Launch Configuration, this provider will destroy the existing resource and create a replacement. In order to effectively use a Launch Configuration resource with an AutoScaling Group resource, it’s recommended to specify createBeforeDestroy in a lifecycle block. Either omit the Launch Configuration name attribute, or specify a partial name with namePrefix. Example:

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const ubuntu = pulumi.output(aws.getAmi({
    filters: [
        {
            name: "name",
            values: ["ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*"],
        },
        {
            name: "virtualization-type",
            values: ["hvm"],
        },
    ],
    mostRecent: true,
    owners: ["099720109477"], // Canonical
}, { async: true }));
const asConf = new aws.ec2.LaunchConfiguration("as_conf", {
    imageId: ubuntu.id,
    instanceType: "t2.micro",
    namePrefix: "lc-example-",
});
const bar = new aws.autoscaling.Group("bar", {
    launchConfiguration: asConf.name,
    maxSize: 2,
    minSize: 1,
});

With this setup this provider generates a unique name for your Launch Configuration and can then update the AutoScaling Group without conflict before destroying the previous Launch Configuration.

Using with Spot Instances

Launch configurations can set the spot instance pricing to be used for the Auto Scaling Group to reserve instances. Simply specifying the spotPrice parameter will set the price on the Launch Configuration which will attempt to reserve your instances at this price. See the AWS Spot Instance documentation for more information or how to launch Spot Instances with this provider.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const ubuntu = pulumi.output(aws.getAmi({
    filters: [
        {
            name: "name",
            values: ["ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*"],
        },
        {
            name: "virtualization-type",
            values: ["hvm"],
        },
    ],
    mostRecent: true,
    owners: ["099720109477"], // Canonical
}, { async: true }));
const asConf = new aws.ec2.LaunchConfiguration("as_conf", {
    imageId: ubuntu.id,
    instanceType: "m4.large",
    spotPrice: "0.001",
});
const bar = new aws.autoscaling.Group("bar", {
    launchConfiguration: asConf.name,
});

Block devices

Each of the *_block_device attributes controls a portion of the AWS Launch Configuration’s “Block Device Mapping”. It’s a good idea to familiarize yourself with AWS’s Block Device Mapping docs to understand the implications of using these attributes.

The rootBlockDevice mapping supports the following:

  • volumeType - (Optional) The type of volume. Can be "standard", "gp2", or "io1". (Default: "standard").
  • volumeSize - (Optional) The size of the volume in gigabytes.
  • iops - (Optional) The amount of provisioned IOPS. This must be set with a volumeType of "io1".
  • deleteOnTermination - (Optional) Whether the volume should be destroyed on instance termination (Default: true).
  • encrypted - (Optional) Whether the volume should be encrypted or not. (Default: false).

Modifying any of the rootBlockDevice settings requires resource replacement.

Each ebsBlockDevice supports the following:

  • deviceName - (Required) The name of the device to mount.
  • snapshotId - (Optional) The Snapshot ID to mount.
  • volumeType - (Optional) The type of volume. Can be "standard", "gp2", or "io1". (Default: "standard").
  • volumeSize - (Optional) The size of the volume in gigabytes.
  • iops - (Optional) The amount of provisioned IOPS. This must be set with a volumeType of "io1".
  • deleteOnTermination - (Optional) Whether the volume should be destroyed on instance termination (Default: true).
  • encrypted - (Optional) Whether the volume should be encrypted or not. Do not use this option if you are using snapshotId as the encrypted flag will be determined by the snapshot. (Default: false).

Modifying any ebsBlockDevice currently requires resource replacement.

Each ephemeralBlockDevice supports the following:

  • deviceName - The name of the block device to mount on the instance.
  • virtualName - The Instance Store Device Name (e.g. "ephemeral0")

Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS publishes a list of which ephemeral devices are available on each type. The devices are always identified by the virtualName in the format "ephemeral{0..N}".

NOTE: Changes to *_block_device configuration of existing resources cannot currently be detected by this provider. After updating to block device configuration, resource recreation can be manually triggered by using the up command with the –replace argument.

constructor

new LaunchConfiguration(name: string, args: LaunchConfigurationArgs, opts?: pulumi.CustomResourceOptions)

Create a LaunchConfiguration resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: LaunchConfigurationState, opts?: pulumi.CustomResourceOptions): LaunchConfiguration

Get an existing LaunchConfiguration resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is LaunchConfiguration

Returns true if the given object is an instance of LaunchConfiguration. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property arn

public arn: pulumi.Output<string>;

The Amazon Resource Name of the launch configuration.

property associatePublicIpAddress

public associatePublicIpAddress: pulumi.Output<boolean | undefined>;

Associate a public ip address with an instance in a VPC.

property ebsBlockDevices

public ebsBlockDevices: pulumi.Output<LaunchConfigurationEbsBlockDevice[]>;

Additional EBS block devices to attach to the instance. See Block Devices below for details.

property ebsOptimized

public ebsOptimized: pulumi.Output<boolean>;

If true, the launched EC2 instance will be EBS-optimized.

property enableMonitoring

public enableMonitoring: pulumi.Output<boolean | undefined>;

Enables/disables detailed monitoring. This is enabled by default.

property ephemeralBlockDevices

public ephemeralBlockDevices: pulumi.Output<LaunchConfigurationEphemeralBlockDevice[] | undefined>;

Customize Ephemeral (also known as “Instance Store”) volumes on the instance. See Block Devices below for details.

property iamInstanceProfile

public iamInstanceProfile: pulumi.Output<string | undefined>;

The name attribute of the IAM instance profile to associate with launched instances.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property imageId

public imageId: pulumi.Output<string>;

The EC2 image ID to launch.

property instanceType

public instanceType: pulumi.Output<string>;

The size of instance to launch.

property keyName

public keyName: pulumi.Output<string>;

The key name that should be used for the instance.

property name

public name: pulumi.Output<string>;

The name of the launch configuration. If you leave this blank, this provider will auto-generate a unique name.

property namePrefix

public namePrefix: pulumi.Output<string | undefined>;

Creates a unique name beginning with the specified prefix. Conflicts with name.

property placementTenancy

public placementTenancy: pulumi.Output<string | undefined>;

The tenancy of the instance. Valid values are "default" or "dedicated", see AWS’s Create Launch Configuration for more details

property rootBlockDevice

public rootBlockDevice: pulumi.Output<LaunchConfigurationRootBlockDevice>;

Customize details about the root block device of the instance. See Block Devices below for details.

property securityGroups

public securityGroups: pulumi.Output<string[] | undefined>;

A list of associated security group IDS.

property spotPrice

public spotPrice: pulumi.Output<string | undefined>;

The maximum price to use for reserving spot instances.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property userData

public userData: pulumi.Output<string | undefined>;

The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see userDataBase64 instead.

property userDataBase64

public userDataBase64: pulumi.Output<string | undefined>;

Can be used instead of userData to pass base64-encoded binary data directly. Use this instead of userData whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.

property vpcClassicLinkId

public vpcClassicLinkId: pulumi.Output<string | undefined>;

The ID of a ClassicLink-enabled VPC. Only applies to EC2-Classic instances. (eg. vpc-2730681a)

property vpcClassicLinkSecurityGroups

public vpcClassicLinkSecurityGroups: pulumi.Output<string[] | undefined>;

The IDs of one or more security groups for the specified ClassicLink-enabled VPC (eg. sg-46ae3d11).

Resource LaunchTemplate

class LaunchTemplate extends CustomResource

Provides an EC2 launch template resource. Can be used to create instances or auto scaling groups.

constructor

new LaunchTemplate(name: string, args?: LaunchTemplateArgs, opts?: pulumi.CustomResourceOptions)

Create a LaunchTemplate resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: LaunchTemplateState, opts?: pulumi.CustomResourceOptions): LaunchTemplate

Get an existing LaunchTemplate resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is LaunchTemplate

Returns true if the given object is an instance of LaunchTemplate. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property arn

public arn: pulumi.Output<string>;

The Amazon Resource Name (ARN) of the instance profile.

property blockDeviceMappings

public blockDeviceMappings: pulumi.Output<LaunchTemplateBlockDeviceMapping[] | undefined>;

Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.

property capacityReservationSpecification

public capacityReservationSpecification: pulumi.Output<LaunchTemplateCapacityReservationSpecification | undefined>;

Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.

property cpuOptions

public cpuOptions: pulumi.Output<LaunchTemplateCpuOptions | undefined>;

The CPU options for the instance. See CPU Options below for more details.

property creditSpecification

public creditSpecification: pulumi.Output<LaunchTemplateCreditSpecification | undefined>;

Customize the credit specification of the instance. See Credit Specification below for more details.

property defaultVersion

public defaultVersion: pulumi.Output<number>;

The default version of the launch template.

property description

public description: pulumi.Output<string | undefined>;

Description of the launch template.

property disableApiTermination

public disableApiTermination: pulumi.Output<boolean | undefined>;

If true, enables EC2 Instance Termination Protection

property ebsOptimized

public ebsOptimized: pulumi.Output<string | undefined>;

If true, the launched EC2 instance will be EBS-optimized.

property elasticGpuSpecifications

public elasticGpuSpecifications: pulumi.Output<LaunchTemplateElasticGpuSpecification[] | undefined>;

The elastic GPU to attach to the instance. See Elastic GPU below for more details.

property elasticInferenceAccelerator

public elasticInferenceAccelerator: pulumi.Output<LaunchTemplateElasticInferenceAccelerator | undefined>;

Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.

property hibernationOptions

public hibernationOptions: pulumi.Output<LaunchTemplateHibernationOptions | undefined>;

The hibernation options for the instance. See Hibernation Options below for more details.

property iamInstanceProfile

public iamInstanceProfile: pulumi.Output<LaunchTemplateIamInstanceProfile | undefined>;

The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property imageId

public imageId: pulumi.Output<string | undefined>;

The AMI from which to launch the instance.

property instanceInitiatedShutdownBehavior

public instanceInitiatedShutdownBehavior: pulumi.Output<string | undefined>;

Shutdown behavior for the instance. Can be stop or terminate. (Default: stop).

property instanceMarketOptions

public instanceMarketOptions: pulumi.Output<LaunchTemplateInstanceMarketOptions | undefined>;

The market (purchasing) option for the instance. See Market Options below for details.

property instanceType

public instanceType: pulumi.Output<string | undefined>;

The type of the instance.

property kernelId

public kernelId: pulumi.Output<string | undefined>;

The kernel ID.

property keyName

public keyName: pulumi.Output<string | undefined>;

The key name to use for the instance.

property latestVersion

public latestVersion: pulumi.Output<number>;

The latest version of the launch template.

property licenseSpecifications

public licenseSpecifications: pulumi.Output<LaunchTemplateLicenseSpecification[] | undefined>;

A list of license specifications to associate with. See License Specification below for more details.

property metadataOptions

public metadataOptions: pulumi.Output<LaunchTemplateMetadataOptions>;

Customize the metadata options for the instance. See Metadata Options below for more details.

property monitoring

public monitoring: pulumi.Output<LaunchTemplateMonitoring | undefined>;

The monitoring option for the instance. See Monitoring below for more details.

property name

public name: pulumi.Output<string>;

The name of the launch template. If you leave this blank, this provider will auto-generate a unique name.

property namePrefix

public namePrefix: pulumi.Output<string | undefined>;

Creates a unique name beginning with the specified prefix. Conflicts with name.

property networkInterfaces

public networkInterfaces: pulumi.Output<LaunchTemplateNetworkInterface[] | undefined>;

Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.

property placement

public placement: pulumi.Output<LaunchTemplatePlacement | undefined>;

The placement of the instance. See Placement below for more details.

property ramDiskId

public ramDiskId: pulumi.Output<string | undefined>;

The ID of the RAM disk.

property securityGroupNames

public securityGroupNames: pulumi.Output<string[] | undefined>;

A list of security group names to associate with. If you are creating Instances in a VPC, use vpcSecurityGroupIds instead.

property tagSpecifications

public tagSpecifications: pulumi.Output<LaunchTemplateTagSpecification[] | undefined>;

The tags to apply to the resources during launch. See Tag Specifications below for more details.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the launch template.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property userData

public userData: pulumi.Output<string | undefined>;

The Base64-encoded user data to provide when launching the instance.

property vpcSecurityGroupIds

public vpcSecurityGroupIds: pulumi.Output<string[] | undefined>;

A list of security group IDs to associate with.

Resource MainRouteTableAssociation

class MainRouteTableAssociation extends CustomResource

Provides a resource for managing the main routing table of a VPC.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const mainRouteTableAssociation = new aws.ec2.MainRouteTableAssociation("a", {
    routeTableId: aws_route_table_bar.id,
    vpcId: aws_vpc_foo.id,
});

Notes

On VPC creation, the AWS API always creates an initial Main Route Table. This resource records the ID of that Route Table under originalRouteTableId. The “Delete” action for a mainRouteTableAssociation consists of resetting this original table as the Main Route Table for the VPC. You’ll see this additional Route Table in the AWS console; it must remain intact in order for the mainRouteTableAssociation delete to work properly.

constructor

new MainRouteTableAssociation(name: string, args: MainRouteTableAssociationArgs, opts?: pulumi.CustomResourceOptions)

Create a MainRouteTableAssociation resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: MainRouteTableAssociationState, opts?: pulumi.CustomResourceOptions): MainRouteTableAssociation

Get an existing MainRouteTableAssociation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is MainRouteTableAssociation

Returns true if the given object is an instance of MainRouteTableAssociation. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property originalRouteTableId

public originalRouteTableId: pulumi.Output<string>;

Used internally, see Notes below

property routeTableId

public routeTableId: pulumi.Output<string>;

The ID of the Route Table to set as the new main route table for the target VPC

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string>;

The ID of the VPC whose main route table should be set

Resource NatGateway

class NatGateway extends CustomResource

Provides a resource to create a VPC NAT Gateway.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const gw = new aws.ec2.NatGateway("gw", {
    allocationId: aws_eip_nat.id,
    subnetId: aws_subnet_example.id,
});

constructor

new NatGateway(name: string, args: NatGatewayArgs, opts?: pulumi.CustomResourceOptions)

Create a NatGateway resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NatGatewayState, opts?: pulumi.CustomResourceOptions): NatGateway

Get an existing NatGateway resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is NatGateway

Returns true if the given object is an instance of NatGateway. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property allocationId

public allocationId: pulumi.Output<string>;

The Allocation ID of the Elastic IP address for the gateway.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property networkInterfaceId

public networkInterfaceId: pulumi.Output<string>;

The ENI ID of the network interface created by the NAT gateway.

property privateIp

public privateIp: pulumi.Output<string>;

The private IP address of the NAT Gateway.

property publicIp

public publicIp: pulumi.Output<string>;

The public IP address of the NAT Gateway.

property subnetId

public subnetId: pulumi.Output<string>;

The Subnet ID of the subnet in which to place the gateway.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource NetworkAcl

class NetworkAcl extends CustomResource

Provides an network ACL resource. You might set up network ACLs with rules similar to your security groups in order to add an additional layer of security to your VPC.

NOTE on Network ACLs and Network ACL Rules: This provider currently provides both a standalone Network ACL Rule resource and a Network ACL resource with rules defined in-line. At this time you cannot use a Network ACL with in-line rules in conjunction with any Network ACL Rule resources. Doing so will cause a conflict of rule settings and will overwrite rules.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const main = new aws.ec2.NetworkAcl("main", {
    egress: [{
        action: "allow",
        cidrBlock: "10.3.0.0/18",
        fromPort: 443,
        protocol: "tcp",
        ruleNo: 200,
        toPort: 443,
    }],
    ingress: [{
        action: "allow",
        cidrBlock: "10.3.0.0/18",
        fromPort: 80,
        protocol: "tcp",
        ruleNo: 100,
        toPort: 80,
    }],
    tags: {
        Name: "main",
    },
    vpcId: aws_vpc_main.id,
});

constructor

new NetworkAcl(name: string, args: NetworkAclArgs, opts?: pulumi.CustomResourceOptions)

Create a NetworkAcl resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NetworkAclState, opts?: pulumi.CustomResourceOptions): NetworkAcl

Get an existing NetworkAcl resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is NetworkAcl

Returns true if the given object is an instance of NetworkAcl. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property egress

public egress: pulumi.Output<NetworkAclEgress[]>;

Specifies an egress rule. Parameters defined below.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property ingress

public ingress: pulumi.Output<NetworkAclIngress[]>;

Specifies an ingress rule. Parameters defined below.

property ownerId

public ownerId: pulumi.Output<string>;

The ID of the AWS account that owns the network ACL.

property subnetIds

public subnetIds: pulumi.Output<string[]>;

A list of Subnet IDs to apply the ACL to

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string>;

The ID of the associated VPC.

Resource NetworkAclRule

class NetworkAclRule extends CustomResource

Creates an entry (a rule) in a network ACL with the specified rule number.

NOTE on Network ACLs and Network ACL Rules: This provider currently provides both a standalone Network ACL Rule resource and a Network ACL resource with rules defined in-line. At this time you cannot use a Network ACL with in-line rules in conjunction with any Network ACL Rule resources. Doing so will cause a conflict of rule settings and will overwrite rules.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const barNetworkAcl = new aws.ec2.NetworkAcl("barNetworkAcl", {vpcId: aws_vpc.foo.id});
const barNetworkAclRule = new aws.ec2.NetworkAclRule("barNetworkAclRule", {
    networkAclId: barNetworkAcl.id,
    ruleNumber: 200,
    egress: false,
    protocol: "tcp",
    ruleAction: "allow",
    cidrBlock: aws_vpc.foo.cidr_block,
    fromPort: 22,
    toPort: 22,
});

constructor

new NetworkAclRule(name: string, args: NetworkAclRuleArgs, opts?: pulumi.CustomResourceOptions)

Create a NetworkAclRule resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NetworkAclRuleState, opts?: pulumi.CustomResourceOptions): NetworkAclRule

Get an existing NetworkAclRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is NetworkAclRule

Returns true if the given object is an instance of NetworkAclRule. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property cidrBlock

public cidrBlock: pulumi.Output<string | undefined>;

The network range to allow or deny, in CIDR notation (for example 172.16.0.0/24 ).

property egress

public egress: pulumi.Output<boolean | undefined>;

Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet). Default false.

property fromPort

public fromPort: pulumi.Output<number | undefined>;

The from port to match.

property icmpCode

public icmpCode: pulumi.Output<string | undefined>;

ICMP protocol: The ICMP code. Required if specifying ICMP for the protocol. e.g. -1

property icmpType

public icmpType: pulumi.Output<string | undefined>;

ICMP protocol: The ICMP type. Required if specifying ICMP for the protocol. e.g. -1

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property ipv6CidrBlock

public ipv6CidrBlock: pulumi.Output<string | undefined>;

The IPv6 CIDR block to allow or deny.

property networkAclId

public networkAclId: pulumi.Output<string>;

The ID of the network ACL.

property protocol

public protocol: pulumi.Output<string>;

The protocol. A value of -1 means all protocols.

property ruleAction

public ruleAction: pulumi.Output<string>;

Indicates whether to allow or deny the traffic that matches the rule. Accepted values: allow | deny

property ruleNumber

public ruleNumber: pulumi.Output<number>;

The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.

property toPort

public toPort: pulumi.Output<number | undefined>;

The to port to match.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource NetworkInterface

class NetworkInterface extends CustomResource

Provides an Elastic network interface (ENI) resource.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const test = new aws.ec2.NetworkInterface("test", {
    attachments: [{
        deviceIndex: 1,
        instance: aws_instance_test.id,
    }],
    privateIps: ["10.0.0.50"],
    securityGroups: [aws_security_group_web.id],
    subnetId: aws_subnet_public_a.id,
});

constructor

new NetworkInterface(name: string, args: NetworkInterfaceArgs, opts?: pulumi.CustomResourceOptions)

Create a NetworkInterface resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NetworkInterfaceState, opts?: pulumi.CustomResourceOptions): NetworkInterface

Get an existing NetworkInterface resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is NetworkInterface

Returns true if the given object is an instance of NetworkInterface. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property attachments

public attachments: pulumi.Output<NetworkInterfaceAttachment[]>;

Block to define the attachment of the ENI. Documented below.

property description

public description: pulumi.Output<string | undefined>;

A description for the network interface.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property macAddress

public macAddress: pulumi.Output<string>;

The MAC address of the network interface.

property outpostArn

public outpostArn: pulumi.Output<string>;

property privateDnsName

public privateDnsName: pulumi.Output<string>;

The private DNS name of the network interface (IPv4).

property privateIp

public privateIp: pulumi.Output<string>;

property privateIps

public privateIps: pulumi.Output<string[]>;

List of private IPs to assign to the ENI.

property privateIpsCount

public privateIpsCount: pulumi.Output<number>;

Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + private_ips_count, as a primary private IP will be assiged to an ENI by default.

property securityGroups

public securityGroups: pulumi.Output<string[]>;

List of security group IDs to assign to the ENI.

property sourceDestCheck

public sourceDestCheck: pulumi.Output<boolean | undefined>;

Whether to enable source destination checking for the ENI. Default true.

property subnetId

public subnetId: pulumi.Output<string>;

Subnet ID to create the ENI in.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource NetworkInterfaceAttachment

class NetworkInterfaceAttachment extends CustomResource

Attach an Elastic network interface (ENI) resource with EC2 instance.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const test = new aws.ec2.NetworkInterfaceAttachment("test", {
    deviceIndex: 0,
    instanceId: aws_instance_test.id,
    networkInterfaceId: aws_network_interface_test.id,
});

constructor

new NetworkInterfaceAttachment(name: string, args: NetworkInterfaceAttachmentArgs, opts?: pulumi.CustomResourceOptions)

Create a NetworkInterfaceAttachment resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NetworkInterfaceAttachmentState, opts?: pulumi.CustomResourceOptions): NetworkInterfaceAttachment

Get an existing NetworkInterfaceAttachment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is NetworkInterfaceAttachment

Returns true if the given object is an instance of NetworkInterfaceAttachment. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property attachmentId

public attachmentId: pulumi.Output<string>;

The ENI Attachment ID.

property deviceIndex

public deviceIndex: pulumi.Output<number>;

Network interface index (int).

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instanceId

public instanceId: pulumi.Output<string>;

Instance ID to attach.

property networkInterfaceId

public networkInterfaceId: pulumi.Output<string>;

ENI ID to attach.

property status

public status: pulumi.Output<string>;

The status of the Network Interface Attachment.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource NetworkInterfaceSecurityGroupAttachment

class NetworkInterfaceSecurityGroupAttachment extends CustomResource

This resource attaches a security group to an Elastic Network Interface (ENI). It can be used to attach a security group to any existing ENI, be it a secondary ENI or one attached as the primary interface on an instance.

NOTE on instances, interfaces, and security groups: This provider currently provides the capability to assign security groups via the aws.ec2.Instance and the aws.ec2.NetworkInterface resources. Using this resource in conjunction with security groups provided in-line in those resources will cause conflicts, and will lead to spurious diffs and undefined behavior - please use one or the other.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const ami = pulumi.output(aws.getAmi({
    filters: [{
        name: "name",
        values: ["amzn-ami-hvm-*"],
    }],
    mostRecent: true,
    owners: ["amazon"],
}, { async: true }));
const instance = new aws.ec2.Instance("instance", {
    ami: ami.id,
    instanceType: "t2.micro",
    tags: {
        type: "test-instance",
    },
});
const sg = new aws.ec2.SecurityGroup("sg", {
    tags: {
        type: "test-security-group",
    },
});
const sgAttachment = new aws.ec2.NetworkInterfaceSecurityGroupAttachment("sg_attachment", {
    networkInterfaceId: instance.primaryNetworkInterfaceId,
    securityGroupId: sg.id,
});

Output Reference

There are no outputs for this resource.

constructor

new NetworkInterfaceSecurityGroupAttachment(name: string, args: NetworkInterfaceSecurityGroupAttachmentArgs, opts?: pulumi.CustomResourceOptions)

Create a NetworkInterfaceSecurityGroupAttachment resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NetworkInterfaceSecurityGroupAttachmentState, opts?: pulumi.CustomResourceOptions): NetworkInterfaceSecurityGroupAttachment

Get an existing NetworkInterfaceSecurityGroupAttachment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is NetworkInterfaceSecurityGroupAttachment

Returns true if the given object is an instance of NetworkInterfaceSecurityGroupAttachment. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property networkInterfaceId

public networkInterfaceId: pulumi.Output<string>;

The ID of the network interface to attach to.

property securityGroupId

public securityGroupId: pulumi.Output<string>;

The ID of the security group.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource PeeringConnectionOptions

class PeeringConnectionOptions extends CustomResource

Provides a resource to manage VPC peering connection options.

NOTE on VPC Peering Connections and VPC Peering Connection Options: This provider provides both a standalone VPC Peering Connection Options and a VPC Peering Connection resource with accepter and requester attributes. Do not manage options for the same VPC peering connection in both a VPC Peering Connection resource and a VPC Peering Connection Options resource. Doing so will cause a conflict of options and will overwrite the options. Using a VPC Peering Connection Options resource decouples management of the connection options from management of the VPC Peering Connection and allows options to be set correctly in cross-region and cross-account scenarios.

Basic usage:

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const fooVpc = new aws.ec2.Vpc("foo", {
    cidrBlock: "10.0.0.0/16",
});
const bar = new aws.ec2.Vpc("bar", {
    cidrBlock: "10.1.0.0/16",
});
const fooVpcPeeringConnection = new aws.ec2.VpcPeeringConnection("foo", {
    autoAccept: true,
    peerVpcId: bar.id,
    vpcId: fooVpc.id,
});
const fooPeeringConnectionOptions = new aws.ec2.PeeringConnectionOptions("foo", {
    accepter: {
        allowRemoteVpcDnsResolution: true,
    },
    requester: {
        allowClassicLinkToRemoteVpc: true,
        allowVpcToRemoteClassicLink: true,
    },
    vpcPeeringConnectionId: fooVpcPeeringConnection.id,
});

Basic cross-account usage:

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const requester = new aws.Provider("requester", {});
const accepter = new aws.Provider("accepter", {});
const main = new aws.ec2.Vpc("main", {
    cidrBlock: "10.0.0.0/16",
    enableDnsHostnames: true,
    enableDnsSupport: true,
}, { provider: requester });
const peerVpc = new aws.ec2.Vpc("peer", {
    cidrBlock: "10.1.0.0/16",
    enableDnsHostnames: true,
    enableDnsSupport: true,
}, { provider: accepter });
const peerCallerIdentity = pulumi.output(aws.getCallerIdentity({ provider: accepter, async: true }));
const peerVpcPeeringConnection = new aws.ec2.VpcPeeringConnection("peer", {
    autoAccept: false,
    peerOwnerId: peerCallerIdentity.accountId,
    peerVpcId: peerVpc.id,
    tags: {
        Side: "Requester",
    },
    vpcId: main.id,
}, { provider: requester });
const peerVpcPeeringConnectionAccepter = new aws.ec2.VpcPeeringConnectionAccepter("peer", {
    autoAccept: true,
    tags: {
        Side: "Accepter",
    },
    vpcPeeringConnectionId: peerVpcPeeringConnection.id,
}, { provider: accepter });
const requesterPeeringConnectionOptions = new aws.ec2.PeeringConnectionOptions("requester", {
    requester: {
        allowRemoteVpcDnsResolution: true,
    },
    // As options can't be set until the connection has been accepted
    // create an explicit dependency on the accepter.
    vpcPeeringConnectionId: peerVpcPeeringConnectionAccepter.id,
}, { provider: requester });
const accepterPeeringConnectionOptions = new aws.ec2.PeeringConnectionOptions("accepter", {
    accepter: {
        allowRemoteVpcDnsResolution: true,
    },
    vpcPeeringConnectionId: peerVpcPeeringConnectionAccepter.id,
}, { provider: accepter });

constructor

new PeeringConnectionOptions(name: string, args: PeeringConnectionOptionsArgs, opts?: pulumi.CustomResourceOptions)

Create a PeeringConnectionOptions resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: PeeringConnectionOptionsState, opts?: pulumi.CustomResourceOptions): PeeringConnectionOptions

Get an existing PeeringConnectionOptions resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is PeeringConnectionOptions

Returns true if the given object is an instance of PeeringConnectionOptions. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property accepter

public accepter: pulumi.Output<PeeringConnectionOptionsAccepter>;

An optional configuration block that allows for VPC Peering Connection options to be set for the VPC that accepts the peering connection (a maximum of one).

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property requester

public requester: pulumi.Output<PeeringConnectionOptionsRequester>;

A optional configuration block that allows for VPC Peering Connection options to be set for the VPC that requests the peering connection (a maximum of one).

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcPeeringConnectionId

public vpcPeeringConnectionId: pulumi.Output<string>;

The ID of the requester VPC peering connection.

Resource PlacementGroup

class PlacementGroup extends CustomResource

Provides an EC2 placement group. Read more about placement groups in AWS Docs.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const web = new aws.ec2.PlacementGroup("web", {
    strategy: "cluster",
});

constructor

new PlacementGroup(name: string, args: PlacementGroupArgs, opts?: pulumi.CustomResourceOptions)

Create a PlacementGroup resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: PlacementGroupState, opts?: pulumi.CustomResourceOptions): PlacementGroup

Get an existing PlacementGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is PlacementGroup

Returns true if the given object is an instance of PlacementGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

The name of the placement group.

property placementGroupId

public placementGroupId: pulumi.Output<string>;

The ID of the placement group.

property strategy

public strategy: pulumi.Output<PlacementStrategy>;

The placement strategy. Can be "cluster", "partition" or "spread".

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

Key-value map of resource tags.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource ProxyProtocolPolicy

class ProxyProtocolPolicy extends CustomResource

Provides a proxy protocol policy, which allows an ELB to carry a client connection information to a backend.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const lb = new aws.elb.LoadBalancer("lb", {
    availabilityZones: ["us-east-1a"],
    listeners: [
        {
            instancePort: 25,
            instanceProtocol: "tcp",
            lbPort: 25,
            lbProtocol: "tcp",
        },
        {
            instancePort: 587,
            instanceProtocol: "tcp",
            lbPort: 587,
            lbProtocol: "tcp",
        },
    ],
});
const smtp = new aws.ec2.ProxyProtocolPolicy("smtp", {
    instancePorts: [
        "25",
        "587",
    ],
    loadBalancer: lb.name,
});

constructor

new ProxyProtocolPolicy(name: string, args: ProxyProtocolPolicyArgs, opts?: pulumi.CustomResourceOptions)

Create a ProxyProtocolPolicy resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ProxyProtocolPolicyState, opts?: pulumi.CustomResourceOptions): ProxyProtocolPolicy

Get an existing ProxyProtocolPolicy resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is ProxyProtocolPolicy

Returns true if the given object is an instance of ProxyProtocolPolicy. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instancePorts

public instancePorts: pulumi.Output<string[]>;

List of instance ports to which the policy should be applied. This can be specified if the protocol is SSL or TCP.

property loadBalancer

public loadBalancer: pulumi.Output<string>;

The load balancer to which the policy should be attached.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Route

class Route extends CustomResource

Provides a resource to create a routing table entry (a route) in a VPC routing table.

NOTE on Route Tables and Routes: This provider currently provides both a standalone Route resource and a Route Table resource with routes defined in-line. At this time you cannot use a Route Table with in-line routes in conjunction with any Route resources. Doing so will cause a conflict of rule settings and will overwrite rules.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const route = new aws.ec2.Route("route", {
    routeTableId: "rtb-4fbb3ac4",
    destinationCidrBlock: "10.0.1.0/22",
    vpcPeeringConnectionId: "pcx-45ff3dc1",
});

Example IPv6 Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const vpc = new aws.ec2.Vpc("vpc", {
    assignGeneratedIpv6CidrBlock: true,
    cidrBlock: "10.1.0.0/16",
});
const egress = new aws.ec2.EgressOnlyInternetGateway("egress", {
    vpcId: vpc.id,
});
const route = new aws.ec2.Route("r", {
    destinationIpv6CidrBlock: "::/0",
    egressOnlyGatewayId: egress.id,
    routeTableId: "rtb-4fbb3ac4",
});

constructor

new Route(name: string, args: RouteArgs, opts?: pulumi.CustomResourceOptions)

Create a Route resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RouteState, opts?: pulumi.CustomResourceOptions): Route

Get an existing Route resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Route

Returns true if the given object is an instance of Route. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property destinationCidrBlock

public destinationCidrBlock: pulumi.Output<string | undefined>;

The destination CIDR block.

property destinationIpv6CidrBlock

public destinationIpv6CidrBlock: pulumi.Output<string | undefined>;

The destination IPv6 CIDR block.

property destinationPrefixListId

public destinationPrefixListId: pulumi.Output<string>;

property egressOnlyGatewayId

public egressOnlyGatewayId: pulumi.Output<string>;

Identifier of a VPC Egress Only Internet Gateway.

property gatewayId

public gatewayId: pulumi.Output<string>;

Identifier of a VPC internet gateway or a virtual private gateway.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instanceId

public instanceId: pulumi.Output<string>;

Identifier of an EC2 instance.

property instanceOwnerId

public instanceOwnerId: pulumi.Output<string>;

property natGatewayId

public natGatewayId: pulumi.Output<string>;

Identifier of a VPC NAT gateway.

property networkInterfaceId

public networkInterfaceId: pulumi.Output<string>;

Identifier of an EC2 network interface.

property origin

public origin: pulumi.Output<string>;

property routeTableId

public routeTableId: pulumi.Output<string>;

The ID of the routing table.

property state

public state: pulumi.Output<string>;

property transitGatewayId

public transitGatewayId: pulumi.Output<string | undefined>;

Identifier of an EC2 Transit Gateway.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcPeeringConnectionId

public vpcPeeringConnectionId: pulumi.Output<string | undefined>;

Identifier of a VPC peering connection.

Resource RouteTable

class RouteTable extends CustomResource

Provides a resource to create a VPC routing table.

NOTE on Route Tables and Routes: This provider currently provides both a standalone Route resource and a Route Table resource with routes defined in-line. At this time you cannot use a Route Table with in-line routes in conjunction with any Route resources. Doing so will cause a conflict of rule settings and will overwrite rules.

NOTE on gatewayId and natGatewayId: The AWS API is very forgiving with these two attributes and the aws.ec2.RouteTable resource can be created with a NAT ID specified as a Gateway ID attribute. This will lead to a permanent diff between your configuration and statefile, as the API returns the correct parameters in the returned route table. If you’re experiencing constant diffs in your aws.ec2.RouteTable resources, the first thing to check is whether or not you’re specifying a NAT ID instead of a Gateway ID, or vice-versa.

NOTE on propagatingVgws and the aws.ec2.VpnGatewayRoutePropagation resource: If the propagatingVgws argument is present, it’s not supported to also define route propagations using aws.ec2.VpnGatewayRoutePropagation, since this resource will delete any propagating gateways not explicitly listed in propagatingVgws. Omit this argument when defining route propagation using the separate resource.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const routeTable = new aws.ec2.RouteTable("r", {
    routes: [
        {
            cidrBlock: "10.0.1.0/24",
            gatewayId: aws_internet_gateway_main.id,
        },
        {
            egressOnlyGatewayId: aws_egress_only_internet_gateway_foo.id,
            ipv6CidrBlock: "::/0",
        },
    ],
    tags: {
        Name: "main",
    },
    vpcId: aws_vpc_default.id,
});

constructor

new RouteTable(name: string, args: RouteTableArgs, opts?: pulumi.CustomResourceOptions)

Create a RouteTable resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RouteTableState, opts?: pulumi.CustomResourceOptions): RouteTable

Get an existing RouteTable resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is RouteTable

Returns true if the given object is an instance of RouteTable. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property ownerId

public ownerId: pulumi.Output<string>;

The ID of the AWS account that owns the route table.

property propagatingVgws

public propagatingVgws: pulumi.Output<string[]>;

A list of virtual gateways for propagation.

property routes

public routes: pulumi.Output<RouteTableRoute[]>;

A list of route objects. Their keys are documented below.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string>;

The VPC ID.

Resource RouteTableAssociation

class RouteTableAssociation extends CustomResource

Provides a resource to create an association between a route table and a subnet or a route table and an internet gateway or virtual private gateway.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const routeTableAssociation = new aws.ec2.RouteTableAssociation("routeTableAssociation", {
    subnetId: aws_subnet.foo.id,
    routeTableId: aws_route_table.bar.id,
});

constructor

new RouteTableAssociation(name: string, args: RouteTableAssociationArgs, opts?: pulumi.CustomResourceOptions)

Create a RouteTableAssociation resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RouteTableAssociationState, opts?: pulumi.CustomResourceOptions): RouteTableAssociation

Get an existing RouteTableAssociation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is RouteTableAssociation

Returns true if the given object is an instance of RouteTableAssociation. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property gatewayId

public gatewayId: pulumi.Output<string | undefined>;

The gateway ID to create an association. Conflicts with subnetId.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property routeTableId

public routeTableId: pulumi.Output<string>;

The ID of the routing table to associate with.

property subnetId

public subnetId: pulumi.Output<string | undefined>;

The subnet ID to create an association. Conflicts with gatewayId.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource SecurityGroup

class SecurityGroup extends CustomResource

Provides a security group resource.

NOTE on Security Groups and Security Group Rules: This provider currently provides both a standalone Security Group Rule resource (a single ingress or egress rule), and a Security Group resource with ingress and egress rules defined in-line. At this time you cannot use a Security Group with in-line rules in conjunction with any Security Group Rule resources. Doing so will cause a conflict of rule settings and will overwrite rules.

NOTE: Referencing Security Groups across VPC peering has certain restrictions. More information is available in the VPC Peering User Guide.

NOTE: Due to AWS Lambda improved VPC networking changes that began deploying in September 2019, security groups associated with Lambda Functions can take up to 45 minutes to successfully delete.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const allowTls = new aws.ec2.SecurityGroup("allowTls", {
    description: "Allow TLS inbound traffic",
    vpcId: aws_vpc.main.id,
    ingress: [{
        description: "TLS from VPC",
        fromPort: 443,
        toPort: 443,
        protocol: "tcp",
        cidrBlocks: [aws_vpc.main.cidr_block],
    }],
    egress: [{
        fromPort: 0,
        toPort: 0,
        protocol: "-1",
        cidrBlocks: ["0.0.0.0/0"],
    }],
    tags: {
        Name: "allow_tls",
    },
});

Usage with prefix list IDs

Prefix list IDs are managed by AWS internally. Prefix list IDs are associated with a prefix list name, or service name, that is linked to a specific region. Prefix list IDs are exported on VPC Endpoints, so you can use this format:

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

// ...
const myEndpoint = new aws.ec2.VpcEndpoint("my_endpoint", {});

constructor

new SecurityGroup(name: string, args?: SecurityGroupArgs, opts?: pulumi.CustomResourceOptions)

Create a SecurityGroup resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SecurityGroupState, opts?: pulumi.CustomResourceOptions): SecurityGroup

Get an existing SecurityGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is SecurityGroup

Returns true if the given object is an instance of SecurityGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property arn

public arn: pulumi.Output<string>;

The ARN of the security group

property description

public description: pulumi.Output<string>;

Description of this egress rule.

property egress

public egress: pulumi.Output<SecurityGroupEgress[]>;

Can be specified multiple times for each egress rule. Each egress block supports fields documented below.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property ingress

public ingress: pulumi.Output<SecurityGroupIngress[]>;

Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below.

property name

public name: pulumi.Output<string>;

The name of the security group. If omitted, this provider will assign a random, unique name

property namePrefix

public namePrefix: pulumi.Output<string | undefined>;

Creates a unique name beginning with the specified prefix. Conflicts with name.

property ownerId

public ownerId: pulumi.Output<string>;

The owner ID.

property revokeRulesOnDelete

public revokeRulesOnDelete: pulumi.Output<boolean | undefined>;

Instruct this provider to revoke all of the Security Groups attached ingress and egress rules before deleting the rule itself. This is normally not needed, however certain AWS services such as Elastic Map Reduce may automatically add required rules to security groups used with the service, and those rules may contain a cyclic dependency that prevent the security groups from being destroyed without removing the dependency first. Default false

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string>;

The VPC ID.

Resource SecurityGroupRule

class SecurityGroupRule extends CustomResource

Provides a security group rule resource. Represents a single ingress or egress group rule, which can be added to external Security Groups.

NOTE on Security Groups and Security Group Rules: This provider currently provides both a standalone Security Group Rule resource (a single ingress or egress rule), and a Security Group resource with ingress and egress rules defined in-line. At this time you cannot use a Security Group with in-line rules in conjunction with any Security Group Rule resources. Doing so will cause a conflict of rule settings and will overwrite rules.

NOTE: Setting protocol = "all" or protocol = -1 with fromPort and toPort will result in the EC2 API creating a security group rule with all ports open. This API behavior cannot be controlled by this provider and may generate warnings in the future.

NOTE: Referencing Security Groups across VPC peering has certain restrictions. More information is available in the VPC Peering User Guide.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.ec2.SecurityGroupRule("example", {
    type: "ingress",
    fromPort: 0,
    toPort: 65535,
    protocol: "tcp",
    cidrBlocks: aws_vpc.example.cidr_block,
    securityGroupId: "sg-123456",
});

Usage with prefix list IDs

Prefix list IDs are manged by AWS internally. Prefix list IDs are associated with a prefix list name, or service name, that is linked to a specific region. Prefix list IDs are exported on VPC Endpoints, so you can use this format:

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

// ...
const myEndpoint = new aws.ec2.VpcEndpoint("my_endpoint", {});
const allowAll = new aws.ec2.SecurityGroupRule("allow_all", {
    fromPort: 0,
    prefixListIds: [myEndpoint.prefixListId],
    protocol: "-1",
    securityGroupId: "sg-123456",
    toPort: 0,
    type: "egress",
});

constructor

new SecurityGroupRule(name: string, args: SecurityGroupRuleArgs, opts?: pulumi.CustomResourceOptions)

Create a SecurityGroupRule resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SecurityGroupRuleState, opts?: pulumi.CustomResourceOptions): SecurityGroupRule

Get an existing SecurityGroupRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is SecurityGroupRule

Returns true if the given object is an instance of SecurityGroupRule. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property cidrBlocks

public cidrBlocks: pulumi.Output<string[] | undefined>;

List of CIDR blocks. Cannot be specified with sourceSecurityGroupId.

property description

public description: pulumi.Output<string | undefined>;

Description of the rule.

property fromPort

public fromPort: pulumi.Output<number>;

The start port (or ICMP type number if protocol is “icmp” or “icmpv6”).

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property ipv6CidrBlocks

public ipv6CidrBlocks: pulumi.Output<string[] | undefined>;

List of IPv6 CIDR blocks.

property prefixListIds

public prefixListIds: pulumi.Output<string[] | undefined>;

List of prefix list IDs (for allowing access to VPC endpoints). Only valid with egress.

property protocol

public protocol: pulumi.Output<string>;

The protocol. If not icmp, icmpv6, tcp, udp, or all use the protocol number

property securityGroupId

public securityGroupId: pulumi.Output<string>;

The security group to apply this rule to.

property self

public self: pulumi.Output<boolean | undefined>;

If true, the security group itself will be added as a source to this ingress rule. Cannot be specified with sourceSecurityGroupId.

property sourceSecurityGroupId

public sourceSecurityGroupId: pulumi.Output<string>;

The security group id to allow access to/from, depending on the type. Cannot be specified with cidrBlocks and self.

property toPort

public toPort: pulumi.Output<number>;

The end port (or ICMP code if protocol is “icmp”).

property type

public type: pulumi.Output<string>;

The type of rule being created. Valid options are ingress (inbound) or egress (outbound).

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource SnapshotCreateVolumePermission

class SnapshotCreateVolumePermission extends CustomResource

Adds permission to create volumes off of a given EBS Snapshot.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.ebs.Volume("example", {
    availabilityZone: "us-west-2a",
    size: 40,
});
const exampleSnapshot = new aws.ebs.Snapshot("example_snapshot", {
    volumeId: example.id,
});
const examplePerm = new aws.ec2.SnapshotCreateVolumePermission("example_perm", {
    accountId: "12345678",
    snapshotId: exampleSnapshot.id,
});

constructor

new SnapshotCreateVolumePermission(name: string, args: SnapshotCreateVolumePermissionArgs, opts?: pulumi.CustomResourceOptions)

Create a SnapshotCreateVolumePermission resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SnapshotCreateVolumePermissionState, opts?: pulumi.CustomResourceOptions): SnapshotCreateVolumePermission

Get an existing SnapshotCreateVolumePermission resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is SnapshotCreateVolumePermission

Returns true if the given object is an instance of SnapshotCreateVolumePermission. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property accountId

public accountId: pulumi.Output<string>;

An AWS Account ID to add create volume permissions

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property snapshotId

public snapshotId: pulumi.Output<string>;

A snapshot ID

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource SpotDatafeedSubscription

class SpotDatafeedSubscription extends CustomResource

Note: There is only a single subscription allowed per account.

To help you understand the charges for your Spot instances, Amazon EC2 provides a data feed that describes your Spot instance usage and pricing. This data feed is sent to an Amazon S3 bucket that you specify when you subscribe to the data feed.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const defaultBucket = new aws.s3.Bucket("default", {});
const defaultSpotDatafeedSubscription = new aws.ec2.SpotDatafeedSubscription("default", {
    bucket: defaultBucket.bucket,
    prefix: "my_subdirectory",
});

constructor

new SpotDatafeedSubscription(name: string, args: SpotDatafeedSubscriptionArgs, opts?: pulumi.CustomResourceOptions)

Create a SpotDatafeedSubscription resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SpotDatafeedSubscriptionState, opts?: pulumi.CustomResourceOptions): SpotDatafeedSubscription

Get an existing SpotDatafeedSubscription resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is SpotDatafeedSubscription

Returns true if the given object is an instance of SpotDatafeedSubscription. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property bucket

public bucket: pulumi.Output<string>;

The Amazon S3 bucket in which to store the Spot instance data feed.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property prefix

public prefix: pulumi.Output<string | undefined>;

Path of folder inside bucket to place spot pricing data.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource SpotFleetRequest

class SpotFleetRequest extends CustomResource

Provides an EC2 Spot Fleet Request resource. This allows a fleet of Spot instances to be requested on the Spot market.

Example Usage

Using launch specifications
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

// Request a Spot fleet
const cheapCompute = new aws.ec2.SpotFleetRequest("cheap_compute", {
    allocationStrategy: "diversified",
    iamFleetRole: "arn:aws:iam::12345678:role/spot-fleet",
    launchSpecifications: [
        {
            ami: "ami-1234",
            iamInstanceProfileArn: aws_iam_instance_profile_example.arn,
            instanceType: "m4.10xlarge",
            placementTenancy: "dedicated",
            spotPrice: "2.793",
        },
        {
            ami: "ami-5678",
            availabilityZone: "us-west-1a",
            iamInstanceProfileArn: aws_iam_instance_profile_example.arn,
            instanceType: "m4.4xlarge",
            keyName: "my-key",
            rootBlockDevices: [{
                volumeSize: 300,
                volumeType: "gp2",
            }],
            spotPrice: "1.117",
            subnetId: "subnet-1234",
            tags: {
                Name: "spot-fleet-example",
            },
            weightedCapacity: "35",
        },
    ],
    spotPrice: "0.03",
    targetCapacity: 6,
    validUntil: "2019-11-04T20:44:20Z",
});
Using launch templates
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const fooLaunchTemplate = new aws.ec2.LaunchTemplate("fooLaunchTemplate", {
    imageId: "ami-516b9131",
    instanceType: "m1.small",
    keyName: "some-key",
    spotPrice: "0.05",
});
const fooSpotFleetRequest = new aws.ec2.SpotFleetRequest("fooSpotFleetRequest", {
    iamFleetRole: "arn:aws:iam::12345678:role/spot-fleet",
    spotPrice: "0.005",
    targetCapacity: 2,
    validUntil: "2019-11-04T20:44:20Z",
    launch_template_config: [{
        launch_template_specification: {
            id: fooLaunchTemplate.id,
            version: fooLaunchTemplate.latestVersion,
        },
    }],
});
Using multiple launch specifications
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const foo = new aws.ec2.SpotFleetRequest("foo", {
    iamFleetRole: "arn:aws:iam::12345678:role/spot-fleet",
    launchSpecifications: [
        {
            ami: "ami-d06a90b0",
            availabilityZone: "us-west-2a",
            instanceType: "m1.small",
            keyName: "my-key",
        },
        {
            ami: "ami-d06a90b0",
            availabilityZone: "us-west-2a",
            instanceType: "m5.large",
            keyName: "my-key",
        },
    ],
    spotPrice: "0.005",
    targetCapacity: 2,
    validUntil: "2019-11-04T20:44:20Z",
});
Using multiple launch configurations
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = aws.ec2.getSubnetIds({
    vpcId: _var.vpc_id,
});
const fooLaunchTemplate = new aws.ec2.LaunchTemplate("fooLaunchTemplate", {
    imageId: "ami-516b9131",
    instanceType: "m1.small",
    keyName: "some-key",
    spotPrice: "0.05",
});
const fooSpotFleetRequest = new aws.ec2.SpotFleetRequest("fooSpotFleetRequest", {
    iamFleetRole: "arn:aws:iam::12345678:role/spot-fleet",
    spotPrice: "0.005",
    targetCapacity: 2,
    validUntil: "2019-11-04T20:44:20Z",
    launch_template_config: [{
        launch_template_specification: {
            id: fooLaunchTemplate.id,
            version: fooLaunchTemplate.latestVersion,
        },
        overrides: [
            {
                subnetId: data.aws_subnets.example.ids[0],
            },
            {
                subnetId: data.aws_subnets.example.ids[1],
            },
            {
                subnetId: data.aws_subnets.example.ids[2],
            },
        ],
    }],
});

constructor

new SpotFleetRequest(name: string, args: SpotFleetRequestArgs, opts?: pulumi.CustomResourceOptions)

Create a SpotFleetRequest resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SpotFleetRequestState, opts?: pulumi.CustomResourceOptions): SpotFleetRequest

Get an existing SpotFleetRequest resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is SpotFleetRequest

Returns true if the given object is an instance of SpotFleetRequest. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property allocationStrategy

public allocationStrategy: pulumi.Output<string | undefined>;

Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request. The default is lowestPrice.

property clientToken

public clientToken: pulumi.Output<string>;

property excessCapacityTerminationPolicy

public excessCapacityTerminationPolicy: pulumi.Output<string | undefined>;

Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.

property fleetType

public fleetType: pulumi.Output<string | undefined>;

The type of fleet request. Indicates whether the Spot Fleet only requests the target capacity or also attempts to maintain it. Default is maintain.

property iamFleetRole

public iamFleetRole: pulumi.Output<string>;

Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instanceInterruptionBehaviour

public instanceInterruptionBehaviour: pulumi.Output<string | undefined>;

Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate.

property instancePoolsToUseCount

public instancePoolsToUseCount: pulumi.Output<number | undefined>;

The number of Spot pools across which to allocate your target Spot capacity. Valid only when allocationStrategy is set to lowestPrice. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.

property launchSpecifications

public launchSpecifications: pulumi.Output<SpotFleetRequestLaunchSpecification[] | undefined>;

Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with launchTemplateConfig. At least one of launchSpecification or launchTemplateConfig is required.

property launchTemplateConfigs

public launchTemplateConfigs: pulumi.Output<SpotFleetRequestLaunchTemplateConfig[] | undefined>;

Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launchSpecification. At least one of launchSpecification or launchTemplateConfig is required.

property loadBalancers

public loadBalancers: pulumi.Output<string[]>;

A list of elastic load balancer names to add to the Spot fleet.

property replaceUnhealthyInstances

public replaceUnhealthyInstances: pulumi.Output<boolean | undefined>;

Indicates whether Spot fleet should replace unhealthy instances. Default false.

property spotPrice

public spotPrice: pulumi.Output<string | undefined>;

The maximum spot bid for this override request.

property spotRequestState

public spotRequestState: pulumi.Output<string>;

The state of the Spot fleet request.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property targetCapacity

public targetCapacity: pulumi.Output<number>;

The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.

property targetGroupArns

public targetGroupArns: pulumi.Output<string[]>;

A list of aws.alb.TargetGroup ARNs, for use with Application Load Balancing.

property terminateInstancesWithExpiration

public terminateInstancesWithExpiration: pulumi.Output<boolean | undefined>;

Indicates whether running Spot instances should be terminated when the Spot fleet request expires.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property validFrom

public validFrom: pulumi.Output<string | undefined>;

The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.

property validUntil

public validUntil: pulumi.Output<string | undefined>;

The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request. Defaults to 24 hours.

property waitForFulfillment

public waitForFulfillment: pulumi.Output<boolean | undefined>;

If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.

Resource SpotInstanceRequest

class SpotInstanceRequest extends CustomResource

Provides an EC2 Spot Instance Request resource. This allows instances to be requested on the spot market.

By default this provider creates Spot Instance Requests with a persistent type, which means that for the duration of their lifetime, AWS will launch an instance with the configured details if and when the spot market will accept the requested price.

On destruction, this provider will make an attempt to terminate the associated Spot Instance if there is one present.

Spot Instances requests with a one-time type will close the spot request when the instance is terminated either by the request being below the current spot price availability or by a user.

NOTE: Because their behavior depends on the live status of the spot market, Spot Instance Requests have a unique lifecycle that makes them behave differently than other resources. Most importantly: there is no guarantee that a Spot Instance exists to fulfill the request at any given point in time. See the AWS Spot Instance documentation for more information.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

// Request a spot instance at $0.03
const cheapWorker = new aws.ec2.SpotInstanceRequest("cheap_worker", {
    ami: "ami-1234",
    instanceType: "c4.xlarge",
    spotPrice: "0.03",
    tags: {
        Name: "CheapWorker",
    },
});

constructor

new SpotInstanceRequest(name: string, args: SpotInstanceRequestArgs, opts?: pulumi.CustomResourceOptions)

Create a SpotInstanceRequest resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SpotInstanceRequestState, opts?: pulumi.CustomResourceOptions): SpotInstanceRequest

Get an existing SpotInstanceRequest resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is SpotInstanceRequest

Returns true if the given object is an instance of SpotInstanceRequest. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property ami

public ami: pulumi.Output<string>;

The AMI to use for the instance.

property arn

public arn: pulumi.Output<string>;

property associatePublicIpAddress

public associatePublicIpAddress: pulumi.Output<boolean>;

Associate a public ip address with an instance in a VPC. Boolean value.

property availabilityZone

public availabilityZone: pulumi.Output<string>;

The AZ to start the instance in.

property blockDurationMinutes

public blockDurationMinutes: pulumi.Output<number | undefined>;

The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. Note that you can’t specify an Availability Zone group or a launch group if you specify a duration.

property cpuCoreCount

public cpuCoreCount: pulumi.Output<number>;

Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.

property cpuThreadsPerCore

public cpuThreadsPerCore: pulumi.Output<number>;

If set to to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

property creditSpecification

public creditSpecification: pulumi.Output<SpotInstanceRequestCreditSpecification | undefined>;

Customize the credit specification of the instance. See Credit Specification below for more details.

property disableApiTermination

public disableApiTermination: pulumi.Output<boolean | undefined>;

If true, enables EC2 Instance Termination Protection

property ebsBlockDevices

public ebsBlockDevices: pulumi.Output<SpotInstanceRequestEbsBlockDevice[]>;

Additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection.

property ebsOptimized

public ebsOptimized: pulumi.Output<boolean | undefined>;

If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.

property ephemeralBlockDevices

public ephemeralBlockDevices: pulumi.Output<SpotInstanceRequestEphemeralBlockDevice[]>;

Customize Ephemeral (also known as “Instance Store”) volumes on the instance. See Block Devices below for details.

property getPasswordData

public getPasswordData: pulumi.Output<boolean | undefined>;

If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the passwordData attribute. See GetPasswordData for more information.

property hibernation

public hibernation: pulumi.Output<boolean | undefined>;

If true, the launched EC2 instance will support hibernation.

property hostId

public hostId: pulumi.Output<string>;

The Id of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.

property iamInstanceProfile

public iamInstanceProfile: pulumi.Output<string | undefined>;

The IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instanceInitiatedShutdownBehavior

public instanceInitiatedShutdownBehavior: pulumi.Output<string | undefined>;

Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.

property instanceInterruptionBehaviour

public instanceInterruptionBehaviour: pulumi.Output<string | undefined>;

Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate as this is the current AWS behaviour.

property instanceState

public instanceState: pulumi.Output<string>;

property instanceType

public instanceType: pulumi.Output<string>;

The type of instance to start. Updates to this field will trigger a stop/start of the EC2 instance.

property ipv6AddressCount

public ipv6AddressCount: pulumi.Output<number>;

A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.

property ipv6Addresses

public ipv6Addresses: pulumi.Output<string[]>;

Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface

property keyName

public keyName: pulumi.Output<string>;

The key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.

property launchGroup

public launchGroup: pulumi.Output<string | undefined>;

A launch group is a group of spot instances that launch together and terminate together. If left empty instances are launched and terminated individually.

property metadataOptions

public metadataOptions: pulumi.Output<SpotInstanceRequestMetadataOptions>;

Customize the metadata options of the instance. See Metadata Options below for more details.

property monitoring

public monitoring: pulumi.Output<boolean | undefined>;

If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)

property networkInterfaces

public networkInterfaces: pulumi.Output<SpotInstanceRequestNetworkInterface[]>;

Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.

property outpostArn

public outpostArn: pulumi.Output<string>;

property passwordData

public passwordData: pulumi.Output<string>;

property placementGroup

public placementGroup: pulumi.Output<string>;

The Placement Group to start the instance in.

property primaryNetworkInterfaceId

public primaryNetworkInterfaceId: pulumi.Output<string>;

property privateDns

public privateDns: pulumi.Output<string>;

The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you’ve enabled DNS hostnames for your VPC

property privateIp

public privateIp: pulumi.Output<string>;

Private IP address to associate with the instance in a VPC.

property publicDns

public publicDns: pulumi.Output<string>;

The public DNS name assigned to the instance. For EC2-VPC, this is only available if you’ve enabled DNS hostnames for your VPC

property publicIp

public publicIp: pulumi.Output<string>;

The public IP address assigned to the instance, if applicable.

property rootBlockDevice

public rootBlockDevice: pulumi.Output<SpotInstanceRequestRootBlockDevice>;

Customize details about the root block device of the instance. See Block Devices below for details.

property securityGroups

public securityGroups: pulumi.Output<string[]>;

A list of security group names (EC2-Classic) or IDs (default VPC) to associate with.

property sourceDestCheck

public sourceDestCheck: pulumi.Output<boolean | undefined>;

Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.

property spotBidStatus

public spotBidStatus: pulumi.Output<string>;

The current bid status of the Spot Instance Request. * spotRequestState The current request state of the Spot Instance Request.

property spotInstanceId

public spotInstanceId: pulumi.Output<string>;

The Instance ID (if any) that is currently fulfilling the Spot Instance request.

property spotPrice

public spotPrice: pulumi.Output<string | undefined>;

The maximum price to request on the spot market.

property spotRequestState

public spotRequestState: pulumi.Output<string>;

property spotType

public spotType: pulumi.Output<string | undefined>;

If set to one-time, after the instance is terminated, the spot request will be closed.

property subnetId

public subnetId: pulumi.Output<string>;

The VPC Subnet ID to launch in.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property tenancy

public tenancy: pulumi.Output<string>;

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property userData

public userData: pulumi.Output<string | undefined>;

The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see userDataBase64 instead.

property userDataBase64

public userDataBase64: pulumi.Output<string | undefined>;

Can be used instead of userData to pass base64-encoded binary data directly. Use this instead of userData whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.

property validFrom

public validFrom: pulumi.Output<string>;

The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.

property validUntil

public validUntil: pulumi.Output<string>;

The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request. The default end date is 7 days from the current date.

property volumeTags

public volumeTags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the devices created by the instance at launch time.

property vpcSecurityGroupIds

public vpcSecurityGroupIds: pulumi.Output<string[]>;

A list of security group IDs to associate with.

property waitForFulfillment

public waitForFulfillment: pulumi.Output<boolean | undefined>;

If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.

Resource Subnet

class Subnet extends CustomResource

Provides an VPC subnet resource.

NOTE: Due to AWS Lambda improved VPC networking changes that began deploying in September 2019, subnets associated with Lambda Functions can take up to 45 minutes to successfully delete.

Example Usage

Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const main = new aws.ec2.Subnet("main", {
    cidrBlock: "10.0.1.0/24",
    tags: {
        Name: "Main",
    },
    vpcId: aws_vpc_main.id,
});
Subnets In Secondary VPC CIDR Blocks
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const secondaryCidr = new aws.ec2.VpcIpv4CidrBlockAssociation("secondary_cidr", {
    cidrBlock: "172.2.0.0/16",
    vpcId: aws_vpc_main.id,
});
const inSecondaryCidr = new aws.ec2.Subnet("in_secondary_cidr", {
    cidrBlock: "172.2.0.0/24",
    vpcId: secondaryCidr.vpcId,
});

constructor

new Subnet(name: string, args: SubnetArgs, opts?: pulumi.CustomResourceOptions)

Create a Subnet resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SubnetState, opts?: pulumi.CustomResourceOptions): Subnet

Get an existing Subnet resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Subnet

Returns true if the given object is an instance of Subnet. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property arn

public arn: pulumi.Output<string>;

The ARN of the subnet.

property assignIpv6AddressOnCreation

public assignIpv6AddressOnCreation: pulumi.Output<boolean | undefined>;

Specify true to indicate that network interfaces created in the specified subnet should be assigned an IPv6 address. Default is false

property availabilityZone

public availabilityZone: pulumi.Output<string>;

The AZ for the subnet.

property availabilityZoneId

public availabilityZoneId: pulumi.Output<string>;

The AZ ID of the subnet.

property cidrBlock

public cidrBlock: pulumi.Output<string>;

The CIDR block for the subnet.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property ipv6CidrBlock

public ipv6CidrBlock: pulumi.Output<string>;

The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a /64 prefix length.

property ipv6CidrBlockAssociationId

public ipv6CidrBlockAssociationId: pulumi.Output<string>;

The association ID for the IPv6 CIDR block.

property mapPublicIpOnLaunch

public mapPublicIpOnLaunch: pulumi.Output<boolean | undefined>;

Specify true to indicate that instances launched into the subnet should be assigned a public IP address. Default is false.

property outpostArn

public outpostArn: pulumi.Output<string | undefined>;

The Amazon Resource Name (ARN) of the Outpost.

property ownerId

public ownerId: pulumi.Output<string>;

The ID of the AWS account that owns the subnet.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string>;

The VPC ID.

Resource TrafficMirrorFilter

class TrafficMirrorFilter extends CustomResource

Provides an Traffic mirror filter. Read limits and considerations for traffic mirroring

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const foo = new aws.ec2.TrafficMirrorFilter("foo", {
    description: "traffic mirror filter - example",
    networkServices: ["amazon-dns"],
});

constructor

new TrafficMirrorFilter(name: string, args?: TrafficMirrorFilterArgs, opts?: pulumi.CustomResourceOptions)

Create a TrafficMirrorFilter resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TrafficMirrorFilterState, opts?: pulumi.CustomResourceOptions): TrafficMirrorFilter

Get an existing TrafficMirrorFilter resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is TrafficMirrorFilter

Returns true if the given object is an instance of TrafficMirrorFilter. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property description

public description: pulumi.Output<string | undefined>;

A description of the filter.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property networkServices

public networkServices: pulumi.Output<string[] | undefined>;

List of amazon network services that should be mirrored. Valid values: amazon-dns.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

Key-value map of resource tags.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource TrafficMirrorFilterRule

class TrafficMirrorFilterRule extends CustomResource

Provides an Traffic mirror filter rule. Read limits and considerations for traffic mirroring

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const filter = new aws.ec2.TrafficMirrorFilter("filter", {
    description: "traffic mirror filter - example",
    networkServices: ["amazon-dns"],
});
const ruleout = new aws.ec2.TrafficMirrorFilterRule("ruleout", {
    description: "test rule",
    destinationCidrBlock: "10.0.0.0/8",
    ruleAction: "accept",
    ruleNumber: 1,
    sourceCidrBlock: "10.0.0.0/8",
    trafficDirection: "egress",
    trafficMirrorFilterId: filter.id,
});
const rulein = new aws.ec2.TrafficMirrorFilterRule("rulein", {
    description: "test rule",
    destinationCidrBlock: "10.0.0.0/8",
    destinationPortRange: {
        fromPort: 22,
        toPort: 53,
    },
    protocol: 6,
    ruleAction: "accept",
    ruleNumber: 1,
    sourceCidrBlock: "10.0.0.0/8",
    sourcePortRange: {
        fromPort: 0,
        toPort: 10,
    },
    trafficDirection: "ingress",
    trafficMirrorFilterId: filter.id,
});

constructor

new TrafficMirrorFilterRule(name: string, args: TrafficMirrorFilterRuleArgs, opts?: pulumi.CustomResourceOptions)

Create a TrafficMirrorFilterRule resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TrafficMirrorFilterRuleState, opts?: pulumi.CustomResourceOptions): TrafficMirrorFilterRule

Get an existing TrafficMirrorFilterRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is TrafficMirrorFilterRule

Returns true if the given object is an instance of TrafficMirrorFilterRule. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property description

public description: pulumi.Output<string | undefined>;

A description of the traffic mirror filter rule.

property destinationCidrBlock

public destinationCidrBlock: pulumi.Output<string>;

The destination CIDR block to assign to the Traffic Mirror rule.

property destinationPortRange

public destinationPortRange: pulumi.Output<TrafficMirrorFilterRuleDestinationPortRange | undefined>;

The destination port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property protocol

public protocol: pulumi.Output<number | undefined>;

The protocol number, for example 17 (UDP), to assign to the Traffic Mirror rule. For information about the protocol value, see Protocol Numbers on the Internet Assigned Numbers Authority (IANA) website.

property ruleAction

public ruleAction: pulumi.Output<string>;

The action to take (accept | reject) on the filtered traffic. Valid values are accept and reject

property ruleNumber

public ruleNumber: pulumi.Output<number>;

The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.

property sourceCidrBlock

public sourceCidrBlock: pulumi.Output<string>;

The source CIDR block to assign to the Traffic Mirror rule.

property sourcePortRange

public sourcePortRange: pulumi.Output<TrafficMirrorFilterRuleSourcePortRange | undefined>;

The source port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below

property trafficDirection

public trafficDirection: pulumi.Output<string>;

The direction of traffic to be captured. Valid values are ingress and egress

property trafficMirrorFilterId

public trafficMirrorFilterId: pulumi.Output<string>;

ID of the traffic mirror filter to which this rule should be added

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource TrafficMirrorSession

class TrafficMirrorSession extends CustomResource

Provides an Traffic mirror session. Read limits and considerations for traffic mirroring

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const filter = new aws.ec2.TrafficMirrorFilter("filter", {
    description: "traffic mirror filter - example",
    networkServices: ["amazon-dns"],
});
const target = new aws.ec2.TrafficMirrorTarget("target", {
    networkLoadBalancerArn: aws_lb_lb.arn,
});
const session = new aws.ec2.TrafficMirrorSession("session", {
    description: "traffic mirror session - example",
    networkInterfaceId: aws_instance_test.primaryNetworkInterfaceId,
    trafficMirrorFilterId: filter.id,
    trafficMirrorTargetId: target.id,
});

constructor

new TrafficMirrorSession(name: string, args: TrafficMirrorSessionArgs, opts?: pulumi.CustomResourceOptions)

Create a TrafficMirrorSession resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TrafficMirrorSessionState, opts?: pulumi.CustomResourceOptions): TrafficMirrorSession

Get an existing TrafficMirrorSession resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is TrafficMirrorSession

Returns true if the given object is an instance of TrafficMirrorSession. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property description

public description: pulumi.Output<string | undefined>;

A description of the traffic mirror session.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property networkInterfaceId

public networkInterfaceId: pulumi.Output<string>;

ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring.

property packetLength

public packetLength: pulumi.Output<number | undefined>;

The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror.

property sessionNumber

public sessionNumber: pulumi.Output<number>;
  • The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

Key-value map of resource tags.

property trafficMirrorFilterId

public trafficMirrorFilterId: pulumi.Output<string>;

ID of the traffic mirror filter to be used

property trafficMirrorTargetId

public trafficMirrorTargetId: pulumi.Output<string>;

ID of the traffic mirror target to be used

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property virtualNetworkId

public virtualNetworkId: pulumi.Output<number>;
  • The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random.

Resource TrafficMirrorTarget

class TrafficMirrorTarget extends CustomResource

Provides an Traffic mirror target. Read limits and considerations for traffic mirroring

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const nlb = new aws.ec2.TrafficMirrorTarget("nlb", {
    description: "NLB target",
    networkLoadBalancerArn: aws_lb_lb.arn,
});
const eni = new aws.ec2.TrafficMirrorTarget("eni", {
    description: "ENI target",
    networkInterfaceId: aws_instance_test.primaryNetworkInterfaceId,
});

constructor

new TrafficMirrorTarget(name: string, args?: TrafficMirrorTargetArgs, opts?: pulumi.CustomResourceOptions)

Create a TrafficMirrorTarget resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TrafficMirrorTargetState, opts?: pulumi.CustomResourceOptions): TrafficMirrorTarget

Get an existing TrafficMirrorTarget resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is TrafficMirrorTarget

Returns true if the given object is an instance of TrafficMirrorTarget. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property description

public description: pulumi.Output<string | undefined>;

A description of the traffic mirror session.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property networkInterfaceId

public networkInterfaceId: pulumi.Output<string | undefined>;

The network interface ID that is associated with the target.

property networkLoadBalancerArn

public networkLoadBalancerArn: pulumi.Output<string | undefined>;

The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

Key-value map of resource tags.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource TransitGatewayPeeringAttachmentAccepter

class TransitGatewayPeeringAttachmentAccepter extends CustomResource

Manages the accepter’s side of an EC2 Transit Gateway Peering Attachment.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.ec2.TransitGatewayPeeringAttachmentAccepter("example", {
    tags: {
        Name: "Example cross-account attachment",
    },
    transitGatewayAttachmentId: aws_ec2_transit_gateway_peering_attachment_example.id,
});

constructor

new TransitGatewayPeeringAttachmentAccepter(name: string, args: TransitGatewayPeeringAttachmentAccepterArgs, opts?: pulumi.CustomResourceOptions)

Create a TransitGatewayPeeringAttachmentAccepter resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TransitGatewayPeeringAttachmentAccepterState, opts?: pulumi.CustomResourceOptions): TransitGatewayPeeringAttachmentAccepter

Get an existing TransitGatewayPeeringAttachmentAccepter resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is TransitGatewayPeeringAttachmentAccepter

Returns true if the given object is an instance of TransitGatewayPeeringAttachmentAccepter. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property peerAccountId

public peerAccountId: pulumi.Output<string>;

Identifier of the AWS account that owns the EC2 TGW peering.

property peerRegion

public peerRegion: pulumi.Output<string>;

property peerTransitGatewayId

public peerTransitGatewayId: pulumi.Output<string>;

Identifier of EC2 Transit Gateway to peer with.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

Key-value tags for the EC2 Transit Gateway Peering Attachment.

property transitGatewayAttachmentId

public transitGatewayAttachmentId: pulumi.Output<string>;

The ID of the EC2 Transit Gateway Peering Attachment to manage.

property transitGatewayId

public transitGatewayId: pulumi.Output<string>;

Identifier of EC2 Transit Gateway.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource VolumeAttachment

class VolumeAttachment extends CustomResource

Provides an AWS EBS Volume Attachment as a top level resource, to attach and detach volumes from AWS Instances.

NOTE on EBS block devices: If you use ebsBlockDevice on an aws.ec2.Instance, this provider will assume management over the full set of non-root EBS block devices for the instance, and treats additional block devices as drift. For this reason, ebsBlockDevice cannot be mixed with external aws.ebs.Volume + awsEbsVolumeAttachment resources for a given instance.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const web = new aws.ec2.Instance("web", {
    ami: "ami-21f78e11",
    availabilityZone: "us-west-2a",
    instanceType: "t1.micro",
    tags: {
        Name: "HelloWorld",
    },
});
const example = new aws.ebs.Volume("example", {
    availabilityZone: "us-west-2a",
    size: 1,
});
const ebsAtt = new aws.ec2.VolumeAttachment("ebs_att", {
    deviceName: "/dev/sdh",
    instanceId: web.id,
    volumeId: example.id,
});

constructor

new VolumeAttachment(name: string, args: VolumeAttachmentArgs, opts?: pulumi.CustomResourceOptions)

Create a VolumeAttachment resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VolumeAttachmentState, opts?: pulumi.CustomResourceOptions): VolumeAttachment

Get an existing VolumeAttachment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is VolumeAttachment

Returns true if the given object is an instance of VolumeAttachment. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property deviceName

public deviceName: pulumi.Output<string>;

The device name to expose to the instance (for example, /dev/sdh or xvdh). See Device Naming on Linux Instances and Device Naming on Windows Instances for more information.

property forceDetach

public forceDetach: pulumi.Output<boolean | undefined>;

Set to true if you want to force the volume to detach. Useful if previous attempts failed, but use this option only as a last resort, as this can result in data loss. See Detaching an Amazon EBS Volume from an Instance for more information.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instanceId

public instanceId: pulumi.Output<string>;

ID of the Instance to attach to

property skipDestroy

public skipDestroy: pulumi.Output<boolean | undefined>;

Set this to true if you do not wish to detach the volume from the instance to which it is attached at destroy time, and instead just remove the attachment from this provider state. This is useful when destroying an instance which has volumes created by some other means attached.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property volumeId

public volumeId: pulumi.Output<string>;

ID of the Volume to be attached

Resource Vpc

class Vpc extends CustomResource

Provides a VPC resource.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const main = new aws.ec2.Vpc("main", {
    cidrBlock: "10.0.0.0/16",
});

constructor

new Vpc(name: string, args: VpcArgs, opts?: pulumi.CustomResourceOptions)

Create a Vpc resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcState, opts?: pulumi.CustomResourceOptions): Vpc

Get an existing Vpc resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Vpc

Returns true if the given object is an instance of Vpc. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property arn

public arn: pulumi.Output<string>;

Amazon Resource Name (ARN) of VPC

property assignGeneratedIpv6CidrBlock

public assignGeneratedIpv6CidrBlock: pulumi.Output<boolean | undefined>;

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or the size of the CIDR block. Default is false.

property cidrBlock

public cidrBlock: pulumi.Output<string>;

The CIDR block for the VPC.

property defaultNetworkAclId

public defaultNetworkAclId: pulumi.Output<string>;

The ID of the network ACL created by default on VPC creation

property defaultRouteTableId

public defaultRouteTableId: pulumi.Output<string>;

The ID of the route table created by default on VPC creation

property defaultSecurityGroupId

public defaultSecurityGroupId: pulumi.Output<string>;

The ID of the security group created by default on VPC creation

property dhcpOptionsId

public dhcpOptionsId: pulumi.Output<string>;
public enableClassiclink: pulumi.Output<boolean>;

A boolean flag to enable/disable ClassicLink for the VPC. Only valid in regions and accounts that support EC2 Classic. See the ClassicLink documentation for more information. Defaults false.

property enableClassiclinkDnsSupport

public enableClassiclinkDnsSupport: pulumi.Output<boolean>;

A boolean flag to enable/disable ClassicLink DNS Support for the VPC. Only valid in regions and accounts that support EC2 Classic.

property enableDnsHostnames

public enableDnsHostnames: pulumi.Output<boolean>;

A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.

property enableDnsSupport

public enableDnsSupport: pulumi.Output<boolean | undefined>;

A boolean flag to enable/disable DNS support in the VPC. Defaults true.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instanceTenancy

public instanceTenancy: pulumi.Output<string | undefined>;

A tenancy option for instances launched into the VPC

property ipv6AssociationId

public ipv6AssociationId: pulumi.Output<string>;

The association ID for the IPv6 CIDR block.

property ipv6CidrBlock

public ipv6CidrBlock: pulumi.Output<string>;

The IPv6 CIDR block.

property mainRouteTableId

public mainRouteTableId: pulumi.Output<string>;

The ID of the main route table associated with this VPC. Note that you can change a VPC’s main route table by using an aws.ec2.MainRouteTableAssociation.

property ownerId

public ownerId: pulumi.Output<string>;

The ID of the AWS account that owns the VPC.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource VpcDhcpOptions

class VpcDhcpOptions extends CustomResource

Provides a VPC DHCP Options resource.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const dnsResolver = new aws.ec2.VpcDhcpOptions("dns_resolver", {
    domainNameServers: [
        "8.8.8.8",
        "8.8.4.4",
    ],
});

Remarks

  • Notice that all arguments are optional but you have to specify at least one argument.
  • domainNameServers, netbiosNameServers, ntpServers are limited by AWS to maximum four servers only.
  • To actually use the DHCP Options Set you need to associate it to a VPC using aws.ec2.VpcDhcpOptionsAssociation.
  • If you delete a DHCP Options Set, all VPCs using it will be associated to AWS’s default DHCP Option Set.
  • In most cases unless you’re configuring your own DNS you’ll want to set domainNameServers to AmazonProvidedDNS.

constructor

new VpcDhcpOptions(name: string, args?: VpcDhcpOptionsArgs, opts?: pulumi.CustomResourceOptions)

Create a VpcDhcpOptions resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcDhcpOptionsState, opts?: pulumi.CustomResourceOptions): VpcDhcpOptions

Get an existing VpcDhcpOptions resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is VpcDhcpOptions

Returns true if the given object is an instance of VpcDhcpOptions. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property domainName

public domainName: pulumi.Output<string | undefined>;

the suffix domain name to use by default when resolving non Fully Qualified Domain Names. In other words, this is what ends up being the search value in the /etc/resolv.conf file.

property domainNameServers

public domainNameServers: pulumi.Output<string[] | undefined>;

List of name servers to configure in /etc/resolv.conf. If you want to use the default AWS nameservers you should set this to AmazonProvidedDNS.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property netbiosNameServers

public netbiosNameServers: pulumi.Output<string[] | undefined>;

List of NETBIOS name servers.

property netbiosNodeType

public netbiosNodeType: pulumi.Output<string | undefined>;

The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see RFC 2132.

property ntpServers

public ntpServers: pulumi.Output<string[] | undefined>;

List of NTP servers to configure.

property ownerId

public ownerId: pulumi.Output<string>;

The ID of the AWS account that owns the DHCP options set.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource VpcDhcpOptionsAssociation

class VpcDhcpOptionsAssociation extends CustomResource

Provides a VPC DHCP Options Association resource.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const dnsResolver = new aws.ec2.VpcDhcpOptionsAssociation("dns_resolver", {
    dhcpOptionsId: aws_vpc_dhcp_options_foo.id,
    vpcId: aws_vpc_foo.id,
});

Remarks

  • You can only associate one DHCP Options Set to a given VPC ID.
  • Removing the DHCP Options Association automatically sets AWS’s default DHCP Options Set to the VPC.

constructor

new VpcDhcpOptionsAssociation(name: string, args: VpcDhcpOptionsAssociationArgs, opts?: pulumi.CustomResourceOptions)

Create a VpcDhcpOptionsAssociation resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcDhcpOptionsAssociationState, opts?: pulumi.CustomResourceOptions): VpcDhcpOptionsAssociation

Get an existing VpcDhcpOptionsAssociation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is VpcDhcpOptionsAssociation

Returns true if the given object is an instance of VpcDhcpOptionsAssociation. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property dhcpOptionsId

public dhcpOptionsId: pulumi.Output<string>;

The ID of the DHCP Options Set to associate to the VPC.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string>;

The ID of the VPC to which we would like to associate a DHCP Options Set.

Resource VpcEndpoint

class VpcEndpoint extends CustomResource

Provides a VPC Endpoint resource.

NOTE on VPC Endpoints and VPC Endpoint Associations: This provider provides both standalone VPC Endpoint Associations for Route Tables - (an association between a VPC endpoint and a single routeTableId) and Subnets - (an association between a VPC endpoint and a single subnetId) and a VPC Endpoint resource with routeTableIds and subnetIds attributes. Do not use the same resource ID in both a VPC Endpoint resource and a VPC Endpoint Association resource. Doing so will cause a conflict of associations and will overwrite the association.

Example Usage

Basic
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const s3 = new aws.ec2.VpcEndpoint("s3", {
    serviceName: "com.amazonaws.us-west-2.s3",
    vpcId: aws_vpc_main.id,
});
Basic w/ Tags
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const s3 = new aws.ec2.VpcEndpoint("s3", {
    serviceName: "com.amazonaws.us-west-2.s3",
    tags: {
        Environment: "test",
    },
    vpcId: aws_vpc_main.id,
});
Interface Endpoint Type
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const ec2 = new aws.ec2.VpcEndpoint("ec2", {
    privateDnsEnabled: true,
    securityGroupIds: [aws_security_group_sg1.id],
    serviceName: "com.amazonaws.us-west-2.ec2",
    vpcEndpointType: "Interface",
    vpcId: aws_vpc_main.id,
});
Non-AWS Service
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const ptfeServiceVpcEndpoint = new aws.ec2.VpcEndpoint("ptfe_service", {
    privateDnsEnabled: false,
    securityGroupIds: [aws_security_group_ptfe_service.id],
    serviceName: var_ptfe_service,
    subnetIds: [local_subnet_ids],
    vpcEndpointType: "Interface",
    vpcId: var_vpc_id,
});
const internal = pulumi.output(aws.route53.getZone({
    name: "vpc.internal.",
    privateZone: true,
    vpcId: var_vpc_id,
}, { async: true }));
const ptfeServiceRecord = new aws.route53.Record("ptfe_service", {
    name: pulumi.interpolate`ptfe.${internal.name!}`,
    records: [ptfeServiceVpcEndpoint.dnsEntries.apply(dnsEntries => (<any>dnsEntries[0])["dns_name"])],
    ttl: 300,
    type: "CNAME",
    zoneId: internal.zoneId!,
});

constructor

new VpcEndpoint(name: string, args: VpcEndpointArgs, opts?: pulumi.CustomResourceOptions)

Create a VpcEndpoint resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcEndpointState, opts?: pulumi.CustomResourceOptions): VpcEndpoint

Get an existing VpcEndpoint resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is VpcEndpoint

Returns true if the given object is an instance of VpcEndpoint. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property autoAccept

public autoAccept: pulumi.Output<boolean | undefined>;

Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).

property cidrBlocks

public cidrBlocks: pulumi.Output<string[]>;

The list of CIDR blocks for the exposed AWS service. Applicable for endpoints of type Gateway.

property dnsEntries

public dnsEntries: pulumi.Output<VpcEndpointDnsEntry[]>;

The DNS entries for the VPC Endpoint. Applicable for endpoints of type Interface. DNS blocks are documented below.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property networkInterfaceIds

public networkInterfaceIds: pulumi.Output<string[]>;

One or more network interfaces for the VPC Endpoint. Applicable for endpoints of type Interface.

property ownerId

public ownerId: pulumi.Output<string>;

The ID of the AWS account that owns the VPC endpoint.

property policy

public policy: pulumi.Output<string>;

A policy to attach to the endpoint that controls access to the service. Defaults to full access. All Gateway and some Interface endpoints support policies - see the relevant AWS documentation for more details.

property prefixListId

public prefixListId: pulumi.Output<string>;

The prefix list ID of the exposed AWS service. Applicable for endpoints of type Gateway.

property privateDnsEnabled

public privateDnsEnabled: pulumi.Output<boolean | undefined>;

Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type Interface. Defaults to false.

property requesterManaged

public requesterManaged: pulumi.Output<boolean>;

Whether or not the VPC Endpoint is being managed by its service - true or false.

property routeTableIds

public routeTableIds: pulumi.Output<string[]>;

One or more route table IDs. Applicable for endpoints of type Gateway.

property securityGroupIds

public securityGroupIds: pulumi.Output<string[]>;

The ID of one or more security groups to associate with the network interface. Required for endpoints of type Interface.

property serviceName

public serviceName: pulumi.Output<string>;

The service name. For AWS services the service name is usually in the form com.amazonaws.<region>.<service> (the SageMaker Notebook service is an exception to this rule, the service name is in the form aws.sagemaker.<region>.notebook).

property state

public state: pulumi.Output<string>;

The state of the VPC endpoint.

property subnetIds

public subnetIds: pulumi.Output<string[]>;

The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type Interface.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcEndpointType

public vpcEndpointType: pulumi.Output<string | undefined>;

The VPC endpoint type, Gateway or Interface. Defaults to Gateway.

property vpcId

public vpcId: pulumi.Output<string>;

The ID of the VPC in which the endpoint will be used.

Resource VpcEndpointConnectionNotification

class VpcEndpointConnectionNotification extends CustomResource

Provides a VPC Endpoint connection notification resource. Connection notifications notify subscribers of VPC Endpoint events.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const topic = new aws.sns.Topic("topic", {
    policy: `{
    "Version":"2012-10-17",
    "Statement":[{
        "Effect": "Allow",
        "Principal": {
            "Service": "vpce.amazonaws.com"
        },
        "Action": "SNS:Publish",
        "Resource": "arn:aws:sns:*:*:vpce-notification-topic"
    }]
}
`,
});
const fooVpcEndpointService = new aws.ec2.VpcEndpointService("foo", {
    acceptanceRequired: false,
    networkLoadBalancerArns: [aws_lb_test.arn],
});
const fooVpcEndpointConnectionNotification = new aws.ec2.VpcEndpointConnectionNotification("foo", {
    connectionEvents: [
        "Accept",
        "Reject",
    ],
    connectionNotificationArn: topic.arn,
    vpcEndpointServiceId: fooVpcEndpointService.id,
});

constructor

new VpcEndpointConnectionNotification(name: string, args: VpcEndpointConnectionNotificationArgs, opts?: pulumi.CustomResourceOptions)

Create a VpcEndpointConnectionNotification resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcEndpointConnectionNotificationState, opts?: pulumi.CustomResourceOptions): VpcEndpointConnectionNotification

Get an existing VpcEndpointConnectionNotification resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is VpcEndpointConnectionNotification

Returns true if the given object is an instance of VpcEndpointConnectionNotification. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property connectionEvents

public connectionEvents: pulumi.Output<string[]>;

One or more endpoint events for which to receive notifications.

property connectionNotificationArn

public connectionNotificationArn: pulumi.Output<string>;

The ARN of the SNS topic for the notifications.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property notificationType

public notificationType: pulumi.Output<string>;

The type of notification.

property state

public state: pulumi.Output<string>;

The state of the notification.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcEndpointId

public vpcEndpointId: pulumi.Output<string | undefined>;

The ID of the VPC Endpoint to receive notifications for.

property vpcEndpointServiceId

public vpcEndpointServiceId: pulumi.Output<string | undefined>;

The ID of the VPC Endpoint Service to receive notifications for.

Resource VpcEndpointRouteTableAssociation

class VpcEndpointRouteTableAssociation extends CustomResource

Manages a VPC Endpoint Route Table Association

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.ec2.VpcEndpointRouteTableAssociation("example", {
    routeTableId: aws_route_table_example.id,
    vpcEndpointId: aws_vpc_endpoint_example.id,
});

constructor

new VpcEndpointRouteTableAssociation(name: string, args: VpcEndpointRouteTableAssociationArgs, opts?: pulumi.CustomResourceOptions)

Create a VpcEndpointRouteTableAssociation resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcEndpointRouteTableAssociationState, opts?: pulumi.CustomResourceOptions): VpcEndpointRouteTableAssociation

Get an existing VpcEndpointRouteTableAssociation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is VpcEndpointRouteTableAssociation

Returns true if the given object is an instance of VpcEndpointRouteTableAssociation. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property routeTableId

public routeTableId: pulumi.Output<string>;

Identifier of the EC2 Route Table to be associated with the VPC Endpoint.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcEndpointId

public vpcEndpointId: pulumi.Output<string>;

Identifier of the VPC Endpoint with which the EC2 Route Table will be associated.

Resource VpcEndpointService

class VpcEndpointService extends CustomResource

Provides a VPC Endpoint Service resource. Service consumers can create an Interface VPC Endpoint to connect to the service.

NOTE on VPC Endpoint Services and VPC Endpoint Service Allowed Principals: This provider provides both a standalone VPC Endpoint Service Allowed Principal resource and a VPC Endpoint Service resource with an allowedPrincipals attribute. Do not use the same principal ARN in both a VPC Endpoint Service resource and a VPC Endpoint Service Allowed Principal resource. Doing so will cause a conflict and will overwrite the association.

Example Usage

Basic
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.ec2.VpcEndpointService("example", {
    acceptanceRequired: false,
    networkLoadBalancerArns: [aws_lb_example.arn],
});
Basic w/ Tags
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.ec2.VpcEndpointService("example", {
    acceptanceRequired: false,
    networkLoadBalancerArns: [aws_lb_example.arn],
    tags: {
        Environment: "test",
    },
});

constructor

new VpcEndpointService(name: string, args: VpcEndpointServiceArgs, opts?: pulumi.CustomResourceOptions)

Create a VpcEndpointService resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcEndpointServiceState, opts?: pulumi.CustomResourceOptions): VpcEndpointService

Get an existing VpcEndpointService resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is VpcEndpointService

Returns true if the given object is an instance of VpcEndpointService. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property acceptanceRequired

public acceptanceRequired: pulumi.Output<boolean>;

Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - true or false.

property allowedPrincipals

public allowedPrincipals: pulumi.Output<string[]>;

The ARNs of one or more principals allowed to discover the endpoint service.

property availabilityZones

public availabilityZones: pulumi.Output<string[]>;

The Availability Zones in which the service is available.

property baseEndpointDnsNames

public baseEndpointDnsNames: pulumi.Output<string[]>;

The DNS names for the service.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property managesVpcEndpoints

public managesVpcEndpoints: pulumi.Output<boolean>;

Whether or not the service manages its VPC endpoints - true or false.

property networkLoadBalancerArns

public networkLoadBalancerArns: pulumi.Output<string[]>;

The ARNs of one or more Network Load Balancers for the endpoint service.

property privateDnsName

public privateDnsName: pulumi.Output<string>;

The private DNS name for the service.

property serviceName

public serviceName: pulumi.Output<string>;

The service name.

property serviceType

public serviceType: pulumi.Output<string>;

The service type, Gateway or Interface.

property state

public state: pulumi.Output<string>;

The state of the VPC endpoint service.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource VpcEndpointServiceAllowedPrinciple

class VpcEndpointServiceAllowedPrinciple extends CustomResource

Provides a resource to allow a principal to discover a VPC endpoint service.

NOTE on VPC Endpoint Services and VPC Endpoint Service Allowed Principals: This provider provides both a standalone VPC Endpoint Service Allowed Principal resource and a VPC Endpoint Service resource with an allowedPrincipals attribute. Do not use the same principal ARN in both a VPC Endpoint Service resource and a VPC Endpoint Service Allowed Principal resource. Doing so will cause a conflict and will overwrite the association.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const current = pulumi.output(aws.getCallerIdentity({ async: true }));
const allowMeToFoo = new aws.ec2.VpcEndpointServiceAllowedPrinciple("allow_me_to_foo", {
    principalArn: current.arn,
    vpcEndpointServiceId: aws_vpc_endpoint_service_foo.id,
});

constructor

new VpcEndpointServiceAllowedPrinciple(name: string, args: VpcEndpointServiceAllowedPrincipleArgs, opts?: pulumi.CustomResourceOptions)

Create a VpcEndpointServiceAllowedPrinciple resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcEndpointServiceAllowedPrincipleState, opts?: pulumi.CustomResourceOptions): VpcEndpointServiceAllowedPrinciple

Get an existing VpcEndpointServiceAllowedPrinciple resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is VpcEndpointServiceAllowedPrinciple

Returns true if the given object is an instance of VpcEndpointServiceAllowedPrinciple. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property principalArn

public principalArn: pulumi.Output<string>;

The ARN of the principal to allow permissions.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcEndpointServiceId

public vpcEndpointServiceId: pulumi.Output<string>;

The ID of the VPC endpoint service to allow permission.

Resource VpcEndpointSubnetAssociation

class VpcEndpointSubnetAssociation extends CustomResource

Provides a resource to create an association between a VPC endpoint and a subnet.

NOTE on VPC Endpoints and VPC Endpoint Subnet Associations: This provider provides both a standalone VPC Endpoint Subnet Association (an association between a VPC endpoint and a single subnetId) and a VPC Endpoint resource with a subnetIds attribute. Do not use the same subnet ID in both a VPC Endpoint resource and a VPC Endpoint Subnet Association resource. Doing so will cause a conflict of associations and will overwrite the association.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const snEc2 = new aws.ec2.VpcEndpointSubnetAssociation("sn_ec2", {
    subnetId: aws_subnet_sn.id,
    vpcEndpointId: aws_vpc_endpoint_ec2.id,
});

constructor

new VpcEndpointSubnetAssociation(name: string, args: VpcEndpointSubnetAssociationArgs, opts?: pulumi.CustomResourceOptions)

Create a VpcEndpointSubnetAssociation resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcEndpointSubnetAssociationState, opts?: pulumi.CustomResourceOptions): VpcEndpointSubnetAssociation

Get an existing VpcEndpointSubnetAssociation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is VpcEndpointSubnetAssociation

Returns true if the given object is an instance of VpcEndpointSubnetAssociation. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property subnetId

public subnetId: pulumi.Output<string>;

The ID of the subnet to be associated with the VPC endpoint.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcEndpointId

public vpcEndpointId: pulumi.Output<string>;

The ID of the VPC endpoint with which the subnet will be associated.

Resource VpcIpv4CidrBlockAssociation

class VpcIpv4CidrBlockAssociation extends CustomResource

Provides a resource to associate additional IPv4 CIDR blocks with a VPC.

When a VPC is created, a primary IPv4 CIDR block for the VPC must be specified. The aws.ec2.VpcIpv4CidrBlockAssociation resource allows further IPv4 CIDR blocks to be added to the VPC.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const main = new aws.ec2.Vpc("main", {
    cidrBlock: "10.0.0.0/16",
});
const secondaryCidr = new aws.ec2.VpcIpv4CidrBlockAssociation("secondary_cidr", {
    cidrBlock: "172.2.0.0/16",
    vpcId: main.id,
});

constructor

new VpcIpv4CidrBlockAssociation(name: string, args: VpcIpv4CidrBlockAssociationArgs, opts?: pulumi.CustomResourceOptions)

Create a VpcIpv4CidrBlockAssociation resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcIpv4CidrBlockAssociationState, opts?: pulumi.CustomResourceOptions): VpcIpv4CidrBlockAssociation

Get an existing VpcIpv4CidrBlockAssociation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is VpcIpv4CidrBlockAssociation

Returns true if the given object is an instance of VpcIpv4CidrBlockAssociation. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property cidrBlock

public cidrBlock: pulumi.Output<string>;

The additional IPv4 CIDR block to associate with the VPC.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string>;

The ID of the VPC to make the association with.

Resource VpcPeeringConnection

class VpcPeeringConnection extends CustomResource

Provides a resource to manage a VPC peering connection.

NOTE on VPC Peering Connections and VPC Peering Connection Options: This provider provides both a standalone VPC Peering Connection Options and a VPC Peering Connection resource with accepter and requester attributes. Do not manage options for the same VPC peering connection in both a VPC Peering Connection resource and a VPC Peering Connection Options resource. Doing so will cause a conflict of options and will overwrite the options. Using a VPC Peering Connection Options resource decouples management of the connection options from management of the VPC Peering Connection and allows options to be set correctly in cross-account scenarios.

Note: For cross-account (requester’s AWS account differs from the accepter’s AWS account) or inter-region VPC Peering Connections use the aws.ec2.VpcPeeringConnection resource to manage the requester’s side of the connection and use the aws.ec2.VpcPeeringConnectionAccepter resource to manage the accepter’s side of the connection.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const foo = new aws.ec2.VpcPeeringConnection("foo", {
    peerOwnerId: var_peer_owner_id,
    peerVpcId: aws_vpc_bar.id,
    vpcId: aws_vpc_foo.id,
});

Notes

If both VPCs are not in the same AWS account do not enable the autoAccept attribute. The accepter can manage its side of the connection using the aws.ec2.VpcPeeringConnectionAccepter resource or accept the connection manually using the AWS Management Console, AWS CLI, through SDKs, etc.

constructor

new VpcPeeringConnection(name: string, args: VpcPeeringConnectionArgs, opts?: pulumi.CustomResourceOptions)

Create a VpcPeeringConnection resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcPeeringConnectionState, opts?: pulumi.CustomResourceOptions): VpcPeeringConnection

Get an existing VpcPeeringConnection resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is VpcPeeringConnection

Returns true if the given object is an instance of VpcPeeringConnection. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property acceptStatus

public acceptStatus: pulumi.Output<string>;

The status of the VPC Peering Connection request.

property accepter

public accepter: pulumi.Output<VpcPeeringConnectionAccepter>;

An optional configuration block that allows for VPC Peering Connection options to be set for the VPC that accepts the peering connection (a maximum of one).

property autoAccept

public autoAccept: pulumi.Output<boolean | undefined>;

Accept the peering (both VPCs need to be in the same AWS account).

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property peerOwnerId

public peerOwnerId: pulumi.Output<string>;

The AWS account ID of the owner of the peer VPC. Defaults to the account ID the AWS provider is currently connected to.

property peerRegion

public peerRegion: pulumi.Output<string>;

The region of the accepter VPC of the [VPC Peering Connection]. autoAccept must be false, and use the aws.ec2.VpcPeeringConnectionAccepter to manage the accepter side.

property peerVpcId

public peerVpcId: pulumi.Output<string>;

The ID of the VPC with which you are creating the VPC Peering Connection.

property requester

public requester: pulumi.Output<VpcPeeringConnectionRequester>;

A optional configuration block that allows for VPC Peering Connection options to be set for the VPC that requests the peering connection (a maximum of one).

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string>;

The ID of the requester VPC.

Resource VpcPeeringConnectionAccepter

class VpcPeeringConnectionAccepter extends CustomResource

Provides a resource to manage the accepter’s side of a VPC Peering Connection.

When a cross-account (requester’s AWS account differs from the accepter’s AWS account) or an inter-region VPC Peering Connection is created, a VPC Peering Connection resource is automatically created in the accepter’s account. The requester can use the aws.ec2.VpcPeeringConnection resource to manage its side of the connection and the accepter can use the aws.ec2.VpcPeeringConnectionAccepter resource to “adopt” its side of the connection into management.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const peer = new aws.Provider("peer", {
    region: "us-west-2",
});
const main = new aws.ec2.Vpc("main", {
    cidrBlock: "10.0.0.0/16",
});
const peerVpc = new aws.ec2.Vpc("peer", {
    cidrBlock: "10.1.0.0/16",
}, { provider: peer });
const peerCallerIdentity = pulumi.output(aws.getCallerIdentity({ provider: peer, async: true }));
// Requester's side of the connection.
const peerVpcPeeringConnection = new aws.ec2.VpcPeeringConnection("peer", {
    autoAccept: false,
    peerOwnerId: peerCallerIdentity.accountId,
    peerRegion: "us-west-2",
    peerVpcId: peerVpc.id,
    tags: {
        Side: "Requester",
    },
    vpcId: main.id,
});
// Accepter's side of the connection.
const peerVpcPeeringConnectionAccepter = new aws.ec2.VpcPeeringConnectionAccepter("peer", {
    autoAccept: true,
    tags: {
        Side: "Accepter",
    },
    vpcPeeringConnectionId: peerVpcPeeringConnection.id,
}, { provider: peer });

constructor

new VpcPeeringConnectionAccepter(name: string, args: VpcPeeringConnectionAccepterArgs, opts?: pulumi.CustomResourceOptions)

Create a VpcPeeringConnectionAccepter resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcPeeringConnectionAccepterState, opts?: pulumi.CustomResourceOptions): VpcPeeringConnectionAccepter

Get an existing VpcPeeringConnectionAccepter resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is VpcPeeringConnectionAccepter

Returns true if the given object is an instance of VpcPeeringConnectionAccepter. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property acceptStatus

public acceptStatus: pulumi.Output<string>;

The status of the VPC Peering Connection request.

property accepter

public accepter: pulumi.Output<VpcPeeringConnectionAccepterAccepter>;

A configuration block that describes VPC Peering Connection options set for the accepter VPC.

property autoAccept

public autoAccept: pulumi.Output<boolean | undefined>;

Whether or not to accept the peering request. Defaults to false.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property peerOwnerId

public peerOwnerId: pulumi.Output<string>;

The AWS account ID of the owner of the requester VPC.

property peerRegion

public peerRegion: pulumi.Output<string>;

The region of the accepter VPC.

property peerVpcId

public peerVpcId: pulumi.Output<string>;

The ID of the requester VPC.

property requester

public requester: pulumi.Output<VpcPeeringConnectionAccepterRequester>;

A configuration block that describes VPC Peering Connection options set for the requester VPC.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string>;

The ID of the accepter VPC.

property vpcPeeringConnectionId

public vpcPeeringConnectionId: pulumi.Output<string>;

The VPC Peering Connection ID to manage.

Resource VpnConnection

class VpnConnection extends CustomResource

Manages an EC2 VPN connection. These objects can be connected to customer gateways, and allow you to establish tunnels between your network and Amazon.

Note: All arguments including tunnel1PresharedKey and tunnel2PresharedKey will be stored in the raw state as plain-text.

Note: The CIDR blocks in the arguments tunnel1InsideCidr and tunnel2InsideCidr must have a prefix of /30 and be a part of a specific range. Read more about this in the AWS documentation.

Example Usage

EC2 Transit Gateway
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const exampleTransitGateway = new aws.ec2transitgateway.TransitGateway("example", {});
const exampleCustomerGateway = new aws.ec2.CustomerGateway("example", {
    bgpAsn: 65000,
    ipAddress: "172.0.0.1",
    type: "ipsec.1",
});
const exampleVpnConnection = new aws.ec2.VpnConnection("example", {
    customerGatewayId: exampleCustomerGateway.id,
    transitGatewayId: exampleTransitGateway.id,
    type: exampleCustomerGateway.type,
});
Virtual Private Gateway
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const vpc = new aws.ec2.Vpc("vpc", {
    cidrBlock: "10.0.0.0/16",
});
const vpnGateway = new aws.ec2.VpnGateway("vpn_gateway", {
    vpcId: vpc.id,
});
const customerGateway = new aws.ec2.CustomerGateway("customer_gateway", {
    bgpAsn: 65000,
    ipAddress: "172.0.0.1",
    type: "ipsec.1",
});
const main = new aws.ec2.VpnConnection("main", {
    customerGatewayId: customerGateway.id,
    staticRoutesOnly: true,
    type: "ipsec.1",
    vpnGatewayId: vpnGateway.id,
});

constructor

new VpnConnection(name: string, args: VpnConnectionArgs, opts?: pulumi.CustomResourceOptions)

Create a VpnConnection resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpnConnectionState, opts?: pulumi.CustomResourceOptions): VpnConnection

Get an existing VpnConnection resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is VpnConnection

Returns true if the given object is an instance of VpnConnection. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property customerGatewayConfiguration

public customerGatewayConfiguration: pulumi.Output<string>;

The configuration information for the VPN connection’s customer gateway (in the native XML format).

property customerGatewayId

public customerGatewayId: pulumi.Output<string>;

The ID of the customer gateway.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property routes

public routes: pulumi.Output<VpnConnectionRoute[]>;

property staticRoutesOnly

public staticRoutesOnly: pulumi.Output<boolean>;

Whether the VPN connection uses static routes exclusively. Static routes must be used for devices that don’t support BGP.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

Tags to apply to the connection.

property transitGatewayAttachmentId

public transitGatewayAttachmentId: pulumi.Output<string>;

When associated with an EC2 Transit Gateway (transitGatewayId argument), the attachment ID.

property transitGatewayId

public transitGatewayId: pulumi.Output<string | undefined>;

The ID of the EC2 Transit Gateway.

property tunnel1Address

public tunnel1Address: pulumi.Output<string>;

The public IP address of the first VPN tunnel.

property tunnel1BgpAsn

public tunnel1BgpAsn: pulumi.Output<string>;

The bgp asn number of the first VPN tunnel.

property tunnel1BgpHoldtime

public tunnel1BgpHoldtime: pulumi.Output<number>;

The bgp holdtime of the first VPN tunnel.

property tunnel1CgwInsideAddress

public tunnel1CgwInsideAddress: pulumi.Output<string>;

The RFC 6890 link-local address of the first VPN tunnel (Customer Gateway Side).

property tunnel1InsideCidr

public tunnel1InsideCidr: pulumi.Output<string>;

The CIDR block of the inside IP addresses for the first VPN tunnel.

property tunnel1PresharedKey

public tunnel1PresharedKey: pulumi.Output<string>;

The preshared key of the first VPN tunnel.

property tunnel1VgwInsideAddress

public tunnel1VgwInsideAddress: pulumi.Output<string>;

The RFC 6890 link-local address of the first VPN tunnel (VPN Gateway Side).

property tunnel2Address

public tunnel2Address: pulumi.Output<string>;

The public IP address of the second VPN tunnel.

property tunnel2BgpAsn

public tunnel2BgpAsn: pulumi.Output<string>;

The bgp asn number of the second VPN tunnel.

property tunnel2BgpHoldtime

public tunnel2BgpHoldtime: pulumi.Output<number>;

The bgp holdtime of the second VPN tunnel.

property tunnel2CgwInsideAddress

public tunnel2CgwInsideAddress: pulumi.Output<string>;

The RFC 6890 link-local address of the second VPN tunnel (Customer Gateway Side).

property tunnel2InsideCidr

public tunnel2InsideCidr: pulumi.Output<string>;

The CIDR block of the inside IP addresses for the second VPN tunnel.

property tunnel2PresharedKey

public tunnel2PresharedKey: pulumi.Output<string>;

The preshared key of the second VPN tunnel.

property tunnel2VgwInsideAddress

public tunnel2VgwInsideAddress: pulumi.Output<string>;

The RFC 6890 link-local address of the second VPN tunnel (VPN Gateway Side).

property type

public type: pulumi.Output<string>;

The type of VPN connection. The only type AWS supports at this time is “ipsec.1”.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vgwTelemetries

public vgwTelemetries: pulumi.Output<VpnConnectionVgwTelemetry[]>;

property vpnGatewayId

public vpnGatewayId: pulumi.Output<string | undefined>;

The ID of the Virtual Private Gateway.

Resource VpnConnectionRoute

class VpnConnectionRoute extends CustomResource

Provides a static route between a VPN connection and a customer gateway.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const vpc = new aws.ec2.Vpc("vpc", {
    cidrBlock: "10.0.0.0/16",
});
const vpnGateway = new aws.ec2.VpnGateway("vpn_gateway", {
    vpcId: vpc.id,
});
const customerGateway = new aws.ec2.CustomerGateway("customer_gateway", {
    bgpAsn: 65000,
    ipAddress: "172.0.0.1",
    type: "ipsec.1",
});
const main = new aws.ec2.VpnConnection("main", {
    customerGatewayId: customerGateway.id,
    staticRoutesOnly: true,
    type: "ipsec.1",
    vpnGatewayId: vpnGateway.id,
});
const office = new aws.ec2.VpnConnectionRoute("office", {
    destinationCidrBlock: "192.168.10.0/24",
    vpnConnectionId: main.id,
});

constructor

new VpnConnectionRoute(name: string, args: VpnConnectionRouteArgs, opts?: pulumi.CustomResourceOptions)

Create a VpnConnectionRoute resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpnConnectionRouteState, opts?: pulumi.CustomResourceOptions): VpnConnectionRoute

Get an existing VpnConnectionRoute resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is VpnConnectionRoute

Returns true if the given object is an instance of VpnConnectionRoute. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property destinationCidrBlock

public destinationCidrBlock: pulumi.Output<string>;

The CIDR block associated with the local subnet of the customer network.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpnConnectionId

public vpnConnectionId: pulumi.Output<string>;

The ID of the VPN connection.

Resource VpnGateway

class VpnGateway extends CustomResource

Provides a resource to create a VPC VPN Gateway.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const vpnGw = new aws.ec2.VpnGateway("vpn_gw", {
    tags: {
        Name: "main",
    },
    vpcId: aws_vpc_main.id,
});

constructor

new VpnGateway(name: string, args?: VpnGatewayArgs, opts?: pulumi.CustomResourceOptions)

Create a VpnGateway resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpnGatewayState, opts?: pulumi.CustomResourceOptions): VpnGateway

Get an existing VpnGateway resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is VpnGateway

Returns true if the given object is an instance of VpnGateway. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property amazonSideAsn

public amazonSideAsn: pulumi.Output<string>;

The Autonomous System Number (ASN) for the Amazon side of the gateway. If you don’t specify an ASN, the virtual private gateway is created with the default ASN.

property availabilityZone

public availabilityZone: pulumi.Output<string | undefined>;

The Availability Zone for the virtual private gateway.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string>;

The VPC ID to create in.

Resource VpnGatewayAttachment

class VpnGatewayAttachment extends CustomResource

Provides a Virtual Private Gateway attachment resource, allowing for an existing hardware VPN gateway to be attached and/or detached from a VPC.

Note: The aws.ec2.VpnGateway resource can also automatically attach the Virtual Private Gateway it creates to an existing VPC by setting the vpcId attribute accordingly.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const network = new aws.ec2.Vpc("network", {
    cidrBlock: "10.0.0.0/16",
});
const vpn = new aws.ec2.VpnGateway("vpn", {
    tags: {
        Name: "example-vpn-gateway",
    },
});
const vpnAttachment = new aws.ec2.VpnGatewayAttachment("vpn_attachment", {
    vpcId: network.id,
    vpnGatewayId: vpn.id,
});

constructor

new VpnGatewayAttachment(name: string, args: VpnGatewayAttachmentArgs, opts?: pulumi.CustomResourceOptions)

Create a VpnGatewayAttachment resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpnGatewayAttachmentState, opts?: pulumi.CustomResourceOptions): VpnGatewayAttachment

Get an existing VpnGatewayAttachment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is VpnGatewayAttachment

Returns true if the given object is an instance of VpnGatewayAttachment. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string>;

The ID of the VPC.

property vpnGatewayId

public vpnGatewayId: pulumi.Output<string>;

The ID of the Virtual Private Gateway.

Resource VpnGatewayRoutePropagation

class VpnGatewayRoutePropagation extends CustomResource

Requests automatic route propagation between a VPN gateway and a route table.

Note: This resource should not be used with a route table that has the propagatingVgws argument set. If that argument is set, any route propagation not explicitly listed in its value will be removed.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.ec2.VpnGatewayRoutePropagation("example", {
    routeTableId: aws_route_table_example.id,
    vpnGatewayId: aws_vpn_gateway_example.id,
});

constructor

new VpnGatewayRoutePropagation(name: string, args: VpnGatewayRoutePropagationArgs, opts?: pulumi.CustomResourceOptions)

Create a VpnGatewayRoutePropagation resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpnGatewayRoutePropagationState, opts?: pulumi.CustomResourceOptions): VpnGatewayRoutePropagation

Get an existing VpnGatewayRoutePropagation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is VpnGatewayRoutePropagation

Returns true if the given object is an instance of VpnGatewayRoutePropagation. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property routeTableId

public routeTableId: pulumi.Output<string>;

The id of the aws.ec2.RouteTable to propagate routes into.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpnGatewayId

public vpnGatewayId: pulumi.Output<string>;

The id of the aws.ec2.VpnGateway to propagate routes from.

Functions

Function getCoipPool

getCoipPool(args?: GetCoipPoolArgs, opts?: pulumi.InvokeOptions): Promise<GetCoipPoolResult>

Provides details about a specific EC2 Customer-Owned IP Pool.

This data source can prove useful when a module accepts a coip pool id as an input variable and needs to, for example, determine the CIDR block of that COIP Pool.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const config = new pulumi.Config();
const coipPoolId = config.require("coipPoolId");

const selected = pulumi.output(aws.ec2.getCoipPool({
    id: coipPoolId,
}, { async: true }));

Function getCoipPools

getCoipPools(args?: GetCoipPoolsArgs, opts?: pulumi.InvokeOptions): Promise<GetCoipPoolsResult>

Provides information for multiple EC2 Customer-Owned IP Pools, such as their identifiers.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const fooCoipPools = pulumi.output(aws.ec2.getCoipPools({ async: true }));

export const foo = fooCoipPools.ids;

Function getCustomerGateway

getCustomerGateway(args?: GetCustomerGatewayArgs, opts?: pulumi.InvokeOptions): Promise<GetCustomerGatewayResult>

Get an existing AWS Customer Gateway.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const foo = pulumi.output(aws.ec2.getCustomerGateway({
    filters: [{
        name: "tag:Name",
        values: ["foo-prod"],
    }],
}, { async: true }));
const main = new aws.ec2.VpnGateway("main", {
    amazonSideAsn: "7224",
    vpcId: aws_vpc_main.id,
});
const transit = new aws.ec2.VpnConnection("transit", {
    customerGatewayId: foo.id!,
    staticRoutesOnly: false,
    type: foo.type,
    vpnGatewayId: main.id,
});

Function getInstance

getInstance(args?: GetInstanceArgs, opts?: pulumi.InvokeOptions): Promise<GetInstanceResult>

Use this data source to get the ID of an Amazon EC2 Instance for use in other resources.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const foo = pulumi.output(aws.ec2.getInstance({
    filters: [
        {
            name: "image-id",
            values: ["ami-xxxxxxxx"],
        },
        {
            name: "tag:Name",
            values: ["instance-name-tag"],
        },
    ],
    instanceId: "i-instanceid",
}, { async: true }));

Function getInstances

getInstances(args?: GetInstancesArgs, opts?: pulumi.InvokeOptions): Promise<GetInstancesResult>

Use this data source to get IDs or IPs of Amazon EC2 instances to be referenced elsewhere, e.g. to allow easier migration from another management solution or to make it easier for an operator to connect through bastion host(s).

Note: It’s strongly discouraged to use this data source for querying ephemeral instances (e.g. managed via autoscaling group), as the output may change at any time and you’d need to re-run apply every time an instance comes up or dies.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const testInstances = pulumi.output(aws.ec2.getInstances({
    filters: [{
        name: "instance.group-id",
        values: ["sg-12345678"],
    }],
    instanceStateNames: [
        "running",
        "stopped",
    ],
    instanceTags: {
        Role: "HardWorker",
    },
}, { async: true }));
const testEip: aws.ec2.Eip[] = [];
for (let i = 0; i < testInstances.apply(testInstances => testInstances.ids.length); i++) {
    testEip.push(new aws.ec2.Eip(`test-${i}`, {
        instance: testInstances.apply(testInstances => testInstances.ids[i]),
    }));
}

Function getInstanceTypeOffering

getInstanceTypeOffering(args?: GetInstanceTypeOfferingArgs, opts?: pulumi.InvokeOptions): Promise<GetInstanceTypeOfferingResult>

Information about single EC2 Instance Type Offering.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = pulumi.output(aws.ec2.getInstanceTypeOffering({
    filters: [{
        name: "instance-type",
        values: [
            "t1.micro",
            "t2.micro",
            "t3.micro",
        ],
    }],
    preferredInstanceTypes: [
        "t3.micro",
        "t2.micro",
        "t1.micro",
    ],
}, { async: true }));

Function getInstanceTypeOfferings

getInstanceTypeOfferings(args?: GetInstanceTypeOfferingsArgs, opts?: pulumi.InvokeOptions): Promise<GetInstanceTypeOfferingsResult>

Information about EC2 Instance Type Offerings.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = pulumi.output(aws.ec2.getInstanceTypeOfferings({
    filters: [
        {
            name: "instance-type",
            values: [
                "t2.micro",
                "t3.micro",
            ],
        },
        {
            name: "location",
            values: ["usw2-az4"],
        },
    ],
    locationType: "availability-zone-id",
}, { async: true }));

Function getInternetGateway

getInternetGateway(args?: GetInternetGatewayArgs, opts?: pulumi.InvokeOptions): Promise<GetInternetGatewayResult>

aws.ec2.InternetGateway provides details about a specific Internet Gateway.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const config = new pulumi.Config();
const vpcId = config.require("vpcId");

const defaultInternetGateway = pulumi.output(aws.ec2.getInternetGateway({
    filters: [{
        name: "attachment.vpc-id",
        values: [vpcId],
    }],
}, { async: true }));

Function getLaunchConfiguration

getLaunchConfiguration(args: GetLaunchConfigurationArgs, opts?: pulumi.InvokeOptions): Promise<GetLaunchConfigurationResult>

Provides information about a Launch Configuration.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const ubuntu = pulumi.output(aws.ec2.getLaunchConfiguration({
    name: "test-launch-config",
}, { async: true }));

Function getLaunchTemplate

getLaunchTemplate(args?: GetLaunchTemplateArgs, opts?: pulumi.InvokeOptions): Promise<GetLaunchTemplateResult>

Provides information about a Launch Template.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const defaultLaunchTemplate = pulumi.output(aws.ec2.getLaunchTemplate({
    name: "my-launch-template",
}, { async: true }));
Filter
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const test = pulumi.output(aws.ec2.getLaunchTemplate({
    filters: [{
        name: "launch-template-name",
        values: ["some-template"],
    }],
}, { async: true }));

Function getLocalGateway

getLocalGateway(args?: GetLocalGatewayArgs, opts?: pulumi.InvokeOptions): Promise<GetLocalGatewayResult>

Provides details about an EC2 Local Gateway.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const config = new pulumi.Config();
const localGatewayId = config.require("localGatewayId");

const selected = pulumi.output(aws.ec2.getLocalGateway({
    id: localGatewayId,
}, { async: true }));

Function getLocalGatewayRouteTable

getLocalGatewayRouteTable(args?: GetLocalGatewayRouteTableArgs, opts?: pulumi.InvokeOptions): Promise<GetLocalGatewayRouteTableResult>

Provides details about an EC2 Local Gateway Route Table.

This data source can prove useful when a module accepts a local gateway route table id as an input variable and needs to, for example, find the associated Outpost or Local Gateway.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const config = new pulumi.Config();
const awsEc2LocalGatewayRouteTable = config.require("awsEc2LocalGatewayRouteTable");

const selected = pulumi.output(aws.ec2.getLocalGatewayRouteTable({
    localGatewayRouteTableId: awsEc2LocalGatewayRouteTable,
}, { async: true }));

Function getLocalGatewayRouteTables

getLocalGatewayRouteTables(args?: GetLocalGatewayRouteTablesArgs, opts?: pulumi.InvokeOptions): Promise<GetLocalGatewayRouteTablesResult>

Provides information for multiple EC2 Local Gateway Route Tables, such as their identifiers.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const fooLocalGatewayRouteTable = pulumi.output(aws.ec2.getLocalGatewayRouteTable({ async: true }));

export const foo = fooLocalGatewayRouteTable.ids;

Function getLocalGateways

getLocalGateways(args?: GetLocalGatewaysArgs, opts?: pulumi.InvokeOptions): Promise<GetLocalGatewaysResult>

Provides information for multiple EC2 Local Gateways, such as their identifiers.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const fooLocalGateways = pulumi.output(aws.ec2.getLocalGateways({
    tags: {
        service: "production",
    },
}, { async: true }));

export const foo = fooLocalGateways.ids;

Function getNatGateway

getNatGateway(args?: GetNatGatewayArgs, opts?: pulumi.InvokeOptions): Promise<GetNatGatewayResult>

Provides details about a specific Nat Gateway.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const config = new pulumi.Config();
const subnetId = config.require("subnetId");

const defaultNatGateway = aws_subnet_public.id.apply(id => aws.ec2.getNatGateway({
    subnetId: id,
}, { async: true }));

Function getNetworkAcls

getNetworkAcls(args?: GetNetworkAclsArgs, opts?: pulumi.InvokeOptions): Promise<GetNetworkAclsResult>

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const exampleNetworkAcls = pulumi.output(aws.ec2.getNetworkAcls({
    vpcId: var_vpc_id,
}, { async: true }));

export const example = exampleNetworkAcls.ids;

Function getNetworkInterface

getNetworkInterface(args?: GetNetworkInterfaceArgs, opts?: pulumi.InvokeOptions): Promise<GetNetworkInterfaceResult>

Use this data source to get information about a Network Interface.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const bar = pulumi.output(aws.ec2.getNetworkInterface({
    id: "eni-01234567",
}, { async: true }));

Function getNetworkInterfaces

getNetworkInterfaces(args?: GetNetworkInterfacesArgs, opts?: pulumi.InvokeOptions): Promise<GetNetworkInterfacesResult>

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const exampleNetworkInterfaces = pulumi.output(aws.ec2.getNetworkInterfaces({ async: true }));

export const example = exampleNetworkInterfaces.ids;

Function getRoute

getRoute(args: GetRouteArgs, opts?: pulumi.InvokeOptions): Promise<GetRouteResult>

aws.ec2.Route provides details about a specific Route.

This resource can prove useful when finding the resource associated with a CIDR. For example, finding the peering connection associated with a CIDR value.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const config = new pulumi.Config();
const subnetId = config.require("subnetId");

const selected = pulumi.output(aws.ec2.getRouteTable({
    subnetId: subnetId,
}, { async: true }));
const route = aws_route_table_selected.id.apply(id => aws.ec2.getRoute({
    destinationCidrBlock: "10.0.1.0/24",
    routeTableId: id,
}, { async: true }));
const interfaceNetworkInterface = route.apply(route => aws.ec2.getNetworkInterface({
    networkInterfaceId: route.networkInterfaceId!,
}, { async: true }));

Function getRouteTable

getRouteTable(args?: GetRouteTableArgs, opts?: pulumi.InvokeOptions): Promise<GetRouteTableResult>

aws.ec2.RouteTable provides details about a specific Route Table.

This resource can prove useful when a module accepts a Subnet id as an input variable and needs to, for example, add a route in the Route Table.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const config = new pulumi.Config();
const subnetId = config.require("subnetId");

const selected = pulumi.output(aws.ec2.getRouteTable({
    subnetId: subnetId,
}, { async: true }));
const route = new aws.ec2.Route("route", {
    destinationCidrBlock: "10.0.1.0/22",
    routeTableId: selected.id,
    vpcPeeringConnectionId: "pcx-45ff3dc1",
});

Function getRouteTables

getRouteTables(args?: GetRouteTablesArgs, opts?: pulumi.InvokeOptions): Promise<GetRouteTablesResult>

This resource can be useful for getting back a list of route table ids to be referenced elsewhere.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const rts = pulumi.output(aws.ec2.getRouteTables({
    filters: [{
        name: "tag:kubernetes.io/kops/role",
        values: ["private*"],
    }],
    vpcId: var_vpc_id,
}, { async: true }));
const route: aws.ec2.Route[] = [];
for (let i = 0; i < rts.apply(rts => rts.ids.length); i++) {
    route.push(new aws.ec2.Route(`r-${i}`, {
        destinationCidrBlock: "10.0.1.0/22",
        routeTableId: rts.apply(rts => rts.ids[i]),
        vpcPeeringConnectionId: "pcx-0e9a7a9ecd137dc54",
    }));
}

Function getSecurityGroup

getSecurityGroup(args?: GetSecurityGroupArgs, opts?: pulumi.InvokeOptions): Promise<GetSecurityGroupResult>

aws.ec2.SecurityGroup provides details about a specific Security Group.

This resource can prove useful when a module accepts a Security Group id as an input variable and needs to, for example, determine the id of the VPC that the security group belongs to.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const config = new pulumi.Config();
const securityGroupId = config.require("securityGroupId");

const selected = pulumi.output(aws.ec2.getSecurityGroup({
    id: securityGroupId,
}, { async: true }));
const subnet = new aws.ec2.Subnet("subnet", {
    cidrBlock: "10.0.1.0/24",
    vpcId: selected.vpcId!,
});

Function getSecurityGroups

getSecurityGroups(args?: GetSecurityGroupsArgs, opts?: pulumi.InvokeOptions): Promise<GetSecurityGroupsResult>

Use this data source to get IDs and VPC membership of Security Groups that are created outside of this provider.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const test = pulumi.output(aws.ec2.getSecurityGroups({
    tags: {
        Application: "k8s",
        Environment: "dev",
    },
}, { async: true }));

Function getSubnet

getSubnet(args?: GetSubnetArgs, opts?: pulumi.InvokeOptions): Promise<GetSubnetResult>

aws.ec2.Subnet provides details about a specific VPC subnet.

This resource can prove useful when a module accepts a subnet id as an input variable and needs to, for example, determine the id of the VPC that the subnet belongs to.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const config = new pulumi.Config();
const subnetId = config.require("subnetId");

const selected = pulumi.output(aws.ec2.getSubnet({
    id: subnetId,
}, { async: true }));
const subnet = new aws.ec2.SecurityGroup("subnet", {
    ingress: [{
        cidrBlocks: [selected.cidrBlock!],
        fromPort: 80,
        protocol: "tcp",
        toPort: 80,
    }],
    vpcId: selected.vpcId!,
});

Function getSubnetIds

getSubnetIds(args: GetSubnetIdsArgs, opts?: pulumi.InvokeOptions): Promise<GetSubnetIdsResult>

aws.ec2.getSubnetIds provides a set of ids for a vpcId

This resource can be useful for getting back a set of subnet ids for a vpc.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const exampleSubnetIds = aws.ec2.getSubnetIds({
    vpcId: _var.vpc_id,
});
const exampleSubnet = exampleSubnetIds.then(exampleSubnetIds => exampleSubnetIds.ids.map((v, k) => [k, v]).map(([, ]) => aws.ec2.getSubnet({
    id: __value,
})));
export const subnetCidrBlocks = exampleSubnet.map(s => s.cidrBlock);

Function getVpc

getVpc(args?: GetVpcArgs, opts?: pulumi.InvokeOptions): Promise<GetVpcResult>

aws.ec2.Vpc provides details about a specific VPC.

This resource can prove useful when a module accepts a vpc id as an input variable and needs to, for example, determine the CIDR block of that VPC.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const config = new pulumi.Config();
const vpcId = config.require("vpcId");

const selected = pulumi.output(aws.ec2.getVpc({
    id: vpcId,
}, { async: true }));
const example = new aws.ec2.Subnet("example", {
    availabilityZone: "us-west-2a",
    cidrBlock: selected.apply(selected => (() => {
        throw "tf2pulumi error: NYI: call to cidrsubnet";
        return (() => { throw "NYI: call to cidrsubnet"; })();
    })()),
    vpcId: selected.id!,
});

Function getVpcDhcpOptions

getVpcDhcpOptions(args?: GetVpcDhcpOptionsArgs, opts?: pulumi.InvokeOptions): Promise<GetVpcDhcpOptionsResult>

Retrieve information about an EC2 DHCP Options configuration.

Example Usage

Lookup by DHCP Options ID
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = pulumi.output(aws.ec2.getVpcDhcpOptions({
    dhcpOptionsId: "dopts-12345678",
}, { async: true }));
Lookup by Filter
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = pulumi.output(aws.ec2.getVpcDhcpOptions({
    filters: [
        {
            name: "key",
            values: ["domain-name"],
        },
        {
            name: "value",
            values: ["example.com"],
        },
    ],
}, { async: true }));

Function getVpcEndpoint

getVpcEndpoint(args?: GetVpcEndpointArgs, opts?: pulumi.InvokeOptions): Promise<GetVpcEndpointResult>

The VPC Endpoint data source provides details about a specific VPC endpoint.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

// Declare the data source
const s3 = aws_vpc_foo.id.apply(id => aws.ec2.getVpcEndpoint({
    serviceName: "com.amazonaws.us-west-2.s3",
    vpcId: id,
}, { async: true }));
const privateS3 = new aws.ec2.VpcEndpointRouteTableAssociation("private_s3", {
    routeTableId: aws_route_table_private.id,
    vpcEndpointId: s3.id!,
});

Function getVpcEndpointService

getVpcEndpointService(args?: GetVpcEndpointServiceArgs, opts?: pulumi.InvokeOptions): Promise<GetVpcEndpointServiceResult>

The VPC Endpoint Service data source details about a specific service that can be specified when creating a VPC endpoint within the region configured in the provider.

Example Usage

AWS Service
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

// Declare the data source
const s3 = pulumi.output(aws.ec2.getVpcEndpointService({
    service: "s3",
}, { async: true }));
// Create a VPC
const foo = new aws.ec2.Vpc("foo", {
    cidrBlock: "10.0.0.0/16",
});
// Create a VPC endpoint
const ep = new aws.ec2.VpcEndpoint("ep", {
    serviceName: s3.serviceName!,
    vpcId: foo.id,
});
Non-AWS Service
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const custome = pulumi.output(aws.ec2.getVpcEndpointService({
    serviceName: "com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8",
}, { async: true }));
Filter
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const test = pulumi.output(aws.ec2.getVpcEndpointService({
    filters: [{
        name: "service-name",
        values: ["some-service"],
    }],
}, { async: true }));

Function getVpcPeeringConnection

getVpcPeeringConnection(args?: GetVpcPeeringConnectionArgs, opts?: pulumi.InvokeOptions): Promise<GetVpcPeeringConnectionResult>

The VPC Peering Connection data source provides details about a specific VPC peering connection.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

// Declare the data source
const pc = aws_vpc_foo.id.apply(id => aws.ec2.getVpcPeeringConnection({
    peerCidrBlock: "10.0.1.0/22",
    vpcId: id,
}, { async: true }));
// Create a route table
const rt = new aws.ec2.RouteTable("rt", {
    vpcId: aws_vpc_foo.id,
});
// Create a route
const route = new aws.ec2.Route("r", {
    destinationCidrBlock: pc.peerCidrBlock!,
    routeTableId: rt.id,
    vpcPeeringConnectionId: pc.id!,
});

Function getVpcs

getVpcs(args?: GetVpcsArgs, opts?: pulumi.InvokeOptions): Promise<GetVpcsResult>

This resource can be useful for getting back a list of VPC Ids for a region.

The following example retrieves a list of VPC Ids with a custom tag of service set to a value of “production”.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const fooVpcs = pulumi.output(aws.ec2.getVpcs({
    tags: {
        service: "production",
    },
}, { async: true }));

export const foo = fooVpcs.ids;

Function getVpnGateway

getVpnGateway(args?: GetVpnGatewayArgs, opts?: pulumi.InvokeOptions): Promise<GetVpnGatewayResult>

The VPN Gateway data source provides details about a specific VPN gateway.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const selected = pulumi.output(aws.ec2.getVpnGateway({
    filters: [{
        name: "tag:Name",
        values: ["vpn-gw"],
    }],
}, { async: true }));

export const vpnGatewayId = selected.id!;

Others

const AllProtocols

const AllProtocols: ProtocolType = "all";

interface AmiArgs

interface AmiArgs

The set of arguments for constructing a Ami resource.

property architecture

architecture?: pulumi.Input<string>;

Machine architecture for created instances. Defaults to “x8664”.

property description

description?: pulumi.Input<string>;

A longer, human-readable description for the AMI.

property ebsBlockDevices

ebsBlockDevices?: pulumi.Input<pulumi.Input<AmiEbsBlockDevice>[]>;

Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.

property enaSupport

enaSupport?: pulumi.Input<boolean>;

Specifies whether enhanced networking with ENA is enabled. Defaults to false.

property ephemeralBlockDevices

ephemeralBlockDevices?: pulumi.Input<pulumi.Input<AmiEphemeralBlockDevice>[]>;

Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.

property imageLocation

imageLocation?: pulumi.Input<string>;

Path to an S3 object containing an image manifest, e.g. created by the ec2-upload-bundle command in the EC2 command line tools.

property kernelId

kernelId?: pulumi.Input<string>;

The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.

property name

name?: pulumi.Input<string>;

A region-unique name for the AMI.

property ramdiskId

ramdiskId?: pulumi.Input<string>;

The id of an initrd image (ARI) that will be used when booting the created instances.

property rootDeviceName

rootDeviceName?: pulumi.Input<string>;

The name of the root device (for example, /dev/sda1, or /dev/xvda).

property sriovNetSupport

sriovNetSupport?: pulumi.Input<string>;

When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property virtualizationType

virtualizationType?: pulumi.Input<string>;

Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.

interface AmiCopyArgs

interface AmiCopyArgs

The set of arguments for constructing a AmiCopy resource.

property description

description?: pulumi.Input<string>;

A longer, human-readable description for the AMI.

property ebsBlockDevices

ebsBlockDevices?: pulumi.Input<pulumi.Input<AmiCopyEbsBlockDevice>[]>;

Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.

property encrypted

encrypted?: pulumi.Input<boolean>;

Boolean controlling whether the created EBS volumes will be encrypted. Can’t be used with snapshotId.

property ephemeralBlockDevices

ephemeralBlockDevices?: pulumi.Input<pulumi.Input<AmiCopyEphemeralBlockDevice>[]>;

Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.

property kmsKeyId

kmsKeyId?: pulumi.Input<string>;

The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when encrypting the snapshots of an image during a copy operation. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used

property name

name?: pulumi.Input<string>;

A region-unique name for the AMI.

property sourceAmiId

sourceAmiId: pulumi.Input<string>;

The id of the AMI to copy. This id must be valid in the region given by sourceAmiRegion.

property sourceAmiRegion

sourceAmiRegion: pulumi.Input<string>;

The region from which the AMI will be copied. This may be the same as the AWS provider region in order to create a copy within the same region.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

interface AmiCopyState

interface AmiCopyState

Input properties used for looking up and filtering AmiCopy resources.

property architecture

architecture?: pulumi.Input<string>;

Machine architecture for created instances. Defaults to “x8664”.

property description

description?: pulumi.Input<string>;

A longer, human-readable description for the AMI.

property ebsBlockDevices

ebsBlockDevices?: pulumi.Input<pulumi.Input<AmiCopyEbsBlockDevice>[]>;

Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.

property enaSupport

enaSupport?: pulumi.Input<boolean>;

Specifies whether enhanced networking with ENA is enabled. Defaults to false.

property encrypted

encrypted?: pulumi.Input<boolean>;

Boolean controlling whether the created EBS volumes will be encrypted. Can’t be used with snapshotId.

property ephemeralBlockDevices

ephemeralBlockDevices?: pulumi.Input<pulumi.Input<AmiCopyEphemeralBlockDevice>[]>;

Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.

property imageLocation

imageLocation?: pulumi.Input<string>;

Path to an S3 object containing an image manifest, e.g. created by the ec2-upload-bundle command in the EC2 command line tools.

property kernelId

kernelId?: pulumi.Input<string>;

The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.

property kmsKeyId

kmsKeyId?: pulumi.Input<string>;

The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when encrypting the snapshots of an image during a copy operation. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used

property manageEbsSnapshots

manageEbsSnapshots?: pulumi.Input<boolean>;

property name

name?: pulumi.Input<string>;

A region-unique name for the AMI.

property ramdiskId

ramdiskId?: pulumi.Input<string>;

The id of an initrd image (ARI) that will be used when booting the created instances.

property rootDeviceName

rootDeviceName?: pulumi.Input<string>;

The name of the root device (for example, /dev/sda1, or /dev/xvda).

property rootSnapshotId

rootSnapshotId?: pulumi.Input<string>;

property sourceAmiId

sourceAmiId?: pulumi.Input<string>;

The id of the AMI to copy. This id must be valid in the region given by sourceAmiRegion.

property sourceAmiRegion

sourceAmiRegion?: pulumi.Input<string>;

The region from which the AMI will be copied. This may be the same as the AWS provider region in order to create a copy within the same region.

property sriovNetSupport

sriovNetSupport?: pulumi.Input<string>;

When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property virtualizationType

virtualizationType?: pulumi.Input<string>;

Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.

interface AmiFromInstanceArgs

interface AmiFromInstanceArgs

The set of arguments for constructing a AmiFromInstance resource.

property description

description?: pulumi.Input<string>;

A longer, human-readable description for the AMI.

property ebsBlockDevices

ebsBlockDevices?: pulumi.Input<pulumi.Input<AmiFromInstanceEbsBlockDevice>[]>;

Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.

property ephemeralBlockDevices

ephemeralBlockDevices?: pulumi.Input<pulumi.Input<AmiFromInstanceEphemeralBlockDevice>[]>;

Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.

property name

name?: pulumi.Input<string>;

A region-unique name for the AMI.

property snapshotWithoutReboot

snapshotWithoutReboot?: pulumi.Input<boolean>;

Boolean that overrides the behavior of stopping the instance before snapshotting. This is risky since it may cause a snapshot of an inconsistent filesystem state, but can be used to avoid downtime if the user otherwise guarantees that no filesystem writes will be underway at the time of snapshot.

property sourceInstanceId

sourceInstanceId: pulumi.Input<string>;

The id of the instance to use as the basis of the AMI.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

interface AmiFromInstanceState

interface AmiFromInstanceState

Input properties used for looking up and filtering AmiFromInstance resources.

property architecture

architecture?: pulumi.Input<string>;

Machine architecture for created instances. Defaults to “x8664”.

property description

description?: pulumi.Input<string>;

A longer, human-readable description for the AMI.

property ebsBlockDevices

ebsBlockDevices?: pulumi.Input<pulumi.Input<AmiFromInstanceEbsBlockDevice>[]>;

Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.

property enaSupport

enaSupport?: pulumi.Input<boolean>;

Specifies whether enhanced networking with ENA is enabled. Defaults to false.

property ephemeralBlockDevices

ephemeralBlockDevices?: pulumi.Input<pulumi.Input<AmiFromInstanceEphemeralBlockDevice>[]>;

Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.

property imageLocation

imageLocation?: pulumi.Input<string>;

Path to an S3 object containing an image manifest, e.g. created by the ec2-upload-bundle command in the EC2 command line tools.

property kernelId

kernelId?: pulumi.Input<string>;

The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.

property manageEbsSnapshots

manageEbsSnapshots?: pulumi.Input<boolean>;

property name

name?: pulumi.Input<string>;

A region-unique name for the AMI.

property ramdiskId

ramdiskId?: pulumi.Input<string>;

The id of an initrd image (ARI) that will be used when booting the created instances.

property rootDeviceName

rootDeviceName?: pulumi.Input<string>;

The name of the root device (for example, /dev/sda1, or /dev/xvda).

property rootSnapshotId

rootSnapshotId?: pulumi.Input<string>;

property snapshotWithoutReboot

snapshotWithoutReboot?: pulumi.Input<boolean>;

Boolean that overrides the behavior of stopping the instance before snapshotting. This is risky since it may cause a snapshot of an inconsistent filesystem state, but can be used to avoid downtime if the user otherwise guarantees that no filesystem writes will be underway at the time of snapshot.

property sourceInstanceId

sourceInstanceId?: pulumi.Input<string>;

The id of the instance to use as the basis of the AMI.

property sriovNetSupport

sriovNetSupport?: pulumi.Input<string>;

When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property virtualizationType

virtualizationType?: pulumi.Input<string>;

Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.

interface AmiLaunchPermissionArgs

interface AmiLaunchPermissionArgs

The set of arguments for constructing a AmiLaunchPermission resource.

property accountId

accountId: pulumi.Input<string>;

An AWS Account ID to add launch permissions.

property imageId

imageId: pulumi.Input<string>;

A region-unique name for the AMI.

interface AmiLaunchPermissionState

interface AmiLaunchPermissionState

Input properties used for looking up and filtering AmiLaunchPermission resources.

property accountId

accountId?: pulumi.Input<string>;

An AWS Account ID to add launch permissions.

property imageId

imageId?: pulumi.Input<string>;

A region-unique name for the AMI.

interface AmiState

interface AmiState

Input properties used for looking up and filtering Ami resources.

property architecture

architecture?: pulumi.Input<string>;

Machine architecture for created instances. Defaults to “x8664”.

property description

description?: pulumi.Input<string>;

A longer, human-readable description for the AMI.

property ebsBlockDevices

ebsBlockDevices?: pulumi.Input<pulumi.Input<AmiEbsBlockDevice>[]>;

Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.

property enaSupport

enaSupport?: pulumi.Input<boolean>;

Specifies whether enhanced networking with ENA is enabled. Defaults to false.

property ephemeralBlockDevices

ephemeralBlockDevices?: pulumi.Input<pulumi.Input<AmiEphemeralBlockDevice>[]>;

Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.

property imageLocation

imageLocation?: pulumi.Input<string>;

Path to an S3 object containing an image manifest, e.g. created by the ec2-upload-bundle command in the EC2 command line tools.

property kernelId

kernelId?: pulumi.Input<string>;

The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.

property manageEbsSnapshots

manageEbsSnapshots?: pulumi.Input<boolean>;

property name

name?: pulumi.Input<string>;

A region-unique name for the AMI.

property ramdiskId

ramdiskId?: pulumi.Input<string>;

The id of an initrd image (ARI) that will be used when booting the created instances.

property rootDeviceName

rootDeviceName?: pulumi.Input<string>;

The name of the root device (for example, /dev/sda1, or /dev/xvda).

property rootSnapshotId

rootSnapshotId?: pulumi.Input<string>;

The Snapshot ID for the root volume (for EBS-backed AMIs)

property sriovNetSupport

sriovNetSupport?: pulumi.Input<string>;

When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property virtualizationType

virtualizationType?: pulumi.Input<string>;

Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.

interface AvailabilityZoneGroupArgs

interface AvailabilityZoneGroupArgs

The set of arguments for constructing a AvailabilityZoneGroup resource.

property groupName

groupName: pulumi.Input<string>;

Name of the Availability Zone Group.

property optInStatus

optInStatus: pulumi.Input<string>;

Indicates whether to enable or disable Availability Zone Group. Valid values: opted-in or not-opted-in.

interface AvailabilityZoneGroupState

interface AvailabilityZoneGroupState

Input properties used for looking up and filtering AvailabilityZoneGroup resources.

property groupName

groupName?: pulumi.Input<string>;

Name of the Availability Zone Group.

property optInStatus

optInStatus?: pulumi.Input<string>;

Indicates whether to enable or disable Availability Zone Group. Valid values: opted-in or not-opted-in.

interface CapacityReservationArgs

interface CapacityReservationArgs

The set of arguments for constructing a CapacityReservation resource.

property availabilityZone

availabilityZone: pulumi.Input<string>;

The Availability Zone in which to create the Capacity Reservation.

property ebsOptimized

ebsOptimized?: pulumi.Input<boolean>;

Indicates whether the Capacity Reservation supports EBS-optimized instances.

property endDate

endDate?: pulumi.Input<string>;

The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ)

property endDateType

endDateType?: pulumi.Input<string>;

Indicates the way in which the Capacity Reservation ends. Specify either unlimited or limited.

property ephemeralStorage

ephemeralStorage?: pulumi.Input<boolean>;

Indicates whether the Capacity Reservation supports instances with temporary, block-level storage.

property instanceCount

instanceCount: pulumi.Input<number>;

The number of instances for which to reserve capacity.

property instanceMatchCriteria

instanceMatchCriteria?: pulumi.Input<string>;

Indicates the type of instance launches that the Capacity Reservation accepts. Specify either open or targeted.

property instancePlatform

instancePlatform: pulumi.Input<InstancePlatform>;

The type of operating system for which to reserve capacity. Valid options are Linux/UNIX, Red Hat Enterprise Linux, SUSE Linux, Windows, Windows with SQL Server, Windows with SQL Server Enterprise, Windows with SQL Server Standard or Windows with SQL Server Web.

property instanceType

instanceType: pulumi.Input<InstanceType>;

The instance type for which to reserve capacity.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property tenancy

tenancy?: pulumi.Input<Tenancy>;

Indicates the tenancy of the Capacity Reservation. Specify either default or dedicated.

interface CapacityReservationState

interface CapacityReservationState

Input properties used for looking up and filtering CapacityReservation resources.

property availabilityZone

availabilityZone?: pulumi.Input<string>;

The Availability Zone in which to create the Capacity Reservation.

property ebsOptimized

ebsOptimized?: pulumi.Input<boolean>;

Indicates whether the Capacity Reservation supports EBS-optimized instances.

property endDate

endDate?: pulumi.Input<string>;

The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ)

property endDateType

endDateType?: pulumi.Input<string>;

Indicates the way in which the Capacity Reservation ends. Specify either unlimited or limited.

property ephemeralStorage

ephemeralStorage?: pulumi.Input<boolean>;

Indicates whether the Capacity Reservation supports instances with temporary, block-level storage.

property instanceCount

instanceCount?: pulumi.Input<number>;

The number of instances for which to reserve capacity.

property instanceMatchCriteria

instanceMatchCriteria?: pulumi.Input<string>;

Indicates the type of instance launches that the Capacity Reservation accepts. Specify either open or targeted.

property instancePlatform

instancePlatform?: pulumi.Input<InstancePlatform>;

The type of operating system for which to reserve capacity. Valid options are Linux/UNIX, Red Hat Enterprise Linux, SUSE Linux, Windows, Windows with SQL Server, Windows with SQL Server Enterprise, Windows with SQL Server Standard or Windows with SQL Server Web.

property instanceType

instanceType?: pulumi.Input<InstanceType>;

The instance type for which to reserve capacity.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property tenancy

tenancy?: pulumi.Input<Tenancy>;

Indicates the tenancy of the Capacity Reservation. Specify either default or dedicated.

let ClusterStrategy

let ClusterStrategy: PlacementStrategy = "cluster";

A cluster placement group is a logical grouping of instances within a single Availability Zone that benefit from low network latency, high network throughput.

interface CustomerGatewayArgs

interface CustomerGatewayArgs

The set of arguments for constructing a CustomerGateway resource.

property bgpAsn

bgpAsn: pulumi.Input<number>;

The gateway’s Border Gateway Protocol (BGP) Autonomous System Number (ASN).

property ipAddress

ipAddress: pulumi.Input<string>;

The IP address of the gateway’s Internet-routable external interface.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Tags to apply to the gateway.

property type

type: pulumi.Input<string>;

The type of customer gateway. The only type AWS supports at this time is “ipsec.1”.

interface CustomerGatewayState

interface CustomerGatewayState

Input properties used for looking up and filtering CustomerGateway resources.

property bgpAsn

bgpAsn?: pulumi.Input<number>;

The gateway’s Border Gateway Protocol (BGP) Autonomous System Number (ASN).

property ipAddress

ipAddress?: pulumi.Input<string>;

The IP address of the gateway’s Internet-routable external interface.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Tags to apply to the gateway.

property type

type?: pulumi.Input<string>;

The type of customer gateway. The only type AWS supports at this time is “ipsec.1”.

const DedicatedTenancy

DEPRECATED Use the equivalent constant in module Tenancies instead
const DedicatedTenancy: Tenancy = "dedicated";

interface DefaultNetworkAclArgs

interface DefaultNetworkAclArgs

The set of arguments for constructing a DefaultNetworkAcl resource.

property defaultNetworkAclId

defaultNetworkAclId: pulumi.Input<string>;

The Network ACL ID to manage. This attribute is exported from aws.ec2.Vpc, or manually found via the AWS Console.

property egress

egress?: pulumi.Input<pulumi.Input<DefaultNetworkAclEgress>[]>;

Specifies an egress rule. Parameters defined below.

property ingress

ingress?: pulumi.Input<pulumi.Input<DefaultNetworkAclIngress>[]>;

Specifies an ingress rule. Parameters defined below.

property subnetIds

subnetIds?: pulumi.Input<pulumi.Input<string>[]>;

A list of Subnet IDs to apply the ACL to. See the notes below on managing Subnets in the Default Network ACL

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

interface DefaultNetworkAclState

interface DefaultNetworkAclState

Input properties used for looking up and filtering DefaultNetworkAcl resources.

property defaultNetworkAclId

defaultNetworkAclId?: pulumi.Input<string>;

The Network ACL ID to manage. This attribute is exported from aws.ec2.Vpc, or manually found via the AWS Console.

property egress

egress?: pulumi.Input<pulumi.Input<DefaultNetworkAclEgress>[]>;

Specifies an egress rule. Parameters defined below.

property ingress

ingress?: pulumi.Input<pulumi.Input<DefaultNetworkAclIngress>[]>;

Specifies an ingress rule. Parameters defined below.

property ownerId

ownerId?: pulumi.Input<string>;

The ID of the AWS account that owns the Default Network ACL

property subnetIds

subnetIds?: pulumi.Input<pulumi.Input<string>[]>;

A list of Subnet IDs to apply the ACL to. See the notes below on managing Subnets in the Default Network ACL

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpcId

vpcId?: pulumi.Input<string>;

The ID of the associated VPC

interface DefaultRouteTableArgs

interface DefaultRouteTableArgs

The set of arguments for constructing a DefaultRouteTable resource.

property defaultRouteTableId

defaultRouteTableId: pulumi.Input<string>;

The ID of the Default Routing Table.

property propagatingVgws

propagatingVgws?: pulumi.Input<pulumi.Input<string>[]>;

A list of virtual gateways for propagation.

property routes

routes?: pulumi.Input<pulumi.Input<DefaultRouteTableRoute>[]>;

A list of route objects. Their keys are documented below.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

interface DefaultRouteTableState

interface DefaultRouteTableState

Input properties used for looking up and filtering DefaultRouteTable resources.

property defaultRouteTableId

defaultRouteTableId?: pulumi.Input<string>;

The ID of the Default Routing Table.

property ownerId

ownerId?: pulumi.Input<string>;

The ID of the AWS account that owns the route table

property propagatingVgws

propagatingVgws?: pulumi.Input<pulumi.Input<string>[]>;

A list of virtual gateways for propagation.

property routes

routes?: pulumi.Input<pulumi.Input<DefaultRouteTableRoute>[]>;

A list of route objects. Their keys are documented below.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

property vpcId

vpcId?: pulumi.Input<string>;

interface DefaultSecurityGroupArgs

interface DefaultSecurityGroupArgs

The set of arguments for constructing a DefaultSecurityGroup resource.

property egress

egress?: pulumi.Input<pulumi.Input<DefaultSecurityGroupEgress>[]>;

Can be specified multiple times for each egress rule. Each egress block supports fields documented below.

property ingress

ingress?: pulumi.Input<pulumi.Input<DefaultSecurityGroupIngress>[]>;

Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below.

property revokeRulesOnDelete

revokeRulesOnDelete?: pulumi.Input<boolean>;

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpcId

vpcId?: pulumi.Input<string>;

The VPC ID. Note that changing the vpcId will not restore any default security group rules that were modified, added, or removed. It will be left in its current state

interface DefaultSecurityGroupState

interface DefaultSecurityGroupState

Input properties used for looking up and filtering DefaultSecurityGroup resources.

property arn

arn?: pulumi.Input<string>;

property description

description?: pulumi.Input<string>;

The description of the security group

property egress

egress?: pulumi.Input<pulumi.Input<DefaultSecurityGroupEgress>[]>;

Can be specified multiple times for each egress rule. Each egress block supports fields documented below.

property ingress

ingress?: pulumi.Input<pulumi.Input<DefaultSecurityGroupIngress>[]>;

Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below.

property name

name?: pulumi.Input<string>;

The name of the security group

property ownerId

ownerId?: pulumi.Input<string>;

The owner ID.

property revokeRulesOnDelete

revokeRulesOnDelete?: pulumi.Input<boolean>;

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpcId

vpcId?: pulumi.Input<string>;

The VPC ID. Note that changing the vpcId will not restore any default security group rules that were modified, added, or removed. It will be left in its current state

interface DefaultSubnetArgs

interface DefaultSubnetArgs

The set of arguments for constructing a DefaultSubnet resource.

property availabilityZone

availabilityZone: pulumi.Input<string>;

property mapPublicIpOnLaunch

mapPublicIpOnLaunch?: pulumi.Input<boolean>;

Specify true to indicate that instances launched into the subnet should be assigned a public IP address.

property outpostArn

outpostArn?: pulumi.Input<string>;

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

interface DefaultSubnetState

interface DefaultSubnetState

Input properties used for looking up and filtering DefaultSubnet resources.

property arn

arn?: pulumi.Input<string>;

property assignIpv6AddressOnCreation

assignIpv6AddressOnCreation?: pulumi.Input<boolean>;

property availabilityZone

availabilityZone?: pulumi.Input<string>;

property availabilityZoneId

availabilityZoneId?: pulumi.Input<string>;

property cidrBlock

cidrBlock?: pulumi.Input<string>;

The CIDR block for the subnet.

property ipv6CidrBlock

ipv6CidrBlock?: pulumi.Input<string>;

The IPv6 CIDR block.

property ipv6CidrBlockAssociationId

ipv6CidrBlockAssociationId?: pulumi.Input<string>;

property mapPublicIpOnLaunch

mapPublicIpOnLaunch?: pulumi.Input<boolean>;

Specify true to indicate that instances launched into the subnet should be assigned a public IP address.

property outpostArn

outpostArn?: pulumi.Input<string>;

property ownerId

ownerId?: pulumi.Input<string>;

The ID of the AWS account that owns the subnet.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpcId

vpcId?: pulumi.Input<string>;

The VPC ID.

const DefaultTenancy

DEPRECATED Use the equivalent constant in module Tenancies instead
const DefaultTenancy: Tenancy = "default";

interface DefaultVpcArgs

interface DefaultVpcArgs

The set of arguments for constructing a DefaultVpc resource.

enableClassiclink?: pulumi.Input<boolean>;

A boolean flag to enable/disable ClassicLink for the VPC. Only valid in regions and accounts that support EC2 Classic. See the ClassicLink documentation for more information. Defaults false.

property enableClassiclinkDnsSupport

enableClassiclinkDnsSupport?: pulumi.Input<boolean>;

property enableDnsHostnames

enableDnsHostnames?: pulumi.Input<boolean>;

A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.

property enableDnsSupport

enableDnsSupport?: pulumi.Input<boolean>;

A boolean flag to enable/disable DNS support in the VPC. Defaults true.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

interface DefaultVpcDhcpOptionsArgs

interface DefaultVpcDhcpOptionsArgs

The set of arguments for constructing a DefaultVpcDhcpOptions resource.

property netbiosNameServers

netbiosNameServers?: pulumi.Input<pulumi.Input<string>[]>;

List of NETBIOS name servers.

property netbiosNodeType

netbiosNodeType?: pulumi.Input<string>;

The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see RFC 2132.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

interface DefaultVpcDhcpOptionsState

interface DefaultVpcDhcpOptionsState

Input properties used for looking up and filtering DefaultVpcDhcpOptions resources.

property domainName

domainName?: pulumi.Input<string>;

property domainNameServers

domainNameServers?: pulumi.Input<string>;

property netbiosNameServers

netbiosNameServers?: pulumi.Input<pulumi.Input<string>[]>;

List of NETBIOS name servers.

property netbiosNodeType

netbiosNodeType?: pulumi.Input<string>;

The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see RFC 2132.

property ntpServers

ntpServers?: pulumi.Input<string>;

property ownerId

ownerId?: pulumi.Input<string>;

The ID of the AWS account that owns the DHCP options set.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

interface DefaultVpcState

interface DefaultVpcState

Input properties used for looking up and filtering DefaultVpc resources.

property arn

arn?: pulumi.Input<string>;

Amazon Resource Name (ARN) of VPC

property assignGeneratedIpv6CidrBlock

assignGeneratedIpv6CidrBlock?: pulumi.Input<boolean>;

Whether or not an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC was assigned

property cidrBlock

cidrBlock?: pulumi.Input<string>;

The CIDR block of the VPC

property defaultNetworkAclId

defaultNetworkAclId?: pulumi.Input<string>;

The ID of the network ACL created by default on VPC creation

property defaultRouteTableId

defaultRouteTableId?: pulumi.Input<string>;

The ID of the route table created by default on VPC creation

property defaultSecurityGroupId

defaultSecurityGroupId?: pulumi.Input<string>;

The ID of the security group created by default on VPC creation

property dhcpOptionsId

dhcpOptionsId?: pulumi.Input<string>;
enableClassiclink?: pulumi.Input<boolean>;

A boolean flag to enable/disable ClassicLink for the VPC. Only valid in regions and accounts that support EC2 Classic. See the ClassicLink documentation for more information. Defaults false.

property enableClassiclinkDnsSupport

enableClassiclinkDnsSupport?: pulumi.Input<boolean>;

property enableDnsHostnames

enableDnsHostnames?: pulumi.Input<boolean>;

A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.

property enableDnsSupport

enableDnsSupport?: pulumi.Input<boolean>;

A boolean flag to enable/disable DNS support in the VPC. Defaults true.

property instanceTenancy

instanceTenancy?: pulumi.Input<string>;

Tenancy of instances spin up within VPC.

property ipv6AssociationId

ipv6AssociationId?: pulumi.Input<string>;

The association ID for the IPv6 CIDR block of the VPC

property ipv6CidrBlock

ipv6CidrBlock?: pulumi.Input<string>;

The IPv6 CIDR block of the VPC

property mainRouteTableId

mainRouteTableId?: pulumi.Input<string>;

The ID of the main route table associated with this VPC. Note that you can change a VPC’s main route table by using an aws.ec2.MainRouteTableAssociation

property ownerId

ownerId?: pulumi.Input<string>;

The ID of the AWS account that owns the VPC.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

interface EgressOnlyInternetGatewayArgs

interface EgressOnlyInternetGatewayArgs

The set of arguments for constructing a EgressOnlyInternetGateway resource.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpcId

vpcId: pulumi.Input<string>;

The VPC ID to create in.

interface EgressOnlyInternetGatewayState

interface EgressOnlyInternetGatewayState

Input properties used for looking up and filtering EgressOnlyInternetGateway resources.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpcId

vpcId?: pulumi.Input<string>;

The VPC ID to create in.

interface EipArgs

interface EipArgs

The set of arguments for constructing a Eip resource.

property associateWithPrivateIp

associateWithPrivateIp?: pulumi.Input<string>;

A user specified primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

property customerOwnedIpv4Pool

customerOwnedIpv4Pool?: pulumi.Input<string>;

The ID of a customer-owned address pool. For more on customer owned IP addressed check out Customer-owned IP addresses guide

property instance

instance?: pulumi.Input<string>;

EC2 instance ID.

property networkInterface

networkInterface?: pulumi.Input<string>;

Network interface ID to associate with.

property publicIpv4Pool

publicIpv4Pool?: pulumi.Input<string>;

EC2 IPv4 address pool identifier or amazon. This option is only available for VPC EIPs.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpc

vpc?: pulumi.Input<boolean>;

Boolean if the EIP is in a VPC or not.

interface EipAssociationArgs

interface EipAssociationArgs

The set of arguments for constructing a EipAssociation resource.

property allocationId

allocationId?: pulumi.Input<string>;

The allocation ID. This is required for EC2-VPC.

property allowReassociation

allowReassociation?: pulumi.Input<boolean>;

Whether to allow an Elastic IP to be re-associated. Defaults to true in VPC.

property instanceId

instanceId?: pulumi.Input<string>;

The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. The operation fails if you specify an instance ID unless exactly one network interface is attached.

property networkInterfaceId

networkInterfaceId?: pulumi.Input<string>;

The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

property privateIpAddress

privateIpAddress?: pulumi.Input<string>;

The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

property publicIp

publicIp?: pulumi.Input<string>;

The Elastic IP address. This is required for EC2-Classic.

interface EipAssociationState

interface EipAssociationState

Input properties used for looking up and filtering EipAssociation resources.

property allocationId

allocationId?: pulumi.Input<string>;

The allocation ID. This is required for EC2-VPC.

property allowReassociation

allowReassociation?: pulumi.Input<boolean>;

Whether to allow an Elastic IP to be re-associated. Defaults to true in VPC.

property instanceId

instanceId?: pulumi.Input<string>;

The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. The operation fails if you specify an instance ID unless exactly one network interface is attached.

property networkInterfaceId

networkInterfaceId?: pulumi.Input<string>;

The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

property privateIpAddress

privateIpAddress?: pulumi.Input<string>;

The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

property publicIp

publicIp?: pulumi.Input<string>;

The Elastic IP address. This is required for EC2-Classic.

interface EipState

interface EipState

Input properties used for looking up and filtering Eip resources.

property allocationId

allocationId?: pulumi.Input<string>;

property associateWithPrivateIp

associateWithPrivateIp?: pulumi.Input<string>;

A user specified primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

property associationId

associationId?: pulumi.Input<string>;

property customerOwnedIp

customerOwnedIp?: pulumi.Input<string>;

Customer owned IP.

property customerOwnedIpv4Pool

customerOwnedIpv4Pool?: pulumi.Input<string>;

The ID of a customer-owned address pool. For more on customer owned IP addressed check out Customer-owned IP addresses guide

property domain

domain?: pulumi.Input<string>;

property instance

instance?: pulumi.Input<string>;

EC2 instance ID.

property networkInterface

networkInterface?: pulumi.Input<string>;

Network interface ID to associate with.

property privateDns

privateDns?: pulumi.Input<string>;

The Private DNS associated with the Elastic IP address (if in VPC).

property privateIp

privateIp?: pulumi.Input<string>;

Contains the private IP address (if in VPC).

property publicDns

publicDns?: pulumi.Input<string>;

Public DNS associated with the Elastic IP address.

property publicIp

publicIp?: pulumi.Input<string>;

Contains the public IP address.

property publicIpv4Pool

publicIpv4Pool?: pulumi.Input<string>;

EC2 IPv4 address pool identifier or amazon. This option is only available for VPC EIPs.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpc

vpc?: pulumi.Input<boolean>;

Boolean if the EIP is in a VPC or not.

interface FleetArgs

interface FleetArgs

The set of arguments for constructing a Fleet resource.

property excessCapacityTerminationPolicy

excessCapacityTerminationPolicy?: pulumi.Input<string>;

Whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2. Valid values: no-termination, termination. Defaults to termination.

property launchTemplateConfig

launchTemplateConfig: pulumi.Input<FleetLaunchTemplateConfig>;

Nested argument containing EC2 Launch Template configurations. Defined below.

property onDemandOptions

onDemandOptions?: pulumi.Input<FleetOnDemandOptions>;

Nested argument containing On-Demand configurations. Defined below.

property replaceUnhealthyInstances

replaceUnhealthyInstances?: pulumi.Input<boolean>;

Whether EC2 Fleet should replace unhealthy instances. Defaults to false.

property spotOptions

spotOptions?: pulumi.Input<FleetSpotOptions>;

Nested argument containing Spot configurations. Defined below.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Map of Fleet tags. To tag instances at launch, specify the tags in the Launch Template.

property targetCapacitySpecification

targetCapacitySpecification: pulumi.Input<FleetTargetCapacitySpecification>;

Nested argument containing target capacity configurations. Defined below.

property terminateInstances

terminateInstances?: pulumi.Input<boolean>;

Whether to terminate instances for an EC2 Fleet if it is deleted successfully. Defaults to false.

property terminateInstancesWithExpiration

terminateInstancesWithExpiration?: pulumi.Input<boolean>;

Whether running instances should be terminated when the EC2 Fleet expires. Defaults to false.

property type

type?: pulumi.Input<string>;

The type of request. Indicates whether the EC2 Fleet only requests the target capacity, or also attempts to maintain it. Valid values: maintain, request. Defaults to maintain.

interface FleetState

interface FleetState

Input properties used for looking up and filtering Fleet resources.

property excessCapacityTerminationPolicy

excessCapacityTerminationPolicy?: pulumi.Input<string>;

Whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2. Valid values: no-termination, termination. Defaults to termination.

property launchTemplateConfig

launchTemplateConfig?: pulumi.Input<FleetLaunchTemplateConfig>;

Nested argument containing EC2 Launch Template configurations. Defined below.

property onDemandOptions

onDemandOptions?: pulumi.Input<FleetOnDemandOptions>;

Nested argument containing On-Demand configurations. Defined below.

property replaceUnhealthyInstances

replaceUnhealthyInstances?: pulumi.Input<boolean>;

Whether EC2 Fleet should replace unhealthy instances. Defaults to false.

property spotOptions

spotOptions?: pulumi.Input<FleetSpotOptions>;

Nested argument containing Spot configurations. Defined below.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Map of Fleet tags. To tag instances at launch, specify the tags in the Launch Template.

property targetCapacitySpecification

targetCapacitySpecification?: pulumi.Input<FleetTargetCapacitySpecification>;

Nested argument containing target capacity configurations. Defined below.

property terminateInstances

terminateInstances?: pulumi.Input<boolean>;

Whether to terminate instances for an EC2 Fleet if it is deleted successfully. Defaults to false.

property terminateInstancesWithExpiration

terminateInstancesWithExpiration?: pulumi.Input<boolean>;

Whether running instances should be terminated when the EC2 Fleet expires. Defaults to false.

property type

type?: pulumi.Input<string>;

The type of request. Indicates whether the EC2 Fleet only requests the target capacity, or also attempts to maintain it. Valid values: maintain, request. Defaults to maintain.

interface FlowLogArgs

interface FlowLogArgs

The set of arguments for constructing a FlowLog resource.

property eniId

eniId?: pulumi.Input<string>;

Elastic Network Interface ID to attach to

property iamRoleArn

iamRoleArn?: pulumi.Input<string>;

The ARN for the IAM role that’s used to post flow logs to a CloudWatch Logs log group

property logDestination

logDestination?: pulumi.Input<string>;

The ARN of the logging destination.

property logDestinationType

logDestinationType?: pulumi.Input<string>;

The type of the logging destination. Valid values: cloud-watch-logs, s3. Default: cloud-watch-logs.

property logFormat

logFormat?: pulumi.Input<string>;

The fields to include in the flow log record, in the order in which they should appear.

property logGroupName

DEPRECATED use 'log_destination' argument instead
logGroupName?: pulumi.Input<string>;

Deprecated: Use logDestination instead. The name of the CloudWatch log group.

property maxAggregationInterval

maxAggregationInterval?: pulumi.Input<number>;

The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. Valid Values: 60 seconds (1 minute) or 600 seconds (10 minutes). Default: 600.

property subnetId

subnetId?: pulumi.Input<string>;

Subnet ID to attach to

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Key-value map of resource tags

property trafficType

trafficType: pulumi.Input<string>;

The type of traffic to capture. Valid values: ACCEPT,REJECT, ALL.

property vpcId

vpcId?: pulumi.Input<string>;

VPC ID to attach to

interface FlowLogState

interface FlowLogState

Input properties used for looking up and filtering FlowLog resources.

property eniId

eniId?: pulumi.Input<string>;

Elastic Network Interface ID to attach to

property iamRoleArn

iamRoleArn?: pulumi.Input<string>;

The ARN for the IAM role that’s used to post flow logs to a CloudWatch Logs log group

property logDestination

logDestination?: pulumi.Input<string>;

The ARN of the logging destination.

property logDestinationType

logDestinationType?: pulumi.Input<string>;

The type of the logging destination. Valid values: cloud-watch-logs, s3. Default: cloud-watch-logs.

property logFormat

logFormat?: pulumi.Input<string>;

The fields to include in the flow log record, in the order in which they should appear.

property logGroupName

DEPRECATED use 'log_destination' argument instead
logGroupName?: pulumi.Input<string>;

Deprecated: Use logDestination instead. The name of the CloudWatch log group.

property maxAggregationInterval

maxAggregationInterval?: pulumi.Input<number>;

The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. Valid Values: 60 seconds (1 minute) or 600 seconds (10 minutes). Default: 600.

property subnetId

subnetId?: pulumi.Input<string>;

Subnet ID to attach to

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Key-value map of resource tags

property trafficType

trafficType?: pulumi.Input<string>;

The type of traffic to capture. Valid values: ACCEPT,REJECT, ALL.

property vpcId

vpcId?: pulumi.Input<string>;

VPC ID to attach to

interface GetCoipPoolArgs

interface GetCoipPoolArgs

A collection of arguments for invoking getCoipPool.

property filters

filters?: GetCoipPoolFilter[];

property localGatewayRouteTableId

localGatewayRouteTableId?: undefined | string;

Local Gateway Route Table Id assigned to desired COIP Pool

property poolId

poolId?: undefined | string;

The id of the specific COIP Pool to retrieve.

property tags

tags?: undefined | {[key: string]: any};

A mapping of tags, each pair of which must exactly match a pair on the desired COIP Pool.

interface GetCoipPoolResult

interface GetCoipPoolResult

A collection of values returned by getCoipPool.

property filters

filters?: GetCoipPoolFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property localGatewayRouteTableId

localGatewayRouteTableId: string;

property poolCidrs

poolCidrs: string[];

Set of CIDR blocks in pool

property poolId

poolId: string;

property tags

tags: {[key: string]: any};

interface GetCoipPoolsArgs

interface GetCoipPoolsArgs

A collection of arguments for invoking getCoipPools.

property filters

filters?: GetCoipPoolsFilter[];

Custom filter block as described below.

property tags

tags?: undefined | {[key: string]: any};

A mapping of tags, each pair of which must exactly match a pair on the desired aws_ec2_coip_pools.

interface GetCoipPoolsResult

interface GetCoipPoolsResult

A collection of values returned by getCoipPools.

property filters

filters?: GetCoipPoolsFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property poolIds

poolIds: string[];

Set of COIP Pool Identifiers

property tags

tags: {[key: string]: any};

interface GetCustomerGatewayArgs

interface GetCustomerGatewayArgs

A collection of arguments for invoking getCustomerGateway.

property filters

filters?: GetCustomerGatewayFilter[];

One or more [name-value pairs][dcg-filters] to filter by.

property id

id?: undefined | string;

The ID of the gateway.

property tags

tags?: undefined | {[key: string]: any};

Map of key-value pairs assigned to the gateway.

interface GetCustomerGatewayResult

interface GetCustomerGatewayResult

A collection of values returned by getCustomerGateway.

property bgpAsn

bgpAsn: number;

(Optional) The gateway’s Border Gateway Protocol (BGP) Autonomous System Number (ASN).

property filters

filters?: GetCustomerGatewayFilter[];

property id

id?: undefined | string;

property ipAddress

ipAddress: string;

(Optional) The IP address of the gateway’s Internet-routable external interface.

property tags

tags: {[key: string]: any};

Map of key-value pairs assigned to the gateway.

property type

type: string;

(Optional) The type of customer gateway. The only type AWS supports at this time is “ipsec.1”.

interface GetInstanceArgs

interface GetInstanceArgs

A collection of arguments for invoking getInstance.

property filters

filters?: GetInstanceFilter[];

One or more name/value pairs to use as filters. There are several valid keys, for a full reference, check out describe-instances in the AWS CLI reference.

property getPasswordData

getPasswordData?: undefined | false | true;

If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the passwordData attribute. See GetPasswordData for more information.

property getUserData

getUserData?: undefined | false | true;

Retrieve Base64 encoded User Data contents into the userDataBase64 attribute. A SHA-1 hash of the User Data contents will always be present in the userData attribute. Defaults to false.

property instanceId

instanceId?: undefined | string;

Specify the exact Instance ID with which to populate the data source.

property instanceTags

instanceTags?: undefined | {[key: string]: any};

A map of tags, each pair of which must exactly match a pair on the desired Instance.

property tags

tags?: undefined | {[key: string]: any};

A mapping of tags assigned to the Instance.

interface GetInstanceResult

interface GetInstanceResult

A collection of values returned by getInstance.

property ami

ami: string;

The ID of the AMI used to launch the instance.

property arn

arn: string;

The ARN of the instance.

property associatePublicIpAddress

associatePublicIpAddress: boolean;

Whether or not the Instance is associated with a public IP address or not (Boolean).

property availabilityZone

availabilityZone: string;

The availability zone of the Instance.

property creditSpecifications

creditSpecifications: GetInstanceCreditSpecification[];

The credit specification of the Instance.

property disableApiTermination

disableApiTermination: boolean;

property ebsBlockDevices

ebsBlockDevices: GetInstanceEbsBlockDevice[];

The EBS block device mappings of the Instance.

property ebsOptimized

ebsOptimized: boolean;

Whether the Instance is EBS optimized or not (Boolean).

property ephemeralBlockDevices

ephemeralBlockDevices: GetInstanceEphemeralBlockDevice[];

The ephemeral block device mappings of the Instance.

property filters

filters?: GetInstanceFilter[];

property getPasswordData

getPasswordData?: undefined | false | true;

property getUserData

getUserData?: undefined | false | true;

property hostId

hostId: string;

The Id of the dedicated host the instance will be assigned to.

property iamInstanceProfile

iamInstanceProfile: string;

The name of the instance profile associated with the Instance.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property instanceId

instanceId?: undefined | string;

property instanceState

instanceState: string;

The state of the instance. One of: pending, running, shutting-down, terminated, stopping, stopped. See Instance Lifecycle for more information.

property instanceTags

instanceTags: {[key: string]: any};

property instanceType

instanceType: string;

The type of the Instance.

property keyName

keyName: string;

The key name of the Instance.

property metadataOptions

metadataOptions: GetInstanceMetadataOption[];

The metadata options of the Instance.

property monitoring

monitoring: boolean;

Whether detailed monitoring is enabled or disabled for the Instance (Boolean).

property networkInterfaceId

networkInterfaceId: string;

The ID of the network interface that was created with the Instance.

property outpostArn

outpostArn: string;

The Amazon Resource Name (ARN) of the Outpost.

property passwordData

passwordData: string;

Base-64 encoded encrypted password data for the instance. Useful for getting the administrator password for instances running Microsoft Windows. This attribute is only exported if getPasswordData is true. See GetPasswordData for more information.

property placementGroup

placementGroup: string;

The placement group of the Instance.

property privateDns

privateDns: string;

The private DNS name assigned to the Instance. Can only be used inside the Amazon EC2, and only available if you’ve enabled DNS hostnames for your VPC.

property privateIp

privateIp: string;

The private IP address assigned to the Instance.

property publicDns

publicDns: string;

The public DNS name assigned to the Instance. For EC2-VPC, this is only available if you’ve enabled DNS hostnames for your VPC.

property publicIp

publicIp: string;

The public IP address assigned to the Instance, if applicable. NOTE: If you are using an aws.ec2.Eip with your instance, you should refer to the EIP’s address directly and not use publicIp, as this field will change after the EIP is attached.

property rootBlockDevices

rootBlockDevices: GetInstanceRootBlockDevice[];

The root block device mappings of the Instance

property securityGroups

securityGroups: string[];

The associated security groups.

property sourceDestCheck

sourceDestCheck: boolean;

Whether the network interface performs source/destination checking (Boolean).

property subnetId

subnetId: string;

The VPC subnet ID.

property tags

tags: {[key: string]: any};

A mapping of tags assigned to the Instance.

property tenancy

tenancy: string;

The tenancy of the instance: dedicated, default, host.

property userData

userData: string;

SHA-1 hash of User Data supplied to the Instance.

property userDataBase64

userDataBase64: string;

Base64 encoded contents of User Data supplied to the Instance. This attribute is only exported if getUserData is true.

property vpcSecurityGroupIds

vpcSecurityGroupIds: string[];

The associated security groups in a non-default VPC.

interface GetInstancesArgs

interface GetInstancesArgs

A collection of arguments for invoking getInstances.

property filters

filters?: GetInstancesFilter[];

One or more name/value pairs to use as filters. There are several valid keys, for a full reference, check out describe-instances in the AWS CLI reference.

property instanceStateNames

instanceStateNames?: string[];

A list of instance states that should be applicable to the desired instances. The permitted values are: pending, running, shutting-down, stopped, stopping, terminated. The default value is running.

property instanceTags

instanceTags?: undefined | {[key: string]: any};

A map of tags, each pair of which must exactly match a pair on desired instances.

interface GetInstancesResult

interface GetInstancesResult

A collection of values returned by getInstances.

property filters

filters?: GetInstancesFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

IDs of instances found through the filter

property instanceStateNames

instanceStateNames?: string[];

property instanceTags

instanceTags: {[key: string]: any};

property privateIps

privateIps: string[];

Private IP addresses of instances found through the filter

property publicIps

publicIps: string[];

Public IP addresses of instances found through the filter

interface GetInstanceTypeOfferingArgs

interface GetInstanceTypeOfferingArgs

A collection of arguments for invoking getInstanceTypeOffering.

property filters

filters?: GetInstanceTypeOfferingFilter[];

One or more configuration blocks containing name-values filters. See the EC2 API Reference for supported filters. Detailed below.

property locationType

locationType?: undefined | string;

Location type. Defaults to region. Valid values: availability-zone, availability-zone-id, and region.

property preferredInstanceTypes

preferredInstanceTypes?: string[];

Ordered list of preferred EC2 Instance Types. The first match in this list will be returned. If no preferred matches are found and the original search returned more than one result, an error is returned.

interface GetInstanceTypeOfferingResult

interface GetInstanceTypeOfferingResult

A collection of values returned by getInstanceTypeOffering.

property filters

filters?: GetInstanceTypeOfferingFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property instanceType

instanceType: string;

EC2 Instance Type.

property locationType

locationType?: undefined | string;

property preferredInstanceTypes

preferredInstanceTypes?: string[];

interface GetInstanceTypeOfferingsArgs

interface GetInstanceTypeOfferingsArgs

A collection of arguments for invoking getInstanceTypeOfferings.

property filters

filters?: GetInstanceTypeOfferingsFilter[];

One or more configuration blocks containing name-values filters. See the EC2 API Reference for supported filters. Detailed below.

property locationType

locationType?: undefined | string;

Location type. Defaults to region. Valid values: availability-zone, availability-zone-id, and region.

interface GetInstanceTypeOfferingsResult

interface GetInstanceTypeOfferingsResult

A collection of values returned by getInstanceTypeOfferings.

property filters

filters?: GetInstanceTypeOfferingsFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property instanceTypes

instanceTypes: string[];

Set of EC2 Instance Types.

property locationType

locationType?: undefined | string;

interface GetInternetGatewayArgs

interface GetInternetGatewayArgs

A collection of arguments for invoking getInternetGateway.

property filters

filters?: GetInternetGatewayFilter[];

Custom filter block as described below.

property internetGatewayId

internetGatewayId?: undefined | string;

The id of the specific Internet Gateway to retrieve.

property tags

tags?: undefined | {[key: string]: any};

A map of tags, each pair of which must exactly match a pair on the desired Internet Gateway.

interface GetInternetGatewayResult

interface GetInternetGatewayResult

A collection of values returned by getInternetGateway.

property attachments

attachments: GetInternetGatewayAttachment[];

property filters

filters?: GetInternetGatewayFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property internetGatewayId

internetGatewayId: string;

property ownerId

ownerId: string;

The ID of the AWS account that owns the internet gateway.

property tags

tags: {[key: string]: any};

interface GetLaunchConfigurationArgs

interface GetLaunchConfigurationArgs

A collection of arguments for invoking getLaunchConfiguration.

property name

name: string;

The name of the launch configuration.

interface GetLaunchConfigurationResult

interface GetLaunchConfigurationResult

A collection of values returned by getLaunchConfiguration.

property arn

arn: string;

The Amazon Resource Name of the launch configuration.

property associatePublicIpAddress

associatePublicIpAddress: boolean;

Whether a Public IP address is associated with the instance.

property ebsBlockDevices

ebsBlockDevices: GetLaunchConfigurationEbsBlockDevice[];

The EBS Block Devices attached to the instance.

property ebsOptimized

ebsOptimized: boolean;

Whether the launched EC2 instance will be EBS-optimized.

property enableMonitoring

enableMonitoring: boolean;

Whether Detailed Monitoring is Enabled.

property ephemeralBlockDevices

ephemeralBlockDevices: GetLaunchConfigurationEphemeralBlockDevice[];

The Ephemeral volumes on the instance.

property iamInstanceProfile

iamInstanceProfile: string;

The IAM Instance Profile to associate with launched instances.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property imageId

imageId: string;

The EC2 Image ID of the instance.

property instanceType

instanceType: string;

The Instance Type of the instance to launch.

property keyName

keyName: string;

The Key Name that should be used for the instance.

property name

name: string;

The Name of the launch configuration.

property placementTenancy

placementTenancy: string;

The Tenancy of the instance.

property rootBlockDevices

rootBlockDevices: GetLaunchConfigurationRootBlockDevice[];

The Root Block Device of the instance.

property securityGroups

securityGroups: string[];

A list of associated Security Group IDS.

property spotPrice

spotPrice: string;

The Price to use for reserving Spot instances.

property userData

userData: string;

The User Data of the instance.

property vpcClassicLinkId

vpcClassicLinkId: string;

The ID of a ClassicLink-enabled VPC.

property vpcClassicLinkSecurityGroups

vpcClassicLinkSecurityGroups: string[];

The IDs of one or more Security Groups for the specified ClassicLink-enabled VPC.

interface GetLaunchTemplateArgs

interface GetLaunchTemplateArgs

A collection of arguments for invoking getLaunchTemplate.

property filters

filters?: GetLaunchTemplateFilter[];

Configuration block(s) for filtering. Detailed below.

property name

name?: undefined | string;

The name of the filter field. Valid values can be found in the EC2 DescribeLaunchTemplates API Reference.

property tags

tags?: undefined | {[key: string]: any};

A map of tags, each pair of which must exactly match a pair on the desired Launch Template.

interface GetLaunchTemplateResult

interface GetLaunchTemplateResult

A collection of values returned by getLaunchTemplate.

property arn

arn: string;

Amazon Resource Name (ARN) of the launch template.

property blockDeviceMappings

blockDeviceMappings: GetLaunchTemplateBlockDeviceMapping[];

Specify volumes to attach to the instance besides the volumes specified by the AMI.

property creditSpecifications

creditSpecifications: GetLaunchTemplateCreditSpecification[];

Customize the credit specification of the instance. See Credit Specification below for more details.

property defaultVersion

defaultVersion: number;

The default version of the launch template.

property description

description: string;

Description of the launch template.

property disableApiTermination

disableApiTermination: boolean;

If true, enables EC2 Instance Termination Protection

property ebsOptimized

ebsOptimized: string;

If true, the launched EC2 instance will be EBS-optimized.

property elasticGpuSpecifications

elasticGpuSpecifications: GetLaunchTemplateElasticGpuSpecification[];

The elastic GPU to attach to the instance. See Elastic GPU below for more details.

property filters

filters?: GetLaunchTemplateFilter[];

property hibernationOptions

hibernationOptions: GetLaunchTemplateHibernationOption[];

The hibernation options for the instance.

property iamInstanceProfiles

iamInstanceProfiles: GetLaunchTemplateIamInstanceProfile[];

The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property imageId

imageId: string;

The AMI from which to launch the instance.

property instanceInitiatedShutdownBehavior

instanceInitiatedShutdownBehavior: string;

Shutdown behavior for the instance. Can be stop or terminate. (Default: stop).

property instanceMarketOptions

instanceMarketOptions: GetLaunchTemplateInstanceMarketOption[];

The market (purchasing) option for the instance. below for details.

property instanceType

instanceType: string;

The type of the instance.

property kernelId

kernelId: string;

The kernel ID.

property keyName

keyName: string;

The key name to use for the instance.

property latestVersion

latestVersion: number;

The latest version of the launch template.

property metadataOptions

metadataOptions: GetLaunchTemplateMetadataOption[];

The metadata options for the instance.

property monitorings

monitorings: GetLaunchTemplateMonitoring[];

The monitoring option for the instance.

property name

name?: undefined | string;

property networkInterfaces

networkInterfaces: GetLaunchTemplateNetworkInterface[];

Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.

property placements

placements: GetLaunchTemplatePlacement[];

The placement of the instance.

property ramDiskId

ramDiskId: string;

The ID of the RAM disk.

property securityGroupNames

securityGroupNames: string[];

A list of security group names to associate with. If you are creating Instances in a VPC, use vpcSecurityGroupIds instead.

property tagSpecifications

tagSpecifications: GetLaunchTemplateTagSpecification[];

The tags to apply to the resources during launch.

property tags

tags: {[key: string]: any};

(Optional) A map of tags to assign to the launch template.

property userData

userData: string;

The Base64-encoded user data to provide when launching the instance.

property vpcSecurityGroupIds

vpcSecurityGroupIds: string[];

A list of security group IDs to associate with.

interface GetLocalGatewayArgs

interface GetLocalGatewayArgs

A collection of arguments for invoking getLocalGateway.

property filters

filters?: GetLocalGatewayFilter[];

Custom filter block as described below.

property id

id?: undefined | string;

The id of the specific Local Gateway to retrieve.

property state

state?: undefined | string;

The current state of the desired Local Gateway. Can be either "pending" or "available".

property tags

tags?: undefined | {[key: string]: any};

A mapping of tags, each pair of which must exactly match a pair on the desired Local Gateway.

interface GetLocalGatewayResult

interface GetLocalGatewayResult

A collection of values returned by getLocalGateway.

property filters

filters?: GetLocalGatewayFilter[];

property id

id: string;

property outpostArn

outpostArn: string;

Amazon Resource Name (ARN) of Outpost

property ownerId

ownerId: string;

AWS account identifier that owns the Local Gateway.

property state

state: string;

State of the local gateway.

property tags

tags: {[key: string]: any};

interface GetLocalGatewayRouteTableArgs

interface GetLocalGatewayRouteTableArgs

A collection of arguments for invoking getLocalGatewayRouteTable.

property filters

filters?: GetLocalGatewayRouteTableFilter[];

property localGatewayId

localGatewayId?: undefined | string;

The id of the specific local gateway route table to retrieve.

property localGatewayRouteTableId

localGatewayRouteTableId?: undefined | string;

Local Gateway Route Table Id assigned to desired local gateway route table

property outpostArn

outpostArn?: undefined | string;

The arn of the Outpost the local gateway route table is associated with.

property state

state?: undefined | string;

The state of the local gateway route table.

property tags

tags?: undefined | {[key: string]: any};

A mapping of tags, each pair of which must exactly match a pair on the desired local gateway route table.

interface GetLocalGatewayRouteTableResult

interface GetLocalGatewayRouteTableResult

A collection of values returned by getLocalGatewayRouteTable.

property filters

filters?: GetLocalGatewayRouteTableFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property localGatewayId

localGatewayId: string;

property localGatewayRouteTableId

localGatewayRouteTableId: string;

property outpostArn

outpostArn: string;

property state

state: string;

property tags

tags: {[key: string]: any};

interface GetLocalGatewayRouteTablesArgs

interface GetLocalGatewayRouteTablesArgs

A collection of arguments for invoking getLocalGatewayRouteTables.

property filters

filters?: GetLocalGatewayRouteTablesFilter[];

Custom filter block as described below.

property tags

tags?: undefined | {[key: string]: any};

A mapping of tags, each pair of which must exactly match a pair on the desired local gateway route table.

interface GetLocalGatewayRouteTablesResult

interface GetLocalGatewayRouteTablesResult

A collection of values returned by getLocalGatewayRouteTables.

property filters

filters?: GetLocalGatewayRouteTablesFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

Set of Local Gateway Route Table identifiers

property tags

tags: {[key: string]: any};

interface GetLocalGatewaysArgs

interface GetLocalGatewaysArgs

A collection of arguments for invoking getLocalGateways.

property filters

filters?: GetLocalGatewaysFilter[];

Custom filter block as described below.

property tags

tags?: undefined | {[key: string]: any};

A mapping of tags, each pair of which must exactly match a pair on the desired local_gateways.

interface GetLocalGatewaysResult

interface GetLocalGatewaysResult

A collection of values returned by getLocalGateways.

property filters

filters?: GetLocalGatewaysFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

Set of all the Local Gateway identifiers

property tags

tags: {[key: string]: any};

interface GetNatGatewayArgs

interface GetNatGatewayArgs

A collection of arguments for invoking getNatGateway.

property filters

filters?: GetNatGatewayFilter[];

Custom filter block as described below.

property id

id?: undefined | string;

The id of the specific Nat Gateway to retrieve.

property state

state?: undefined | string;

The state of the NAT gateway (pending | failed | available | deleting | deleted ).

property subnetId

subnetId?: undefined | string;

The id of subnet that the Nat Gateway resides in.

property tags

tags?: undefined | {[key: string]: any};

A map of tags, each pair of which must exactly match a pair on the desired Nat Gateway.

property vpcId

vpcId?: undefined | string;

The id of the VPC that the Nat Gateway resides in.

interface GetNatGatewayResult

interface GetNatGatewayResult

A collection of values returned by getNatGateway.

property allocationId

allocationId: string;

The Id of the EIP allocated to the selected Nat Gateway.

property filters

filters?: GetNatGatewayFilter[];

property id

id: string;

property networkInterfaceId

networkInterfaceId: string;

The Id of the ENI allocated to the selected Nat Gateway.

property privateIp

privateIp: string;

The private Ip address of the selected Nat Gateway.

property publicIp

publicIp: string;

The public Ip (EIP) address of the selected Nat Gateway.

property state

state: string;

property subnetId

subnetId: string;

property tags

tags: {[key: string]: any};

property vpcId

vpcId: string;

interface GetNetworkAclsArgs

interface GetNetworkAclsArgs

A collection of arguments for invoking getNetworkAcls.

property filters

filters?: GetNetworkAclsFilter[];

Custom filter block as described below.

property tags

tags?: undefined | {[key: string]: any};

A map of tags, each pair of which must exactly match a pair on the desired network ACLs.

property vpcId

vpcId?: undefined | string;

The VPC ID that you want to filter from.

interface GetNetworkAclsResult

interface GetNetworkAclsResult

A collection of values returned by getNetworkAcls.

property filters

filters?: GetNetworkAclsFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

A list of all the network ACL ids found. This data source will fail if none are found.

property tags

tags: {[key: string]: any};

property vpcId

vpcId?: undefined | string;

interface GetNetworkInterfaceArgs

interface GetNetworkInterfaceArgs

A collection of arguments for invoking getNetworkInterface.

property filters

filters?: GetNetworkInterfaceFilter[];

One or more name/value pairs to filter off of. There are several valid keys, for a full reference, check out describe-network-interfaces in the AWS CLI reference.

property id

id?: undefined | string;

The identifier for the network interface.

property tags

tags?: undefined | {[key: string]: any};

Any tags assigned to the network interface.

interface GetNetworkInterfaceResult

interface GetNetworkInterfaceResult

A collection of values returned by getNetworkInterface.

property associations

associations: GetNetworkInterfaceAssociation[];

The association information for an Elastic IP address (IPv4) associated with the network interface. See supported fields below.

property attachments

attachments: GetNetworkInterfaceAttachment[];

property availabilityZone

availabilityZone: string;

The Availability Zone.

property description

description: string;

Description of the network interface.

property filters

filters?: GetNetworkInterfaceFilter[];

property id

id: string;

property interfaceType

interfaceType: string;

The type of interface.

property ipv6Addresses

ipv6Addresses: string[];

List of IPv6 addresses to assign to the ENI.

property macAddress

macAddress: string;

The MAC address.

property outpostArn

outpostArn: string;

The Amazon Resource Name (ARN) of the Outpost.

property ownerId

ownerId: string;

The AWS account ID of the owner of the network interface.

property privateDnsName

privateDnsName: string;

The private DNS name.

property privateIp

privateIp: string;

The private IPv4 address of the network interface within the subnet.

property privateIps

privateIps: string[];

The private IPv4 addresses associated with the network interface.

property requesterId

requesterId: string;

The ID of the entity that launched the instance on your behalf.

property securityGroups

securityGroups: string[];

The list of security groups for the network interface.

property subnetId

subnetId: string;

The ID of the subnet.

property tags

tags: {[key: string]: any};

Any tags assigned to the network interface.

property vpcId

vpcId: string;

The ID of the VPC.

interface GetNetworkInterfacesArgs

interface GetNetworkInterfacesArgs

A collection of arguments for invoking getNetworkInterfaces.

property filters

filters?: GetNetworkInterfacesFilter[];

Custom filter block as described below.

property tags

tags?: undefined | {[key: string]: any};

A map of tags, each pair of which must exactly match a pair on the desired network interfaces.

interface GetNetworkInterfacesResult

interface GetNetworkInterfacesResult

A collection of values returned by getNetworkInterfaces.

property filters

filters?: GetNetworkInterfacesFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

A list of all the network interface ids found. This data source will fail if none are found.

property tags

tags: {[key: string]: any};

interface GetRouteArgs

interface GetRouteArgs

A collection of arguments for invoking getRoute.

property destinationCidrBlock

destinationCidrBlock?: undefined | string;

The CIDR block of the Route belonging to the Route Table.

property destinationIpv6CidrBlock

destinationIpv6CidrBlock?: undefined | string;

The IPv6 CIDR block of the Route belonging to the Route Table.

property egressOnlyGatewayId

egressOnlyGatewayId?: undefined | string;

The Egress Only Gateway ID of the Route belonging to the Route Table.

property gatewayId

gatewayId?: undefined | string;

The Gateway ID of the Route belonging to the Route Table.

property instanceId

instanceId?: undefined | string;

The Instance ID of the Route belonging to the Route Table.

property natGatewayId

natGatewayId?: undefined | string;

The NAT Gateway ID of the Route belonging to the Route Table.

property networkInterfaceId

networkInterfaceId?: undefined | string;

The Network Interface ID of the Route belonging to the Route Table.

property routeTableId

routeTableId: string;

The id of the specific Route Table containing the Route entry.

property transitGatewayId

transitGatewayId?: undefined | string;

The EC2 Transit Gateway ID of the Route belonging to the Route Table.

property vpcPeeringConnectionId

vpcPeeringConnectionId?: undefined | string;

The VPC Peering Connection ID of the Route belonging to the Route Table.

interface GetRouteResult

interface GetRouteResult

A collection of values returned by getRoute.

property destinationCidrBlock

destinationCidrBlock: string;

property destinationIpv6CidrBlock

destinationIpv6CidrBlock: string;

property egressOnlyGatewayId

egressOnlyGatewayId: string;

property gatewayId

gatewayId: string;

property id

id: string;

The provider-assigned unique ID for this managed resource.

property instanceId

instanceId: string;

property natGatewayId

natGatewayId: string;

property networkInterfaceId

networkInterfaceId: string;

property routeTableId

routeTableId: string;

property transitGatewayId

transitGatewayId: string;

property vpcPeeringConnectionId

vpcPeeringConnectionId: string;

interface GetRouteTableArgs

interface GetRouteTableArgs

A collection of arguments for invoking getRouteTable.

property filters

filters?: GetRouteTableFilter[];

Custom filter block as described below.

property gatewayId

gatewayId?: undefined | string;

The id of an Internet Gateway or Virtual Private Gateway which is connected to the Route Table (not exported if not passed as a parameter).

property routeTableId

routeTableId?: undefined | string;

The id of the specific Route Table to retrieve.

property subnetId

subnetId?: undefined | string;

The id of a Subnet which is connected to the Route Table (not exported if not passed as a parameter).

property tags

tags?: undefined | {[key: string]: any};

A map of tags, each pair of which must exactly match a pair on the desired Route Table.

property vpcId

vpcId?: undefined | string;

The id of the VPC that the desired Route Table belongs to.

interface GetRouteTableResult

interface GetRouteTableResult

A collection of values returned by getRouteTable.

property associations

associations: GetRouteTableAssociation[];

property filters

filters?: GetRouteTableFilter[];

property gatewayId

gatewayId: string;

The Gateway ID. Only set when associated with an Internet Gateway or Virtual Private Gateway.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ownerId

ownerId: string;

The ID of the AWS account that owns the route table

property routeTableId

routeTableId: string;

The Route Table ID.

property routes

routes: GetRouteTableRoute[];

property subnetId

subnetId: string;

The Subnet ID. Only set when associated with a Subnet.

property tags

tags: {[key: string]: any};

property vpcId

vpcId: string;

interface GetRouteTablesArgs

interface GetRouteTablesArgs

A collection of arguments for invoking getRouteTables.

property filters

filters?: GetRouteTablesFilter[];

Custom filter block as described below.

property tags

tags?: undefined | {[key: string]: any};

A map of tags, each pair of which must exactly match a pair on the desired route tables.

property vpcId

vpcId?: undefined | string;

The VPC ID that you want to filter from.

interface GetRouteTablesResult

interface GetRouteTablesResult

A collection of values returned by getRouteTables.

property filters

filters?: GetRouteTablesFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

A set of all the route table ids found. This data source will fail if none are found.

property tags

tags: {[key: string]: any};

property vpcId

vpcId?: undefined | string;

interface GetSecurityGroupArgs

interface GetSecurityGroupArgs

A collection of arguments for invoking getSecurityGroup.

property filters

filters?: GetSecurityGroupFilter[];

Custom filter block as described below.

property id

id?: undefined | string;

The id of the specific security group to retrieve.

property name

name?: undefined | string;

The name of the field to filter by, as defined by the underlying AWS API.

property tags

tags?: undefined | {[key: string]: any};

A map of tags, each pair of which must exactly match a pair on the desired security group.

property vpcId

vpcId?: undefined | string;

The id of the VPC that the desired security group belongs to.

interface GetSecurityGroupResult

interface GetSecurityGroupResult

A collection of values returned by getSecurityGroup.

property arn

arn: string;

The computed ARN of the security group.

property description

description: string;

The description of the security group.

property filters

filters?: GetSecurityGroupFilter[];

property id

id: string;

property name

name: string;

property tags

tags: {[key: string]: any};

property vpcId

vpcId: string;

interface GetSecurityGroupsArgs

interface GetSecurityGroupsArgs

A collection of arguments for invoking getSecurityGroups.

property filters

filters?: GetSecurityGroupsFilter[];

One or more name/value pairs to use as filters. There are several valid keys, for a full reference, check out describe-security-groups in the AWS CLI reference.

property tags

tags?: undefined | {[key: string]: any};

A map of tags, each pair of which must exactly match for desired security groups.

interface GetSecurityGroupsResult

interface GetSecurityGroupsResult

A collection of values returned by getSecurityGroups.

property filters

filters?: GetSecurityGroupsFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

IDs of the matches security groups.

property tags

tags: {[key: string]: any};

property vpcIds

vpcIds: string[];

The VPC IDs of the matched security groups. The data source’s tag or filter will span VPCs unless the vpc-id filter is also used.

interface GetSubnetArgs

interface GetSubnetArgs

A collection of arguments for invoking getSubnet.

property availabilityZone

availabilityZone?: undefined | string;

The availability zone where the subnet must reside.

property availabilityZoneId

availabilityZoneId?: undefined | string;

The ID of the Availability Zone for the subnet.

property cidrBlock

cidrBlock?: undefined | string;

The cidr block of the desired subnet.

property defaultForAz

defaultForAz?: undefined | false | true;

Boolean constraint for whether the desired subnet must be the default subnet for its associated availability zone.

property filters

filters?: GetSubnetFilter[];

Custom filter block as described below.

property id

id?: undefined | string;

The id of the specific subnet to retrieve.

property ipv6CidrBlock

ipv6CidrBlock?: undefined | string;

The Ipv6 cidr block of the desired subnet

property state

state?: undefined | string;

The state that the desired subnet must have.

property tags

tags?: undefined | {[key: string]: any};

A map of tags, each pair of which must exactly match a pair on the desired subnet.

property vpcId

vpcId?: undefined | string;

The id of the VPC that the desired subnet belongs to.

interface GetSubnetIdsArgs

interface GetSubnetIdsArgs

A collection of arguments for invoking getSubnetIds.

property filters

filters?: GetSubnetIdsFilter[];

Custom filter block as described below.

property tags

tags?: undefined | {[key: string]: any};

A map of tags, each pair of which must exactly match a pair on the desired subnets.

property vpcId

vpcId: string;

The VPC ID that you want to filter from.

interface GetSubnetIdsResult

interface GetSubnetIdsResult

A collection of values returned by getSubnetIds.

property filters

filters?: GetSubnetIdsFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

A set of all the subnet ids found. This data source will fail if none are found.

property tags

tags: {[key: string]: any};

property vpcId

vpcId: string;

interface GetSubnetResult

interface GetSubnetResult

A collection of values returned by getSubnet.

property arn

arn: string;

The ARN of the subnet.

property assignIpv6AddressOnCreation

assignIpv6AddressOnCreation: boolean;

property availabilityZone

availabilityZone: string;

property availabilityZoneId

availabilityZoneId: string;

property cidrBlock

cidrBlock: string;

property defaultForAz

defaultForAz: boolean;

property filters

filters?: GetSubnetFilter[];

property id

id: string;

property ipv6CidrBlock

ipv6CidrBlock: string;

property ipv6CidrBlockAssociationId

ipv6CidrBlockAssociationId: string;

property mapPublicIpOnLaunch

mapPublicIpOnLaunch: boolean;

property outpostArn

outpostArn: string;

The Amazon Resource Name (ARN) of the Outpost.

property ownerId

ownerId: string;

The ID of the AWS account that owns the subnet.

property state

state: string;

property tags

tags: {[key: string]: any};

property vpcId

vpcId: string;

interface GetVpcArgs

interface GetVpcArgs

A collection of arguments for invoking getVpc.

property cidrBlock

cidrBlock?: undefined | string;

The cidr block of the desired VPC.

property default

default?: undefined | false | true;

Boolean constraint on whether the desired VPC is the default VPC for the region.

property dhcpOptionsId

dhcpOptionsId?: undefined | string;

The DHCP options id of the desired VPC.

property filters

filters?: GetVpcFilter[];

Custom filter block as described below.

property id

id?: undefined | string;

The id of the specific VPC to retrieve.

property state

state?: undefined | string;

The current state of the desired VPC. Can be either "pending" or "available".

property tags

tags?: undefined | {[key: string]: any};

A map of tags, each pair of which must exactly match a pair on the desired VPC.

interface GetVpcDhcpOptionsArgs

interface GetVpcDhcpOptionsArgs

A collection of arguments for invoking getVpcDhcpOptions.

property dhcpOptionsId

dhcpOptionsId?: undefined | string;

The EC2 DHCP Options ID.

property filters

filters?: GetVpcDhcpOptionsFilter[];

List of custom filters as described below.

property tags

tags?: undefined | {[key: string]: any};

A map of tags assigned to the resource.

interface GetVpcDhcpOptionsResult

interface GetVpcDhcpOptionsResult

A collection of values returned by getVpcDhcpOptions.

property dhcpOptionsId

dhcpOptionsId: string;

EC2 DHCP Options ID

property domainName

domainName: string;

The suffix domain name to used when resolving non Fully Qualified Domain Names. e.g. the search value in the /etc/resolv.conf file.

property domainNameServers

domainNameServers: string[];

List of name servers.

property filters

filters?: GetVpcDhcpOptionsFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property netbiosNameServers

netbiosNameServers: string[];

List of NETBIOS name servers.

property netbiosNodeType

netbiosNodeType: string;

The NetBIOS node type (1, 2, 4, or 8). For more information about these node types, see RFC 2132.

property ntpServers

ntpServers: string[];

List of NTP servers.

property ownerId

ownerId: string;

The ID of the AWS account that owns the DHCP options set.

property tags

tags: {[key: string]: any};

A map of tags assigned to the resource.

interface GetVpcEndpointArgs

interface GetVpcEndpointArgs

A collection of arguments for invoking getVpcEndpoint.

property filters

filters?: GetVpcEndpointFilter[];

Custom filter block as described below.

property id

id?: undefined | string;

The ID of the specific VPC Endpoint to retrieve.

property serviceName

serviceName?: undefined | string;

The service name of the specific VPC Endpoint to retrieve. For AWS services the service name is usually in the form com.amazonaws.<region>.<service> (the SageMaker Notebook service is an exception to this rule, the service name is in the form aws.sagemaker.<region>.notebook).

property state

state?: undefined | string;

The state of the specific VPC Endpoint to retrieve.

property tags

tags?: undefined | {[key: string]: any};

A map of tags, each pair of which must exactly match a pair on the specific VPC Endpoint to retrieve.

property vpcId

vpcId?: undefined | string;

The ID of the VPC in which the specific VPC Endpoint is used.

interface GetVpcEndpointResult

interface GetVpcEndpointResult

A collection of values returned by getVpcEndpoint.

property cidrBlocks

cidrBlocks: string[];

The list of CIDR blocks for the exposed AWS service. Applicable for endpoints of type Gateway.

property dnsEntries

dnsEntries: GetVpcEndpointDnsEntry[];

The DNS entries for the VPC Endpoint. Applicable for endpoints of type Interface. DNS blocks are documented below.

property filters

filters?: GetVpcEndpointFilter[];

property id

id: string;

property networkInterfaceIds

networkInterfaceIds: string[];

One or more network interfaces for the VPC Endpoint. Applicable for endpoints of type Interface.

property ownerId

ownerId: string;

The ID of the AWS account that owns the VPC endpoint.

property policy

policy: string;

The policy document associated with the VPC Endpoint. Applicable for endpoints of type Gateway.

property prefixListId

prefixListId: string;

The prefix list ID of the exposed AWS service. Applicable for endpoints of type Gateway.

property privateDnsEnabled

privateDnsEnabled: boolean;

Whether or not the VPC is associated with a private hosted zone - true or false. Applicable for endpoints of type Interface.

property requesterManaged

requesterManaged: boolean;

Whether or not the VPC Endpoint is being managed by its service - true or false.

property routeTableIds

routeTableIds: string[];

One or more route tables associated with the VPC Endpoint. Applicable for endpoints of type Gateway.

property securityGroupIds

securityGroupIds: string[];

One or more security groups associated with the network interfaces. Applicable for endpoints of type Interface.

property serviceName

serviceName: string;

property state

state: string;

property subnetIds

subnetIds: string[];

One or more subnets in which the VPC Endpoint is located. Applicable for endpoints of type Interface.

property tags

tags: {[key: string]: any};

property vpcEndpointType

vpcEndpointType: string;

The VPC Endpoint type, Gateway or Interface.

property vpcId

vpcId: string;

interface GetVpcEndpointServiceArgs

interface GetVpcEndpointServiceArgs

A collection of arguments for invoking getVpcEndpointService.

property filters

filters?: GetVpcEndpointServiceFilter[];

Configuration block(s) for filtering. Detailed below.

property service

service?: undefined | string;

The common name of an AWS service (e.g. s3).

property serviceName

serviceName?: undefined | string;

The service name that is specified when creating a VPC endpoint. For AWS services the service name is usually in the form com.amazonaws.<region>.<service> (the SageMaker Notebook service is an exception to this rule, the service name is in the form aws.sagemaker.<region>.notebook).

property tags

tags?: undefined | {[key: string]: any};

A map of tags, each pair of which must exactly match a pair on the desired VPC Endpoint Service.

interface GetVpcEndpointServiceResult

interface GetVpcEndpointServiceResult

A collection of values returned by getVpcEndpointService.

property acceptanceRequired

acceptanceRequired: boolean;

Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - true or false.

property availabilityZones

availabilityZones: string[];

The Availability Zones in which the service is available.

property baseEndpointDnsNames

baseEndpointDnsNames: string[];

The DNS names for the service.

property filters

filters?: GetVpcEndpointServiceFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property managesVpcEndpoints

managesVpcEndpoints: boolean;

Whether or not the service manages its VPC endpoints - true or false.

property owner

owner: string;

The AWS account ID of the service owner or amazon.

property privateDnsName

privateDnsName: string;

The private DNS name for the service.

property service

service?: undefined | string;

property serviceId

serviceId: string;

The ID of the endpoint service.

property serviceName

serviceName: string;

property serviceType

serviceType: string;

The service type, Gateway or Interface.

property tags

tags: {[key: string]: any};

A map of tags assigned to the resource.

property vpcEndpointPolicySupported

vpcEndpointPolicySupported: boolean;

Whether or not the service supports endpoint policies - true or false.

interface GetVpcPeeringConnectionArgs

interface GetVpcPeeringConnectionArgs

A collection of arguments for invoking getVpcPeeringConnection.

property cidrBlock

cidrBlock?: undefined | string;

The CIDR block of the requester VPC of the specific VPC Peering Connection to retrieve.

property filters

filters?: GetVpcPeeringConnectionFilter[];

Custom filter block as described below.

property id

id?: undefined | string;

The ID of the specific VPC Peering Connection to retrieve.

property ownerId

ownerId?: undefined | string;

The AWS account ID of the owner of the requester VPC of the specific VPC Peering Connection to retrieve.

property peerCidrBlock

peerCidrBlock?: undefined | string;

The CIDR block of the accepter VPC of the specific VPC Peering Connection to retrieve.

property peerOwnerId

peerOwnerId?: undefined | string;

The AWS account ID of the owner of the accepter VPC of the specific VPC Peering Connection to retrieve.

property peerRegion

peerRegion?: undefined | string;

The region of the accepter VPC of the specific VPC Peering Connection to retrieve.

property peerVpcId

peerVpcId?: undefined | string;

The ID of the accepter VPC of the specific VPC Peering Connection to retrieve.

property region

region?: undefined | string;

The region of the requester VPC of the specific VPC Peering Connection to retrieve.

property status

status?: undefined | string;

The status of the specific VPC Peering Connection to retrieve.

property tags

tags?: undefined | {[key: string]: any};

A map of tags, each pair of which must exactly match a pair on the desired VPC Peering Connection.

property vpcId

vpcId?: undefined | string;

The ID of the requester VPC of the specific VPC Peering Connection to retrieve.

interface GetVpcPeeringConnectionResult

interface GetVpcPeeringConnectionResult

A collection of values returned by getVpcPeeringConnection.

property accepter

accepter: {[key: string]: boolean};

A configuration block that describes VPC Peering Connection options set for the accepter VPC.

property cidrBlock

cidrBlock: string;

property filters

filters?: GetVpcPeeringConnectionFilter[];

property id

id: string;

property ownerId

ownerId: string;

property peerCidrBlock

peerCidrBlock: string;

property peerOwnerId

peerOwnerId: string;

property peerRegion

peerRegion: string;

property peerVpcId

peerVpcId: string;

property region

region: string;

property requester

requester: {[key: string]: boolean};

A configuration block that describes VPC Peering Connection options set for the requester VPC.

property status

status: string;

property tags

tags: {[key: string]: any};

property vpcId

vpcId: string;

interface GetVpcResult

interface GetVpcResult

A collection of values returned by getVpc.

property arn

arn: string;

Amazon Resource Name (ARN) of VPC

property cidrBlock

cidrBlock: string;

The CIDR block for the association.

property cidrBlockAssociations

cidrBlockAssociations: GetVpcCidrBlockAssociation[];

property default

default: boolean;

property dhcpOptionsId

dhcpOptionsId: string;

property enableDnsHostnames

enableDnsHostnames: boolean;

Whether or not the VPC has DNS hostname support

property enableDnsSupport

enableDnsSupport: boolean;

Whether or not the VPC has DNS support

property filters

filters?: GetVpcFilter[];

property id

id: string;

property instanceTenancy

instanceTenancy: string;

The allowed tenancy of instances launched into the selected VPC. May be any of "default", "dedicated", or "host".

property ipv6AssociationId

ipv6AssociationId: string;

The association ID for the IPv6 CIDR block.

property ipv6CidrBlock

ipv6CidrBlock: string;

The IPv6 CIDR block.

property mainRouteTableId

mainRouteTableId: string;

The ID of the main route table associated with this VPC.

property ownerId

ownerId: string;

The ID of the AWS account that owns the VPC.

property state

state: string;

The State of the association.

property tags

tags: {[key: string]: any};

interface GetVpcsArgs

interface GetVpcsArgs

A collection of arguments for invoking getVpcs.

property filters

filters?: GetVpcsFilter[];

Custom filter block as described below.

property tags

tags?: undefined | {[key: string]: any};

A map of tags, each pair of which must exactly match a pair on the desired vpcs.

interface GetVpcsResult

interface GetVpcsResult

A collection of values returned by getVpcs.

property filters

filters?: GetVpcsFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

A list of all the VPC Ids found. This data source will fail if none are found.

property tags

tags: {[key: string]: any};

interface GetVpnGatewayArgs

interface GetVpnGatewayArgs

A collection of arguments for invoking getVpnGateway.

property amazonSideAsn

amazonSideAsn?: undefined | string;

The Autonomous System Number (ASN) for the Amazon side of the specific VPN Gateway to retrieve.

property attachedVpcId

attachedVpcId?: undefined | string;

The ID of a VPC attached to the specific VPN Gateway to retrieve.

property availabilityZone

availabilityZone?: undefined | string;

The Availability Zone of the specific VPN Gateway to retrieve.

property filters

filters?: GetVpnGatewayFilter[];

Custom filter block as described below.

property id

id?: undefined | string;

The ID of the specific VPN Gateway to retrieve.

property state

state?: undefined | string;

The state of the specific VPN Gateway to retrieve.

property tags

tags?: undefined | {[key: string]: any};

A map of tags, each pair of which must exactly match a pair on the desired VPN Gateway.

interface GetVpnGatewayResult

interface GetVpnGatewayResult

A collection of values returned by getVpnGateway.

property amazonSideAsn

amazonSideAsn: string;

property attachedVpcId

attachedVpcId: string;

property availabilityZone

availabilityZone: string;

property filters

filters?: GetVpnGatewayFilter[];

property id

id: string;

property state

state: string;

property tags

tags: {[key: string]: any};

const ICMPProtocol

const ICMPProtocol: ProtocolType = "icmp";

interface InstanceArgs

interface InstanceArgs

The set of arguments for constructing a Instance resource.

property ami

ami: pulumi.Input<string>;

The AMI to use for the instance.

property associatePublicIpAddress

associatePublicIpAddress?: pulumi.Input<boolean>;

Associate a public ip address with an instance in a VPC. Boolean value.

property availabilityZone

availabilityZone?: pulumi.Input<string>;

The AZ to start the instance in.

property cpuCoreCount

cpuCoreCount?: pulumi.Input<number>;

Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.

property cpuThreadsPerCore

cpuThreadsPerCore?: pulumi.Input<number>;

If set to to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

property creditSpecification

creditSpecification?: pulumi.Input<InstanceCreditSpecification>;

Customize the credit specification of the instance. See Credit Specification below for more details.

property disableApiTermination

disableApiTermination?: pulumi.Input<boolean>;

If true, enables EC2 Instance Termination Protection

property ebsBlockDevices

ebsBlockDevices?: pulumi.Input<pulumi.Input<InstanceEbsBlockDevice>[]>;

Additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection.

property ebsOptimized

ebsOptimized?: pulumi.Input<boolean>;

If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.

property ephemeralBlockDevices

ephemeralBlockDevices?: pulumi.Input<pulumi.Input<InstanceEphemeralBlockDevice>[]>;

Customize Ephemeral (also known as “Instance Store”) volumes on the instance. See Block Devices below for details.

property getPasswordData

getPasswordData?: pulumi.Input<boolean>;

If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the passwordData attribute. See GetPasswordData for more information.

property hibernation

hibernation?: pulumi.Input<boolean>;

If true, the launched EC2 instance will support hibernation.

property hostId

hostId?: pulumi.Input<string>;

The Id of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.

property iamInstanceProfile

iamInstanceProfile?: pulumi.Input<string | InstanceProfile>;

The IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.

property instanceInitiatedShutdownBehavior

instanceInitiatedShutdownBehavior?: pulumi.Input<string>;

Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.

property instanceType

instanceType: pulumi.Input<InstanceType>;

The type of instance to start. Updates to this field will trigger a stop/start of the EC2 instance.

property ipv6AddressCount

ipv6AddressCount?: pulumi.Input<number>;

A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.

property ipv6Addresses

ipv6Addresses?: pulumi.Input<pulumi.Input<string>[]>;

Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface

property keyName

keyName?: pulumi.Input<string>;

The key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.

property metadataOptions

metadataOptions?: pulumi.Input<InstanceMetadataOptions>;

Customize the metadata options of the instance. See Metadata Options below for more details.

property monitoring

monitoring?: pulumi.Input<boolean>;

If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)

property networkInterfaces

networkInterfaces?: pulumi.Input<pulumi.Input<InstanceNetworkInterface>[]>;

Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.

property placementGroup

placementGroup?: pulumi.Input<string>;

The Placement Group to start the instance in.

property privateIp

privateIp?: pulumi.Input<string>;

Private IP address to associate with the instance in a VPC.

property rootBlockDevice

rootBlockDevice?: pulumi.Input<InstanceRootBlockDevice>;

Customize details about the root block device of the instance. See Block Devices below for details.

property securityGroups

DEPRECATED Use of securityGroups is discouraged as it does not allow for changes and will force your instance to be replaced if changes are made. To avoid this, use vpcSecurityGroupIds which allows for updates.
securityGroups?: pulumi.Input<pulumi.Input<string>[]>;

A list of security group names (EC2-Classic) or IDs (default VPC) to associate with.

property sourceDestCheck

sourceDestCheck?: pulumi.Input<boolean>;

Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.

property subnetId

subnetId?: pulumi.Input<string>;

The VPC Subnet ID to launch in.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property tenancy

tenancy?: pulumi.Input<string>;

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command.

property userData

userData?: pulumi.Input<string>;

The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see userDataBase64 instead.

property userDataBase64

userDataBase64?: pulumi.Input<string>;

Can be used instead of userData to pass base64-encoded binary data directly. Use this instead of userData whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.

property volumeTags

volumeTags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the devices created by the instance at launch time.

property vpcSecurityGroupIds

vpcSecurityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

A list of security group IDs to associate with.

type InstancePlatform

type InstancePlatform = "Linux/UNIX" | "Red Hat Enterprise Linux" | "SUSE Linux" | "Windows" | "Windows with SQL Server" | "Windows with SQL Server Enterprise" | "Windows with SQL Server Standard" | "Windows with SQL Server Web";

interface InstanceState

interface InstanceState

Input properties used for looking up and filtering Instance resources.

property ami

ami?: pulumi.Input<string>;

The AMI to use for the instance.

property arn

arn?: pulumi.Input<string>;

The ARN of the instance.

property associatePublicIpAddress

associatePublicIpAddress?: pulumi.Input<boolean>;

Associate a public ip address with an instance in a VPC. Boolean value.

property availabilityZone

availabilityZone?: pulumi.Input<string>;

The AZ to start the instance in.

property cpuCoreCount

cpuCoreCount?: pulumi.Input<number>;

Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.

property cpuThreadsPerCore

cpuThreadsPerCore?: pulumi.Input<number>;

If set to to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

property creditSpecification

creditSpecification?: pulumi.Input<InstanceCreditSpecification>;

Customize the credit specification of the instance. See Credit Specification below for more details.

property disableApiTermination

disableApiTermination?: pulumi.Input<boolean>;

If true, enables EC2 Instance Termination Protection

property ebsBlockDevices

ebsBlockDevices?: pulumi.Input<pulumi.Input<InstanceEbsBlockDevice>[]>;

Additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection.

property ebsOptimized

ebsOptimized?: pulumi.Input<boolean>;

If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.

property ephemeralBlockDevices

ephemeralBlockDevices?: pulumi.Input<pulumi.Input<InstanceEphemeralBlockDevice>[]>;

Customize Ephemeral (also known as “Instance Store”) volumes on the instance. See Block Devices below for details.

property getPasswordData

getPasswordData?: pulumi.Input<boolean>;

If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the passwordData attribute. See GetPasswordData for more information.

property hibernation

hibernation?: pulumi.Input<boolean>;

If true, the launched EC2 instance will support hibernation.

property hostId

hostId?: pulumi.Input<string>;

The Id of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.

property iamInstanceProfile

iamInstanceProfile?: pulumi.Input<string | InstanceProfile>;

The IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.

property instanceInitiatedShutdownBehavior

instanceInitiatedShutdownBehavior?: pulumi.Input<string>;

Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.

property instanceState

instanceState?: pulumi.Input<string>;

The state of the instance. One of: pending, running, shutting-down, terminated, stopping, stopped. See Instance Lifecycle for more information.

property instanceType

instanceType?: pulumi.Input<InstanceType>;

The type of instance to start. Updates to this field will trigger a stop/start of the EC2 instance.

property ipv6AddressCount

ipv6AddressCount?: pulumi.Input<number>;

A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.

property ipv6Addresses

ipv6Addresses?: pulumi.Input<pulumi.Input<string>[]>;

Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface

property keyName

keyName?: pulumi.Input<string>;

The key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.

property metadataOptions

metadataOptions?: pulumi.Input<InstanceMetadataOptions>;

Customize the metadata options of the instance. See Metadata Options below for more details.

property monitoring

monitoring?: pulumi.Input<boolean>;

If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)

property networkInterfaces

networkInterfaces?: pulumi.Input<pulumi.Input<InstanceNetworkInterface>[]>;

Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.

property outpostArn

outpostArn?: pulumi.Input<string>;

The ARN of the Outpost the instance is assigned to.

property passwordData

passwordData?: pulumi.Input<string>;

Base-64 encoded encrypted password data for the instance. Useful for getting the administrator password for instances running Microsoft Windows. This attribute is only exported if getPasswordData is true. Note that this encrypted value will be stored in the state file, as with all exported attributes. See GetPasswordData for more information.

property placementGroup

placementGroup?: pulumi.Input<string>;

The Placement Group to start the instance in.

property primaryNetworkInterfaceId

primaryNetworkInterfaceId?: pulumi.Input<string>;

The ID of the instance’s primary network interface.

property privateDns

privateDns?: pulumi.Input<string>;

The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you’ve enabled DNS hostnames for your VPC

property privateIp

privateIp?: pulumi.Input<string>;

Private IP address to associate with the instance in a VPC.

property publicDns

publicDns?: pulumi.Input<string>;

The public DNS name assigned to the instance. For EC2-VPC, this is only available if you’ve enabled DNS hostnames for your VPC

property publicIp

publicIp?: pulumi.Input<string>;

The public IP address assigned to the instance, if applicable. NOTE: If you are using an aws.ec2.Eip with your instance, you should refer to the EIP’s address directly and not use publicIp, as this field will change after the EIP is attached.

property rootBlockDevice

rootBlockDevice?: pulumi.Input<InstanceRootBlockDevice>;

Customize details about the root block device of the instance. See Block Devices below for details.

property securityGroups

DEPRECATED Use of securityGroups is discouraged as it does not allow for changes and will force your instance to be replaced if changes are made. To avoid this, use vpcSecurityGroupIds which allows for updates.
securityGroups?: pulumi.Input<pulumi.Input<string>[]>;

A list of security group names (EC2-Classic) or IDs (default VPC) to associate with.

property sourceDestCheck

sourceDestCheck?: pulumi.Input<boolean>;

Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.

property subnetId

subnetId?: pulumi.Input<string>;

The VPC Subnet ID to launch in.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property tenancy

tenancy?: pulumi.Input<string>;

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command.

property userData

userData?: pulumi.Input<string>;

The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see userDataBase64 instead.

property userDataBase64

userDataBase64?: pulumi.Input<string>;

Can be used instead of userData to pass base64-encoded binary data directly. Use this instead of userData whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.

property volumeTags

volumeTags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the devices created by the instance at launch time.

property vpcSecurityGroupIds

vpcSecurityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

A list of security group IDs to associate with.

type InstanceType

type InstanceType = "a1.2xlarge" | "a1.4xlarge" | "a1.large" | "a1.medium" | "a1.xlarge" | "c3.2xlarge" | "c3.4xlarge" | "c3.8xlarge" | "c3.large" | "c3.xlarge" | "c4.2xlarge" | "c4.4xlarge" | "c4.8xlarge" | "c4.large" | "c4.xlarge" | "c5.18xlarge" | "c5.4xlarge" | "c5.2xlarge" | "c5.large" | "c5.9xlarge" | "c5d.18xlarge" | "c5.xlarge" | "c5d.4xlarge" | "c5d.2xlarge" | "c5d.large" | "c5d.9xlarge" | "c5n.18xlarge" | "c5d.xlarge" | "c5n.4xlarge" | "c5n.2xlarge" | "c5n.9xlarge" | "c5n.large" | "c5n.xlarge" | "d2.2xlarge" | "d2.4xlarge" | "d2.8xlarge" | "d2.xlarge" | "f1.16xlarge" | "f1.2xlarge" | "g2.2xlarge" | "g2.8xlarge" | "g3.16xlarge" | "g3.4xlarge" | "g3.8xlarge" | "g3s.xlarge" | "h1.16xlarge" | "h1.2xlarge" | "h1.4xlarge" | "h1.8xlarge" | "hs1.8xlarge" | "i3.16xlarge" | "i3.2xlarge" | "i3.4xlarge" | "i3.8xlarge" | "i3.large" | "i3.xlarge" | "i3.metal" | "m3.2xlarge" | "m3.large" | "m3.medium" | "m3.xlarge" | "m4.10xlarge" | "m4.16xlarge" | "m4.2xlarge" | "m4.4xlarge" | "m4.large" | "m4.xlarge" | "m5.large" | "m5.xlarge" | "m5.2xlarge" | "m5.4xlarge" | "m5.12xlarge" | "m5.24xlarge" | "m5d.large" | "m5d.xlarge" | "m5d.2xlarge" | "m5d.4xlarge" | "m5d.12xlarge" | "m5d.24xlarge" | "m5a.12xlarge" | "m5a.24xlarge" | "m5a.2xlarge" | "m5a.4xlarge" | "m5a.large" | "m5a.xlarge" | "p2.16xlarge" | "p2.8xlarge" | "p2.xlarge" | "p3.16xlarge" | "p3.8xlarge" | "p3.2xlarge" | "p3dn.24xlarge" | "r3.2xlarge" | "r3.4xlarge" | "r3.8xlarge" | "r3.large" | "r3.xlarge" | "r4.16xlarge" | "r4.2xlarge" | "r4.4xlarge" | "r4.8xlarge" | "r4.large" | "r4.xlarge" | "r5.12xlarge" | "r5.24xlarge" | "r5.2xlarge" | "r5.4xlarge" | "r5.large" | "r5.xlarge" | "r5a.12xlarge" | "r5a.24xlarge" | "r5a.2xlarge" | "r5a.4xlarge" | "r5a.large" | "r5a.xlarge" | "r5d.12xlarge" | "r5d.24xlarge" | "r5d.2xlarge" | "r5d.4xlarge" | "r5d.large" | "r5d.xlarge" | "t2.2xlarge" | "t2.large" | "t2.medium" | "t2.micro" | "t2.nano" | "t2.small" | "t2.xlarge" | "t3.2xlarge" | "t3.large" | "t3.medium" | "t3.micro" | "t3.nano" | "t3.small" | "t3.xlarge" | "t3a.2xlarge" | "t3a.large" | "t3a.medium" | "t3a.micro" | "t3a.nano" | "t3a.small" | "t3a.xlarge" | "u-12tb1.metal" | "u-6tb1.metal" | "u-9tb1.metal" | "x1.16xlarge" | "x1.32xlarge" | "x1e.16xlarge" | "x1e.2xlarge" | "x1e.32xlarge" | "x1e.4xlarge" | "x1e.8xlarge" | "x1e.xlarge" | "z1d.12xlarge" | "z1d.2xlarge" | "z1d.3xlarge" | "z1d.6xlarge" | "z1d.large" | "z1d.xlarge";

interface InternetGatewayArgs

interface InternetGatewayArgs

The set of arguments for constructing a InternetGateway resource.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpcId

vpcId?: pulumi.Input<string>;

The VPC ID to create in.

interface InternetGatewayState

interface InternetGatewayState

Input properties used for looking up and filtering InternetGateway resources.

property ownerId

ownerId?: pulumi.Input<string>;

The ID of the AWS account that owns the internet gateway.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpcId

vpcId?: pulumi.Input<string>;

The VPC ID to create in.

interface KeyPairArgs

interface KeyPairArgs

The set of arguments for constructing a KeyPair resource.

property keyName

keyName?: pulumi.Input<string>;

The name for the key pair.

property keyNamePrefix

keyNamePrefix?: pulumi.Input<string>;

Creates a unique name beginning with the specified prefix. Conflicts with keyName.

property publicKey

publicKey: pulumi.Input<string>;

The public key material.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Key-value map of resource tags

interface KeyPairState

interface KeyPairState

Input properties used for looking up and filtering KeyPair resources.

property fingerprint

fingerprint?: pulumi.Input<string>;

The MD5 public key fingerprint as specified in section 4 of RFC 4716.

property keyName

keyName?: pulumi.Input<string>;

The name for the key pair.

property keyNamePrefix

keyNamePrefix?: pulumi.Input<string>;

Creates a unique name beginning with the specified prefix. Conflicts with keyName.

property keyPairId

keyPairId?: pulumi.Input<string>;

The key pair ID.

property publicKey

publicKey?: pulumi.Input<string>;

The public key material.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Key-value map of resource tags

interface LaunchConfigurationArgs

interface LaunchConfigurationArgs

The set of arguments for constructing a LaunchConfiguration resource.

property associatePublicIpAddress

associatePublicIpAddress?: pulumi.Input<boolean>;

Associate a public ip address with an instance in a VPC.

property ebsBlockDevices

ebsBlockDevices?: pulumi.Input<pulumi.Input<LaunchConfigurationEbsBlockDevice>[]>;

Additional EBS block devices to attach to the instance. See Block Devices below for details.

property ebsOptimized

ebsOptimized?: pulumi.Input<boolean>;

If true, the launched EC2 instance will be EBS-optimized.

property enableMonitoring

enableMonitoring?: pulumi.Input<boolean>;

Enables/disables detailed monitoring. This is enabled by default.

property ephemeralBlockDevices

ephemeralBlockDevices?: pulumi.Input<pulumi.Input<LaunchConfigurationEphemeralBlockDevice>[]>;

Customize Ephemeral (also known as “Instance Store”) volumes on the instance. See Block Devices below for details.

property iamInstanceProfile

iamInstanceProfile?: pulumi.Input<string | InstanceProfile>;

The name attribute of the IAM instance profile to associate with launched instances.

property imageId

imageId: pulumi.Input<string>;

The EC2 image ID to launch.

property instanceType

instanceType: pulumi.Input<string>;

The size of instance to launch.

property keyName

keyName?: pulumi.Input<string>;

The key name that should be used for the instance.

property name

name?: pulumi.Input<string>;

The name of the launch configuration. If you leave this blank, this provider will auto-generate a unique name.

property namePrefix

namePrefix?: pulumi.Input<string>;

Creates a unique name beginning with the specified prefix. Conflicts with name.

property placementTenancy

placementTenancy?: pulumi.Input<string>;

The tenancy of the instance. Valid values are "default" or "dedicated", see AWS’s Create Launch Configuration for more details

property rootBlockDevice

rootBlockDevice?: pulumi.Input<LaunchConfigurationRootBlockDevice>;

Customize details about the root block device of the instance. See Block Devices below for details.

property securityGroups

securityGroups?: pulumi.Input<pulumi.Input<string>[]>;

A list of associated security group IDS.

property spotPrice

spotPrice?: pulumi.Input<string>;

The maximum price to use for reserving spot instances.

property userData

userData?: pulumi.Input<string>;

The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see userDataBase64 instead.

property userDataBase64

userDataBase64?: pulumi.Input<string>;

Can be used instead of userData to pass base64-encoded binary data directly. Use this instead of userData whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.

property vpcClassicLinkId

vpcClassicLinkId?: pulumi.Input<string>;

The ID of a ClassicLink-enabled VPC. Only applies to EC2-Classic instances. (eg. vpc-2730681a)

property vpcClassicLinkSecurityGroups

vpcClassicLinkSecurityGroups?: pulumi.Input<pulumi.Input<string>[]>;

The IDs of one or more security groups for the specified ClassicLink-enabled VPC (eg. sg-46ae3d11).

interface LaunchConfigurationState

interface LaunchConfigurationState

Input properties used for looking up and filtering LaunchConfiguration resources.

property arn

arn?: pulumi.Input<string>;

The Amazon Resource Name of the launch configuration.

property associatePublicIpAddress

associatePublicIpAddress?: pulumi.Input<boolean>;

Associate a public ip address with an instance in a VPC.

property ebsBlockDevices

ebsBlockDevices?: pulumi.Input<pulumi.Input<LaunchConfigurationEbsBlockDevice>[]>;

Additional EBS block devices to attach to the instance. See Block Devices below for details.

property ebsOptimized

ebsOptimized?: pulumi.Input<boolean>;

If true, the launched EC2 instance will be EBS-optimized.

property enableMonitoring

enableMonitoring?: pulumi.Input<boolean>;

Enables/disables detailed monitoring. This is enabled by default.

property ephemeralBlockDevices

ephemeralBlockDevices?: pulumi.Input<pulumi.Input<LaunchConfigurationEphemeralBlockDevice>[]>;

Customize Ephemeral (also known as “Instance Store”) volumes on the instance. See Block Devices below for details.

property iamInstanceProfile

iamInstanceProfile?: pulumi.Input<string | InstanceProfile>;

The name attribute of the IAM instance profile to associate with launched instances.

property imageId

imageId?: pulumi.Input<string>;

The EC2 image ID to launch.

property instanceType

instanceType?: pulumi.Input<string>;

The size of instance to launch.

property keyName

keyName?: pulumi.Input<string>;

The key name that should be used for the instance.

property name

name?: pulumi.Input<string>;

The name of the launch configuration. If you leave this blank, this provider will auto-generate a unique name.

property namePrefix

namePrefix?: pulumi.Input<string>;

Creates a unique name beginning with the specified prefix. Conflicts with name.

property placementTenancy

placementTenancy?: pulumi.Input<string>;

The tenancy of the instance. Valid values are "default" or "dedicated", see AWS’s Create Launch Configuration for more details

property rootBlockDevice

rootBlockDevice?: pulumi.Input<LaunchConfigurationRootBlockDevice>;

Customize details about the root block device of the instance. See Block Devices below for details.

property securityGroups

securityGroups?: pulumi.Input<pulumi.Input<string>[]>;

A list of associated security group IDS.

property spotPrice

spotPrice?: pulumi.Input<string>;

The maximum price to use for reserving spot instances.

property userData

userData?: pulumi.Input<string>;

The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see userDataBase64 instead.

property userDataBase64

userDataBase64?: pulumi.Input<string>;

Can be used instead of userData to pass base64-encoded binary data directly. Use this instead of userData whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.

property vpcClassicLinkId

vpcClassicLinkId?: pulumi.Input<string>;

The ID of a ClassicLink-enabled VPC. Only applies to EC2-Classic instances. (eg. vpc-2730681a)

property vpcClassicLinkSecurityGroups

vpcClassicLinkSecurityGroups?: pulumi.Input<pulumi.Input<string>[]>;

The IDs of one or more security groups for the specified ClassicLink-enabled VPC (eg. sg-46ae3d11).

interface LaunchTemplateArgs

interface LaunchTemplateArgs

The set of arguments for constructing a LaunchTemplate resource.

property blockDeviceMappings

blockDeviceMappings?: pulumi.Input<pulumi.Input<LaunchTemplateBlockDeviceMapping>[]>;

Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.

property capacityReservationSpecification

capacityReservationSpecification?: pulumi.Input<LaunchTemplateCapacityReservationSpecification>;

Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.

property cpuOptions

cpuOptions?: pulumi.Input<LaunchTemplateCpuOptions>;

The CPU options for the instance. See CPU Options below for more details.

property creditSpecification

creditSpecification?: pulumi.Input<LaunchTemplateCreditSpecification>;

Customize the credit specification of the instance. See Credit Specification below for more details.

property description

description?: pulumi.Input<string>;

Description of the launch template.

property disableApiTermination

disableApiTermination?: pulumi.Input<boolean>;

If true, enables EC2 Instance Termination Protection

property ebsOptimized

ebsOptimized?: pulumi.Input<string>;

If true, the launched EC2 instance will be EBS-optimized.

property elasticGpuSpecifications

elasticGpuSpecifications?: pulumi.Input<pulumi.Input<LaunchTemplateElasticGpuSpecification>[]>;

The elastic GPU to attach to the instance. See Elastic GPU below for more details.

property elasticInferenceAccelerator

elasticInferenceAccelerator?: pulumi.Input<LaunchTemplateElasticInferenceAccelerator>;

Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.

property hibernationOptions

hibernationOptions?: pulumi.Input<LaunchTemplateHibernationOptions>;

The hibernation options for the instance. See Hibernation Options below for more details.

property iamInstanceProfile

iamInstanceProfile?: pulumi.Input<LaunchTemplateIamInstanceProfile>;

The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.

property imageId

imageId?: pulumi.Input<string>;

The AMI from which to launch the instance.

property instanceInitiatedShutdownBehavior

instanceInitiatedShutdownBehavior?: pulumi.Input<string>;

Shutdown behavior for the instance. Can be stop or terminate. (Default: stop).

property instanceMarketOptions

instanceMarketOptions?: pulumi.Input<LaunchTemplateInstanceMarketOptions>;

The market (purchasing) option for the instance. See Market Options below for details.

property instanceType

instanceType?: pulumi.Input<string>;

The type of the instance.

property kernelId

kernelId?: pulumi.Input<string>;

The kernel ID.

property keyName

keyName?: pulumi.Input<string>;

The key name to use for the instance.

property licenseSpecifications

licenseSpecifications?: pulumi.Input<pulumi.Input<LaunchTemplateLicenseSpecification>[]>;

A list of license specifications to associate with. See License Specification below for more details.

property metadataOptions

metadataOptions?: pulumi.Input<LaunchTemplateMetadataOptions>;

Customize the metadata options for the instance. See Metadata Options below for more details.

property monitoring

monitoring?: pulumi.Input<LaunchTemplateMonitoring>;

The monitoring option for the instance. See Monitoring below for more details.

property name

name?: pulumi.Input<string>;

The name of the launch template. If you leave this blank, this provider will auto-generate a unique name.

property namePrefix

namePrefix?: pulumi.Input<string>;

Creates a unique name beginning with the specified prefix. Conflicts with name.

property networkInterfaces

networkInterfaces?: pulumi.Input<pulumi.Input<LaunchTemplateNetworkInterface>[]>;

Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.

property placement

placement?: pulumi.Input<LaunchTemplatePlacement>;

The placement of the instance. See Placement below for more details.

property ramDiskId

ramDiskId?: pulumi.Input<string>;

The ID of the RAM disk.

property securityGroupNames

securityGroupNames?: pulumi.Input<pulumi.Input<string>[]>;

A list of security group names to associate with. If you are creating Instances in a VPC, use vpcSecurityGroupIds instead.

property tagSpecifications

tagSpecifications?: pulumi.Input<pulumi.Input<LaunchTemplateTagSpecification>[]>;

The tags to apply to the resources during launch. See Tag Specifications below for more details.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the launch template.

property userData

userData?: pulumi.Input<string>;

The Base64-encoded user data to provide when launching the instance.

property vpcSecurityGroupIds

vpcSecurityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

A list of security group IDs to associate with.

interface LaunchTemplateState

interface LaunchTemplateState

Input properties used for looking up and filtering LaunchTemplate resources.

property arn

arn?: pulumi.Input<string>;

The Amazon Resource Name (ARN) of the instance profile.

property blockDeviceMappings

blockDeviceMappings?: pulumi.Input<pulumi.Input<LaunchTemplateBlockDeviceMapping>[]>;

Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.

property capacityReservationSpecification

capacityReservationSpecification?: pulumi.Input<LaunchTemplateCapacityReservationSpecification>;

Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.

property cpuOptions

cpuOptions?: pulumi.Input<LaunchTemplateCpuOptions>;

The CPU options for the instance. See CPU Options below for more details.

property creditSpecification

creditSpecification?: pulumi.Input<LaunchTemplateCreditSpecification>;

Customize the credit specification of the instance. See Credit Specification below for more details.

property defaultVersion

defaultVersion?: pulumi.Input<number>;

The default version of the launch template.

property description

description?: pulumi.Input<string>;

Description of the launch template.

property disableApiTermination

disableApiTermination?: pulumi.Input<boolean>;

If true, enables EC2 Instance Termination Protection

property ebsOptimized

ebsOptimized?: pulumi.Input<string>;

If true, the launched EC2 instance will be EBS-optimized.

property elasticGpuSpecifications

elasticGpuSpecifications?: pulumi.Input<pulumi.Input<LaunchTemplateElasticGpuSpecification>[]>;

The elastic GPU to attach to the instance. See Elastic GPU below for more details.

property elasticInferenceAccelerator

elasticInferenceAccelerator?: pulumi.Input<LaunchTemplateElasticInferenceAccelerator>;

Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.

property hibernationOptions

hibernationOptions?: pulumi.Input<LaunchTemplateHibernationOptions>;

The hibernation options for the instance. See Hibernation Options below for more details.

property iamInstanceProfile

iamInstanceProfile?: pulumi.Input<LaunchTemplateIamInstanceProfile>;

The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.

property imageId

imageId?: pulumi.Input<string>;

The AMI from which to launch the instance.

property instanceInitiatedShutdownBehavior

instanceInitiatedShutdownBehavior?: pulumi.Input<string>;

Shutdown behavior for the instance. Can be stop or terminate. (Default: stop).

property instanceMarketOptions

instanceMarketOptions?: pulumi.Input<LaunchTemplateInstanceMarketOptions>;

The market (purchasing) option for the instance. See Market Options below for details.

property instanceType

instanceType?: pulumi.Input<string>;

The type of the instance.

property kernelId

kernelId?: pulumi.Input<string>;

The kernel ID.

property keyName

keyName?: pulumi.Input<string>;

The key name to use for the instance.

property latestVersion

latestVersion?: pulumi.Input<number>;

The latest version of the launch template.

property licenseSpecifications

licenseSpecifications?: pulumi.Input<pulumi.Input<LaunchTemplateLicenseSpecification>[]>;

A list of license specifications to associate with. See License Specification below for more details.

property metadataOptions

metadataOptions?: pulumi.Input<LaunchTemplateMetadataOptions>;

Customize the metadata options for the instance. See Metadata Options below for more details.

property monitoring

monitoring?: pulumi.Input<LaunchTemplateMonitoring>;

The monitoring option for the instance. See Monitoring below for more details.

property name

name?: pulumi.Input<string>;

The name of the launch template. If you leave this blank, this provider will auto-generate a unique name.

property namePrefix

namePrefix?: pulumi.Input<string>;

Creates a unique name beginning with the specified prefix. Conflicts with name.

property networkInterfaces

networkInterfaces?: pulumi.Input<pulumi.Input<LaunchTemplateNetworkInterface>[]>;

Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.

property placement

placement?: pulumi.Input<LaunchTemplatePlacement>;

The placement of the instance. See Placement below for more details.

property ramDiskId

ramDiskId?: pulumi.Input<string>;

The ID of the RAM disk.

property securityGroupNames

securityGroupNames?: pulumi.Input<pulumi.Input<string>[]>;

A list of security group names to associate with. If you are creating Instances in a VPC, use vpcSecurityGroupIds instead.

property tagSpecifications

tagSpecifications?: pulumi.Input<pulumi.Input<LaunchTemplateTagSpecification>[]>;

The tags to apply to the resources during launch. See Tag Specifications below for more details.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the launch template.

property userData

userData?: pulumi.Input<string>;

The Base64-encoded user data to provide when launching the instance.

property vpcSecurityGroupIds

vpcSecurityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

A list of security group IDs to associate with.

const LinuxUnixPlatform

DEPRECATED Use the equivalent constant in module InstancePlatforms instead
const LinuxUnixPlatform: InstancePlatform = "Linux/UNIX";

interface MainRouteTableAssociationArgs

interface MainRouteTableAssociationArgs

The set of arguments for constructing a MainRouteTableAssociation resource.

property routeTableId

routeTableId: pulumi.Input<string>;

The ID of the Route Table to set as the new main route table for the target VPC

property vpcId

vpcId: pulumi.Input<string>;

The ID of the VPC whose main route table should be set

interface MainRouteTableAssociationState

interface MainRouteTableAssociationState

Input properties used for looking up and filtering MainRouteTableAssociation resources.

property originalRouteTableId

originalRouteTableId?: pulumi.Input<string>;

Used internally, see Notes below

property routeTableId

routeTableId?: pulumi.Input<string>;

The ID of the Route Table to set as the new main route table for the target VPC

property vpcId

vpcId?: pulumi.Input<string>;

The ID of the VPC whose main route table should be set

interface NatGatewayArgs

interface NatGatewayArgs

The set of arguments for constructing a NatGateway resource.

property allocationId

allocationId: pulumi.Input<string>;

The Allocation ID of the Elastic IP address for the gateway.

property subnetId

subnetId: pulumi.Input<string>;

The Subnet ID of the subnet in which to place the gateway.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

interface NatGatewayState

interface NatGatewayState

Input properties used for looking up and filtering NatGateway resources.

property allocationId

allocationId?: pulumi.Input<string>;

The Allocation ID of the Elastic IP address for the gateway.

property networkInterfaceId

networkInterfaceId?: pulumi.Input<string>;

The ENI ID of the network interface created by the NAT gateway.

property privateIp

privateIp?: pulumi.Input<string>;

The private IP address of the NAT Gateway.

property publicIp

publicIp?: pulumi.Input<string>;

The public IP address of the NAT Gateway.

property subnetId

subnetId?: pulumi.Input<string>;

The Subnet ID of the subnet in which to place the gateway.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

interface NetworkAclArgs

interface NetworkAclArgs

The set of arguments for constructing a NetworkAcl resource.

property egress

egress?: pulumi.Input<pulumi.Input<NetworkAclEgress>[]>;

Specifies an egress rule. Parameters defined below.

property ingress

ingress?: pulumi.Input<pulumi.Input<NetworkAclIngress>[]>;

Specifies an ingress rule. Parameters defined below.

property subnetIds

subnetIds?: pulumi.Input<pulumi.Input<string>[]>;

A list of Subnet IDs to apply the ACL to

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

property vpcId

vpcId: pulumi.Input<string>;

The ID of the associated VPC.

interface NetworkAclRuleArgs

interface NetworkAclRuleArgs

The set of arguments for constructing a NetworkAclRule resource.

property cidrBlock

cidrBlock?: pulumi.Input<string>;

The network range to allow or deny, in CIDR notation (for example 172.16.0.0/24 ).

property egress

egress?: pulumi.Input<boolean>;

Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet). Default false.

property fromPort

fromPort?: pulumi.Input<number>;

The from port to match.

property icmpCode

icmpCode?: pulumi.Input<string>;

ICMP protocol: The ICMP code. Required if specifying ICMP for the protocol. e.g. -1

property icmpType

icmpType?: pulumi.Input<string>;

ICMP protocol: The ICMP type. Required if specifying ICMP for the protocol. e.g. -1

property ipv6CidrBlock

ipv6CidrBlock?: pulumi.Input<string>;

The IPv6 CIDR block to allow or deny.

property networkAclId

networkAclId: pulumi.Input<string>;

The ID of the network ACL.

property protocol

protocol: pulumi.Input<string>;

The protocol. A value of -1 means all protocols.

property ruleAction

ruleAction: pulumi.Input<string>;

Indicates whether to allow or deny the traffic that matches the rule. Accepted values: allow | deny

property ruleNumber

ruleNumber: pulumi.Input<number>;

The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.

property toPort

toPort?: pulumi.Input<number>;

The to port to match.

interface NetworkAclRuleState

interface NetworkAclRuleState

Input properties used for looking up and filtering NetworkAclRule resources.

property cidrBlock

cidrBlock?: pulumi.Input<string>;

The network range to allow or deny, in CIDR notation (for example 172.16.0.0/24 ).

property egress

egress?: pulumi.Input<boolean>;

Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet). Default false.

property fromPort

fromPort?: pulumi.Input<number>;

The from port to match.

property icmpCode

icmpCode?: pulumi.Input<string>;

ICMP protocol: The ICMP code. Required if specifying ICMP for the protocol. e.g. -1

property icmpType

icmpType?: pulumi.Input<string>;

ICMP protocol: The ICMP type. Required if specifying ICMP for the protocol. e.g. -1

property ipv6CidrBlock

ipv6CidrBlock?: pulumi.Input<string>;

The IPv6 CIDR block to allow or deny.

property networkAclId

networkAclId?: pulumi.Input<string>;

The ID of the network ACL.

property protocol

protocol?: pulumi.Input<string>;

The protocol. A value of -1 means all protocols.

property ruleAction

ruleAction?: pulumi.Input<string>;

Indicates whether to allow or deny the traffic that matches the rule. Accepted values: allow | deny

property ruleNumber

ruleNumber?: pulumi.Input<number>;

The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.

property toPort

toPort?: pulumi.Input<number>;

The to port to match.

interface NetworkAclState

interface NetworkAclState

Input properties used for looking up and filtering NetworkAcl resources.

property egress

egress?: pulumi.Input<pulumi.Input<NetworkAclEgress>[]>;

Specifies an egress rule. Parameters defined below.

property ingress

ingress?: pulumi.Input<pulumi.Input<NetworkAclIngress>[]>;

Specifies an ingress rule. Parameters defined below.

property ownerId

ownerId?: pulumi.Input<string>;

The ID of the AWS account that owns the network ACL.

property subnetIds

subnetIds?: pulumi.Input<pulumi.Input<string>[]>;

A list of Subnet IDs to apply the ACL to

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

property vpcId

vpcId?: pulumi.Input<string>;

The ID of the associated VPC.

interface NetworkInterfaceArgs

interface NetworkInterfaceArgs

The set of arguments for constructing a NetworkInterface resource.

property attachments

attachments?: pulumi.Input<pulumi.Input<NetworkInterfaceAttachment>[]>;

Block to define the attachment of the ENI. Documented below.

property description

description?: pulumi.Input<string>;

A description for the network interface.

property privateIp

privateIp?: pulumi.Input<string>;

property privateIps

privateIps?: pulumi.Input<pulumi.Input<string>[]>;

List of private IPs to assign to the ENI.

property privateIpsCount

privateIpsCount?: pulumi.Input<number>;

Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + private_ips_count, as a primary private IP will be assiged to an ENI by default.

property securityGroups

securityGroups?: pulumi.Input<pulumi.Input<string>[]>;

List of security group IDs to assign to the ENI.

property sourceDestCheck

sourceDestCheck?: pulumi.Input<boolean>;

Whether to enable source destination checking for the ENI. Default true.

property subnetId

subnetId: pulumi.Input<string>;

Subnet ID to create the ENI in.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

interface NetworkInterfaceAttachmentArgs

interface NetworkInterfaceAttachmentArgs

The set of arguments for constructing a NetworkInterfaceAttachment resource.

property deviceIndex

deviceIndex: pulumi.Input<number>;

Network interface index (int).

property instanceId

instanceId: pulumi.Input<string>;

Instance ID to attach.

property networkInterfaceId

networkInterfaceId: pulumi.Input<string>;

ENI ID to attach.

interface NetworkInterfaceAttachmentState

interface NetworkInterfaceAttachmentState

Input properties used for looking up and filtering NetworkInterfaceAttachment resources.

property attachmentId

attachmentId?: pulumi.Input<string>;

The ENI Attachment ID.

property deviceIndex

deviceIndex?: pulumi.Input<number>;

Network interface index (int).

property instanceId

instanceId?: pulumi.Input<string>;

Instance ID to attach.

property networkInterfaceId

networkInterfaceId?: pulumi.Input<string>;

ENI ID to attach.

property status

status?: pulumi.Input<string>;

The status of the Network Interface Attachment.

interface NetworkInterfaceSecurityGroupAttachmentArgs

interface NetworkInterfaceSecurityGroupAttachmentArgs

The set of arguments for constructing a NetworkInterfaceSecurityGroupAttachment resource.

property networkInterfaceId

networkInterfaceId: pulumi.Input<string>;

The ID of the network interface to attach to.

property securityGroupId

securityGroupId: pulumi.Input<string>;

The ID of the security group.

interface NetworkInterfaceSecurityGroupAttachmentState

interface NetworkInterfaceSecurityGroupAttachmentState

Input properties used for looking up and filtering NetworkInterfaceSecurityGroupAttachment resources.

property networkInterfaceId

networkInterfaceId?: pulumi.Input<string>;

The ID of the network interface to attach to.

property securityGroupId

securityGroupId?: pulumi.Input<string>;

The ID of the security group.

interface NetworkInterfaceState

interface NetworkInterfaceState

Input properties used for looking up and filtering NetworkInterface resources.

property attachments

attachments?: pulumi.Input<pulumi.Input<NetworkInterfaceAttachment>[]>;

Block to define the attachment of the ENI. Documented below.

property description

description?: pulumi.Input<string>;

A description for the network interface.

property macAddress

macAddress?: pulumi.Input<string>;

The MAC address of the network interface.

property outpostArn

outpostArn?: pulumi.Input<string>;

property privateDnsName

privateDnsName?: pulumi.Input<string>;

The private DNS name of the network interface (IPv4).

property privateIp

privateIp?: pulumi.Input<string>;

property privateIps

privateIps?: pulumi.Input<pulumi.Input<string>[]>;

List of private IPs to assign to the ENI.

property privateIpsCount

privateIpsCount?: pulumi.Input<number>;

Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + private_ips_count, as a primary private IP will be assiged to an ENI by default.

property securityGroups

securityGroups?: pulumi.Input<pulumi.Input<string>[]>;

List of security group IDs to assign to the ENI.

property sourceDestCheck

sourceDestCheck?: pulumi.Input<boolean>;

Whether to enable source destination checking for the ENI. Default true.

property subnetId

subnetId?: pulumi.Input<string>;

Subnet ID to create the ENI in.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

interface PeeringConnectionOptionsArgs

interface PeeringConnectionOptionsArgs

The set of arguments for constructing a PeeringConnectionOptions resource.

property accepter

accepter?: pulumi.Input<PeeringConnectionOptionsAccepter>;

An optional configuration block that allows for VPC Peering Connection options to be set for the VPC that accepts the peering connection (a maximum of one).

property requester

requester?: pulumi.Input<PeeringConnectionOptionsRequester>;

A optional configuration block that allows for VPC Peering Connection options to be set for the VPC that requests the peering connection (a maximum of one).

property vpcPeeringConnectionId

vpcPeeringConnectionId: pulumi.Input<string>;

The ID of the requester VPC peering connection.

interface PeeringConnectionOptionsState

interface PeeringConnectionOptionsState

Input properties used for looking up and filtering PeeringConnectionOptions resources.

property accepter

accepter?: pulumi.Input<PeeringConnectionOptionsAccepter>;

An optional configuration block that allows for VPC Peering Connection options to be set for the VPC that accepts the peering connection (a maximum of one).

property requester

requester?: pulumi.Input<PeeringConnectionOptionsRequester>;

A optional configuration block that allows for VPC Peering Connection options to be set for the VPC that requests the peering connection (a maximum of one).

property vpcPeeringConnectionId

vpcPeeringConnectionId?: pulumi.Input<string>;

The ID of the requester VPC peering connection.

interface PlacementGroupArgs

interface PlacementGroupArgs

The set of arguments for constructing a PlacementGroup resource.

property name

name?: pulumi.Input<string>;

The name of the placement group.

property strategy

strategy: pulumi.Input<PlacementStrategy>;

The placement strategy. Can be "cluster", "partition" or "spread".

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Key-value map of resource tags.

interface PlacementGroupState

interface PlacementGroupState

Input properties used for looking up and filtering PlacementGroup resources.

property name

name?: pulumi.Input<string>;

The name of the placement group.

property placementGroupId

placementGroupId?: pulumi.Input<string>;

The ID of the placement group.

property strategy

strategy?: pulumi.Input<PlacementStrategy>;

The placement strategy. Can be "cluster", "partition" or "spread".

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Key-value map of resource tags.

type PlacementStrategy

type PlacementStrategy = "spread" | "cluster";

The strategy of the placement group determines how the instances are organized within the group.

See https://docs.aws.amazon.com/cli/latest/reference/ec2/create-placement-group.html

type ProtocolType

type ProtocolType = "all" | "icmp" | "tcp" | "udp";

interface ProxyProtocolPolicyArgs

interface ProxyProtocolPolicyArgs

The set of arguments for constructing a ProxyProtocolPolicy resource.

property instancePorts

instancePorts: pulumi.Input<pulumi.Input<string>[]>;

List of instance ports to which the policy should be applied. This can be specified if the protocol is SSL or TCP.

property loadBalancer

loadBalancer: pulumi.Input<string>;

The load balancer to which the policy should be attached.

interface ProxyProtocolPolicyState

interface ProxyProtocolPolicyState

Input properties used for looking up and filtering ProxyProtocolPolicy resources.

property instancePorts

instancePorts?: pulumi.Input<pulumi.Input<string>[]>;

List of instance ports to which the policy should be applied. This can be specified if the protocol is SSL or TCP.

property loadBalancer

loadBalancer?: pulumi.Input<string>;

The load balancer to which the policy should be attached.

const RedHatEnterpriseLinuxPlatform

DEPRECATED Use the equivalent constant in module InstancePlatforms instead
const RedHatEnterpriseLinuxPlatform: InstancePlatform = "Red Hat Enterprise Linux";

interface RouteArgs

interface RouteArgs

The set of arguments for constructing a Route resource.

property destinationCidrBlock

destinationCidrBlock?: pulumi.Input<string>;

The destination CIDR block.

property destinationIpv6CidrBlock

destinationIpv6CidrBlock?: pulumi.Input<string>;

The destination IPv6 CIDR block.

property egressOnlyGatewayId

egressOnlyGatewayId?: pulumi.Input<string>;

Identifier of a VPC Egress Only Internet Gateway.

property gatewayId

gatewayId?: pulumi.Input<string>;

Identifier of a VPC internet gateway or a virtual private gateway.

property instanceId

instanceId?: pulumi.Input<string>;

Identifier of an EC2 instance.

property natGatewayId

natGatewayId?: pulumi.Input<string>;

Identifier of a VPC NAT gateway.

property networkInterfaceId

networkInterfaceId?: pulumi.Input<string>;

Identifier of an EC2 network interface.

property routeTableId

routeTableId: pulumi.Input<string>;

The ID of the routing table.

property transitGatewayId

transitGatewayId?: pulumi.Input<string>;

Identifier of an EC2 Transit Gateway.

property vpcPeeringConnectionId

vpcPeeringConnectionId?: pulumi.Input<string>;

Identifier of a VPC peering connection.

interface RouteState

interface RouteState

Input properties used for looking up and filtering Route resources.

property destinationCidrBlock

destinationCidrBlock?: pulumi.Input<string>;

The destination CIDR block.

property destinationIpv6CidrBlock

destinationIpv6CidrBlock?: pulumi.Input<string>;

The destination IPv6 CIDR block.

property destinationPrefixListId

destinationPrefixListId?: pulumi.Input<string>;

property egressOnlyGatewayId

egressOnlyGatewayId?: pulumi.Input<string>;

Identifier of a VPC Egress Only Internet Gateway.

property gatewayId

gatewayId?: pulumi.Input<string>;

Identifier of a VPC internet gateway or a virtual private gateway.

property instanceId

instanceId?: pulumi.Input<string>;

Identifier of an EC2 instance.

property instanceOwnerId

instanceOwnerId?: pulumi.Input<string>;

property natGatewayId

natGatewayId?: pulumi.Input<string>;

Identifier of a VPC NAT gateway.

property networkInterfaceId

networkInterfaceId?: pulumi.Input<string>;

Identifier of an EC2 network interface.

property origin

origin?: pulumi.Input<string>;

property routeTableId

routeTableId?: pulumi.Input<string>;

The ID of the routing table.

property state

state?: pulumi.Input<string>;

property transitGatewayId

transitGatewayId?: pulumi.Input<string>;

Identifier of an EC2 Transit Gateway.

property vpcPeeringConnectionId

vpcPeeringConnectionId?: pulumi.Input<string>;

Identifier of a VPC peering connection.

interface RouteTableArgs

interface RouteTableArgs

The set of arguments for constructing a RouteTable resource.

property propagatingVgws

propagatingVgws?: pulumi.Input<pulumi.Input<string>[]>;

A list of virtual gateways for propagation.

property routes

routes?: pulumi.Input<pulumi.Input<RouteTableRoute>[]>;

A list of route objects. Their keys are documented below.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

property vpcId

vpcId: pulumi.Input<string>;

The VPC ID.

interface RouteTableAssociationArgs

interface RouteTableAssociationArgs

The set of arguments for constructing a RouteTableAssociation resource.

property gatewayId

gatewayId?: pulumi.Input<string>;

The gateway ID to create an association. Conflicts with subnetId.

property routeTableId

routeTableId: pulumi.Input<string>;

The ID of the routing table to associate with.

property subnetId

subnetId?: pulumi.Input<string>;

The subnet ID to create an association. Conflicts with gatewayId.

interface RouteTableAssociationState

interface RouteTableAssociationState

Input properties used for looking up and filtering RouteTableAssociation resources.

property gatewayId

gatewayId?: pulumi.Input<string>;

The gateway ID to create an association. Conflicts with subnetId.

property routeTableId

routeTableId?: pulumi.Input<string>;

The ID of the routing table to associate with.

property subnetId

subnetId?: pulumi.Input<string>;

The subnet ID to create an association. Conflicts with gatewayId.

interface RouteTableState

interface RouteTableState

Input properties used for looking up and filtering RouteTable resources.

property ownerId

ownerId?: pulumi.Input<string>;

The ID of the AWS account that owns the route table.

property propagatingVgws

propagatingVgws?: pulumi.Input<pulumi.Input<string>[]>;

A list of virtual gateways for propagation.

property routes

routes?: pulumi.Input<pulumi.Input<RouteTableRoute>[]>;

A list of route objects. Their keys are documented below.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

property vpcId

vpcId?: pulumi.Input<string>;

The VPC ID.

interface SecurityGroupArgs

interface SecurityGroupArgs

The set of arguments for constructing a SecurityGroup resource.

property description

description?: pulumi.Input<string>;

Description of this egress rule.

property egress

egress?: pulumi.Input<pulumi.Input<SecurityGroupEgress>[]>;

Can be specified multiple times for each egress rule. Each egress block supports fields documented below.

property ingress

ingress?: pulumi.Input<pulumi.Input<SecurityGroupIngress>[]>;

Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below.

property name

name?: pulumi.Input<string>;

The name of the security group. If omitted, this provider will assign a random, unique name

property namePrefix

namePrefix?: pulumi.Input<string>;

Creates a unique name beginning with the specified prefix. Conflicts with name.

property revokeRulesOnDelete

revokeRulesOnDelete?: pulumi.Input<boolean>;

Instruct this provider to revoke all of the Security Groups attached ingress and egress rules before deleting the rule itself. This is normally not needed, however certain AWS services such as Elastic Map Reduce may automatically add required rules to security groups used with the service, and those rules may contain a cyclic dependency that prevent the security groups from being destroyed without removing the dependency first. Default false

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpcId

vpcId?: pulumi.Input<string>;

The VPC ID.

interface SecurityGroupRuleArgs

interface SecurityGroupRuleArgs

The set of arguments for constructing a SecurityGroupRule resource.

property cidrBlocks

cidrBlocks?: pulumi.Input<pulumi.Input<string>[]>;

List of CIDR blocks. Cannot be specified with sourceSecurityGroupId.

property description

description?: pulumi.Input<string>;

Description of the rule.

property fromPort

fromPort: pulumi.Input<number>;

The start port (or ICMP type number if protocol is “icmp” or “icmpv6”).

property ipv6CidrBlocks

ipv6CidrBlocks?: pulumi.Input<pulumi.Input<string>[]>;

List of IPv6 CIDR blocks.

property prefixListIds

prefixListIds?: pulumi.Input<pulumi.Input<string>[]>;

List of prefix list IDs (for allowing access to VPC endpoints). Only valid with egress.

property protocol

protocol: pulumi.Input<string>;

The protocol. If not icmp, icmpv6, tcp, udp, or all use the protocol number

property securityGroupId

securityGroupId: pulumi.Input<string>;

The security group to apply this rule to.

property self

self?: pulumi.Input<boolean>;

If true, the security group itself will be added as a source to this ingress rule. Cannot be specified with sourceSecurityGroupId.

property sourceSecurityGroupId

sourceSecurityGroupId?: pulumi.Input<string>;

The security group id to allow access to/from, depending on the type. Cannot be specified with cidrBlocks and self.

property toPort

toPort: pulumi.Input<number>;

The end port (or ICMP code if protocol is “icmp”).

property type

type: pulumi.Input<string>;

The type of rule being created. Valid options are ingress (inbound) or egress (outbound).

interface SecurityGroupRuleState

interface SecurityGroupRuleState

Input properties used for looking up and filtering SecurityGroupRule resources.

property cidrBlocks

cidrBlocks?: pulumi.Input<pulumi.Input<string>[]>;

List of CIDR blocks. Cannot be specified with sourceSecurityGroupId.

property description

description?: pulumi.Input<string>;

Description of the rule.

property fromPort

fromPort?: pulumi.Input<number>;

The start port (or ICMP type number if protocol is “icmp” or “icmpv6”).

property ipv6CidrBlocks

ipv6CidrBlocks?: pulumi.Input<pulumi.Input<string>[]>;

List of IPv6 CIDR blocks.

property prefixListIds

prefixListIds?: pulumi.Input<pulumi.Input<string>[]>;

List of prefix list IDs (for allowing access to VPC endpoints). Only valid with egress.

property protocol

protocol?: pulumi.Input<string>;

The protocol. If not icmp, icmpv6, tcp, udp, or all use the protocol number

property securityGroupId

securityGroupId?: pulumi.Input<string>;

The security group to apply this rule to.

property self

self?: pulumi.Input<boolean>;

If true, the security group itself will be added as a source to this ingress rule. Cannot be specified with sourceSecurityGroupId.

property sourceSecurityGroupId

sourceSecurityGroupId?: pulumi.Input<string>;

The security group id to allow access to/from, depending on the type. Cannot be specified with cidrBlocks and self.

property toPort

toPort?: pulumi.Input<number>;

The end port (or ICMP code if protocol is “icmp”).

property type

type?: pulumi.Input<string>;

The type of rule being created. Valid options are ingress (inbound) or egress (outbound).

interface SecurityGroupState

interface SecurityGroupState

Input properties used for looking up and filtering SecurityGroup resources.

property arn

arn?: pulumi.Input<string>;

The ARN of the security group

property description

description?: pulumi.Input<string>;

Description of this egress rule.

property egress

egress?: pulumi.Input<pulumi.Input<SecurityGroupEgress>[]>;

Can be specified multiple times for each egress rule. Each egress block supports fields documented below.

property ingress

ingress?: pulumi.Input<pulumi.Input<SecurityGroupIngress>[]>;

Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below.

property name

name?: pulumi.Input<string>;

The name of the security group. If omitted, this provider will assign a random, unique name

property namePrefix

namePrefix?: pulumi.Input<string>;

Creates a unique name beginning with the specified prefix. Conflicts with name.

property ownerId

ownerId?: pulumi.Input<string>;

The owner ID.

property revokeRulesOnDelete

revokeRulesOnDelete?: pulumi.Input<boolean>;

Instruct this provider to revoke all of the Security Groups attached ingress and egress rules before deleting the rule itself. This is normally not needed, however certain AWS services such as Elastic Map Reduce may automatically add required rules to security groups used with the service, and those rules may contain a cyclic dependency that prevent the security groups from being destroyed without removing the dependency first. Default false

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpcId

vpcId?: pulumi.Input<string>;

The VPC ID.

interface SnapshotCreateVolumePermissionArgs

interface SnapshotCreateVolumePermissionArgs

The set of arguments for constructing a SnapshotCreateVolumePermission resource.

property accountId

accountId: pulumi.Input<string>;

An AWS Account ID to add create volume permissions

property snapshotId

snapshotId: pulumi.Input<string>;

A snapshot ID

interface SnapshotCreateVolumePermissionState

interface SnapshotCreateVolumePermissionState

Input properties used for looking up and filtering SnapshotCreateVolumePermission resources.

property accountId

accountId?: pulumi.Input<string>;

An AWS Account ID to add create volume permissions

property snapshotId

snapshotId?: pulumi.Input<string>;

A snapshot ID

interface SpotDatafeedSubscriptionArgs

interface SpotDatafeedSubscriptionArgs

The set of arguments for constructing a SpotDatafeedSubscription resource.

property bucket

bucket: pulumi.Input<string>;

The Amazon S3 bucket in which to store the Spot instance data feed.

property prefix

prefix?: pulumi.Input<string>;

Path of folder inside bucket to place spot pricing data.

interface SpotDatafeedSubscriptionState

interface SpotDatafeedSubscriptionState

Input properties used for looking up and filtering SpotDatafeedSubscription resources.

property bucket

bucket?: pulumi.Input<string>;

The Amazon S3 bucket in which to store the Spot instance data feed.

property prefix

prefix?: pulumi.Input<string>;

Path of folder inside bucket to place spot pricing data.

interface SpotFleetRequestArgs

interface SpotFleetRequestArgs

The set of arguments for constructing a SpotFleetRequest resource.

property allocationStrategy

allocationStrategy?: pulumi.Input<string>;

Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request. The default is lowestPrice.

property excessCapacityTerminationPolicy

excessCapacityTerminationPolicy?: pulumi.Input<string>;

Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.

property fleetType

fleetType?: pulumi.Input<string>;

The type of fleet request. Indicates whether the Spot Fleet only requests the target capacity or also attempts to maintain it. Default is maintain.

property iamFleetRole

iamFleetRole: pulumi.Input<string>;

Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.

property instanceInterruptionBehaviour

instanceInterruptionBehaviour?: pulumi.Input<string>;

Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate.

property instancePoolsToUseCount

instancePoolsToUseCount?: pulumi.Input<number>;

The number of Spot pools across which to allocate your target Spot capacity. Valid only when allocationStrategy is set to lowestPrice. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.

property launchSpecifications

launchSpecifications?: pulumi.Input<pulumi.Input<SpotFleetRequestLaunchSpecification>[]>;

Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with launchTemplateConfig. At least one of launchSpecification or launchTemplateConfig is required.

property launchTemplateConfigs

launchTemplateConfigs?: pulumi.Input<pulumi.Input<SpotFleetRequestLaunchTemplateConfig>[]>;

Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launchSpecification. At least one of launchSpecification or launchTemplateConfig is required.

property loadBalancers

loadBalancers?: pulumi.Input<pulumi.Input<string>[]>;

A list of elastic load balancer names to add to the Spot fleet.

property replaceUnhealthyInstances

replaceUnhealthyInstances?: pulumi.Input<boolean>;

Indicates whether Spot fleet should replace unhealthy instances. Default false.

property spotPrice

spotPrice?: pulumi.Input<string>;

The maximum spot bid for this override request.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property targetCapacity

targetCapacity: pulumi.Input<number>;

The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.

property targetGroupArns

targetGroupArns?: pulumi.Input<pulumi.Input<string>[]>;

A list of aws.alb.TargetGroup ARNs, for use with Application Load Balancing.

property terminateInstancesWithExpiration

terminateInstancesWithExpiration?: pulumi.Input<boolean>;

Indicates whether running Spot instances should be terminated when the Spot fleet request expires.

property validFrom

validFrom?: pulumi.Input<string>;

The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.

property validUntil

validUntil?: pulumi.Input<string>;

The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request. Defaults to 24 hours.

property waitForFulfillment

waitForFulfillment?: pulumi.Input<boolean>;

If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.

interface SpotFleetRequestState

interface SpotFleetRequestState

Input properties used for looking up and filtering SpotFleetRequest resources.

property allocationStrategy

allocationStrategy?: pulumi.Input<string>;

Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request. The default is lowestPrice.

property clientToken

clientToken?: pulumi.Input<string>;

property excessCapacityTerminationPolicy

excessCapacityTerminationPolicy?: pulumi.Input<string>;

Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.

property fleetType

fleetType?: pulumi.Input<string>;

The type of fleet request. Indicates whether the Spot Fleet only requests the target capacity or also attempts to maintain it. Default is maintain.

property iamFleetRole

iamFleetRole?: pulumi.Input<string>;

Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.

property instanceInterruptionBehaviour

instanceInterruptionBehaviour?: pulumi.Input<string>;

Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate.

property instancePoolsToUseCount

instancePoolsToUseCount?: pulumi.Input<number>;

The number of Spot pools across which to allocate your target Spot capacity. Valid only when allocationStrategy is set to lowestPrice. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.

property launchSpecifications

launchSpecifications?: pulumi.Input<pulumi.Input<SpotFleetRequestLaunchSpecification>[]>;

Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with launchTemplateConfig. At least one of launchSpecification or launchTemplateConfig is required.

property launchTemplateConfigs

launchTemplateConfigs?: pulumi.Input<pulumi.Input<SpotFleetRequestLaunchTemplateConfig>[]>;

Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launchSpecification. At least one of launchSpecification or launchTemplateConfig is required.

property loadBalancers

loadBalancers?: pulumi.Input<pulumi.Input<string>[]>;

A list of elastic load balancer names to add to the Spot fleet.

property replaceUnhealthyInstances

replaceUnhealthyInstances?: pulumi.Input<boolean>;

Indicates whether Spot fleet should replace unhealthy instances. Default false.

property spotPrice

spotPrice?: pulumi.Input<string>;

The maximum spot bid for this override request.

property spotRequestState

spotRequestState?: pulumi.Input<string>;

The state of the Spot fleet request.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property targetCapacity

targetCapacity?: pulumi.Input<number>;

The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.

property targetGroupArns

targetGroupArns?: pulumi.Input<pulumi.Input<string>[]>;

A list of aws.alb.TargetGroup ARNs, for use with Application Load Balancing.

property terminateInstancesWithExpiration

terminateInstancesWithExpiration?: pulumi.Input<boolean>;

Indicates whether running Spot instances should be terminated when the Spot fleet request expires.

property validFrom

validFrom?: pulumi.Input<string>;

The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.

property validUntil

validUntil?: pulumi.Input<string>;

The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request. Defaults to 24 hours.

property waitForFulfillment

waitForFulfillment?: pulumi.Input<boolean>;

If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.

interface SpotInstanceRequestArgs

interface SpotInstanceRequestArgs

The set of arguments for constructing a SpotInstanceRequest resource.

property ami

ami: pulumi.Input<string>;

The AMI to use for the instance.

property associatePublicIpAddress

associatePublicIpAddress?: pulumi.Input<boolean>;

Associate a public ip address with an instance in a VPC. Boolean value.

property availabilityZone

availabilityZone?: pulumi.Input<string>;

The AZ to start the instance in.

property blockDurationMinutes

blockDurationMinutes?: pulumi.Input<number>;

The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. Note that you can’t specify an Availability Zone group or a launch group if you specify a duration.

property cpuCoreCount

cpuCoreCount?: pulumi.Input<number>;

Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.

property cpuThreadsPerCore

cpuThreadsPerCore?: pulumi.Input<number>;

If set to to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

property creditSpecification

creditSpecification?: pulumi.Input<SpotInstanceRequestCreditSpecification>;

Customize the credit specification of the instance. See Credit Specification below for more details.

property disableApiTermination

disableApiTermination?: pulumi.Input<boolean>;

If true, enables EC2 Instance Termination Protection

property ebsBlockDevices

ebsBlockDevices?: pulumi.Input<pulumi.Input<SpotInstanceRequestEbsBlockDevice>[]>;

Additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection.

property ebsOptimized

ebsOptimized?: pulumi.Input<boolean>;

If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.

property ephemeralBlockDevices

ephemeralBlockDevices?: pulumi.Input<pulumi.Input<SpotInstanceRequestEphemeralBlockDevice>[]>;

Customize Ephemeral (also known as “Instance Store”) volumes on the instance. See Block Devices below for details.

property getPasswordData

getPasswordData?: pulumi.Input<boolean>;

If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the passwordData attribute. See GetPasswordData for more information.

property hibernation

hibernation?: pulumi.Input<boolean>;

If true, the launched EC2 instance will support hibernation.

property hostId

hostId?: pulumi.Input<string>;

The Id of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.

property iamInstanceProfile

iamInstanceProfile?: pulumi.Input<string>;

The IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.

property instanceInitiatedShutdownBehavior

instanceInitiatedShutdownBehavior?: pulumi.Input<string>;

Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.

property instanceInterruptionBehaviour

instanceInterruptionBehaviour?: pulumi.Input<string>;

Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate as this is the current AWS behaviour.

property instanceType

instanceType: pulumi.Input<string>;

The type of instance to start. Updates to this field will trigger a stop/start of the EC2 instance.

property ipv6AddressCount

ipv6AddressCount?: pulumi.Input<number>;

A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.

property ipv6Addresses

ipv6Addresses?: pulumi.Input<pulumi.Input<string>[]>;

Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface

property keyName

keyName?: pulumi.Input<string>;

The key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.

property launchGroup

launchGroup?: pulumi.Input<string>;

A launch group is a group of spot instances that launch together and terminate together. If left empty instances are launched and terminated individually.

property metadataOptions

metadataOptions?: pulumi.Input<SpotInstanceRequestMetadataOptions>;

Customize the metadata options of the instance. See Metadata Options below for more details.

property monitoring

monitoring?: pulumi.Input<boolean>;

If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)

property networkInterfaces

networkInterfaces?: pulumi.Input<pulumi.Input<SpotInstanceRequestNetworkInterface>[]>;

Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.

property placementGroup

placementGroup?: pulumi.Input<string>;

The Placement Group to start the instance in.

property privateIp

privateIp?: pulumi.Input<string>;

Private IP address to associate with the instance in a VPC.

property rootBlockDevice

rootBlockDevice?: pulumi.Input<SpotInstanceRequestRootBlockDevice>;

Customize details about the root block device of the instance. See Block Devices below for details.

property securityGroups

securityGroups?: pulumi.Input<pulumi.Input<string>[]>;

A list of security group names (EC2-Classic) or IDs (default VPC) to associate with.

property sourceDestCheck

sourceDestCheck?: pulumi.Input<boolean>;

Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.

property spotPrice

spotPrice?: pulumi.Input<string>;

The maximum price to request on the spot market.

property spotType

spotType?: pulumi.Input<string>;

If set to one-time, after the instance is terminated, the spot request will be closed.

property subnetId

subnetId?: pulumi.Input<string>;

The VPC Subnet ID to launch in.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property tenancy

tenancy?: pulumi.Input<string>;

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command.

property userData

userData?: pulumi.Input<string>;

The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see userDataBase64 instead.

property userDataBase64

userDataBase64?: pulumi.Input<string>;

Can be used instead of userData to pass base64-encoded binary data directly. Use this instead of userData whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.

property validFrom

validFrom?: pulumi.Input<string>;

The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.

property validUntil

validUntil?: pulumi.Input<string>;

The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request. The default end date is 7 days from the current date.

property volumeTags

volumeTags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the devices created by the instance at launch time.

property vpcSecurityGroupIds

vpcSecurityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

A list of security group IDs to associate with.

property waitForFulfillment

waitForFulfillment?: pulumi.Input<boolean>;

If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.

interface SpotInstanceRequestState

interface SpotInstanceRequestState

Input properties used for looking up and filtering SpotInstanceRequest resources.

property ami

ami?: pulumi.Input<string>;

The AMI to use for the instance.

property arn

arn?: pulumi.Input<string>;

property associatePublicIpAddress

associatePublicIpAddress?: pulumi.Input<boolean>;

Associate a public ip address with an instance in a VPC. Boolean value.

property availabilityZone

availabilityZone?: pulumi.Input<string>;

The AZ to start the instance in.

property blockDurationMinutes

blockDurationMinutes?: pulumi.Input<number>;

The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. Note that you can’t specify an Availability Zone group or a launch group if you specify a duration.

property cpuCoreCount

cpuCoreCount?: pulumi.Input<number>;

Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.

property cpuThreadsPerCore

cpuThreadsPerCore?: pulumi.Input<number>;

If set to to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

property creditSpecification

creditSpecification?: pulumi.Input<SpotInstanceRequestCreditSpecification>;

Customize the credit specification of the instance. See Credit Specification below for more details.

property disableApiTermination

disableApiTermination?: pulumi.Input<boolean>;

If true, enables EC2 Instance Termination Protection

property ebsBlockDevices

ebsBlockDevices?: pulumi.Input<pulumi.Input<SpotInstanceRequestEbsBlockDevice>[]>;

Additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection.

property ebsOptimized

ebsOptimized?: pulumi.Input<boolean>;

If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.

property ephemeralBlockDevices

ephemeralBlockDevices?: pulumi.Input<pulumi.Input<SpotInstanceRequestEphemeralBlockDevice>[]>;

Customize Ephemeral (also known as “Instance Store”) volumes on the instance. See Block Devices below for details.

property getPasswordData

getPasswordData?: pulumi.Input<boolean>;

If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the passwordData attribute. See GetPasswordData for more information.

property hibernation

hibernation?: pulumi.Input<boolean>;

If true, the launched EC2 instance will support hibernation.

property hostId

hostId?: pulumi.Input<string>;

The Id of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.

property iamInstanceProfile

iamInstanceProfile?: pulumi.Input<string>;

The IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.

property instanceInitiatedShutdownBehavior

instanceInitiatedShutdownBehavior?: pulumi.Input<string>;

Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.

property instanceInterruptionBehaviour

instanceInterruptionBehaviour?: pulumi.Input<string>;

Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate as this is the current AWS behaviour.

property instanceState

instanceState?: pulumi.Input<string>;

property instanceType

instanceType?: pulumi.Input<string>;

The type of instance to start. Updates to this field will trigger a stop/start of the EC2 instance.

property ipv6AddressCount

ipv6AddressCount?: pulumi.Input<number>;

A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.

property ipv6Addresses

ipv6Addresses?: pulumi.Input<pulumi.Input<string>[]>;

Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface

property keyName

keyName?: pulumi.Input<string>;

The key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.

property launchGroup

launchGroup?: pulumi.Input<string>;

A launch group is a group of spot instances that launch together and terminate together. If left empty instances are launched and terminated individually.

property metadataOptions

metadataOptions?: pulumi.Input<SpotInstanceRequestMetadataOptions>;

Customize the metadata options of the instance. See Metadata Options below for more details.

property monitoring

monitoring?: pulumi.Input<boolean>;

If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)

property networkInterfaces

networkInterfaces?: pulumi.Input<pulumi.Input<SpotInstanceRequestNetworkInterface>[]>;

Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.

property outpostArn

outpostArn?: pulumi.Input<string>;

property passwordData

passwordData?: pulumi.Input<string>;

property placementGroup

placementGroup?: pulumi.Input<string>;

The Placement Group to start the instance in.

property primaryNetworkInterfaceId

primaryNetworkInterfaceId?: pulumi.Input<string>;

property privateDns

privateDns?: pulumi.Input<string>;

The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you’ve enabled DNS hostnames for your VPC

property privateIp

privateIp?: pulumi.Input<string>;

Private IP address to associate with the instance in a VPC.

property publicDns

publicDns?: pulumi.Input<string>;

The public DNS name assigned to the instance. For EC2-VPC, this is only available if you’ve enabled DNS hostnames for your VPC

property publicIp

publicIp?: pulumi.Input<string>;

The public IP address assigned to the instance, if applicable.

property rootBlockDevice

rootBlockDevice?: pulumi.Input<SpotInstanceRequestRootBlockDevice>;

Customize details about the root block device of the instance. See Block Devices below for details.

property securityGroups

securityGroups?: pulumi.Input<pulumi.Input<string>[]>;

A list of security group names (EC2-Classic) or IDs (default VPC) to associate with.

property sourceDestCheck

sourceDestCheck?: pulumi.Input<boolean>;

Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.

property spotBidStatus

spotBidStatus?: pulumi.Input<string>;

The current bid status of the Spot Instance Request. * spotRequestState The current request state of the Spot Instance Request.

property spotInstanceId

spotInstanceId?: pulumi.Input<string>;

The Instance ID (if any) that is currently fulfilling the Spot Instance request.

property spotPrice

spotPrice?: pulumi.Input<string>;

The maximum price to request on the spot market.

property spotRequestState

spotRequestState?: pulumi.Input<string>;

property spotType

spotType?: pulumi.Input<string>;

If set to one-time, after the instance is terminated, the spot request will be closed.

property subnetId

subnetId?: pulumi.Input<string>;

The VPC Subnet ID to launch in.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property tenancy

tenancy?: pulumi.Input<string>;

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command.

property userData

userData?: pulumi.Input<string>;

The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see userDataBase64 instead.

property userDataBase64

userDataBase64?: pulumi.Input<string>;

Can be used instead of userData to pass base64-encoded binary data directly. Use this instead of userData whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.

property validFrom

validFrom?: pulumi.Input<string>;

The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.

property validUntil

validUntil?: pulumi.Input<string>;

The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request. The default end date is 7 days from the current date.

property volumeTags

volumeTags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the devices created by the instance at launch time.

property vpcSecurityGroupIds

vpcSecurityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

A list of security group IDs to associate with.

property waitForFulfillment

waitForFulfillment?: pulumi.Input<boolean>;

If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.

let SpreadStrategy

let SpreadStrategy: PlacementStrategy = "spread";

A spread placement group places instances on distinct hardware.

interface SubnetArgs

interface SubnetArgs

The set of arguments for constructing a Subnet resource.

property assignIpv6AddressOnCreation

assignIpv6AddressOnCreation?: pulumi.Input<boolean>;

Specify true to indicate that network interfaces created in the specified subnet should be assigned an IPv6 address. Default is false

property availabilityZone

availabilityZone?: pulumi.Input<string>;

The AZ for the subnet.

property availabilityZoneId

availabilityZoneId?: pulumi.Input<string>;

The AZ ID of the subnet.

property cidrBlock

cidrBlock: pulumi.Input<string>;

The CIDR block for the subnet.

property ipv6CidrBlock

ipv6CidrBlock?: pulumi.Input<string>;

The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a /64 prefix length.

property mapPublicIpOnLaunch

mapPublicIpOnLaunch?: pulumi.Input<boolean>;

Specify true to indicate that instances launched into the subnet should be assigned a public IP address. Default is false.

property outpostArn

outpostArn?: pulumi.Input<string>;

The Amazon Resource Name (ARN) of the Outpost.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpcId

vpcId: pulumi.Input<string>;

The VPC ID.

interface SubnetState

interface SubnetState

Input properties used for looking up and filtering Subnet resources.

property arn

arn?: pulumi.Input<string>;

The ARN of the subnet.

property assignIpv6AddressOnCreation

assignIpv6AddressOnCreation?: pulumi.Input<boolean>;

Specify true to indicate that network interfaces created in the specified subnet should be assigned an IPv6 address. Default is false

property availabilityZone

availabilityZone?: pulumi.Input<string>;

The AZ for the subnet.

property availabilityZoneId

availabilityZoneId?: pulumi.Input<string>;

The AZ ID of the subnet.

property cidrBlock

cidrBlock?: pulumi.Input<string>;

The CIDR block for the subnet.

property ipv6CidrBlock

ipv6CidrBlock?: pulumi.Input<string>;

The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a /64 prefix length.

property ipv6CidrBlockAssociationId

ipv6CidrBlockAssociationId?: pulumi.Input<string>;

The association ID for the IPv6 CIDR block.

property mapPublicIpOnLaunch

mapPublicIpOnLaunch?: pulumi.Input<boolean>;

Specify true to indicate that instances launched into the subnet should be assigned a public IP address. Default is false.

property outpostArn

outpostArn?: pulumi.Input<string>;

The Amazon Resource Name (ARN) of the Outpost.

property ownerId

ownerId?: pulumi.Input<string>;

The ID of the AWS account that owns the subnet.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpcId

vpcId?: pulumi.Input<string>;

The VPC ID.

const SuseLinuxPlatform

DEPRECATED Use the equivalent constant in module InstancePlatforms instead
const SuseLinuxPlatform: InstancePlatform = "SUSE Linux";

const TCPProtocol

const TCPProtocol: ProtocolType = "tcp";

type Tenancy

type Tenancy = "default" | "dedicated";

interface TrafficMirrorFilterArgs

interface TrafficMirrorFilterArgs

The set of arguments for constructing a TrafficMirrorFilter resource.

property description

description?: pulumi.Input<string>;

A description of the filter.

property networkServices

networkServices?: pulumi.Input<pulumi.Input<string>[]>;

List of amazon network services that should be mirrored. Valid values: amazon-dns.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Key-value map of resource tags.

interface TrafficMirrorFilterRuleArgs

interface TrafficMirrorFilterRuleArgs

The set of arguments for constructing a TrafficMirrorFilterRule resource.

property description

description?: pulumi.Input<string>;

A description of the traffic mirror filter rule.

property destinationCidrBlock

destinationCidrBlock: pulumi.Input<string>;

The destination CIDR block to assign to the Traffic Mirror rule.

property destinationPortRange

destinationPortRange?: pulumi.Input<TrafficMirrorFilterRuleDestinationPortRange>;

The destination port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below

property protocol

protocol?: pulumi.Input<number>;

The protocol number, for example 17 (UDP), to assign to the Traffic Mirror rule. For information about the protocol value, see Protocol Numbers on the Internet Assigned Numbers Authority (IANA) website.

property ruleAction

ruleAction: pulumi.Input<string>;

The action to take (accept | reject) on the filtered traffic. Valid values are accept and reject

property ruleNumber

ruleNumber: pulumi.Input<number>;

The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.

property sourceCidrBlock

sourceCidrBlock: pulumi.Input<string>;

The source CIDR block to assign to the Traffic Mirror rule.

property sourcePortRange

sourcePortRange?: pulumi.Input<TrafficMirrorFilterRuleSourcePortRange>;

The source port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below

property trafficDirection

trafficDirection: pulumi.Input<string>;

The direction of traffic to be captured. Valid values are ingress and egress

property trafficMirrorFilterId

trafficMirrorFilterId: pulumi.Input<string>;

ID of the traffic mirror filter to which this rule should be added

interface TrafficMirrorFilterRuleState

interface TrafficMirrorFilterRuleState

Input properties used for looking up and filtering TrafficMirrorFilterRule resources.

property description

description?: pulumi.Input<string>;

A description of the traffic mirror filter rule.

property destinationCidrBlock

destinationCidrBlock?: pulumi.Input<string>;

The destination CIDR block to assign to the Traffic Mirror rule.

property destinationPortRange

destinationPortRange?: pulumi.Input<TrafficMirrorFilterRuleDestinationPortRange>;

The destination port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below

property protocol

protocol?: pulumi.Input<number>;

The protocol number, for example 17 (UDP), to assign to the Traffic Mirror rule. For information about the protocol value, see Protocol Numbers on the Internet Assigned Numbers Authority (IANA) website.

property ruleAction

ruleAction?: pulumi.Input<string>;

The action to take (accept | reject) on the filtered traffic. Valid values are accept and reject

property ruleNumber

ruleNumber?: pulumi.Input<number>;

The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.

property sourceCidrBlock

sourceCidrBlock?: pulumi.Input<string>;

The source CIDR block to assign to the Traffic Mirror rule.

property sourcePortRange

sourcePortRange?: pulumi.Input<TrafficMirrorFilterRuleSourcePortRange>;

The source port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below

property trafficDirection

trafficDirection?: pulumi.Input<string>;

The direction of traffic to be captured. Valid values are ingress and egress

property trafficMirrorFilterId

trafficMirrorFilterId?: pulumi.Input<string>;

ID of the traffic mirror filter to which this rule should be added

interface TrafficMirrorFilterState

interface TrafficMirrorFilterState

Input properties used for looking up and filtering TrafficMirrorFilter resources.

property description

description?: pulumi.Input<string>;

A description of the filter.

property networkServices

networkServices?: pulumi.Input<pulumi.Input<string>[]>;

List of amazon network services that should be mirrored. Valid values: amazon-dns.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Key-value map of resource tags.

interface TrafficMirrorSessionArgs

interface TrafficMirrorSessionArgs

The set of arguments for constructing a TrafficMirrorSession resource.

property description

description?: pulumi.Input<string>;

A description of the traffic mirror session.

property networkInterfaceId

networkInterfaceId: pulumi.Input<string>;

ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring.

property packetLength

packetLength?: pulumi.Input<number>;

The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror.

property sessionNumber

sessionNumber: pulumi.Input<number>;
  • The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Key-value map of resource tags.

property trafficMirrorFilterId

trafficMirrorFilterId: pulumi.Input<string>;

ID of the traffic mirror filter to be used

property trafficMirrorTargetId

trafficMirrorTargetId: pulumi.Input<string>;

ID of the traffic mirror target to be used

property virtualNetworkId

virtualNetworkId?: pulumi.Input<number>;
  • The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random.

interface TrafficMirrorSessionState

interface TrafficMirrorSessionState

Input properties used for looking up and filtering TrafficMirrorSession resources.

property description

description?: pulumi.Input<string>;

A description of the traffic mirror session.

property networkInterfaceId

networkInterfaceId?: pulumi.Input<string>;

ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring.

property packetLength

packetLength?: pulumi.Input<number>;

The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror.

property sessionNumber

sessionNumber?: pulumi.Input<number>;
  • The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Key-value map of resource tags.

property trafficMirrorFilterId

trafficMirrorFilterId?: pulumi.Input<string>;

ID of the traffic mirror filter to be used

property trafficMirrorTargetId

trafficMirrorTargetId?: pulumi.Input<string>;

ID of the traffic mirror target to be used

property virtualNetworkId

virtualNetworkId?: pulumi.Input<number>;
  • The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random.

interface TrafficMirrorTargetArgs

interface TrafficMirrorTargetArgs

The set of arguments for constructing a TrafficMirrorTarget resource.

property description

description?: pulumi.Input<string>;

A description of the traffic mirror session.

property networkInterfaceId

networkInterfaceId?: pulumi.Input<string>;

The network interface ID that is associated with the target.

property networkLoadBalancerArn

networkLoadBalancerArn?: pulumi.Input<string>;

The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Key-value map of resource tags.

interface TrafficMirrorTargetState

interface TrafficMirrorTargetState

Input properties used for looking up and filtering TrafficMirrorTarget resources.

property description

description?: pulumi.Input<string>;

A description of the traffic mirror session.

property networkInterfaceId

networkInterfaceId?: pulumi.Input<string>;

The network interface ID that is associated with the target.

property networkLoadBalancerArn

networkLoadBalancerArn?: pulumi.Input<string>;

The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Key-value map of resource tags.

interface TransitGatewayPeeringAttachmentAccepterArgs

interface TransitGatewayPeeringAttachmentAccepterArgs

The set of arguments for constructing a TransitGatewayPeeringAttachmentAccepter resource.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Key-value tags for the EC2 Transit Gateway Peering Attachment.

property transitGatewayAttachmentId

transitGatewayAttachmentId: pulumi.Input<string>;

The ID of the EC2 Transit Gateway Peering Attachment to manage.

interface TransitGatewayPeeringAttachmentAccepterState

interface TransitGatewayPeeringAttachmentAccepterState

Input properties used for looking up and filtering TransitGatewayPeeringAttachmentAccepter resources.

property peerAccountId

peerAccountId?: pulumi.Input<string>;

Identifier of the AWS account that owns the EC2 TGW peering.

property peerRegion

peerRegion?: pulumi.Input<string>;

property peerTransitGatewayId

peerTransitGatewayId?: pulumi.Input<string>;

Identifier of EC2 Transit Gateway to peer with.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Key-value tags for the EC2 Transit Gateway Peering Attachment.

property transitGatewayAttachmentId

transitGatewayAttachmentId?: pulumi.Input<string>;

The ID of the EC2 Transit Gateway Peering Attachment to manage.

property transitGatewayId

transitGatewayId?: pulumi.Input<string>;

Identifier of EC2 Transit Gateway.

const UDPProtocol

const UDPProtocol: ProtocolType = "udp";

interface VolumeAttachmentArgs

interface VolumeAttachmentArgs

The set of arguments for constructing a VolumeAttachment resource.

property deviceName

deviceName: pulumi.Input<string>;

The device name to expose to the instance (for example, /dev/sdh or xvdh). See Device Naming on Linux Instances and Device Naming on Windows Instances for more information.

property forceDetach

forceDetach?: pulumi.Input<boolean>;

Set to true if you want to force the volume to detach. Useful if previous attempts failed, but use this option only as a last resort, as this can result in data loss. See Detaching an Amazon EBS Volume from an Instance for more information.

property instanceId

instanceId: pulumi.Input<string>;

ID of the Instance to attach to

property skipDestroy

skipDestroy?: pulumi.Input<boolean>;

Set this to true if you do not wish to detach the volume from the instance to which it is attached at destroy time, and instead just remove the attachment from this provider state. This is useful when destroying an instance which has volumes created by some other means attached.

property volumeId

volumeId: pulumi.Input<string>;

ID of the Volume to be attached

interface VolumeAttachmentState

interface VolumeAttachmentState

Input properties used for looking up and filtering VolumeAttachment resources.

property deviceName

deviceName?: pulumi.Input<string>;

The device name to expose to the instance (for example, /dev/sdh or xvdh). See Device Naming on Linux Instances and Device Naming on Windows Instances for more information.

property forceDetach

forceDetach?: pulumi.Input<boolean>;

Set to true if you want to force the volume to detach. Useful if previous attempts failed, but use this option only as a last resort, as this can result in data loss. See Detaching an Amazon EBS Volume from an Instance for more information.

property instanceId

instanceId?: pulumi.Input<string>;

ID of the Instance to attach to

property skipDestroy

skipDestroy?: pulumi.Input<boolean>;

Set this to true if you do not wish to detach the volume from the instance to which it is attached at destroy time, and instead just remove the attachment from this provider state. This is useful when destroying an instance which has volumes created by some other means attached.

property volumeId

volumeId?: pulumi.Input<string>;

ID of the Volume to be attached

interface VpcArgs

interface VpcArgs

The set of arguments for constructing a Vpc resource.

property assignGeneratedIpv6CidrBlock

assignGeneratedIpv6CidrBlock?: pulumi.Input<boolean>;

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or the size of the CIDR block. Default is false.

property cidrBlock

cidrBlock: pulumi.Input<string>;

The CIDR block for the VPC.

enableClassiclink?: pulumi.Input<boolean>;

A boolean flag to enable/disable ClassicLink for the VPC. Only valid in regions and accounts that support EC2 Classic. See the ClassicLink documentation for more information. Defaults false.

property enableClassiclinkDnsSupport

enableClassiclinkDnsSupport?: pulumi.Input<boolean>;

A boolean flag to enable/disable ClassicLink DNS Support for the VPC. Only valid in regions and accounts that support EC2 Classic.

property enableDnsHostnames

enableDnsHostnames?: pulumi.Input<boolean>;

A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.

property enableDnsSupport

enableDnsSupport?: pulumi.Input<boolean>;

A boolean flag to enable/disable DNS support in the VPC. Defaults true.

property instanceTenancy

instanceTenancy?: pulumi.Input<string>;

A tenancy option for instances launched into the VPC

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

interface VpcDhcpOptionsArgs

interface VpcDhcpOptionsArgs

The set of arguments for constructing a VpcDhcpOptions resource.

property domainName

domainName?: pulumi.Input<string>;

the suffix domain name to use by default when resolving non Fully Qualified Domain Names. In other words, this is what ends up being the search value in the /etc/resolv.conf file.

property domainNameServers

domainNameServers?: pulumi.Input<pulumi.Input<string>[]>;

List of name servers to configure in /etc/resolv.conf. If you want to use the default AWS nameservers you should set this to AmazonProvidedDNS.

property netbiosNameServers

netbiosNameServers?: pulumi.Input<pulumi.Input<string>[]>;

List of NETBIOS name servers.

property netbiosNodeType

netbiosNodeType?: pulumi.Input<string>;

The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see RFC 2132.

property ntpServers

ntpServers?: pulumi.Input<pulumi.Input<string>[]>;

List of NTP servers to configure.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

interface VpcDhcpOptionsAssociationArgs

interface VpcDhcpOptionsAssociationArgs

The set of arguments for constructing a VpcDhcpOptionsAssociation resource.

property dhcpOptionsId

dhcpOptionsId: pulumi.Input<string>;

The ID of the DHCP Options Set to associate to the VPC.

property vpcId

vpcId: pulumi.Input<string>;

The ID of the VPC to which we would like to associate a DHCP Options Set.

interface VpcDhcpOptionsAssociationState

interface VpcDhcpOptionsAssociationState

Input properties used for looking up and filtering VpcDhcpOptionsAssociation resources.

property dhcpOptionsId

dhcpOptionsId?: pulumi.Input<string>;

The ID of the DHCP Options Set to associate to the VPC.

property vpcId

vpcId?: pulumi.Input<string>;

The ID of the VPC to which we would like to associate a DHCP Options Set.

interface VpcDhcpOptionsState

interface VpcDhcpOptionsState

Input properties used for looking up and filtering VpcDhcpOptions resources.

property domainName

domainName?: pulumi.Input<string>;

the suffix domain name to use by default when resolving non Fully Qualified Domain Names. In other words, this is what ends up being the search value in the /etc/resolv.conf file.

property domainNameServers

domainNameServers?: pulumi.Input<pulumi.Input<string>[]>;

List of name servers to configure in /etc/resolv.conf. If you want to use the default AWS nameservers you should set this to AmazonProvidedDNS.

property netbiosNameServers

netbiosNameServers?: pulumi.Input<pulumi.Input<string>[]>;

List of NETBIOS name servers.

property netbiosNodeType

netbiosNodeType?: pulumi.Input<string>;

The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see RFC 2132.

property ntpServers

ntpServers?: pulumi.Input<pulumi.Input<string>[]>;

List of NTP servers to configure.

property ownerId

ownerId?: pulumi.Input<string>;

The ID of the AWS account that owns the DHCP options set.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

interface VpcEndpointArgs

interface VpcEndpointArgs

The set of arguments for constructing a VpcEndpoint resource.

property autoAccept

autoAccept?: pulumi.Input<boolean>;

Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).

property policy

policy?: pulumi.Input<string>;

A policy to attach to the endpoint that controls access to the service. Defaults to full access. All Gateway and some Interface endpoints support policies - see the relevant AWS documentation for more details.

property privateDnsEnabled

privateDnsEnabled?: pulumi.Input<boolean>;

Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type Interface. Defaults to false.

property routeTableIds

routeTableIds?: pulumi.Input<pulumi.Input<string>[]>;

One or more route table IDs. Applicable for endpoints of type Gateway.

property securityGroupIds

securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

The ID of one or more security groups to associate with the network interface. Required for endpoints of type Interface.

property serviceName

serviceName: pulumi.Input<string>;

The service name. For AWS services the service name is usually in the form com.amazonaws.<region>.<service> (the SageMaker Notebook service is an exception to this rule, the service name is in the form aws.sagemaker.<region>.notebook).

property subnetIds

subnetIds?: pulumi.Input<pulumi.Input<string>[]>;

The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type Interface.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpcEndpointType

vpcEndpointType?: pulumi.Input<string>;

The VPC endpoint type, Gateway or Interface. Defaults to Gateway.

property vpcId

vpcId: pulumi.Input<string>;

The ID of the VPC in which the endpoint will be used.

interface VpcEndpointConnectionNotificationArgs

interface VpcEndpointConnectionNotificationArgs

The set of arguments for constructing a VpcEndpointConnectionNotification resource.

property connectionEvents

connectionEvents: pulumi.Input<pulumi.Input<string>[]>;

One or more endpoint events for which to receive notifications.

property connectionNotificationArn

connectionNotificationArn: pulumi.Input<string>;

The ARN of the SNS topic for the notifications.

property vpcEndpointId

vpcEndpointId?: pulumi.Input<string>;

The ID of the VPC Endpoint to receive notifications for.

property vpcEndpointServiceId

vpcEndpointServiceId?: pulumi.Input<string>;

The ID of the VPC Endpoint Service to receive notifications for.

interface VpcEndpointConnectionNotificationState

interface VpcEndpointConnectionNotificationState

Input properties used for looking up and filtering VpcEndpointConnectionNotification resources.

property connectionEvents

connectionEvents?: pulumi.Input<pulumi.Input<string>[]>;

One or more endpoint events for which to receive notifications.

property connectionNotificationArn

connectionNotificationArn?: pulumi.Input<string>;

The ARN of the SNS topic for the notifications.

property notificationType

notificationType?: pulumi.Input<string>;

The type of notification.

property state

state?: pulumi.Input<string>;

The state of the notification.

property vpcEndpointId

vpcEndpointId?: pulumi.Input<string>;

The ID of the VPC Endpoint to receive notifications for.

property vpcEndpointServiceId

vpcEndpointServiceId?: pulumi.Input<string>;

The ID of the VPC Endpoint Service to receive notifications for.

interface VpcEndpointRouteTableAssociationArgs

interface VpcEndpointRouteTableAssociationArgs

The set of arguments for constructing a VpcEndpointRouteTableAssociation resource.

property routeTableId

routeTableId: pulumi.Input<string>;

Identifier of the EC2 Route Table to be associated with the VPC Endpoint.

property vpcEndpointId

vpcEndpointId: pulumi.Input<string>;

Identifier of the VPC Endpoint with which the EC2 Route Table will be associated.

interface VpcEndpointRouteTableAssociationState

interface VpcEndpointRouteTableAssociationState

Input properties used for looking up and filtering VpcEndpointRouteTableAssociation resources.

property routeTableId

routeTableId?: pulumi.Input<string>;

Identifier of the EC2 Route Table to be associated with the VPC Endpoint.

property vpcEndpointId

vpcEndpointId?: pulumi.Input<string>;

Identifier of the VPC Endpoint with which the EC2 Route Table will be associated.

interface VpcEndpointServiceAllowedPrincipleArgs

interface VpcEndpointServiceAllowedPrincipleArgs

The set of arguments for constructing a VpcEndpointServiceAllowedPrinciple resource.

property principalArn

principalArn: pulumi.Input<string>;

The ARN of the principal to allow permissions.

property vpcEndpointServiceId

vpcEndpointServiceId: pulumi.Input<string>;

The ID of the VPC endpoint service to allow permission.

interface VpcEndpointServiceAllowedPrincipleState

interface VpcEndpointServiceAllowedPrincipleState

Input properties used for looking up and filtering VpcEndpointServiceAllowedPrinciple resources.

property principalArn

principalArn?: pulumi.Input<string>;

The ARN of the principal to allow permissions.

property vpcEndpointServiceId

vpcEndpointServiceId?: pulumi.Input<string>;

The ID of the VPC endpoint service to allow permission.

interface VpcEndpointServiceArgs

interface VpcEndpointServiceArgs

The set of arguments for constructing a VpcEndpointService resource.

property acceptanceRequired

acceptanceRequired: pulumi.Input<boolean>;

Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - true or false.

property allowedPrincipals

allowedPrincipals?: pulumi.Input<pulumi.Input<string>[]>;

The ARNs of one or more principals allowed to discover the endpoint service.

property networkLoadBalancerArns

networkLoadBalancerArns: pulumi.Input<pulumi.Input<string>[]>;

The ARNs of one or more Network Load Balancers for the endpoint service.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

interface VpcEndpointServiceState

interface VpcEndpointServiceState

Input properties used for looking up and filtering VpcEndpointService resources.

property acceptanceRequired

acceptanceRequired?: pulumi.Input<boolean>;

Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - true or false.

property allowedPrincipals

allowedPrincipals?: pulumi.Input<pulumi.Input<string>[]>;

The ARNs of one or more principals allowed to discover the endpoint service.

property availabilityZones

availabilityZones?: pulumi.Input<pulumi.Input<string>[]>;

The Availability Zones in which the service is available.

property baseEndpointDnsNames

baseEndpointDnsNames?: pulumi.Input<pulumi.Input<string>[]>;

The DNS names for the service.

property managesVpcEndpoints

managesVpcEndpoints?: pulumi.Input<boolean>;

Whether or not the service manages its VPC endpoints - true or false.

property networkLoadBalancerArns

networkLoadBalancerArns?: pulumi.Input<pulumi.Input<string>[]>;

The ARNs of one or more Network Load Balancers for the endpoint service.

property privateDnsName

privateDnsName?: pulumi.Input<string>;

The private DNS name for the service.

property serviceName

serviceName?: pulumi.Input<string>;

The service name.

property serviceType

serviceType?: pulumi.Input<string>;

The service type, Gateway or Interface.

property state

state?: pulumi.Input<string>;

The state of the VPC endpoint service.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

interface VpcEndpointState

interface VpcEndpointState

Input properties used for looking up and filtering VpcEndpoint resources.

property autoAccept

autoAccept?: pulumi.Input<boolean>;

Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).

property cidrBlocks

cidrBlocks?: pulumi.Input<pulumi.Input<string>[]>;

The list of CIDR blocks for the exposed AWS service. Applicable for endpoints of type Gateway.

property dnsEntries

dnsEntries?: pulumi.Input<pulumi.Input<VpcEndpointDnsEntry>[]>;

The DNS entries for the VPC Endpoint. Applicable for endpoints of type Interface. DNS blocks are documented below.

property networkInterfaceIds

networkInterfaceIds?: pulumi.Input<pulumi.Input<string>[]>;

One or more network interfaces for the VPC Endpoint. Applicable for endpoints of type Interface.

property ownerId

ownerId?: pulumi.Input<string>;

The ID of the AWS account that owns the VPC endpoint.

property policy

policy?: pulumi.Input<string>;

A policy to attach to the endpoint that controls access to the service. Defaults to full access. All Gateway and some Interface endpoints support policies - see the relevant AWS documentation for more details.

property prefixListId

prefixListId?: pulumi.Input<string>;

The prefix list ID of the exposed AWS service. Applicable for endpoints of type Gateway.

property privateDnsEnabled

privateDnsEnabled?: pulumi.Input<boolean>;

Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type Interface. Defaults to false.

property requesterManaged

requesterManaged?: pulumi.Input<boolean>;

Whether or not the VPC Endpoint is being managed by its service - true or false.

property routeTableIds

routeTableIds?: pulumi.Input<pulumi.Input<string>[]>;

One or more route table IDs. Applicable for endpoints of type Gateway.

property securityGroupIds

securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

The ID of one or more security groups to associate with the network interface. Required for endpoints of type Interface.

property serviceName

serviceName?: pulumi.Input<string>;

The service name. For AWS services the service name is usually in the form com.amazonaws.<region>.<service> (the SageMaker Notebook service is an exception to this rule, the service name is in the form aws.sagemaker.<region>.notebook).

property state

state?: pulumi.Input<string>;

The state of the VPC endpoint.

property subnetIds

subnetIds?: pulumi.Input<pulumi.Input<string>[]>;

The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type Interface.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpcEndpointType

vpcEndpointType?: pulumi.Input<string>;

The VPC endpoint type, Gateway or Interface. Defaults to Gateway.

property vpcId

vpcId?: pulumi.Input<string>;

The ID of the VPC in which the endpoint will be used.

interface VpcEndpointSubnetAssociationArgs

interface VpcEndpointSubnetAssociationArgs

The set of arguments for constructing a VpcEndpointSubnetAssociation resource.

property subnetId

subnetId: pulumi.Input<string>;

The ID of the subnet to be associated with the VPC endpoint.

property vpcEndpointId

vpcEndpointId: pulumi.Input<string>;

The ID of the VPC endpoint with which the subnet will be associated.

interface VpcEndpointSubnetAssociationState

interface VpcEndpointSubnetAssociationState

Input properties used for looking up and filtering VpcEndpointSubnetAssociation resources.

property subnetId

subnetId?: pulumi.Input<string>;

The ID of the subnet to be associated with the VPC endpoint.

property vpcEndpointId

vpcEndpointId?: pulumi.Input<string>;

The ID of the VPC endpoint with which the subnet will be associated.

interface VpcIpv4CidrBlockAssociationArgs

interface VpcIpv4CidrBlockAssociationArgs

The set of arguments for constructing a VpcIpv4CidrBlockAssociation resource.

property cidrBlock

cidrBlock: pulumi.Input<string>;

The additional IPv4 CIDR block to associate with the VPC.

property vpcId

vpcId: pulumi.Input<string>;

The ID of the VPC to make the association with.

interface VpcIpv4CidrBlockAssociationState

interface VpcIpv4CidrBlockAssociationState

Input properties used for looking up and filtering VpcIpv4CidrBlockAssociation resources.

property cidrBlock

cidrBlock?: pulumi.Input<string>;

The additional IPv4 CIDR block to associate with the VPC.

property vpcId

vpcId?: pulumi.Input<string>;

The ID of the VPC to make the association with.

interface VpcPeeringConnectionAccepterArgs

interface VpcPeeringConnectionAccepterArgs

The set of arguments for constructing a VpcPeeringConnectionAccepter resource.

property accepter

accepter?: pulumi.Input<VpcPeeringConnectionAccepterAccepter>;

A configuration block that describes VPC Peering Connection options set for the accepter VPC.

property autoAccept

autoAccept?: pulumi.Input<boolean>;

Whether or not to accept the peering request. Defaults to false.

property requester

requester?: pulumi.Input<VpcPeeringConnectionAccepterRequester>;

A configuration block that describes VPC Peering Connection options set for the requester VPC.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpcPeeringConnectionId

vpcPeeringConnectionId: pulumi.Input<string>;

The VPC Peering Connection ID to manage.

interface VpcPeeringConnectionAccepterState

interface VpcPeeringConnectionAccepterState

Input properties used for looking up and filtering VpcPeeringConnectionAccepter resources.

property acceptStatus

acceptStatus?: pulumi.Input<string>;

The status of the VPC Peering Connection request.

property accepter

accepter?: pulumi.Input<VpcPeeringConnectionAccepterAccepter>;

A configuration block that describes VPC Peering Connection options set for the accepter VPC.

property autoAccept

autoAccept?: pulumi.Input<boolean>;

Whether or not to accept the peering request. Defaults to false.

property peerOwnerId

peerOwnerId?: pulumi.Input<string>;

The AWS account ID of the owner of the requester VPC.

property peerRegion

peerRegion?: pulumi.Input<string>;

The region of the accepter VPC.

property peerVpcId

peerVpcId?: pulumi.Input<string>;

The ID of the requester VPC.

property requester

requester?: pulumi.Input<VpcPeeringConnectionAccepterRequester>;

A configuration block that describes VPC Peering Connection options set for the requester VPC.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpcId

vpcId?: pulumi.Input<string>;

The ID of the accepter VPC.

property vpcPeeringConnectionId

vpcPeeringConnectionId?: pulumi.Input<string>;

The VPC Peering Connection ID to manage.

interface VpcPeeringConnectionArgs

interface VpcPeeringConnectionArgs

The set of arguments for constructing a VpcPeeringConnection resource.

property accepter

accepter?: pulumi.Input<VpcPeeringConnectionAccepter>;

An optional configuration block that allows for VPC Peering Connection options to be set for the VPC that accepts the peering connection (a maximum of one).

property autoAccept

autoAccept?: pulumi.Input<boolean>;

Accept the peering (both VPCs need to be in the same AWS account).

property peerOwnerId

peerOwnerId?: pulumi.Input<string>;

The AWS account ID of the owner of the peer VPC. Defaults to the account ID the AWS provider is currently connected to.

property peerRegion

peerRegion?: pulumi.Input<string>;

The region of the accepter VPC of the [VPC Peering Connection]. autoAccept must be false, and use the aws.ec2.VpcPeeringConnectionAccepter to manage the accepter side.

property peerVpcId

peerVpcId: pulumi.Input<string>;

The ID of the VPC with which you are creating the VPC Peering Connection.

property requester

requester?: pulumi.Input<VpcPeeringConnectionRequester>;

A optional configuration block that allows for VPC Peering Connection options to be set for the VPC that requests the peering connection (a maximum of one).

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpcId

vpcId: pulumi.Input<string>;

The ID of the requester VPC.

interface VpcPeeringConnectionState

interface VpcPeeringConnectionState

Input properties used for looking up and filtering VpcPeeringConnection resources.

property acceptStatus

acceptStatus?: pulumi.Input<string>;

The status of the VPC Peering Connection request.

property accepter

accepter?: pulumi.Input<VpcPeeringConnectionAccepter>;

An optional configuration block that allows for VPC Peering Connection options to be set for the VPC that accepts the peering connection (a maximum of one).

property autoAccept

autoAccept?: pulumi.Input<boolean>;

Accept the peering (both VPCs need to be in the same AWS account).

property peerOwnerId

peerOwnerId?: pulumi.Input<string>;

The AWS account ID of the owner of the peer VPC. Defaults to the account ID the AWS provider is currently connected to.

property peerRegion

peerRegion?: pulumi.Input<string>;

The region of the accepter VPC of the [VPC Peering Connection]. autoAccept must be false, and use the aws.ec2.VpcPeeringConnectionAccepter to manage the accepter side.

property peerVpcId

peerVpcId?: pulumi.Input<string>;

The ID of the VPC with which you are creating the VPC Peering Connection.

property requester

requester?: pulumi.Input<VpcPeeringConnectionRequester>;

A optional configuration block that allows for VPC Peering Connection options to be set for the VPC that requests the peering connection (a maximum of one).

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpcId

vpcId?: pulumi.Input<string>;

The ID of the requester VPC.

interface VpcState

interface VpcState

Input properties used for looking up and filtering Vpc resources.

property arn

arn?: pulumi.Input<string>;

Amazon Resource Name (ARN) of VPC

property assignGeneratedIpv6CidrBlock

assignGeneratedIpv6CidrBlock?: pulumi.Input<boolean>;

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or the size of the CIDR block. Default is false.

property cidrBlock

cidrBlock?: pulumi.Input<string>;

The CIDR block for the VPC.

property defaultNetworkAclId

defaultNetworkAclId?: pulumi.Input<string>;

The ID of the network ACL created by default on VPC creation

property defaultRouteTableId

defaultRouteTableId?: pulumi.Input<string>;

The ID of the route table created by default on VPC creation

property defaultSecurityGroupId

defaultSecurityGroupId?: pulumi.Input<string>;

The ID of the security group created by default on VPC creation

property dhcpOptionsId

dhcpOptionsId?: pulumi.Input<string>;
enableClassiclink?: pulumi.Input<boolean>;

A boolean flag to enable/disable ClassicLink for the VPC. Only valid in regions and accounts that support EC2 Classic. See the ClassicLink documentation for more information. Defaults false.

property enableClassiclinkDnsSupport

enableClassiclinkDnsSupport?: pulumi.Input<boolean>;

A boolean flag to enable/disable ClassicLink DNS Support for the VPC. Only valid in regions and accounts that support EC2 Classic.

property enableDnsHostnames

enableDnsHostnames?: pulumi.Input<boolean>;

A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.

property enableDnsSupport

enableDnsSupport?: pulumi.Input<boolean>;

A boolean flag to enable/disable DNS support in the VPC. Defaults true.

property instanceTenancy

instanceTenancy?: pulumi.Input<string>;

A tenancy option for instances launched into the VPC

property ipv6AssociationId

ipv6AssociationId?: pulumi.Input<string>;

The association ID for the IPv6 CIDR block.

property ipv6CidrBlock

ipv6CidrBlock?: pulumi.Input<string>;

The IPv6 CIDR block.

property mainRouteTableId

mainRouteTableId?: pulumi.Input<string>;

The ID of the main route table associated with this VPC. Note that you can change a VPC’s main route table by using an aws.ec2.MainRouteTableAssociation.

property ownerId

ownerId?: pulumi.Input<string>;

The ID of the AWS account that owns the VPC.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

interface VpnConnectionArgs

interface VpnConnectionArgs

The set of arguments for constructing a VpnConnection resource.

property customerGatewayId

customerGatewayId: pulumi.Input<string>;

The ID of the customer gateway.

property staticRoutesOnly

staticRoutesOnly?: pulumi.Input<boolean>;

Whether the VPN connection uses static routes exclusively. Static routes must be used for devices that don’t support BGP.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Tags to apply to the connection.

property transitGatewayId

transitGatewayId?: pulumi.Input<string>;

The ID of the EC2 Transit Gateway.

property tunnel1InsideCidr

tunnel1InsideCidr?: pulumi.Input<string>;

The CIDR block of the inside IP addresses for the first VPN tunnel.

property tunnel1PresharedKey

tunnel1PresharedKey?: pulumi.Input<string>;

The preshared key of the first VPN tunnel.

property tunnel2InsideCidr

tunnel2InsideCidr?: pulumi.Input<string>;

The CIDR block of the inside IP addresses for the second VPN tunnel.

property tunnel2PresharedKey

tunnel2PresharedKey?: pulumi.Input<string>;

The preshared key of the second VPN tunnel.

property type

type: pulumi.Input<string>;

The type of VPN connection. The only type AWS supports at this time is “ipsec.1”.

property vpnGatewayId

vpnGatewayId?: pulumi.Input<string>;

The ID of the Virtual Private Gateway.

interface VpnConnectionRouteArgs

interface VpnConnectionRouteArgs

The set of arguments for constructing a VpnConnectionRoute resource.

property destinationCidrBlock

destinationCidrBlock: pulumi.Input<string>;

The CIDR block associated with the local subnet of the customer network.

property vpnConnectionId

vpnConnectionId: pulumi.Input<string>;

The ID of the VPN connection.

interface VpnConnectionRouteState

interface VpnConnectionRouteState

Input properties used for looking up and filtering VpnConnectionRoute resources.

property destinationCidrBlock

destinationCidrBlock?: pulumi.Input<string>;

The CIDR block associated with the local subnet of the customer network.

property vpnConnectionId

vpnConnectionId?: pulumi.Input<string>;

The ID of the VPN connection.

interface VpnConnectionState

interface VpnConnectionState

Input properties used for looking up and filtering VpnConnection resources.

property customerGatewayConfiguration

customerGatewayConfiguration?: pulumi.Input<string>;

The configuration information for the VPN connection’s customer gateway (in the native XML format).

property customerGatewayId

customerGatewayId?: pulumi.Input<string>;

The ID of the customer gateway.

property routes

routes?: pulumi.Input<pulumi.Input<VpnConnectionRoute>[]>;

property staticRoutesOnly

staticRoutesOnly?: pulumi.Input<boolean>;

Whether the VPN connection uses static routes exclusively. Static routes must be used for devices that don’t support BGP.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Tags to apply to the connection.

property transitGatewayAttachmentId

transitGatewayAttachmentId?: pulumi.Input<string>;

When associated with an EC2 Transit Gateway (transitGatewayId argument), the attachment ID.

property transitGatewayId

transitGatewayId?: pulumi.Input<string>;

The ID of the EC2 Transit Gateway.

property tunnel1Address

tunnel1Address?: pulumi.Input<string>;

The public IP address of the first VPN tunnel.

property tunnel1BgpAsn

tunnel1BgpAsn?: pulumi.Input<string>;

The bgp asn number of the first VPN tunnel.

property tunnel1BgpHoldtime

tunnel1BgpHoldtime?: pulumi.Input<number>;

The bgp holdtime of the first VPN tunnel.

property tunnel1CgwInsideAddress

tunnel1CgwInsideAddress?: pulumi.Input<string>;

The RFC 6890 link-local address of the first VPN tunnel (Customer Gateway Side).

property tunnel1InsideCidr

tunnel1InsideCidr?: pulumi.Input<string>;

The CIDR block of the inside IP addresses for the first VPN tunnel.

property tunnel1PresharedKey

tunnel1PresharedKey?: pulumi.Input<string>;

The preshared key of the first VPN tunnel.

property tunnel1VgwInsideAddress

tunnel1VgwInsideAddress?: pulumi.Input<string>;

The RFC 6890 link-local address of the first VPN tunnel (VPN Gateway Side).

property tunnel2Address

tunnel2Address?: pulumi.Input<string>;

The public IP address of the second VPN tunnel.

property tunnel2BgpAsn

tunnel2BgpAsn?: pulumi.Input<string>;

The bgp asn number of the second VPN tunnel.

property tunnel2BgpHoldtime

tunnel2BgpHoldtime?: pulumi.Input<number>;

The bgp holdtime of the second VPN tunnel.

property tunnel2CgwInsideAddress

tunnel2CgwInsideAddress?: pulumi.Input<string>;

The RFC 6890 link-local address of the second VPN tunnel (Customer Gateway Side).

property tunnel2InsideCidr

tunnel2InsideCidr?: pulumi.Input<string>;

The CIDR block of the inside IP addresses for the second VPN tunnel.

property tunnel2PresharedKey

tunnel2PresharedKey?: pulumi.Input<string>;

The preshared key of the second VPN tunnel.

property tunnel2VgwInsideAddress

tunnel2VgwInsideAddress?: pulumi.Input<string>;

The RFC 6890 link-local address of the second VPN tunnel (VPN Gateway Side).

property type

type?: pulumi.Input<string>;

The type of VPN connection. The only type AWS supports at this time is “ipsec.1”.

property vgwTelemetries

vgwTelemetries?: pulumi.Input<pulumi.Input<VpnConnectionVgwTelemetry>[]>;

property vpnGatewayId

vpnGatewayId?: pulumi.Input<string>;

The ID of the Virtual Private Gateway.

interface VpnGatewayArgs

interface VpnGatewayArgs

The set of arguments for constructing a VpnGateway resource.

property amazonSideAsn

amazonSideAsn?: pulumi.Input<string>;

The Autonomous System Number (ASN) for the Amazon side of the gateway. If you don’t specify an ASN, the virtual private gateway is created with the default ASN.

property availabilityZone

availabilityZone?: pulumi.Input<string>;

The Availability Zone for the virtual private gateway.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpcId

vpcId?: pulumi.Input<string>;

The VPC ID to create in.

interface VpnGatewayAttachmentArgs

interface VpnGatewayAttachmentArgs

The set of arguments for constructing a VpnGatewayAttachment resource.

property vpcId

vpcId: pulumi.Input<string>;

The ID of the VPC.

property vpnGatewayId

vpnGatewayId: pulumi.Input<string>;

The ID of the Virtual Private Gateway.

interface VpnGatewayAttachmentState

interface VpnGatewayAttachmentState

Input properties used for looking up and filtering VpnGatewayAttachment resources.

property vpcId

vpcId?: pulumi.Input<string>;

The ID of the VPC.

property vpnGatewayId

vpnGatewayId?: pulumi.Input<string>;

The ID of the Virtual Private Gateway.

interface VpnGatewayRoutePropagationArgs

interface VpnGatewayRoutePropagationArgs

The set of arguments for constructing a VpnGatewayRoutePropagation resource.

property routeTableId

routeTableId: pulumi.Input<string>;

The id of the aws.ec2.RouteTable to propagate routes into.

property vpnGatewayId

vpnGatewayId: pulumi.Input<string>;

The id of the aws.ec2.VpnGateway to propagate routes from.

interface VpnGatewayRoutePropagationState

interface VpnGatewayRoutePropagationState

Input properties used for looking up and filtering VpnGatewayRoutePropagation resources.

property routeTableId

routeTableId?: pulumi.Input<string>;

The id of the aws.ec2.RouteTable to propagate routes into.

property vpnGatewayId

vpnGatewayId?: pulumi.Input<string>;

The id of the aws.ec2.VpnGateway to propagate routes from.

interface VpnGatewayState

interface VpnGatewayState

Input properties used for looking up and filtering VpnGateway resources.

property amazonSideAsn

amazonSideAsn?: pulumi.Input<string>;

The Autonomous System Number (ASN) for the Amazon side of the gateway. If you don’t specify an ASN, the virtual private gateway is created with the default ASN.

property availabilityZone

availabilityZone?: pulumi.Input<string>;

The Availability Zone for the virtual private gateway.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the resource.

property vpcId

vpcId?: pulumi.Input<string>;

The VPC ID to create in.

const WindowsPlatform

DEPRECATED Use the equivalent constant in module InstancePlatforms instead
const WindowsPlatform: InstancePlatform = "Windows";

const WindowsWithSqlServerEnterprisePlatform

DEPRECATED Use the equivalent constant in module InstancePlatforms instead
const WindowsWithSqlServerEnterprisePlatform: InstancePlatform = "Windows with SQL Server Enterprise";

const WindowsWithSqlServerPlatform

DEPRECATED Use the equivalent constant in module InstancePlatforms instead
const WindowsWithSqlServerPlatform: InstancePlatform = "Windows with SQL Server";

const WindowsWithSqlServerStandardPlatform

DEPRECATED Use the equivalent constant in module InstancePlatforms instead
const WindowsWithSqlServerStandardPlatform: InstancePlatform = "Windows with SQL Server Standard";

const WindowsWithSqlServerWebPlatform

DEPRECATED Use the equivalent constant in module InstancePlatforms instead
const WindowsWithSqlServerWebPlatform: InstancePlatform = "Windows with SQL Server Web";