ec2

package
v0.18.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 5, 2019 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Ami

type Ami struct {
	// contains filtered or unexported fields
}

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_ami_copy` instead.

If you just want to share an existing AMI with another AWS account, it's better to use `aws_ami_launch_permission` instead.

func GetAmi

func GetAmi(ctx *pulumi.Context,
	name string, id pulumi.ID, state *AmiState, opts ...pulumi.ResourceOpt) (*Ami, error)

GetAmi gets an existing Ami resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAmi

func NewAmi(ctx *pulumi.Context,
	name string, args *AmiArgs, opts ...pulumi.ResourceOpt) (*Ami, error)

NewAmi registers a new resource with the given unique name, arguments, and options.

func (*Ami) Architecture

func (r *Ami) Architecture() *pulumi.StringOutput

Machine architecture for created instances. Defaults to "x86_64".

func (*Ami) Description

func (r *Ami) Description() *pulumi.StringOutput

A longer, human-readable description for the AMI.

func (*Ami) EbsBlockDevices

func (r *Ami) EbsBlockDevices() *pulumi.ArrayOutput

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

func (*Ami) EnaSupport added in v0.15.1

func (r *Ami) EnaSupport() *pulumi.BoolOutput

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

func (*Ami) EphemeralBlockDevices

func (r *Ami) EphemeralBlockDevices() *pulumi.ArrayOutput

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

func (*Ami) ID

func (r *Ami) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Ami) ImageLocation

func (r *Ami) ImageLocation() *pulumi.StringOutput

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

func (*Ami) KernelId

func (r *Ami) KernelId() *pulumi.StringOutput

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

func (*Ami) ManageEbsSnapshots

func (r *Ami) ManageEbsSnapshots() *pulumi.BoolOutput

func (*Ami) Name

func (r *Ami) Name() *pulumi.StringOutput

A region-unique name for the AMI.

func (*Ami) RamdiskId

func (r *Ami) RamdiskId() *pulumi.StringOutput

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

func (*Ami) RootDeviceName

func (r *Ami) RootDeviceName() *pulumi.StringOutput

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

func (*Ami) RootSnapshotId

func (r *Ami) RootSnapshotId() *pulumi.StringOutput

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

func (*Ami) SriovNetSupport

func (r *Ami) SriovNetSupport() *pulumi.StringOutput

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

func (*Ami) Tags

func (r *Ami) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource.

func (*Ami) URN

func (r *Ami) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*Ami) VirtualizationType

func (r *Ami) VirtualizationType() *pulumi.StringOutput

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.

type AmiArgs

type AmiArgs struct {
	// Machine architecture for created instances. Defaults to "x86_64".
	Architecture interface{}
	// A longer, human-readable description for the AMI.
	Description interface{}
	// Nested block describing an EBS block device that should be
	// attached to created instances. The structure of this block is described below.
	EbsBlockDevices interface{}
	// Specifies whether enhanced networking with ENA is enabled. Defaults to `false`.
	EnaSupport interface{}
	// Nested block describing an ephemeral block device that
	// should be attached to created instances. The structure of this block is described below.
	EphemeralBlockDevices interface{}
	// Path to an S3 object containing an image manifest, e.g. created
	// by the `ec2-upload-bundle` command in the EC2 command line tools.
	ImageLocation interface{}
	// The id of the kernel image (AKI) that will be used as the paravirtual
	// kernel in created instances.
	KernelId interface{}
	// A region-unique name for the AMI.
	Name interface{}
	// The id of an initrd image (ARI) that will be used when booting the
	// created instances.
	RamdiskId interface{}
	// The name of the root device (for example, `/dev/sda1`, or `/dev/xvda`).
	RootDeviceName interface{}
	// When set to "simple" (the default), enables enhanced networking
	// for created instances. No other value is supported at this time.
	SriovNetSupport interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// 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.
	VirtualizationType interface{}
}

The set of arguments for constructing a Ami resource.

type AmiCopy

type AmiCopy struct {
	// contains filtered or unexported fields
}

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.

func GetAmiCopy

func GetAmiCopy(ctx *pulumi.Context,
	name string, id pulumi.ID, state *AmiCopyState, opts ...pulumi.ResourceOpt) (*AmiCopy, error)

GetAmiCopy gets an existing AmiCopy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAmiCopy

func NewAmiCopy(ctx *pulumi.Context,
	name string, args *AmiCopyArgs, opts ...pulumi.ResourceOpt) (*AmiCopy, error)

NewAmiCopy registers a new resource with the given unique name, arguments, and options.

func (*AmiCopy) Architecture

func (r *AmiCopy) Architecture() *pulumi.StringOutput

Machine architecture for created instances. Defaults to "x86_64".

func (*AmiCopy) Description

func (r *AmiCopy) Description() *pulumi.StringOutput

A longer, human-readable description for the AMI.

func (*AmiCopy) EbsBlockDevices

func (r *AmiCopy) EbsBlockDevices() *pulumi.ArrayOutput

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

func (*AmiCopy) EnaSupport added in v0.15.1

func (r *AmiCopy) EnaSupport() *pulumi.BoolOutput

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

func (*AmiCopy) Encrypted

func (r *AmiCopy) Encrypted() *pulumi.BoolOutput

Specifies whether the destination snapshots of the copied image should be encrypted. Defaults to `false`

func (*AmiCopy) EphemeralBlockDevices

func (r *AmiCopy) EphemeralBlockDevices() *pulumi.ArrayOutput

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

func (*AmiCopy) ID

func (r *AmiCopy) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*AmiCopy) ImageLocation

func (r *AmiCopy) ImageLocation() *pulumi.StringOutput

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

func (*AmiCopy) KernelId

func (r *AmiCopy) KernelId() *pulumi.StringOutput

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

func (*AmiCopy) KmsKeyId

func (r *AmiCopy) KmsKeyId() *pulumi.StringOutput

The full ARN of the KMS Key to use when encrypting the snapshots of an image during a copy operation. If not specified, then the default AWS KMS Key will be used

func (*AmiCopy) ManageEbsSnapshots

func (r *AmiCopy) ManageEbsSnapshots() *pulumi.BoolOutput

func (*AmiCopy) Name

func (r *AmiCopy) Name() *pulumi.StringOutput

A region-unique name for the AMI.

func (*AmiCopy) RamdiskId

func (r *AmiCopy) RamdiskId() *pulumi.StringOutput

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

func (*AmiCopy) RootDeviceName

func (r *AmiCopy) RootDeviceName() *pulumi.StringOutput

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

func (*AmiCopy) RootSnapshotId

func (r *AmiCopy) RootSnapshotId() *pulumi.StringOutput

func (*AmiCopy) SourceAmiId

func (r *AmiCopy) SourceAmiId() *pulumi.StringOutput

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

func (*AmiCopy) SourceAmiRegion

func (r *AmiCopy) SourceAmiRegion() *pulumi.StringOutput

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.

func (*AmiCopy) SriovNetSupport

func (r *AmiCopy) SriovNetSupport() *pulumi.StringOutput

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

func (*AmiCopy) Tags

func (r *AmiCopy) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource.

func (*AmiCopy) URN

func (r *AmiCopy) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*AmiCopy) VirtualizationType

func (r *AmiCopy) VirtualizationType() *pulumi.StringOutput

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.

type AmiCopyArgs

type AmiCopyArgs struct {
	// A longer, human-readable description for the AMI.
	Description interface{}
	// Nested block describing an EBS block device that should be
	// attached to created instances. The structure of this block is described below.
	EbsBlockDevices interface{}
	// Specifies whether the destination snapshots of the copied image should be encrypted. Defaults to `false`
	Encrypted interface{}
	// Nested block describing an ephemeral block device that
	// should be attached to created instances. The structure of this block is described below.
	EphemeralBlockDevices interface{}
	// The full ARN of the KMS Key to use when encrypting the snapshots of an image during a copy operation. If not specified, then the default AWS KMS Key will be used
	KmsKeyId interface{}
	// A region-unique name for the AMI.
	Name interface{}
	// The id of the AMI to copy. This id must be valid in the region
	// given by `source_ami_region`.
	SourceAmiId interface{}
	// 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.
	SourceAmiRegion interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
}

The set of arguments for constructing a AmiCopy resource.

type AmiCopyState

type AmiCopyState struct {
	// Machine architecture for created instances. Defaults to "x86_64".
	Architecture interface{}
	// A longer, human-readable description for the AMI.
	Description interface{}
	// Nested block describing an EBS block device that should be
	// attached to created instances. The structure of this block is described below.
	EbsBlockDevices interface{}
	// Specifies whether enhanced networking with ENA is enabled. Defaults to `false`.
	EnaSupport interface{}
	// Specifies whether the destination snapshots of the copied image should be encrypted. Defaults to `false`
	Encrypted interface{}
	// Nested block describing an ephemeral block device that
	// should be attached to created instances. The structure of this block is described below.
	EphemeralBlockDevices interface{}
	// Path to an S3 object containing an image manifest, e.g. created
	// by the `ec2-upload-bundle` command in the EC2 command line tools.
	ImageLocation interface{}
	// The id of the kernel image (AKI) that will be used as the paravirtual
	// kernel in created instances.
	KernelId interface{}
	// The full ARN of the KMS Key to use when encrypting the snapshots of an image during a copy operation. If not specified, then the default AWS KMS Key will be used
	KmsKeyId           interface{}
	ManageEbsSnapshots interface{}
	// A region-unique name for the AMI.
	Name interface{}
	// The id of an initrd image (ARI) that will be used when booting the
	// created instances.
	RamdiskId interface{}
	// The name of the root device (for example, `/dev/sda1`, or `/dev/xvda`).
	RootDeviceName interface{}
	RootSnapshotId interface{}
	// The id of the AMI to copy. This id must be valid in the region
	// given by `source_ami_region`.
	SourceAmiId interface{}
	// 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.
	SourceAmiRegion interface{}
	// When set to "simple" (the default), enables enhanced networking
	// for created instances. No other value is supported at this time.
	SriovNetSupport interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// 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.
	VirtualizationType interface{}
}

Input properties used for looking up and filtering AmiCopy resources.

type AmiFromInstance

type AmiFromInstance struct {
	// contains filtered or unexported fields
}

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.

func GetAmiFromInstance

func GetAmiFromInstance(ctx *pulumi.Context,
	name string, id pulumi.ID, state *AmiFromInstanceState, opts ...pulumi.ResourceOpt) (*AmiFromInstance, error)

GetAmiFromInstance gets an existing AmiFromInstance resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAmiFromInstance

func NewAmiFromInstance(ctx *pulumi.Context,
	name string, args *AmiFromInstanceArgs, opts ...pulumi.ResourceOpt) (*AmiFromInstance, error)

NewAmiFromInstance registers a new resource with the given unique name, arguments, and options.

func (*AmiFromInstance) Architecture

func (r *AmiFromInstance) Architecture() *pulumi.StringOutput

Machine architecture for created instances. Defaults to "x86_64".

func (*AmiFromInstance) Description

func (r *AmiFromInstance) Description() *pulumi.StringOutput

A longer, human-readable description for the AMI.

func (*AmiFromInstance) EbsBlockDevices

func (r *AmiFromInstance) EbsBlockDevices() *pulumi.ArrayOutput

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

func (*AmiFromInstance) EnaSupport added in v0.15.1

func (r *AmiFromInstance) EnaSupport() *pulumi.BoolOutput

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

func (*AmiFromInstance) EphemeralBlockDevices

func (r *AmiFromInstance) EphemeralBlockDevices() *pulumi.ArrayOutput

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

func (*AmiFromInstance) ID

func (r *AmiFromInstance) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*AmiFromInstance) ImageLocation

func (r *AmiFromInstance) ImageLocation() *pulumi.StringOutput

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

func (*AmiFromInstance) KernelId

func (r *AmiFromInstance) KernelId() *pulumi.StringOutput

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

func (*AmiFromInstance) ManageEbsSnapshots

func (r *AmiFromInstance) ManageEbsSnapshots() *pulumi.BoolOutput

func (*AmiFromInstance) Name

func (r *AmiFromInstance) Name() *pulumi.StringOutput

A region-unique name for the AMI.

func (*AmiFromInstance) RamdiskId

func (r *AmiFromInstance) RamdiskId() *pulumi.StringOutput

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

func (*AmiFromInstance) RootDeviceName

func (r *AmiFromInstance) RootDeviceName() *pulumi.StringOutput

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

func (*AmiFromInstance) RootSnapshotId

func (r *AmiFromInstance) RootSnapshotId() *pulumi.StringOutput

func (*AmiFromInstance) SnapshotWithoutReboot

func (r *AmiFromInstance) SnapshotWithoutReboot() *pulumi.BoolOutput

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.

func (*AmiFromInstance) SourceInstanceId

func (r *AmiFromInstance) SourceInstanceId() *pulumi.StringOutput

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

func (*AmiFromInstance) SriovNetSupport

func (r *AmiFromInstance) SriovNetSupport() *pulumi.StringOutput

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

func (*AmiFromInstance) Tags

func (r *AmiFromInstance) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource.

func (*AmiFromInstance) URN

func (r *AmiFromInstance) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*AmiFromInstance) VirtualizationType

func (r *AmiFromInstance) VirtualizationType() *pulumi.StringOutput

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.

type AmiFromInstanceArgs

type AmiFromInstanceArgs struct {
	// A longer, human-readable description for the AMI.
	Description interface{}
	// Nested block describing an EBS block device that should be
	// attached to created instances. The structure of this block is described below.
	EbsBlockDevices interface{}
	// Nested block describing an ephemeral block device that
	// should be attached to created instances. The structure of this block is described below.
	EphemeralBlockDevices interface{}
	// A region-unique name for the AMI.
	Name interface{}
	// 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.
	SnapshotWithoutReboot interface{}
	// The id of the instance to use as the basis of the AMI.
	SourceInstanceId interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
}

The set of arguments for constructing a AmiFromInstance resource.

type AmiFromInstanceState

type AmiFromInstanceState struct {
	// Machine architecture for created instances. Defaults to "x86_64".
	Architecture interface{}
	// A longer, human-readable description for the AMI.
	Description interface{}
	// Nested block describing an EBS block device that should be
	// attached to created instances. The structure of this block is described below.
	EbsBlockDevices interface{}
	// Specifies whether enhanced networking with ENA is enabled. Defaults to `false`.
	EnaSupport interface{}
	// Nested block describing an ephemeral block device that
	// should be attached to created instances. The structure of this block is described below.
	EphemeralBlockDevices interface{}
	// Path to an S3 object containing an image manifest, e.g. created
	// by the `ec2-upload-bundle` command in the EC2 command line tools.
	ImageLocation interface{}
	// The id of the kernel image (AKI) that will be used as the paravirtual
	// kernel in created instances.
	KernelId           interface{}
	ManageEbsSnapshots interface{}
	// A region-unique name for the AMI.
	Name interface{}
	// The id of an initrd image (ARI) that will be used when booting the
	// created instances.
	RamdiskId interface{}
	// The name of the root device (for example, `/dev/sda1`, or `/dev/xvda`).
	RootDeviceName interface{}
	RootSnapshotId interface{}
	// 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.
	SnapshotWithoutReboot interface{}
	// The id of the instance to use as the basis of the AMI.
	SourceInstanceId interface{}
	// When set to "simple" (the default), enables enhanced networking
	// for created instances. No other value is supported at this time.
	SriovNetSupport interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// 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.
	VirtualizationType interface{}
}

Input properties used for looking up and filtering AmiFromInstance resources.

type AmiLaunchPermission

type AmiLaunchPermission struct {
	// contains filtered or unexported fields
}

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

func GetAmiLaunchPermission

func GetAmiLaunchPermission(ctx *pulumi.Context,
	name string, id pulumi.ID, state *AmiLaunchPermissionState, opts ...pulumi.ResourceOpt) (*AmiLaunchPermission, error)

GetAmiLaunchPermission gets an existing AmiLaunchPermission resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAmiLaunchPermission

func NewAmiLaunchPermission(ctx *pulumi.Context,
	name string, args *AmiLaunchPermissionArgs, opts ...pulumi.ResourceOpt) (*AmiLaunchPermission, error)

NewAmiLaunchPermission registers a new resource with the given unique name, arguments, and options.

func (*AmiLaunchPermission) AccountId

func (r *AmiLaunchPermission) AccountId() *pulumi.StringOutput

An AWS Account ID to add launch permissions.

func (*AmiLaunchPermission) ID

ID is this resource's unique identifier assigned by its provider.

func (*AmiLaunchPermission) ImageId

func (r *AmiLaunchPermission) ImageId() *pulumi.StringOutput

A region-unique name for the AMI.

func (*AmiLaunchPermission) URN

URN is this resource's unique name assigned by Pulumi.

type AmiLaunchPermissionArgs

type AmiLaunchPermissionArgs struct {
	// An AWS Account ID to add launch permissions.
	AccountId interface{}
	// A region-unique name for the AMI.
	ImageId interface{}
}

The set of arguments for constructing a AmiLaunchPermission resource.

type AmiLaunchPermissionState

type AmiLaunchPermissionState struct {
	// An AWS Account ID to add launch permissions.
	AccountId interface{}
	// A region-unique name for the AMI.
	ImageId interface{}
}

Input properties used for looking up and filtering AmiLaunchPermission resources.

type AmiState

type AmiState struct {
	// Machine architecture for created instances. Defaults to "x86_64".
	Architecture interface{}
	// A longer, human-readable description for the AMI.
	Description interface{}
	// Nested block describing an EBS block device that should be
	// attached to created instances. The structure of this block is described below.
	EbsBlockDevices interface{}
	// Specifies whether enhanced networking with ENA is enabled. Defaults to `false`.
	EnaSupport interface{}
	// Nested block describing an ephemeral block device that
	// should be attached to created instances. The structure of this block is described below.
	EphemeralBlockDevices interface{}
	// Path to an S3 object containing an image manifest, e.g. created
	// by the `ec2-upload-bundle` command in the EC2 command line tools.
	ImageLocation interface{}
	// The id of the kernel image (AKI) that will be used as the paravirtual
	// kernel in created instances.
	KernelId           interface{}
	ManageEbsSnapshots interface{}
	// A region-unique name for the AMI.
	Name interface{}
	// The id of an initrd image (ARI) that will be used when booting the
	// created instances.
	RamdiskId interface{}
	// The name of the root device (for example, `/dev/sda1`, or `/dev/xvda`).
	RootDeviceName interface{}
	// The Snapshot ID for the root volume (for EBS-backed AMIs)
	RootSnapshotId interface{}
	// When set to "simple" (the default), enables enhanced networking
	// for created instances. No other value is supported at this time.
	SriovNetSupport interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// 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.
	VirtualizationType interface{}
}

Input properties used for looking up and filtering Ami resources.

type CapacityReservation added in v0.16.2

type CapacityReservation struct {
	// contains filtered or unexported fields
}

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

func GetCapacityReservation added in v0.16.2

func GetCapacityReservation(ctx *pulumi.Context,
	name string, id pulumi.ID, state *CapacityReservationState, opts ...pulumi.ResourceOpt) (*CapacityReservation, error)

GetCapacityReservation gets an existing CapacityReservation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewCapacityReservation added in v0.16.2

func NewCapacityReservation(ctx *pulumi.Context,
	name string, args *CapacityReservationArgs, opts ...pulumi.ResourceOpt) (*CapacityReservation, error)

NewCapacityReservation registers a new resource with the given unique name, arguments, and options.

func (*CapacityReservation) AvailabilityZone added in v0.16.2

func (r *CapacityReservation) AvailabilityZone() *pulumi.StringOutput

The Availability Zone in which to create the Capacity Reservation.

func (*CapacityReservation) EbsOptimized added in v0.16.2

func (r *CapacityReservation) EbsOptimized() *pulumi.BoolOutput

Indicates whether the Capacity Reservation supports EBS-optimized instances.

func (*CapacityReservation) EndDate added in v0.16.2

func (r *CapacityReservation) EndDate() *pulumi.StringOutput

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](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`)

func (*CapacityReservation) EndDateType added in v0.16.2

func (r *CapacityReservation) EndDateType() *pulumi.StringOutput

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

func (*CapacityReservation) EphemeralStorage added in v0.16.2

func (r *CapacityReservation) EphemeralStorage() *pulumi.BoolOutput

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

func (*CapacityReservation) ID added in v0.16.2

ID is this resource's unique identifier assigned by its provider.

func (*CapacityReservation) InstanceCount added in v0.16.2

func (r *CapacityReservation) InstanceCount() *pulumi.IntOutput

The number of instances for which to reserve capacity.

func (*CapacityReservation) InstanceMatchCriteria added in v0.16.2

func (r *CapacityReservation) InstanceMatchCriteria() *pulumi.StringOutput

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

func (*CapacityReservation) InstancePlatform added in v0.16.2

func (r *CapacityReservation) InstancePlatform() *pulumi.StringOutput

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`.

func (*CapacityReservation) InstanceType added in v0.16.2

func (r *CapacityReservation) InstanceType() *pulumi.StringOutput

The instance type for which to reserve capacity.

func (*CapacityReservation) Tags added in v0.16.2

A mapping of tags to assign to the resource.

func (*CapacityReservation) Tenancy added in v0.16.2

func (r *CapacityReservation) Tenancy() *pulumi.StringOutput

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

func (*CapacityReservation) URN added in v0.16.2

URN is this resource's unique name assigned by Pulumi.

type CapacityReservationArgs added in v0.16.2

type CapacityReservationArgs struct {
	// The Availability Zone in which to create the Capacity Reservation.
	AvailabilityZone interface{}
	// Indicates whether the Capacity Reservation supports EBS-optimized instances.
	EbsOptimized interface{}
	// 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](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`)
	EndDate interface{}
	// Indicates the way in which the Capacity Reservation ends. Specify either `unlimited` or `limited`.
	EndDateType interface{}
	// Indicates whether the Capacity Reservation supports instances with temporary, block-level storage.
	EphemeralStorage interface{}
	// The number of instances for which to reserve capacity.
	InstanceCount interface{}
	// Indicates the type of instance launches that the Capacity Reservation accepts. Specify either `open` or `targeted`.
	InstanceMatchCriteria interface{}
	// 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`.
	InstancePlatform interface{}
	// The instance type for which to reserve capacity.
	InstanceType interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// Indicates the tenancy of the Capacity Reservation. Specify either `default` or `dedicated`.
	Tenancy interface{}
}

The set of arguments for constructing a CapacityReservation resource.

type CapacityReservationState added in v0.16.2

type CapacityReservationState struct {
	// The Availability Zone in which to create the Capacity Reservation.
	AvailabilityZone interface{}
	// Indicates whether the Capacity Reservation supports EBS-optimized instances.
	EbsOptimized interface{}
	// 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](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`)
	EndDate interface{}
	// Indicates the way in which the Capacity Reservation ends. Specify either `unlimited` or `limited`.
	EndDateType interface{}
	// Indicates whether the Capacity Reservation supports instances with temporary, block-level storage.
	EphemeralStorage interface{}
	// The number of instances for which to reserve capacity.
	InstanceCount interface{}
	// Indicates the type of instance launches that the Capacity Reservation accepts. Specify either `open` or `targeted`.
	InstanceMatchCriteria interface{}
	// 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`.
	InstancePlatform interface{}
	// The instance type for which to reserve capacity.
	InstanceType interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// Indicates the tenancy of the Capacity Reservation. Specify either `default` or `dedicated`.
	Tenancy interface{}
}

Input properties used for looking up and filtering CapacityReservation resources.

type CustomerGateway

type CustomerGateway struct {
	// contains filtered or unexported fields
}

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.

func GetCustomerGateway

func GetCustomerGateway(ctx *pulumi.Context,
	name string, id pulumi.ID, state *CustomerGatewayState, opts ...pulumi.ResourceOpt) (*CustomerGateway, error)

GetCustomerGateway gets an existing CustomerGateway resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewCustomerGateway

func NewCustomerGateway(ctx *pulumi.Context,
	name string, args *CustomerGatewayArgs, opts ...pulumi.ResourceOpt) (*CustomerGateway, error)

NewCustomerGateway registers a new resource with the given unique name, arguments, and options.

func (*CustomerGateway) BgpAsn

func (r *CustomerGateway) BgpAsn() *pulumi.IntOutput

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

func (*CustomerGateway) ID

func (r *CustomerGateway) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*CustomerGateway) IpAddress

func (r *CustomerGateway) IpAddress() *pulumi.StringOutput

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

func (*CustomerGateway) Tags

func (r *CustomerGateway) Tags() *pulumi.MapOutput

Tags to apply to the gateway.

func (*CustomerGateway) Type

func (r *CustomerGateway) Type() *pulumi.StringOutput

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

func (*CustomerGateway) URN

func (r *CustomerGateway) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type CustomerGatewayArgs

type CustomerGatewayArgs struct {
	// The gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).
	BgpAsn interface{}
	// The IP address of the gateway's Internet-routable external interface.
	IpAddress interface{}
	// Tags to apply to the gateway.
	Tags interface{}
	// The type of customer gateway. The only type AWS
	// supports at this time is "ipsec.1".
	Type interface{}
}

The set of arguments for constructing a CustomerGateway resource.

type CustomerGatewayState

type CustomerGatewayState struct {
	// The gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).
	BgpAsn interface{}
	// The IP address of the gateway's Internet-routable external interface.
	IpAddress interface{}
	// Tags to apply to the gateway.
	Tags interface{}
	// The type of customer gateway. The only type AWS
	// supports at this time is "ipsec.1".
	Type interface{}
}

Input properties used for looking up and filtering CustomerGateway resources.

type DefaultNetworkAcl

type DefaultNetworkAcl struct {
	// contains filtered or unexported fields
}

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_default_network_acl` behaves differently from normal resources, in that Terraform 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 Terraform 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_network_acl_rule` resource.

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

func GetDefaultNetworkAcl

func GetDefaultNetworkAcl(ctx *pulumi.Context,
	name string, id pulumi.ID, state *DefaultNetworkAclState, opts ...pulumi.ResourceOpt) (*DefaultNetworkAcl, error)

GetDefaultNetworkAcl gets an existing DefaultNetworkAcl resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDefaultNetworkAcl

func NewDefaultNetworkAcl(ctx *pulumi.Context,
	name string, args *DefaultNetworkAclArgs, opts ...pulumi.ResourceOpt) (*DefaultNetworkAcl, error)

NewDefaultNetworkAcl registers a new resource with the given unique name, arguments, and options.

func (*DefaultNetworkAcl) DefaultNetworkAclId

func (r *DefaultNetworkAcl) DefaultNetworkAclId() *pulumi.StringOutput

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

func (*DefaultNetworkAcl) Egress

func (r *DefaultNetworkAcl) Egress() *pulumi.ArrayOutput

Specifies an egress rule. Parameters defined below.

func (*DefaultNetworkAcl) ID

ID is this resource's unique identifier assigned by its provider.

func (*DefaultNetworkAcl) Ingress

func (r *DefaultNetworkAcl) Ingress() *pulumi.ArrayOutput

Specifies an ingress rule. Parameters defined below.

func (*DefaultNetworkAcl) OwnerId added in v0.16.4

func (r *DefaultNetworkAcl) OwnerId() *pulumi.StringOutput

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

func (*DefaultNetworkAcl) SubnetIds

func (r *DefaultNetworkAcl) SubnetIds() *pulumi.ArrayOutput

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

func (*DefaultNetworkAcl) Tags

func (r *DefaultNetworkAcl) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource.

func (*DefaultNetworkAcl) URN

URN is this resource's unique name assigned by Pulumi.

func (*DefaultNetworkAcl) VpcId

The ID of the associated VPC

type DefaultNetworkAclArgs

type DefaultNetworkAclArgs struct {
	// The Network ACL ID to manage. This
	// attribute is exported from `aws_vpc`, or manually found via the AWS Console.
	DefaultNetworkAclId interface{}
	// Specifies an egress rule. Parameters defined below.
	Egress interface{}
	// Specifies an ingress rule. Parameters defined below.
	Ingress interface{}
	// A list of Subnet IDs to apply the ACL to. See the
	// notes below on managing Subnets in the Default Network ACL
	SubnetIds interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
}

The set of arguments for constructing a DefaultNetworkAcl resource.

type DefaultNetworkAclState

type DefaultNetworkAclState struct {
	// The Network ACL ID to manage. This
	// attribute is exported from `aws_vpc`, or manually found via the AWS Console.
	DefaultNetworkAclId interface{}
	// Specifies an egress rule. Parameters defined below.
	Egress interface{}
	// Specifies an ingress rule. Parameters defined below.
	Ingress interface{}
	// The ID of the AWS account that owns the Default Network ACL
	OwnerId interface{}
	// A list of Subnet IDs to apply the ACL to. See the
	// notes below on managing Subnets in the Default Network ACL
	SubnetIds interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// The ID of the associated VPC
	VpcId interface{}
}

Input properties used for looking up and filtering DefaultNetworkAcl resources.

type DefaultRouteTable

type DefaultRouteTable struct {
	// contains filtered or unexported fields
}

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_default_route_table` to manage the default route table **and** use the `aws_main_route_table_association`, due to possible conflict in routes.

The `aws_default_route_table` behaves differently from normal resources, in that Terraform 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 Terraform 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 Terraform, see our documentation on [aws_route_table][tf-route-tables].

> **NOTE on Route Tables and Routes:** Terraform 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.

func GetDefaultRouteTable

func GetDefaultRouteTable(ctx *pulumi.Context,
	name string, id pulumi.ID, state *DefaultRouteTableState, opts ...pulumi.ResourceOpt) (*DefaultRouteTable, error)

GetDefaultRouteTable gets an existing DefaultRouteTable resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDefaultRouteTable

func NewDefaultRouteTable(ctx *pulumi.Context,
	name string, args *DefaultRouteTableArgs, opts ...pulumi.ResourceOpt) (*DefaultRouteTable, error)

NewDefaultRouteTable registers a new resource with the given unique name, arguments, and options.

func (*DefaultRouteTable) DefaultRouteTableId

func (r *DefaultRouteTable) DefaultRouteTableId() *pulumi.StringOutput

The ID of the Default Routing Table.

func (*DefaultRouteTable) ID

ID is this resource's unique identifier assigned by its provider.

func (*DefaultRouteTable) OwnerId added in v0.16.4

func (r *DefaultRouteTable) OwnerId() *pulumi.StringOutput

The ID of the AWS account that owns the route table

func (*DefaultRouteTable) PropagatingVgws

func (r *DefaultRouteTable) PropagatingVgws() *pulumi.ArrayOutput

A list of virtual gateways for propagation.

func (*DefaultRouteTable) Routes

func (r *DefaultRouteTable) Routes() *pulumi.ArrayOutput

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

func (*DefaultRouteTable) Tags

func (r *DefaultRouteTable) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource.

func (*DefaultRouteTable) URN

URN is this resource's unique name assigned by Pulumi.

func (*DefaultRouteTable) VpcId

type DefaultRouteTableArgs

type DefaultRouteTableArgs struct {
	// The ID of the Default Routing Table.
	DefaultRouteTableId interface{}
	// A list of virtual gateways for propagation.
	PropagatingVgws interface{}
	// A list of route objects. Their keys are documented below.
	Routes interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
}

The set of arguments for constructing a DefaultRouteTable resource.

type DefaultRouteTableState

type DefaultRouteTableState struct {
	// The ID of the Default Routing Table.
	DefaultRouteTableId interface{}
	// The ID of the AWS account that owns the route table
	OwnerId interface{}
	// A list of virtual gateways for propagation.
	PropagatingVgws interface{}
	// A list of route objects. Their keys are documented below.
	Routes interface{}
	// A mapping of tags to assign to the resource.
	Tags  interface{}
	VpcId interface{}
}

Input properties used for looking up and filtering DefaultRouteTable resources.

type DefaultSecurityGroup

type DefaultSecurityGroup struct {
	// contains filtered or unexported fields
}

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_default_security_group` behaves differently from normal resources, in that Terraform 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 Terraform 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_security_group_rule` resource.

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

## Usage

With the exceptions mentioned above, `aws_default_security_group` should identical behavior to `aws_security_group`. Please consult [AWS_SECURITY_GROUP](https://www.terraform.io/docs/providers/aws/r/security_group.html) for further usage documentation.

### Removing `aws_default_security_group` from your configuration

Each AWS VPC (or region, if using EC2 Classic) comes with a Default Security Group that cannot be deleted. The `aws_default_security_group` allows you to manage this Security Group, but Terraform 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.

func GetDefaultSecurityGroup

func GetDefaultSecurityGroup(ctx *pulumi.Context,
	name string, id pulumi.ID, state *DefaultSecurityGroupState, opts ...pulumi.ResourceOpt) (*DefaultSecurityGroup, error)

GetDefaultSecurityGroup gets an existing DefaultSecurityGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDefaultSecurityGroup

func NewDefaultSecurityGroup(ctx *pulumi.Context,
	name string, args *DefaultSecurityGroupArgs, opts ...pulumi.ResourceOpt) (*DefaultSecurityGroup, error)

NewDefaultSecurityGroup registers a new resource with the given unique name, arguments, and options.

func (*DefaultSecurityGroup) Arn

func (*DefaultSecurityGroup) Egress

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

func (*DefaultSecurityGroup) ID

ID is this resource's unique identifier assigned by its provider.

func (*DefaultSecurityGroup) Ingress

func (r *DefaultSecurityGroup) Ingress() *pulumi.ArrayOutput

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

func (*DefaultSecurityGroup) Name

The name of the security group

func (*DefaultSecurityGroup) OwnerId

The owner ID.

func (*DefaultSecurityGroup) RevokeRulesOnDelete

func (r *DefaultSecurityGroup) RevokeRulesOnDelete() *pulumi.BoolOutput

func (*DefaultSecurityGroup) Tags

A mapping of tags to assign to the resource.

func (*DefaultSecurityGroup) URN

URN is this resource's unique name assigned by Pulumi.

func (*DefaultSecurityGroup) VpcId

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

type DefaultSecurityGroupArgs

type DefaultSecurityGroupArgs struct {
	// Can be specified multiple times for each
	// egress rule. Each egress block supports fields documented below.
	Egress interface{}
	// Can be specified multiple times for each
	// ingress rule. Each ingress block supports fields documented below.
	Ingress             interface{}
	RevokeRulesOnDelete interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// The VPC ID. **Note that changing
	// the `vpc_id` will _not_ restore any default security group rules that were
	// modified, added, or removed.** It will be left in its current state
	VpcId interface{}
}

The set of arguments for constructing a DefaultSecurityGroup resource.

type DefaultSecurityGroupState

type DefaultSecurityGroupState struct {
	Arn interface{}
	// Can be specified multiple times for each
	// egress rule. Each egress block supports fields documented below.
	Egress interface{}
	// Can be specified multiple times for each
	// ingress rule. Each ingress block supports fields documented below.
	Ingress interface{}
	// The name of the security group
	Name interface{}
	// The owner ID.
	OwnerId             interface{}
	RevokeRulesOnDelete interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// The VPC ID. **Note that changing
	// the `vpc_id` will _not_ restore any default security group rules that were
	// modified, added, or removed.** It will be left in its current state
	VpcId interface{}
}

Input properties used for looking up and filtering DefaultSecurityGroup resources.

type DefaultSubnet

type DefaultSubnet struct {
	// contains filtered or unexported fields
}

Provides a resource to manage a [default AWS VPC subnet](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html#default-vpc-basics) in the current region.

The `aws_default_subnet` behaves differently from normal resources, in that Terraform does not _create_ this resource, but instead "adopts" it into management.

func GetDefaultSubnet

func GetDefaultSubnet(ctx *pulumi.Context,
	name string, id pulumi.ID, state *DefaultSubnetState, opts ...pulumi.ResourceOpt) (*DefaultSubnet, error)

GetDefaultSubnet gets an existing DefaultSubnet resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDefaultSubnet

func NewDefaultSubnet(ctx *pulumi.Context,
	name string, args *DefaultSubnetArgs, opts ...pulumi.ResourceOpt) (*DefaultSubnet, error)

NewDefaultSubnet registers a new resource with the given unique name, arguments, and options.

func (*DefaultSubnet) Arn added in v0.15.1

func (r *DefaultSubnet) Arn() *pulumi.StringOutput

func (*DefaultSubnet) AssignIpv6AddressOnCreation

func (r *DefaultSubnet) AssignIpv6AddressOnCreation() *pulumi.BoolOutput

func (*DefaultSubnet) AvailabilityZone

func (r *DefaultSubnet) AvailabilityZone() *pulumi.StringOutput

func (*DefaultSubnet) AvailabilityZoneId added in v0.16.4

func (r *DefaultSubnet) AvailabilityZoneId() *pulumi.StringOutput

func (*DefaultSubnet) CidrBlock

func (r *DefaultSubnet) CidrBlock() *pulumi.StringOutput

The CIDR block for the subnet.

func (*DefaultSubnet) ID

func (r *DefaultSubnet) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*DefaultSubnet) Ipv6CidrBlock

func (r *DefaultSubnet) Ipv6CidrBlock() *pulumi.StringOutput

The IPv6 CIDR block.

func (*DefaultSubnet) Ipv6CidrBlockAssociationId

func (r *DefaultSubnet) Ipv6CidrBlockAssociationId() *pulumi.StringOutput

func (*DefaultSubnet) MapPublicIpOnLaunch

func (r *DefaultSubnet) MapPublicIpOnLaunch() *pulumi.BoolOutput

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

func (*DefaultSubnet) OwnerId added in v0.16.4

func (r *DefaultSubnet) OwnerId() *pulumi.StringOutput

The ID of the AWS account that owns the subnet.

func (*DefaultSubnet) Tags

func (r *DefaultSubnet) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource.

func (*DefaultSubnet) URN

func (r *DefaultSubnet) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*DefaultSubnet) VpcId

func (r *DefaultSubnet) VpcId() *pulumi.StringOutput

The VPC ID.

type DefaultSubnetArgs

type DefaultSubnetArgs struct {
	AvailabilityZone interface{}
	// Specify true to indicate
	// that instances launched into the subnet should be assigned
	// a public IP address.
	MapPublicIpOnLaunch interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
}

The set of arguments for constructing a DefaultSubnet resource.

type DefaultSubnetState

type DefaultSubnetState struct {
	Arn                         interface{}
	AssignIpv6AddressOnCreation interface{}
	AvailabilityZone            interface{}
	AvailabilityZoneId          interface{}
	// The CIDR block for the subnet.
	CidrBlock interface{}
	// The IPv6 CIDR block.
	Ipv6CidrBlock              interface{}
	Ipv6CidrBlockAssociationId interface{}
	// Specify true to indicate
	// that instances launched into the subnet should be assigned
	// a public IP address.
	MapPublicIpOnLaunch interface{}
	// The ID of the AWS account that owns the subnet.
	OwnerId interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// The VPC ID.
	VpcId interface{}
}

Input properties used for looking up and filtering DefaultSubnet resources.

type DefaultVpc

type DefaultVpc struct {
	// contains filtered or unexported fields
}

Provides a resource to manage the [default AWS VPC](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html) 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_default_vpc` behaves differently from normal resources, in that Terraform does not _create_ this resource, but instead "adopts" it into management.

func GetDefaultVpc

func GetDefaultVpc(ctx *pulumi.Context,
	name string, id pulumi.ID, state *DefaultVpcState, opts ...pulumi.ResourceOpt) (*DefaultVpc, error)

GetDefaultVpc gets an existing DefaultVpc resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDefaultVpc

func NewDefaultVpc(ctx *pulumi.Context,
	name string, args *DefaultVpcArgs, opts ...pulumi.ResourceOpt) (*DefaultVpc, error)

NewDefaultVpc registers a new resource with the given unique name, arguments, and options.

func (*DefaultVpc) Arn added in v0.15.1

func (r *DefaultVpc) Arn() *pulumi.StringOutput

Amazon Resource Name (ARN) of VPC

func (*DefaultVpc) AssignGeneratedIpv6CidrBlock

func (r *DefaultVpc) AssignGeneratedIpv6CidrBlock() *pulumi.BoolOutput

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

func (*DefaultVpc) CidrBlock

func (r *DefaultVpc) CidrBlock() *pulumi.StringOutput

The CIDR block of the VPC

func (*DefaultVpc) DefaultNetworkAclId

func (r *DefaultVpc) DefaultNetworkAclId() *pulumi.StringOutput

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

func (*DefaultVpc) DefaultRouteTableId

func (r *DefaultVpc) DefaultRouteTableId() *pulumi.StringOutput

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

func (*DefaultVpc) DefaultSecurityGroupId

func (r *DefaultVpc) DefaultSecurityGroupId() *pulumi.StringOutput

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

func (*DefaultVpc) DhcpOptionsId

func (r *DefaultVpc) DhcpOptionsId() *pulumi.StringOutput
func (r *DefaultVpc) EnableClassiclink() *pulumi.BoolOutput

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

func (*DefaultVpc) EnableClassiclinkDnsSupport

func (r *DefaultVpc) EnableClassiclinkDnsSupport() *pulumi.BoolOutput

func (*DefaultVpc) EnableDnsHostnames

func (r *DefaultVpc) EnableDnsHostnames() *pulumi.BoolOutput

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

func (*DefaultVpc) EnableDnsSupport

func (r *DefaultVpc) EnableDnsSupport() *pulumi.BoolOutput

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

func (*DefaultVpc) ID

func (r *DefaultVpc) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*DefaultVpc) InstanceTenancy

func (r *DefaultVpc) InstanceTenancy() *pulumi.StringOutput

Tenancy of instances spin up within VPC.

func (*DefaultVpc) Ipv6AssociationId

func (r *DefaultVpc) Ipv6AssociationId() *pulumi.StringOutput

The association ID for the IPv6 CIDR block of the VPC

func (*DefaultVpc) Ipv6CidrBlock

func (r *DefaultVpc) Ipv6CidrBlock() *pulumi.StringOutput

The IPv6 CIDR block of the VPC

func (*DefaultVpc) MainRouteTableId

func (r *DefaultVpc) MainRouteTableId() *pulumi.StringOutput

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_main_route_table_association`](https://www.terraform.io/docs/providers/aws/r/main_route_table_assoc.html)

func (*DefaultVpc) OwnerId added in v0.16.4

func (r *DefaultVpc) OwnerId() *pulumi.StringOutput

The ID of the AWS account that owns the VPC.

func (*DefaultVpc) Tags

func (r *DefaultVpc) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource.

func (*DefaultVpc) URN

func (r *DefaultVpc) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type DefaultVpcArgs

type DefaultVpcArgs struct {
	// A boolean flag to enable/disable ClassicLink
	// for the VPC. Only valid in regions and accounts that support EC2 Classic.
	// See the [ClassicLink documentation][1] for more information. Defaults false.
	EnableClassiclink           interface{}
	EnableClassiclinkDnsSupport interface{}
	// A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.
	EnableDnsHostnames interface{}
	// A boolean flag to enable/disable DNS support in the VPC. Defaults true.
	EnableDnsSupport interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
}

The set of arguments for constructing a DefaultVpc resource.

type DefaultVpcDhcpOptions

type DefaultVpcDhcpOptions struct {
	// contains filtered or unexported fields
}

Provides a resource to manage the [default AWS DHCP Options Set](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html#AmazonDNS) 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_default_vpc_dhcp_options` behaves differently from normal resources, in that Terraform does not _create_ this resource, but instead "adopts" it into management.

func GetDefaultVpcDhcpOptions

func GetDefaultVpcDhcpOptions(ctx *pulumi.Context,
	name string, id pulumi.ID, state *DefaultVpcDhcpOptionsState, opts ...pulumi.ResourceOpt) (*DefaultVpcDhcpOptions, error)

GetDefaultVpcDhcpOptions gets an existing DefaultVpcDhcpOptions resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDefaultVpcDhcpOptions

func NewDefaultVpcDhcpOptions(ctx *pulumi.Context,
	name string, args *DefaultVpcDhcpOptionsArgs, opts ...pulumi.ResourceOpt) (*DefaultVpcDhcpOptions, error)

NewDefaultVpcDhcpOptions registers a new resource with the given unique name, arguments, and options.

func (*DefaultVpcDhcpOptions) DomainName

func (r *DefaultVpcDhcpOptions) DomainName() *pulumi.StringOutput

func (*DefaultVpcDhcpOptions) DomainNameServers

func (r *DefaultVpcDhcpOptions) DomainNameServers() *pulumi.StringOutput

func (*DefaultVpcDhcpOptions) ID

ID is this resource's unique identifier assigned by its provider.

func (*DefaultVpcDhcpOptions) NetbiosNameServers

func (r *DefaultVpcDhcpOptions) NetbiosNameServers() *pulumi.ArrayOutput

List of NETBIOS name servers.

func (*DefaultVpcDhcpOptions) NetbiosNodeType

func (r *DefaultVpcDhcpOptions) NetbiosNodeType() *pulumi.StringOutput

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](http://www.ietf.org/rfc/rfc2132.txt).

func (*DefaultVpcDhcpOptions) NtpServers

func (r *DefaultVpcDhcpOptions) NtpServers() *pulumi.StringOutput

func (*DefaultVpcDhcpOptions) OwnerId added in v0.16.4

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

func (*DefaultVpcDhcpOptions) Tags

A mapping of tags to assign to the resource.

func (*DefaultVpcDhcpOptions) URN

URN is this resource's unique name assigned by Pulumi.

type DefaultVpcDhcpOptionsArgs

type DefaultVpcDhcpOptionsArgs struct {
	// List of NETBIOS name servers.
	NetbiosNameServers interface{}
	// 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](http://www.ietf.org/rfc/rfc2132.txt).
	NetbiosNodeType interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
}

The set of arguments for constructing a DefaultVpcDhcpOptions resource.

type DefaultVpcDhcpOptionsState

type DefaultVpcDhcpOptionsState struct {
	DomainName        interface{}
	DomainNameServers interface{}
	// List of NETBIOS name servers.
	NetbiosNameServers interface{}
	// 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](http://www.ietf.org/rfc/rfc2132.txt).
	NetbiosNodeType interface{}
	NtpServers      interface{}
	// The ID of the AWS account that owns the DHCP options set.
	OwnerId interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
}

Input properties used for looking up and filtering DefaultVpcDhcpOptions resources.

type DefaultVpcState

type DefaultVpcState struct {
	// Amazon Resource Name (ARN) of VPC
	Arn interface{}
	// Whether or not an Amazon-provided IPv6 CIDR
	// block with a /56 prefix length for the VPC was assigned
	AssignGeneratedIpv6CidrBlock interface{}
	// The CIDR block of the VPC
	CidrBlock interface{}
	// The ID of the network ACL created by default on VPC creation
	DefaultNetworkAclId interface{}
	// The ID of the route table created by default on VPC creation
	DefaultRouteTableId interface{}
	// The ID of the security group created by default on VPC creation
	DefaultSecurityGroupId interface{}
	DhcpOptionsId          interface{}
	// A boolean flag to enable/disable ClassicLink
	// for the VPC. Only valid in regions and accounts that support EC2 Classic.
	// See the [ClassicLink documentation][1] for more information. Defaults false.
	EnableClassiclink           interface{}
	EnableClassiclinkDnsSupport interface{}
	// A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.
	EnableDnsHostnames interface{}
	// A boolean flag to enable/disable DNS support in the VPC. Defaults true.
	EnableDnsSupport interface{}
	// Tenancy of instances spin up within VPC.
	InstanceTenancy interface{}
	// The association ID for the IPv6 CIDR block of the VPC
	Ipv6AssociationId interface{}
	// The IPv6 CIDR block of the VPC
	Ipv6CidrBlock interface{}
	// 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_main_route_table_association`](https://www.terraform.io/docs/providers/aws/r/main_route_table_assoc.html)
	MainRouteTableId interface{}
	// The ID of the AWS account that owns the VPC.
	OwnerId interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
}

Input properties used for looking up and filtering DefaultVpc resources.

type EgressOnlyInternetGateway

type EgressOnlyInternetGateway struct {
	// contains filtered or unexported fields
}

[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.

func GetEgressOnlyInternetGateway

func GetEgressOnlyInternetGateway(ctx *pulumi.Context,
	name string, id pulumi.ID, state *EgressOnlyInternetGatewayState, opts ...pulumi.ResourceOpt) (*EgressOnlyInternetGateway, error)

GetEgressOnlyInternetGateway gets an existing EgressOnlyInternetGateway resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewEgressOnlyInternetGateway

func NewEgressOnlyInternetGateway(ctx *pulumi.Context,
	name string, args *EgressOnlyInternetGatewayArgs, opts ...pulumi.ResourceOpt) (*EgressOnlyInternetGateway, error)

NewEgressOnlyInternetGateway registers a new resource with the given unique name, arguments, and options.

func (*EgressOnlyInternetGateway) ID

ID is this resource's unique identifier assigned by its provider.

func (*EgressOnlyInternetGateway) URN

URN is this resource's unique name assigned by Pulumi.

func (*EgressOnlyInternetGateway) VpcId

The VPC ID to create in.

type EgressOnlyInternetGatewayArgs

type EgressOnlyInternetGatewayArgs struct {
	// The VPC ID to create in.
	VpcId interface{}
}

The set of arguments for constructing a EgressOnlyInternetGateway resource.

type EgressOnlyInternetGatewayState

type EgressOnlyInternetGatewayState struct {
	// The VPC ID to create in.
	VpcId interface{}
}

Input properties used for looking up and filtering EgressOnlyInternetGateway resources.

type Eip

type Eip struct {
	// contains filtered or unexported fields
}

Provides an Elastic IP resource.

> **Note:** EIP may require IGW to exist prior to association. Use `depends_on` to set an explicit dependency on the IGW.

> **Note:** Do not use `network_interface` to associate the EIP to `aws_lb` or `aws_nat_gateway` resources. Instead use the `allocation_id` available in those resources to allow AWS to manage the association, otherwise you will see `AuthFailure` errors.

func GetEip

func GetEip(ctx *pulumi.Context,
	name string, id pulumi.ID, state *EipState, opts ...pulumi.ResourceOpt) (*Eip, error)

GetEip gets an existing Eip resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewEip

func NewEip(ctx *pulumi.Context,
	name string, args *EipArgs, opts ...pulumi.ResourceOpt) (*Eip, error)

NewEip registers a new resource with the given unique name, arguments, and options.

func (*Eip) AllocationId

func (r *Eip) AllocationId() *pulumi.StringOutput

func (*Eip) AssociateWithPrivateIp

func (r *Eip) AssociateWithPrivateIp() *pulumi.StringOutput

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.

func (*Eip) AssociationId

func (r *Eip) AssociationId() *pulumi.StringOutput

func (*Eip) Domain

func (r *Eip) Domain() *pulumi.StringOutput

func (*Eip) ID

func (r *Eip) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Eip) Instance

func (r *Eip) Instance() *pulumi.StringOutput

EC2 instance ID.

func (*Eip) NetworkInterface

func (r *Eip) NetworkInterface() *pulumi.StringOutput

Network interface ID to associate with.

func (*Eip) PrivateDns added in v0.18.0

func (r *Eip) PrivateDns() *pulumi.StringOutput

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

func (*Eip) PrivateIp

func (r *Eip) PrivateIp() *pulumi.StringOutput

Contains the private IP address (if in VPC).

func (*Eip) PublicDns added in v0.18.0

func (r *Eip) PublicDns() *pulumi.StringOutput

Public DNS associated with the Elastic IP address.

func (*Eip) PublicIp

func (r *Eip) PublicIp() *pulumi.StringOutput

Contains the public IP address.

func (*Eip) PublicIpv4Pool added in v0.16.3

func (r *Eip) PublicIpv4Pool() *pulumi.StringOutput

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

func (*Eip) Tags

func (r *Eip) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource.

func (*Eip) URN

func (r *Eip) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*Eip) Vpc

func (r *Eip) Vpc() *pulumi.BoolOutput

Boolean if the EIP is in a VPC or not.

type EipArgs

type EipArgs struct {
	// 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.
	AssociateWithPrivateIp interface{}
	// EC2 instance ID.
	Instance interface{}
	// Network interface ID to associate with.
	NetworkInterface interface{}
	// EC2 IPv4 address pool identifier or `amazon`. This option is only available for VPC EIPs.
	PublicIpv4Pool interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// Boolean if the EIP is in a VPC or not.
	Vpc interface{}
}

The set of arguments for constructing a Eip resource.

type EipAssociation

type EipAssociation struct {
	// contains filtered or unexported fields
}

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` or `aws_nat_gateway` resources. Instead use the `allocation_id` available in those resources to allow AWS to manage the association, otherwise you will see `AuthFailure` errors.

> **NOTE:** `aws_eip_association` is useful in scenarios where EIPs are either pre-existing or distributed to customers or users and therefore cannot be changed.

func GetEipAssociation

func GetEipAssociation(ctx *pulumi.Context,
	name string, id pulumi.ID, state *EipAssociationState, opts ...pulumi.ResourceOpt) (*EipAssociation, error)

GetEipAssociation gets an existing EipAssociation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewEipAssociation

func NewEipAssociation(ctx *pulumi.Context,
	name string, args *EipAssociationArgs, opts ...pulumi.ResourceOpt) (*EipAssociation, error)

NewEipAssociation registers a new resource with the given unique name, arguments, and options.

func (*EipAssociation) AllocationId

func (r *EipAssociation) AllocationId() *pulumi.StringOutput

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

func (*EipAssociation) AllowReassociation

func (r *EipAssociation) AllowReassociation() *pulumi.BoolOutput

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

func (*EipAssociation) ID

func (r *EipAssociation) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*EipAssociation) InstanceId

func (r *EipAssociation) InstanceId() *pulumi.StringOutput

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.

func (*EipAssociation) NetworkInterfaceId

func (r *EipAssociation) NetworkInterfaceId() *pulumi.StringOutput

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

func (*EipAssociation) PrivateIpAddress

func (r *EipAssociation) PrivateIpAddress() *pulumi.StringOutput

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.

func (*EipAssociation) PublicIp

func (r *EipAssociation) PublicIp() *pulumi.StringOutput

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

func (*EipAssociation) URN

func (r *EipAssociation) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type EipAssociationArgs

type EipAssociationArgs struct {
	// The allocation ID. This is required for EC2-VPC.
	AllocationId interface{}
	// Whether to allow an Elastic IP to
	// be re-associated. Defaults to `true` in VPC.
	AllowReassociation interface{}
	// 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.
	InstanceId interface{}
	// The ID of the network interface. If the
	// instance has more than one network interface, you must specify a network
	// interface ID.
	NetworkInterfaceId interface{}
	// 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.
	PrivateIpAddress interface{}
	// The Elastic IP address. This is required for EC2-Classic.
	PublicIp interface{}
}

The set of arguments for constructing a EipAssociation resource.

type EipAssociationState

type EipAssociationState struct {
	// The allocation ID. This is required for EC2-VPC.
	AllocationId interface{}
	// Whether to allow an Elastic IP to
	// be re-associated. Defaults to `true` in VPC.
	AllowReassociation interface{}
	// 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.
	InstanceId interface{}
	// The ID of the network interface. If the
	// instance has more than one network interface, you must specify a network
	// interface ID.
	NetworkInterfaceId interface{}
	// 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.
	PrivateIpAddress interface{}
	// The Elastic IP address. This is required for EC2-Classic.
	PublicIp interface{}
}

Input properties used for looking up and filtering EipAssociation resources.

type EipState

type EipState struct {
	AllocationId interface{}
	// 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.
	AssociateWithPrivateIp interface{}
	AssociationId          interface{}
	Domain                 interface{}
	// EC2 instance ID.
	Instance interface{}
	// Network interface ID to associate with.
	NetworkInterface interface{}
	// The Private DNS associated with the Elastic IP address (if in VPC).
	PrivateDns interface{}
	// Contains the private IP address (if in VPC).
	PrivateIp interface{}
	// Public DNS associated with the Elastic IP address.
	PublicDns interface{}
	// Contains the public IP address.
	PublicIp interface{}
	// EC2 IPv4 address pool identifier or `amazon`. This option is only available for VPC EIPs.
	PublicIpv4Pool interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// Boolean if the EIP is in a VPC or not.
	Vpc interface{}
}

Input properties used for looking up and filtering Eip resources.

type Fleet added in v0.16.1

type Fleet struct {
	// contains filtered or unexported fields
}

Provides a resource to manage EC2 Fleets.

func GetFleet added in v0.16.1

func GetFleet(ctx *pulumi.Context,
	name string, id pulumi.ID, state *FleetState, opts ...pulumi.ResourceOpt) (*Fleet, error)

GetFleet gets an existing Fleet resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewFleet added in v0.16.1

func NewFleet(ctx *pulumi.Context,
	name string, args *FleetArgs, opts ...pulumi.ResourceOpt) (*Fleet, error)

NewFleet registers a new resource with the given unique name, arguments, and options.

func (*Fleet) ExcessCapacityTerminationPolicy added in v0.16.1

func (r *Fleet) ExcessCapacityTerminationPolicy() *pulumi.StringOutput

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`.

func (*Fleet) ID added in v0.16.1

func (r *Fleet) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Fleet) LaunchTemplateConfig added in v0.16.1

func (r *Fleet) LaunchTemplateConfig() *pulumi.Output

Nested argument containing EC2 Launch Template configurations. Defined below.

func (*Fleet) OnDemandOptions added in v0.16.1

func (r *Fleet) OnDemandOptions() *pulumi.Output

Nested argument containing On-Demand configurations. Defined below.

func (*Fleet) ReplaceUnhealthyInstances added in v0.16.1

func (r *Fleet) ReplaceUnhealthyInstances() *pulumi.BoolOutput

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

func (*Fleet) SpotOptions added in v0.16.1

func (r *Fleet) SpotOptions() *pulumi.Output

Nested argument containing Spot configurations. Defined below.

func (*Fleet) Tags added in v0.16.1

func (r *Fleet) Tags() *pulumi.MapOutput

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

func (*Fleet) TargetCapacitySpecification added in v0.16.1

func (r *Fleet) TargetCapacitySpecification() *pulumi.Output

Nested argument containing target capacity configurations. Defined below.

func (*Fleet) TerminateInstances added in v0.16.1

func (r *Fleet) TerminateInstances() *pulumi.BoolOutput

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

func (*Fleet) TerminateInstancesWithExpiration added in v0.16.1

func (r *Fleet) TerminateInstancesWithExpiration() *pulumi.BoolOutput

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

func (*Fleet) Type added in v0.16.1

func (r *Fleet) Type() *pulumi.StringOutput

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`.

func (*Fleet) URN added in v0.16.1

func (r *Fleet) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type FleetArgs added in v0.16.1

type FleetArgs struct {
	// 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`.
	ExcessCapacityTerminationPolicy interface{}
	// Nested argument containing EC2 Launch Template configurations. Defined below.
	LaunchTemplateConfig interface{}
	// Nested argument containing On-Demand configurations. Defined below.
	OnDemandOptions interface{}
	// Whether EC2 Fleet should replace unhealthy instances. Defaults to `false`.
	ReplaceUnhealthyInstances interface{}
	// Nested argument containing Spot configurations. Defined below.
	SpotOptions interface{}
	// Map of Fleet tags. To tag instances at launch, specify the tags in the Launch Template.
	Tags interface{}
	// Nested argument containing target capacity configurations. Defined below.
	TargetCapacitySpecification interface{}
	// Whether to terminate instances for an EC2 Fleet if it is deleted successfully. Defaults to `false`.
	TerminateInstances interface{}
	// Whether running instances should be terminated when the EC2 Fleet expires. Defaults to `false`.
	TerminateInstancesWithExpiration interface{}
	// 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`.
	Type interface{}
}

The set of arguments for constructing a Fleet resource.

type FleetState added in v0.16.1

type FleetState struct {
	// 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`.
	ExcessCapacityTerminationPolicy interface{}
	// Nested argument containing EC2 Launch Template configurations. Defined below.
	LaunchTemplateConfig interface{}
	// Nested argument containing On-Demand configurations. Defined below.
	OnDemandOptions interface{}
	// Whether EC2 Fleet should replace unhealthy instances. Defaults to `false`.
	ReplaceUnhealthyInstances interface{}
	// Nested argument containing Spot configurations. Defined below.
	SpotOptions interface{}
	// Map of Fleet tags. To tag instances at launch, specify the tags in the Launch Template.
	Tags interface{}
	// Nested argument containing target capacity configurations. Defined below.
	TargetCapacitySpecification interface{}
	// Whether to terminate instances for an EC2 Fleet if it is deleted successfully. Defaults to `false`.
	TerminateInstances interface{}
	// Whether running instances should be terminated when the EC2 Fleet expires. Defaults to `false`.
	TerminateInstancesWithExpiration interface{}
	// 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`.
	Type interface{}
}

Input properties used for looking up and filtering Fleet resources.

type FlowLog

type FlowLog struct {
	// contains filtered or unexported fields
}

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.

func GetFlowLog

func GetFlowLog(ctx *pulumi.Context,
	name string, id pulumi.ID, state *FlowLogState, opts ...pulumi.ResourceOpt) (*FlowLog, error)

GetFlowLog gets an existing FlowLog resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewFlowLog

func NewFlowLog(ctx *pulumi.Context,
	name string, args *FlowLogArgs, opts ...pulumi.ResourceOpt) (*FlowLog, error)

NewFlowLog registers a new resource with the given unique name, arguments, and options.

func (*FlowLog) EniId

func (r *FlowLog) EniId() *pulumi.StringOutput

Elastic Network Interface ID to attach to

func (*FlowLog) ID

func (r *FlowLog) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*FlowLog) IamRoleArn

func (r *FlowLog) IamRoleArn() *pulumi.StringOutput

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

func (*FlowLog) LogDestination added in v0.16.2

func (r *FlowLog) LogDestination() *pulumi.StringOutput

The ARN of the logging destination.

func (*FlowLog) LogDestinationType added in v0.16.2

func (r *FlowLog) LogDestinationType() *pulumi.StringOutput

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

func (*FlowLog) LogGroupName

func (r *FlowLog) LogGroupName() *pulumi.StringOutput

*Deprecated:* Use `log_destination` instead. The name of the CloudWatch log group.

func (*FlowLog) SubnetId

func (r *FlowLog) SubnetId() *pulumi.StringOutput

Subnet ID to attach to

func (*FlowLog) TrafficType

func (r *FlowLog) TrafficType() *pulumi.StringOutput

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

func (*FlowLog) URN

func (r *FlowLog) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*FlowLog) VpcId

func (r *FlowLog) VpcId() *pulumi.StringOutput

VPC ID to attach to

type FlowLogArgs

type FlowLogArgs struct {
	// Elastic Network Interface ID to attach to
	EniId interface{}
	// The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs log group
	IamRoleArn interface{}
	// The ARN of the logging destination.
	LogDestination interface{}
	// The type of the logging destination. Valid values: `cloud-watch-logs`, `s3`. Default: `cloud-watch-logs`.
	LogDestinationType interface{}
	// *Deprecated:* Use `log_destination` instead. The name of the CloudWatch log group.
	LogGroupName interface{}
	// Subnet ID to attach to
	SubnetId interface{}
	// The type of traffic to capture. Valid values: `ACCEPT`,`REJECT`, `ALL`.
	TrafficType interface{}
	// VPC ID to attach to
	VpcId interface{}
}

The set of arguments for constructing a FlowLog resource.

type FlowLogState

type FlowLogState struct {
	// Elastic Network Interface ID to attach to
	EniId interface{}
	// The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs log group
	IamRoleArn interface{}
	// The ARN of the logging destination.
	LogDestination interface{}
	// The type of the logging destination. Valid values: `cloud-watch-logs`, `s3`. Default: `cloud-watch-logs`.
	LogDestinationType interface{}
	// *Deprecated:* Use `log_destination` instead. The name of the CloudWatch log group.
	LogGroupName interface{}
	// Subnet ID to attach to
	SubnetId interface{}
	// The type of traffic to capture. Valid values: `ACCEPT`,`REJECT`, `ALL`.
	TrafficType interface{}
	// VPC ID to attach to
	VpcId interface{}
}

Input properties used for looking up and filtering FlowLog resources.

type GetInstanceArgs

type GetInstanceArgs struct {
	// 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][1].
	Filters interface{}
	// 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 `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information.
	GetPasswordData interface{}
	// Retrieve Base64 encoded User Data contents into the `user_data_base64` attribute. A SHA-1 hash of the User Data contents will always be present in the `user_data` attribute. Defaults to `false`.
	GetUserData interface{}
	// Specify the exact Instance ID with which to populate the data source.
	InstanceId interface{}
	// A mapping of tags, each pair of which must
	// exactly match a pair on the desired Instance.
	InstanceTags interface{}
	Tags         interface{}
}

A collection of arguments for invoking getInstance.

type GetInstanceResult

type GetInstanceResult struct {
	// The ID of the AMI used to launch the instance.
	Ami interface{}
	// The ARN of the instance.
	Arn interface{}
	// Whether or not the Instance is associated with a public IP address or not (Boolean).
	AssociatePublicIpAddress interface{}
	// The availability zone of the Instance.
	AvailabilityZone interface{}
	// The credit specification of the Instance.
	CreditSpecifications  interface{}
	DisableApiTermination interface{}
	// The EBS block device mappings of the Instance.
	EbsBlockDevices interface{}
	// Whether the Instance is EBS optimized or not (Boolean).
	EbsOptimized interface{}
	// The ephemeral block device mappings of the Instance.
	EphemeralBlockDevices interface{}
	// The Id of the dedicated host the instance will be assigned to.
	HostId interface{}
	// The name of the instance profile associated with the Instance.
	IamInstanceProfile interface{}
	InstanceState      interface{}
	InstanceTags       interface{}
	// The type of the Instance.
	InstanceType interface{}
	// The key name of the Instance.
	KeyName interface{}
	// Whether detailed monitoring is enabled or disabled for the Instance (Boolean).
	Monitoring interface{}
	// The ID of the network interface that was created with the Instance.
	NetworkInterfaceId interface{}
	// 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 `get_password_data` is true.
	// See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information.
	PasswordData interface{}
	// The placement group of the Instance.
	PlacementGroup interface{}
	// 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.
	PrivateDns interface{}
	// The private IP address assigned to the Instance.
	PrivateIp interface{}
	// The public DNS name assigned to the Instance. For EC2-VPC, this
	// is only available if you've enabled DNS hostnames for your VPC.
	PublicDns interface{}
	// The public IP address assigned to the Instance, if applicable. **NOTE**: If you are using an [`aws_eip`](https://www.terraform.io/docs/providers/aws/r/eip.html) with your instance, you should refer to the EIP's address directly and not use `public_ip`, as this field will change after the EIP is attached.
	PublicIp interface{}
	// The root block device mappings of the Instance
	RootBlockDevices interface{}
	// The associated security groups.
	SecurityGroups interface{}
	// Whether the network interface performs source/destination checking (Boolean).
	SourceDestCheck interface{}
	// The VPC subnet ID.
	SubnetId interface{}
	// A mapping of tags assigned to the Instance.
	Tags interface{}
	// The tenancy of the instance: `dedicated`, `default`, `host`.
	Tenancy interface{}
	// SHA-1 hash of User Data supplied to the Instance.
	UserData interface{}
	// Base64 encoded contents of User Data supplied to the Instance. Valid UTF-8 contents can be decoded with the [`base64decode` function](https://www.terraform.io/docs/configuration/functions/base64decode.html). This attribute is only exported if `get_user_data` is true.
	UserDataBase64 interface{}
	// The associated security groups in a non-default VPC.
	VpcSecurityGroupIds interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getInstance.

func LookupInstance

func LookupInstance(ctx *pulumi.Context, args *GetInstanceArgs) (*GetInstanceResult, error)

Use this data source to get the ID of an Amazon EC2 Instance for use in other resources.

type GetInstancesArgs

type GetInstancesArgs struct {
	// 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][1].
	Filters interface{}
	// 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`.
	InstanceStateNames interface{}
	// A mapping of tags, each pair of which must
	// exactly match a pair on desired instances.
	InstanceTags interface{}
}

A collection of arguments for invoking getInstances.

type GetInstancesResult

type GetInstancesResult struct {
	// IDs of instances found through the filter
	Ids          interface{}
	InstanceTags interface{}
	// Private IP addresses of instances found through the filter
	PrivateIps interface{}
	// Public IP addresses of instances found through the filter
	PublicIps interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getInstances.

func LookupInstances

func LookupInstances(ctx *pulumi.Context, args *GetInstancesArgs) (*GetInstancesResult, error)

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 a best practice to expose instance details via [outputs](https://www.terraform.io/docs/configuration/outputs.html) and [remote state](https://www.terraform.io/docs/state/remote.html) and **use [`terraform_remote_state`](https://www.terraform.io/docs/providers/terraform/d/remote_state.html) data source instead** if you manage referenced instances via Terraform.

> **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.

type GetInternetGatewayArgs

type GetInternetGatewayArgs struct {
	// Custom filter block as described below.
	Filters interface{}
	// The id of the specific Internet Gateway to retrieve.
	InternetGatewayId interface{}
	// A mapping of tags, each pair of which must exactly match
	// a pair on the desired Internet Gateway.
	Tags interface{}
}

A collection of arguments for invoking getInternetGateway.

type GetInternetGatewayResult

type GetInternetGatewayResult struct {
	Attachments       interface{}
	InternetGatewayId interface{}
	// The ID of the AWS account that owns the internet gateway.
	OwnerId interface{}
	Tags    interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getInternetGateway.

func LookupInternetGateway

func LookupInternetGateway(ctx *pulumi.Context, args *GetInternetGatewayArgs) (*GetInternetGatewayResult, error)

`aws_internet_gateway` provides details about a specific Internet Gateway.

type GetLaunchConfigurationArgs added in v0.14.2

type GetLaunchConfigurationArgs struct {
	// The name of the launch configuration.
	Name interface{}
}

A collection of arguments for invoking getLaunchConfiguration.

type GetLaunchConfigurationResult added in v0.14.2

type GetLaunchConfigurationResult struct {
	// Whether a Public IP address is associated with the instance.
	AssociatePublicIpAddress interface{}
	// The EBS Block Devices attached to the instance.
	EbsBlockDevices interface{}
	// Whether the launched EC2 instance will be EBS-optimized.
	EbsOptimized interface{}
	// Whether Detailed Monitoring is Enabled.
	EnableMonitoring interface{}
	// The Ephemeral volumes on the instance.
	EphemeralBlockDevices interface{}
	// The IAM Instance Profile to associate with launched instances.
	IamInstanceProfile interface{}
	// The EC2 Image ID of the instance.
	ImageId interface{}
	// The Instance Type of the instance to launch.
	InstanceType interface{}
	// The Key Name that should be used for the instance.
	KeyName interface{}
	// The Tenancy of the instance.
	PlacementTenancy interface{}
	// The Root Block Device of the instance.
	RootBlockDevices interface{}
	// A list of associated Security Group IDS.
	SecurityGroups interface{}
	// The Price to use for reserving Spot instances.
	SpotPrice interface{}
	// The User Data of the instance.
	UserData interface{}
	// The ID of a ClassicLink-enabled VPC.
	VpcClassicLinkId interface{}
	// The IDs of one or more Security Groups for the specified ClassicLink-enabled VPC.
	VpcClassicLinkSecurityGroups interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getLaunchConfiguration.

func LookupLaunchConfiguration added in v0.14.2

func LookupLaunchConfiguration(ctx *pulumi.Context, args *GetLaunchConfigurationArgs) (*GetLaunchConfigurationResult, error)

Provides information about a Launch Configuration.

type GetLaunchTemplateArgs added in v0.16.1

type GetLaunchTemplateArgs struct {
	// The name of the launch template.
	Name interface{}
	Tags interface{}
}

A collection of arguments for invoking getLaunchTemplate.

type GetLaunchTemplateResult added in v0.16.1

type GetLaunchTemplateResult struct {
	// Amazon Resource Name (ARN) of the launch template.
	Arn interface{}
	// Specify volumes to attach to the instance besides the volumes specified by the AMI.
	BlockDeviceMappings interface{}
	// Customize the credit specification of the instance. See Credit
	// Specification below for more details.
	CreditSpecifications interface{}
	// The default version of the launch template.
	DefaultVersion interface{}
	// Description of the launch template.
	Description interface{}
	// If `true`, enables [EC2 Instance
	// Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination)
	DisableApiTermination interface{}
	// If `true`, the launched EC2 instance will be EBS-optimized.
	EbsOptimized interface{}
	// The elastic GPU to attach to the instance. See Elastic GPU
	// below for more details.
	ElasticGpuSpecifications interface{}
	// The IAM Instance Profile to launch the instance with. See Instance Profile
	// below for more details.
	IamInstanceProfiles interface{}
	// The AMI from which to launch the instance.
	ImageId interface{}
	// Shutdown behavior for the instance. Can be `stop` or `terminate`.
	// (Default: `stop`).
	InstanceInitiatedShutdownBehavior interface{}
	// The market (purchasing) option for the instance.
	// below for details.
	InstanceMarketOptions interface{}
	// The type of the instance.
	InstanceType interface{}
	// The kernel ID.
	KernelId interface{}
	// The key name to use for the instance.
	KeyName interface{}
	// The latest version of the launch template.
	LatestVersion interface{}
	// The monitoring option for the instance.
	Monitorings interface{}
	// Customize network interfaces to be attached at instance boot time. See Network
	// Interfaces below for more details.
	NetworkInterfaces interface{}
	// The placement of the instance.
	Placements interface{}
	// The ID of the RAM disk.
	RamDiskId interface{}
	// A list of security group names to associate with. If you are creating Instances in a VPC, use
	// `vpc_security_group_ids` instead.
	SecurityGroupNames interface{}
	// The tags to apply to the resources during launch.
	TagSpecifications interface{}
	// (Optional) A mapping of tags to assign to the launch template.
	Tags interface{}
	// The Base64-encoded user data to provide when launching the instance.
	UserData interface{}
	// A list of security group IDs to associate with.
	VpcSecurityGroupIds interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getLaunchTemplate.

func LookupLaunchTemplate added in v0.16.1

func LookupLaunchTemplate(ctx *pulumi.Context, args *GetLaunchTemplateArgs) (*GetLaunchTemplateResult, error)

Provides information about a Launch Template.

type GetNatGatewayArgs

type GetNatGatewayArgs struct {
	// Custom filter block as described below.
	Filters interface{}
	// The id of the specific Nat Gateway to retrieve.
	Id interface{}
	// The state of the NAT gateway (pending | failed | available | deleting | deleted ).
	State interface{}
	// The id of subnet that the Nat Gateway resides in.
	SubnetId interface{}
	// A mapping of tags, each pair of which must exactly match
	// a pair on the desired Nat Gateway.
	Tags interface{}
	// The id of the VPC that the Nat Gateway resides in.
	VpcId interface{}
}

A collection of arguments for invoking getNatGateway.

type GetNatGatewayResult

type GetNatGatewayResult struct {
	// The Id of the EIP allocated to the selected Nat Gateway.
	AllocationId interface{}
	Id           interface{}
	// The Id of the ENI allocated to the selected Nat Gateway.
	NetworkInterfaceId interface{}
	// The private Ip address of the selected Nat Gateway.
	PrivateIp interface{}
	// The public Ip (EIP) address of the selected Nat Gateway.
	PublicIp interface{}
	State    interface{}
	SubnetId interface{}
	Tags     interface{}
	VpcId    interface{}
}

A collection of values returned by getNatGateway.

func LookupNatGateway

func LookupNatGateway(ctx *pulumi.Context, args *GetNatGatewayArgs) (*GetNatGatewayResult, error)

Provides details about a specific Nat Gateway.

type GetNetworkAclsArgs added in v0.14.2

type GetNetworkAclsArgs struct {
	// Custom filter block as described below.
	Filters interface{}
	// A mapping of tags, each pair of which must exactly match
	// a pair on the desired network ACLs.
	Tags interface{}
	// The VPC ID that you want to filter from.
	VpcId interface{}
}

A collection of arguments for invoking getNetworkAcls.

type GetNetworkAclsResult added in v0.14.2

type GetNetworkAclsResult struct {
	// A list of all the network ACL ids found. This data source will fail if none are found.
	Ids  interface{}
	Tags interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getNetworkAcls.

func LookupNetworkAcls added in v0.14.2

func LookupNetworkAcls(ctx *pulumi.Context, args *GetNetworkAclsArgs) (*GetNetworkAclsResult, error)

type GetNetworkInterfaceArgs

type GetNetworkInterfaceArgs struct {
	// One or more name/value pairs to filter off of. There are several valid keys, for a full reference, check out [describe-network-interfaces](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-network-interfaces.html) in the AWS CLI reference.
	Filters interface{}
	// The identifier for the network interface.
	Id   interface{}
	Tags interface{}
}

A collection of arguments for invoking getNetworkInterface.

type GetNetworkInterfaceResult

type GetNetworkInterfaceResult struct {
	// The association information for an Elastic IP address (IPv4) associated with the network interface. See supported fields below.
	Associations interface{}
	Attachments  interface{}
	// The Availability Zone.
	AvailabilityZone interface{}
	// Description of the network interface.
	Description interface{}
	Id          interface{}
	// The type of interface.
	InterfaceType interface{}
	// List of IPv6 addresses to assign to the ENI.
	Ipv6Addresses interface{}
	// The MAC address.
	MacAddress interface{}
	// The AWS account ID of the owner of the network interface.
	OwnerId interface{}
	// The private DNS name.
	PrivateDnsName interface{}
	// The private IPv4 address of the network interface within the subnet.
	PrivateIp interface{}
	// The private IPv4 addresses associated with the network interface.
	PrivateIps interface{}
	// The ID of the entity that launched the instance on your behalf.
	RequesterId interface{}
	// The list of security groups for the network interface.
	SecurityGroups interface{}
	// The ID of the subnet.
	SubnetId interface{}
	// Any tags assigned to the network interface.
	Tags interface{}
	// The ID of the VPC.
	VpcId interface{}
}

A collection of values returned by getNetworkInterface.

func LookupNetworkInterface

func LookupNetworkInterface(ctx *pulumi.Context, args *GetNetworkInterfaceArgs) (*GetNetworkInterfaceResult, error)

Use this data source to get information about a Network Interface.

type GetNetworkInterfacesArgs added in v0.15.1

type GetNetworkInterfacesArgs struct {
	// Custom filter block as described below.
	Filters interface{}
	// A mapping of tags, each pair of which must exactly match
	// a pair on the desired network interfaces.
	Tags interface{}
}

A collection of arguments for invoking getNetworkInterfaces.

type GetNetworkInterfacesResult added in v0.15.1

type GetNetworkInterfacesResult struct {
	// A list of all the network interface ids found. This data source will fail if none are found.
	Ids  interface{}
	Tags interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getNetworkInterfaces.

func LookupNetworkInterfaces added in v0.15.1

func LookupNetworkInterfaces(ctx *pulumi.Context, args *GetNetworkInterfacesArgs) (*GetNetworkInterfacesResult, error)

type GetRouteArgs

type GetRouteArgs struct {
	// The CIDR block of the Route belonging to the Route Table.
	DestinationCidrBlock interface{}
	// The IPv6 CIDR block of the Route belonging to the Route Table.
	DestinationIpv6CidrBlock interface{}
	// The Egress Only Gateway ID of the Route belonging to the Route Table.
	EgressOnlyGatewayId interface{}
	// The Gateway ID of the Route belonging to the Route Table.
	GatewayId interface{}
	// The Instance ID of the Route belonging to the Route Table.
	InstanceId interface{}
	// The NAT Gateway ID of the Route belonging to the Route Table.
	NatGatewayId interface{}
	// The Network Interface ID of the Route belonging to the Route Table.
	NetworkInterfaceId interface{}
	// The id of the specific Route Table containing the Route entry.
	RouteTableId interface{}
	// The EC2 Transit Gateway ID of the Route belonging to the Route Table.
	TransitGatewayId interface{}
	// The VPC Peering Connection ID of the Route belonging to the Route Table.
	VpcPeeringConnectionId interface{}
}

A collection of arguments for invoking getRoute.

type GetRouteResult

type GetRouteResult struct {
	DestinationCidrBlock     interface{}
	DestinationIpv6CidrBlock interface{}
	EgressOnlyGatewayId      interface{}
	GatewayId                interface{}
	InstanceId               interface{}
	NatGatewayId             interface{}
	NetworkInterfaceId       interface{}
	TransitGatewayId         interface{}
	VpcPeeringConnectionId   interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getRoute.

func LookupRoute

func LookupRoute(ctx *pulumi.Context, args *GetRouteArgs) (*GetRouteResult, error)

`aws_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.

type GetRouteTableArgs

type GetRouteTableArgs struct {
	// Custom filter block as described below.
	Filters interface{}
	// The id of the specific Route Table to retrieve.
	RouteTableId interface{}
	// The id of a Subnet which is connected to the Route Table (not be exported if not given in parameter).
	SubnetId interface{}
	// A mapping of tags, each pair of which must exactly match
	// a pair on the desired Route Table.
	Tags interface{}
	// The id of the VPC that the desired Route Table belongs to.
	VpcId interface{}
}

A collection of arguments for invoking getRouteTable.

type GetRouteTableResult

type GetRouteTableResult struct {
	Associations interface{}
	// The ID of the AWS account that owns the route table
	OwnerId interface{}
	// The Route Table ID.
	RouteTableId interface{}
	Routes       interface{}
	// The Subnet ID.
	SubnetId interface{}
	Tags     interface{}
	VpcId    interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getRouteTable.

func LookupRouteTable

func LookupRouteTable(ctx *pulumi.Context, args *GetRouteTableArgs) (*GetRouteTableResult, error)

`aws_route_table` 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.

type GetRouteTablesArgs added in v0.14.2

type GetRouteTablesArgs struct {
	// Custom filter block as described below.
	Filters interface{}
	// A mapping of tags, each pair of which must exactly match
	// a pair on the desired route tables.
	Tags interface{}
	// The VPC ID that you want to filter from.
	VpcId interface{}
}

A collection of arguments for invoking getRouteTables.

type GetRouteTablesResult added in v0.14.2

type GetRouteTablesResult struct {
	// A list of all the route table ids found. This data source will fail if none are found.
	Ids  interface{}
	Tags interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getRouteTables.

func LookupRouteTables added in v0.14.2

func LookupRouteTables(ctx *pulumi.Context, args *GetRouteTablesArgs) (*GetRouteTablesResult, error)

This resource can be useful for getting back a list of route table ids to be referenced elsewhere.

type GetSecurityGroupArgs

type GetSecurityGroupArgs struct {
	// Custom filter block as described below.
	Filters interface{}
	// The id of the specific security group to retrieve.
	Id interface{}
	// The name of the field to filter by, as defined by
	// [the underlying AWS API](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSecurityGroups.html).
	Name interface{}
	// A mapping of tags, each pair of which must exactly match
	// a pair on the desired security group.
	Tags interface{}
	// The id of the VPC that the desired security group belongs to.
	VpcId interface{}
}

A collection of arguments for invoking getSecurityGroup.

type GetSecurityGroupResult

type GetSecurityGroupResult struct {
	// The computed ARN of the security group.
	Arn interface{}
	// The description of the security group.
	Description interface{}
	Id          interface{}
	Name        interface{}
	Tags        interface{}
	VpcId       interface{}
}

A collection of values returned by getSecurityGroup.

func LookupSecurityGroup

func LookupSecurityGroup(ctx *pulumi.Context, args *GetSecurityGroupArgs) (*GetSecurityGroupResult, error)

`aws_security_group` 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.

type GetSecurityGroupsArgs added in v0.14.2

type GetSecurityGroupsArgs struct {
	// 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][1].
	Filters interface{}
	// A mapping of tags, each pair of which must exactly match for
	// desired security groups.
	Tags interface{}
}

A collection of arguments for invoking getSecurityGroups.

type GetSecurityGroupsResult added in v0.14.2

type GetSecurityGroupsResult struct {
	// IDs of the matches security groups.
	Ids  interface{}
	Tags interface{}
	// 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.
	VpcIds interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getSecurityGroups.

func LookupSecurityGroups added in v0.14.2

func LookupSecurityGroups(ctx *pulumi.Context, args *GetSecurityGroupsArgs) (*GetSecurityGroupsResult, error)

Use this data source to get IDs and VPC membership of Security Groups that are created outside of Terraform.

type GetSubnetArgs

type GetSubnetArgs struct {
	// The availability zone where the
	// subnet must reside.
	AvailabilityZone interface{}
	// The ID of the Availability Zone for the subnet.
	AvailabilityZoneId interface{}
	// The cidr block of the desired subnet.
	CidrBlock interface{}
	// Boolean constraint for whether the desired
	// subnet must be the default subnet for its associated availability zone.
	DefaultForAz interface{}
	// Custom filter block as described below.
	Filters interface{}
	// The id of the specific subnet to retrieve.
	Id interface{}
	// The Ipv6 cidr block of the desired subnet
	Ipv6CidrBlock interface{}
	// The state that the desired subnet must have.
	State interface{}
	// A mapping of tags, each pair of which must exactly match
	// a pair on the desired subnet.
	Tags interface{}
	// The id of the VPC that the desired subnet belongs to.
	VpcId interface{}
}

A collection of arguments for invoking getSubnet.

type GetSubnetIdsArgs

type GetSubnetIdsArgs struct {
	Filters interface{}
	// A mapping of tags, each pair of which must exactly match
	// a pair on the desired subnets.
	Tags interface{}
	// The VPC ID that you want to filter from.
	VpcId interface{}
}

A collection of arguments for invoking getSubnetIds.

type GetSubnetIdsResult

type GetSubnetIdsResult struct {
	// A list of all the subnet ids found. This data source will fail if none are found.
	Ids  interface{}
	Tags interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getSubnetIds.

func LookupSubnetIds

func LookupSubnetIds(ctx *pulumi.Context, args *GetSubnetIdsArgs) (*GetSubnetIdsResult, error)

`aws_subnet_ids` provides a list of ids for a vpc_id

This resource can be useful for getting back a list of subnet ids for a vpc.

type GetSubnetResult

type GetSubnetResult struct {
	// The ARN of the subnet.
	Arn                         interface{}
	AssignIpv6AddressOnCreation interface{}
	AvailabilityZone            interface{}
	AvailabilityZoneId          interface{}
	CidrBlock                   interface{}
	DefaultForAz                interface{}
	Id                          interface{}
	Ipv6CidrBlock               interface{}
	Ipv6CidrBlockAssociationId  interface{}
	MapPublicIpOnLaunch         interface{}
	// The ID of the AWS account that owns the subnet.
	OwnerId interface{}
	State   interface{}
	Tags    interface{}
	VpcId   interface{}
}

A collection of values returned by getSubnet.

func LookupSubnet

func LookupSubnet(ctx *pulumi.Context, args *GetSubnetArgs) (*GetSubnetResult, error)

`aws_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.

type GetVpcArgs

type GetVpcArgs struct {
	// The cidr block of the desired VPC.
	CidrBlock interface{}
	// Boolean constraint on whether the desired VPC is
	// the default VPC for the region.
	Default interface{}
	// The DHCP options id of the desired VPC.
	DhcpOptionsId interface{}
	// Custom filter block as described below.
	Filters interface{}
	// The id of the specific VPC to retrieve.
	Id interface{}
	// The current state of the desired VPC.
	// Can be either `"pending"` or `"available"`.
	State interface{}
	// A mapping of tags, each pair of which must exactly match
	// a pair on the desired VPC.
	Tags interface{}
}

A collection of arguments for invoking getVpc.

type GetVpcDhcpOptionsArgs added in v0.14.2

type GetVpcDhcpOptionsArgs struct {
	// The EC2 DHCP Options ID.
	DhcpOptionsId interface{}
	// List of custom filters as described below.
	Filters interface{}
	Tags    interface{}
}

A collection of arguments for invoking getVpcDhcpOptions.

type GetVpcDhcpOptionsResult added in v0.14.2

type GetVpcDhcpOptionsResult struct {
	// EC2 DHCP Options ID
	DhcpOptionsId interface{}
	// The suffix domain name to used when resolving non Fully Qualified Domain Names. e.g. the `search` value in the `/etc/resolv.conf` file.
	DomainName interface{}
	// List of name servers.
	DomainNameServers interface{}
	// List of NETBIOS name servers.
	NetbiosNameServers interface{}
	// The NetBIOS node type (1, 2, 4, or 8). For more information about these node types, see [RFC 2132](http://www.ietf.org/rfc/rfc2132.txt).
	NetbiosNodeType interface{}
	// List of NTP servers.
	NtpServers interface{}
	// The ID of the AWS account that owns the DHCP options set.
	OwnerId interface{}
	// A mapping of tags assigned to the resource.
	Tags interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getVpcDhcpOptions.

func LookupVpcDhcpOptions added in v0.14.2

func LookupVpcDhcpOptions(ctx *pulumi.Context, args *GetVpcDhcpOptionsArgs) (*GetVpcDhcpOptionsResult, error)

Retrieve information about an EC2 DHCP Options configuration.

type GetVpcEndpointArgs

type GetVpcEndpointArgs struct {
	// The ID of the specific VPC Endpoint to retrieve.
	Id interface{}
	// The AWS service name of the specific VPC Endpoint to retrieve.
	ServiceName interface{}
	// The state of the specific VPC Endpoint to retrieve.
	State interface{}
	// The ID of the VPC in which the specific VPC Endpoint is used.
	VpcId interface{}
}

A collection of arguments for invoking getVpcEndpoint.

type GetVpcEndpointResult

type GetVpcEndpointResult struct {
	// The list of CIDR blocks for the exposed AWS service. Applicable for endpoints of type `Gateway`.
	CidrBlocks interface{}
	// The DNS entries for the VPC Endpoint. Applicable for endpoints of type `Interface`. DNS blocks are documented below.
	DnsEntries interface{}
	Id         interface{}
	// One or more network interfaces for the VPC Endpoint. Applicable for endpoints of type `Interface`.
	NetworkInterfaceIds interface{}
	// The policy document associated with the VPC Endpoint. Applicable for endpoints of type `Gateway`.
	Policy interface{}
	// The prefix list ID of the exposed AWS service. Applicable for endpoints of type `Gateway`.
	PrefixListId interface{}
	// Whether or not the VPC is associated with a private hosted zone - `true` or `false`. Applicable for endpoints of type `Interface`.
	PrivateDnsEnabled interface{}
	// One or more route tables associated with the VPC Endpoint. Applicable for endpoints of type `Gateway`.
	RouteTableIds interface{}
	// One or more security groups associated with the network interfaces. Applicable for endpoints of type `Interface`.
	SecurityGroupIds interface{}
	ServiceName      interface{}
	State            interface{}
	// One or more subnets in which the VPC Endpoint is located. Applicable for endpoints of type `Interface`.
	SubnetIds interface{}
	// The VPC Endpoint type, `Gateway` or `Interface`.
	VpcEndpointType interface{}
	VpcId           interface{}
}

A collection of values returned by getVpcEndpoint.

func LookupVpcEndpoint

func LookupVpcEndpoint(ctx *pulumi.Context, args *GetVpcEndpointArgs) (*GetVpcEndpointResult, error)

The VPC Endpoint data source provides details about a specific VPC endpoint.

type GetVpcEndpointServiceArgs

type GetVpcEndpointServiceArgs struct {
	// The common name of an AWS service (e.g. `s3`).
	Service interface{}
	// The service name that can be specified when creating a VPC endpoint.
	ServiceName interface{}
}

A collection of arguments for invoking getVpcEndpointService.

type GetVpcEndpointServiceResult

type GetVpcEndpointServiceResult struct {
	// Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - `true` or `false`.
	AcceptanceRequired interface{}
	// The Availability Zones in which the service is available.
	AvailabilityZones interface{}
	// The DNS names for the service.
	BaseEndpointDnsNames interface{}
	// The AWS account ID of the service owner or `amazon`.
	Owner interface{}
	// The private DNS name for the service.
	PrivateDnsName interface{}
	ServiceName    interface{}
	// The service type, `Gateway` or `Interface`.
	ServiceType interface{}
	// Whether or not the service supports endpoint policies - `true` or `false`.
	VpcEndpointPolicySupported interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getVpcEndpointService.

func LookupVpcEndpointService

func LookupVpcEndpointService(ctx *pulumi.Context, args *GetVpcEndpointServiceArgs) (*GetVpcEndpointServiceResult, error)

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.

type GetVpcPeeringConnectionArgs

type GetVpcPeeringConnectionArgs struct {
	// The CIDR block of the requester VPC of the specific VPC Peering Connection to retrieve.
	CidrBlock interface{}
	// Custom filter block as described below.
	Filters interface{}
	// The ID of the specific VPC Peering Connection to retrieve.
	Id interface{}
	// The AWS account ID of the owner of the requester VPC of the specific VPC Peering Connection to retrieve.
	OwnerId interface{}
	// The CIDR block of the accepter VPC of the specific VPC Peering Connection to retrieve.
	PeerCidrBlock interface{}
	// The AWS account ID of the owner of the accepter VPC of the specific VPC Peering Connection to retrieve.
	PeerOwnerId interface{}
	// The region of the accepter VPC of the specific VPC Peering Connection to retrieve.
	PeerRegion interface{}
	// The ID of the accepter VPC of the specific VPC Peering Connection to retrieve.
	PeerVpcId interface{}
	// The region of the requester VPC of the specific VPC Peering Connection to retrieve.
	Region interface{}
	// The status of the specific VPC Peering Connection to retrieve.
	Status interface{}
	// A mapping of tags, each pair of which must exactly match
	// a pair on the desired VPC Peering Connection.
	Tags interface{}
	// The ID of the requester VPC of the specific VPC Peering Connection to retrieve.
	VpcId interface{}
}

A collection of arguments for invoking getVpcPeeringConnection.

type GetVpcPeeringConnectionResult

type GetVpcPeeringConnectionResult struct {
	// A configuration block that describes [VPC Peering Connection]
	// (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide) options set for the accepter VPC.
	Accepter      interface{}
	CidrBlock     interface{}
	Id            interface{}
	OwnerId       interface{}
	PeerCidrBlock interface{}
	PeerOwnerId   interface{}
	PeerRegion    interface{}
	PeerVpcId     interface{}
	Region        interface{}
	// A configuration block that describes [VPC Peering Connection]
	// (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide) options set for the requester VPC.
	Requester interface{}
	Status    interface{}
	Tags      interface{}
	VpcId     interface{}
}

A collection of values returned by getVpcPeeringConnection.

func LookupVpcPeeringConnection

func LookupVpcPeeringConnection(ctx *pulumi.Context, args *GetVpcPeeringConnectionArgs) (*GetVpcPeeringConnectionResult, error)

The VPC Peering Connection data source provides details about a specific VPC peering connection.

type GetVpcResult

type GetVpcResult struct {
	// Amazon Resource Name (ARN) of VPC
	Arn interface{}
	// The CIDR block for the association.
	CidrBlock             interface{}
	CidrBlockAssociations interface{}
	Default               interface{}
	DhcpOptionsId         interface{}
	// Whether or not the VPC has DNS hostname support
	EnableDnsHostnames interface{}
	// Whether or not the VPC has DNS support
	EnableDnsSupport interface{}
	Id               interface{}
	// The allowed tenancy of instances launched into the
	// selected VPC. May be any of `"default"`, `"dedicated"`, or `"host"`.
	InstanceTenancy interface{}
	// The association ID for the IPv6 CIDR block.
	Ipv6AssociationId interface{}
	// The IPv6 CIDR block.
	Ipv6CidrBlock interface{}
	// The ID of the main route table associated with this VPC.
	MainRouteTableId interface{}
	// The ID of the AWS account that owns the VPC.
	OwnerId interface{}
	// The State of the association.
	State interface{}
	Tags  interface{}
}

A collection of values returned by getVpc.

func LookupVpc

func LookupVpc(ctx *pulumi.Context, args *GetVpcArgs) (*GetVpcResult, error)

`aws_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.

type GetVpcsArgs added in v0.14.2

type GetVpcsArgs struct {
	// Custom filter block as described below.
	Filters interface{}
	// A mapping of tags, each pair of which must exactly match
	// a pair on the desired vpcs.
	Tags interface{}
}

A collection of arguments for invoking getVpcs.

type GetVpcsResult added in v0.14.2

type GetVpcsResult struct {
	// A list of all the VPC Ids found. This data source will fail if none are found.
	Ids  interface{}
	Tags interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getVpcs.

func LookupVpcs added in v0.14.2

func LookupVpcs(ctx *pulumi.Context, args *GetVpcsArgs) (*GetVpcsResult, error)

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".

type GetVpnGatewayArgs

type GetVpnGatewayArgs struct {
	// The Autonomous System Number (ASN) for the Amazon side of the specific VPN Gateway to retrieve.
	AmazonSideAsn interface{}
	// The ID of a VPC attached to the specific VPN Gateway to retrieve.
	AttachedVpcId interface{}
	// The Availability Zone of the specific VPN Gateway to retrieve.
	AvailabilityZone interface{}
	// Custom filter block as described below.
	Filters interface{}
	// The ID of the specific VPN Gateway to retrieve.
	Id interface{}
	// The state of the specific VPN Gateway to retrieve.
	State interface{}
	// A mapping of tags, each pair of which must exactly match
	// a pair on the desired VPN Gateway.
	Tags interface{}
}

A collection of arguments for invoking getVpnGateway.

type GetVpnGatewayResult

type GetVpnGatewayResult struct {
	AmazonSideAsn    interface{}
	AttachedVpcId    interface{}
	AvailabilityZone interface{}
	Id               interface{}
	State            interface{}
	Tags             interface{}
}

A collection of values returned by getVpnGateway.

func LookupVpnGateway

func LookupVpnGateway(ctx *pulumi.Context, args *GetVpnGatewayArgs) (*GetVpnGatewayResult, error)

The VPN Gateway data source provides details about a specific VPN gateway.

type Instance

type Instance struct {
	// contains filtered or unexported fields
}

Provides an EC2 instance resource. This allows instances to be created, updated, and deleted. Instances also support [provisioning](https://www.terraform.io/docs/provisioners/index.html).

func GetInstance

func GetInstance(ctx *pulumi.Context,
	name string, id pulumi.ID, state *InstanceState, opts ...pulumi.ResourceOpt) (*Instance, error)

GetInstance gets an existing Instance resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInstance

func NewInstance(ctx *pulumi.Context,
	name string, args *InstanceArgs, opts ...pulumi.ResourceOpt) (*Instance, error)

NewInstance registers a new resource with the given unique name, arguments, and options.

func (*Instance) Ami

func (r *Instance) Ami() *pulumi.StringOutput

The AMI to use for the instance.

func (*Instance) Arn added in v0.15.1

func (r *Instance) Arn() *pulumi.StringOutput

The ARN of the instance.

func (*Instance) AssociatePublicIpAddress

func (r *Instance) AssociatePublicIpAddress() *pulumi.BoolOutput

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

func (*Instance) AvailabilityZone

func (r *Instance) AvailabilityZone() *pulumi.StringOutput

The AZ to start the instance in.

func (*Instance) CpuCoreCount added in v0.15.1

func (r *Instance) CpuCoreCount() *pulumi.IntOutput

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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API.

func (*Instance) CpuThreadsPerCore added in v0.15.1

func (r *Instance) CpuThreadsPerCore() *pulumi.IntOutput

If set to to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information.

func (*Instance) CreditSpecification

func (r *Instance) CreditSpecification() *pulumi.Output

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

func (*Instance) DisableApiTermination

func (r *Instance) DisableApiTermination() *pulumi.BoolOutput

If true, enables [EC2 Instance Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination)

func (*Instance) EbsBlockDevices

func (r *Instance) EbsBlockDevices() *pulumi.ArrayOutput

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.

func (*Instance) EbsOptimized

func (r *Instance) EbsOptimized() *pulumi.BoolOutput

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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information.

func (*Instance) EphemeralBlockDevices

func (r *Instance) EphemeralBlockDevices() *pulumi.ArrayOutput

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

func (*Instance) GetPasswordData

func (r *Instance) GetPasswordData() *pulumi.BoolOutput

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 `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information.

func (*Instance) HostId added in v0.16.4

func (r *Instance) HostId() *pulumi.StringOutput

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.

func (*Instance) ID

func (r *Instance) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Instance) IamInstanceProfile

func (r *Instance) IamInstanceProfile() *pulumi.StringOutput

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](http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html#roles-usingrole-ec2instance-permissions), notably `iam:PassRole`. * `ipv6_address_count`- (Optional) A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.

func (*Instance) InstanceInitiatedShutdownBehavior

func (r *Instance) InstanceInitiatedShutdownBehavior() *pulumi.StringOutput

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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingInstanceInitiatedShutdownBehavior) for more information.

func (*Instance) InstanceState

func (r *Instance) InstanceState() *pulumi.StringOutput

func (*Instance) InstanceType

func (r *Instance) InstanceType() *pulumi.StringOutput

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

func (*Instance) Ipv6AddressCount

func (r *Instance) Ipv6AddressCount() *pulumi.IntOutput

func (*Instance) Ipv6Addresses

func (r *Instance) Ipv6Addresses() *pulumi.ArrayOutput

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

func (*Instance) KeyName

func (r *Instance) KeyName() *pulumi.StringOutput

The key name of the Key Pair to use for the instance; which can be managed using the `aws_key_pair` resource.

func (*Instance) Monitoring

func (r *Instance) Monitoring() *pulumi.BoolOutput

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

func (*Instance) NetworkInterfaces

func (r *Instance) NetworkInterfaces() *pulumi.ArrayOutput

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

func (*Instance) PasswordData

func (r *Instance) PasswordData() *pulumi.StringOutput

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 `get_password_data` is true. Note that this encrypted value will be stored in the state file, as with all exported attributes. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information.

func (*Instance) PlacementGroup

func (r *Instance) PlacementGroup() *pulumi.StringOutput

The Placement Group to start the instance in.

func (*Instance) PrimaryNetworkInterfaceId

func (r *Instance) PrimaryNetworkInterfaceId() *pulumi.StringOutput

The ID of the instance's primary network interface.

func (*Instance) PrivateDns

func (r *Instance) PrivateDns() *pulumi.StringOutput

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

func (*Instance) PrivateIp

func (r *Instance) PrivateIp() *pulumi.StringOutput

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

func (*Instance) PublicDns

func (r *Instance) PublicDns() *pulumi.StringOutput

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

func (*Instance) PublicIp

func (r *Instance) PublicIp() *pulumi.StringOutput

The public IP address assigned to the instance, if applicable. **NOTE**: If you are using an [`aws_eip`](https://www.terraform.io/docs/providers/aws/r/eip.html) with your instance, you should refer to the EIP's address directly and not use `public_ip`, as this field will change after the EIP is attached.

func (*Instance) RootBlockDevice

func (r *Instance) RootBlockDevice() *pulumi.Output

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

func (*Instance) SecurityGroups

func (r *Instance) SecurityGroups() *pulumi.ArrayOutput

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

func (*Instance) SourceDestCheck

func (r *Instance) SourceDestCheck() *pulumi.BoolOutput

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

func (*Instance) SubnetId

func (r *Instance) SubnetId() *pulumi.StringOutput

The VPC Subnet ID to launch in.

func (*Instance) Tags

func (r *Instance) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource.

func (*Instance) Tenancy

func (r *Instance) Tenancy() *pulumi.StringOutput

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.

func (*Instance) URN

func (r *Instance) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*Instance) UserData

func (r *Instance) UserData() *pulumi.StringOutput

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

func (*Instance) UserDataBase64

func (r *Instance) UserDataBase64() *pulumi.StringOutput

Can be used instead of `user_data` to pass base64-encoded binary data directly. Use this instead of `user_data` 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.

func (*Instance) VolumeTags

func (r *Instance) VolumeTags() *pulumi.MapOutput

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

func (*Instance) VpcSecurityGroupIds

func (r *Instance) VpcSecurityGroupIds() *pulumi.ArrayOutput

A list of security group IDs to associate with.

type InstanceArgs

type InstanceArgs struct {
	// The AMI to use for the instance.
	Ami interface{}
	// Associate a public ip address with an instance in a VPC.  Boolean value.
	AssociatePublicIpAddress interface{}
	// The AZ to start the instance in.
	AvailabilityZone interface{}
	// 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API.
	CpuCoreCount interface{}
	// If set to to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information.
	CpuThreadsPerCore interface{}
	// Customize the credit specification of the instance. See Credit Specification below for more details.
	CreditSpecification interface{}
	// If true, enables [EC2 Instance
	// Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination)
	DisableApiTermination interface{}
	// 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.
	EbsBlockDevices interface{}
	// 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information.
	EbsOptimized interface{}
	// Customize Ephemeral (also known as
	// "Instance Store") volumes on the instance. See Block Devices below for details.
	EphemeralBlockDevices interface{}
	// 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 `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information.
	GetPasswordData interface{}
	// 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.
	HostId interface{}
	// 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](http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html#roles-usingrole-ec2instance-permissions), notably `iam:PassRole`.
	// * `ipv6_address_count`- (Optional) A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
	IamInstanceProfile interface{}
	// 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingInstanceInitiatedShutdownBehavior) for more information.
	InstanceInitiatedShutdownBehavior interface{}
	// The type of instance to start. Updates to this field will trigger a stop/start of the EC2 instance.
	InstanceType     interface{}
	Ipv6AddressCount interface{}
	// Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
	Ipv6Addresses interface{}
	// The key name of the Key Pair to use for the instance; which can be managed using the `aws_key_pair` resource.
	KeyName interface{}
	// If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
	Monitoring interface{}
	// Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
	NetworkInterfaces interface{}
	// The Placement Group to start the instance in.
	PlacementGroup interface{}
	// Private IP address to associate with the
	// instance in a VPC.
	PrivateIp interface{}
	// Customize details about the root block
	// device of the instance. See Block Devices below for details.
	RootBlockDevice interface{}
	// A list of security group names (EC2-Classic) or IDs (default VPC) to associate with.
	SecurityGroups interface{}
	// Controls if traffic is routed to the instance when
	// the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
	SourceDestCheck interface{}
	// The VPC Subnet ID to launch in.
	SubnetId interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// 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.
	Tenancy interface{}
	// The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see `user_data_base64` instead.
	UserData interface{}
	// Can be used instead of `user_data` to pass base64-encoded binary data directly. Use this instead of `user_data` 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.
	UserDataBase64 interface{}
	// A mapping of tags to assign to the devices created by the instance at launch time.
	VolumeTags interface{}
	// A list of security group IDs to associate with.
	VpcSecurityGroupIds interface{}
}

The set of arguments for constructing a Instance resource.

type InstanceState

type InstanceState struct {
	// The AMI to use for the instance.
	Ami interface{}
	// The ARN of the instance.
	Arn interface{}
	// Associate a public ip address with an instance in a VPC.  Boolean value.
	AssociatePublicIpAddress interface{}
	// The AZ to start the instance in.
	AvailabilityZone interface{}
	// 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API.
	CpuCoreCount interface{}
	// If set to to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information.
	CpuThreadsPerCore interface{}
	// Customize the credit specification of the instance. See Credit Specification below for more details.
	CreditSpecification interface{}
	// If true, enables [EC2 Instance
	// Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination)
	DisableApiTermination interface{}
	// 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.
	EbsBlockDevices interface{}
	// 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information.
	EbsOptimized interface{}
	// Customize Ephemeral (also known as
	// "Instance Store") volumes on the instance. See Block Devices below for details.
	EphemeralBlockDevices interface{}
	// 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 `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information.
	GetPasswordData interface{}
	// 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.
	HostId interface{}
	// 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](http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html#roles-usingrole-ec2instance-permissions), notably `iam:PassRole`.
	// * `ipv6_address_count`- (Optional) A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
	IamInstanceProfile interface{}
	// 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingInstanceInitiatedShutdownBehavior) for more information.
	InstanceInitiatedShutdownBehavior interface{}
	InstanceState                     interface{}
	// The type of instance to start. Updates to this field will trigger a stop/start of the EC2 instance.
	InstanceType     interface{}
	Ipv6AddressCount interface{}
	// Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
	Ipv6Addresses interface{}
	// The key name of the Key Pair to use for the instance; which can be managed using the `aws_key_pair` resource.
	KeyName interface{}
	// If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
	Monitoring interface{}
	// Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
	NetworkInterfaces interface{}
	// 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 `get_password_data` is true.
	// Note that this encrypted value will be stored in the state file, as with all exported attributes.
	// See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information.
	PasswordData interface{}
	// The Placement Group to start the instance in.
	PlacementGroup interface{}
	// The ID of the instance's primary network interface.
	PrimaryNetworkInterfaceId interface{}
	// 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
	PrivateDns interface{}
	// Private IP address to associate with the
	// instance in a VPC.
	PrivateIp interface{}
	// The public DNS name assigned to the instance. For EC2-VPC, this
	// is only available if you've enabled DNS hostnames for your VPC
	PublicDns interface{}
	// The public IP address assigned to the instance, if applicable. **NOTE**: If you are using an [`aws_eip`](https://www.terraform.io/docs/providers/aws/r/eip.html) with your instance, you should refer to the EIP's address directly and not use `public_ip`, as this field will change after the EIP is attached.
	PublicIp interface{}
	// Customize details about the root block
	// device of the instance. See Block Devices below for details.
	RootBlockDevice interface{}
	// A list of security group names (EC2-Classic) or IDs (default VPC) to associate with.
	SecurityGroups interface{}
	// Controls if traffic is routed to the instance when
	// the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
	SourceDestCheck interface{}
	// The VPC Subnet ID to launch in.
	SubnetId interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// 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.
	Tenancy interface{}
	// The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see `user_data_base64` instead.
	UserData interface{}
	// Can be used instead of `user_data` to pass base64-encoded binary data directly. Use this instead of `user_data` 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.
	UserDataBase64 interface{}
	// A mapping of tags to assign to the devices created by the instance at launch time.
	VolumeTags interface{}
	// A list of security group IDs to associate with.
	VpcSecurityGroupIds interface{}
}

Input properties used for looking up and filtering Instance resources.

type InternetGateway

type InternetGateway struct {
	// contains filtered or unexported fields
}

Provides a resource to create a VPC Internet Gateway.

func GetInternetGateway

func GetInternetGateway(ctx *pulumi.Context,
	name string, id pulumi.ID, state *InternetGatewayState, opts ...pulumi.ResourceOpt) (*InternetGateway, error)

GetInternetGateway gets an existing InternetGateway resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInternetGateway

func NewInternetGateway(ctx *pulumi.Context,
	name string, args *InternetGatewayArgs, opts ...pulumi.ResourceOpt) (*InternetGateway, error)

NewInternetGateway registers a new resource with the given unique name, arguments, and options.

func (*InternetGateway) ID

func (r *InternetGateway) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*InternetGateway) OwnerId added in v0.16.4

func (r *InternetGateway) OwnerId() *pulumi.StringOutput

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

func (*InternetGateway) Tags

func (r *InternetGateway) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource.

func (*InternetGateway) URN

func (r *InternetGateway) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*InternetGateway) VpcId

func (r *InternetGateway) VpcId() *pulumi.StringOutput

The VPC ID to create in.

type InternetGatewayArgs

type InternetGatewayArgs struct {
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// The VPC ID to create in.
	VpcId interface{}
}

The set of arguments for constructing a InternetGateway resource.

type InternetGatewayState

type InternetGatewayState struct {
	// The ID of the AWS account that owns the internet gateway.
	OwnerId interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// The VPC ID to create in.
	VpcId interface{}
}

Input properties used for looking up and filtering InternetGateway resources.

type KeyPair

type KeyPair struct {
	// contains filtered or unexported fields
}

Provides an [EC2 key pair](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#how-to-generate-your-own-key-and-import-it-to-aws)) are:

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

func GetKeyPair

func GetKeyPair(ctx *pulumi.Context,
	name string, id pulumi.ID, state *KeyPairState, opts ...pulumi.ResourceOpt) (*KeyPair, error)

GetKeyPair gets an existing KeyPair resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewKeyPair

func NewKeyPair(ctx *pulumi.Context,
	name string, args *KeyPairArgs, opts ...pulumi.ResourceOpt) (*KeyPair, error)

NewKeyPair registers a new resource with the given unique name, arguments, and options.

func (*KeyPair) Fingerprint

func (r *KeyPair) Fingerprint() *pulumi.StringOutput

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

func (*KeyPair) ID

func (r *KeyPair) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*KeyPair) KeyName

func (r *KeyPair) KeyName() *pulumi.StringOutput

The name for the key pair.

func (*KeyPair) KeyNamePrefix

func (r *KeyPair) KeyNamePrefix() *pulumi.StringOutput

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

func (*KeyPair) PublicKey

func (r *KeyPair) PublicKey() *pulumi.StringOutput

The public key material.

func (*KeyPair) URN

func (r *KeyPair) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type KeyPairArgs

type KeyPairArgs struct {
	// The name for the key pair.
	KeyName interface{}
	// Creates a unique name beginning with the specified prefix. Conflicts with `key_name`.
	KeyNamePrefix interface{}
	// The public key material.
	PublicKey interface{}
}

The set of arguments for constructing a KeyPair resource.

type KeyPairState

type KeyPairState struct {
	// The MD5 public key fingerprint as specified in section 4 of RFC 4716.
	Fingerprint interface{}
	// The name for the key pair.
	KeyName interface{}
	// Creates a unique name beginning with the specified prefix. Conflicts with `key_name`.
	KeyNamePrefix interface{}
	// The public key material.
	PublicKey interface{}
}

Input properties used for looking up and filtering KeyPair resources.

type LaunchConfiguration

type LaunchConfiguration struct {
	// contains filtered or unexported fields
}

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

## 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) to understand the implications of using these attributes.

The `root_block_device` mapping supports the following:

  • `volume_type` - (Optional) The type of volume. Can be `"standard"`, `"gp2"`, or `"io1"`. (Default: `"standard"`).
  • `volume_size` - (Optional) The size of the volume in gigabytes.
  • `iops` - (Optional) The amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). This must be set with a `volume_type` of `"io1"`.
  • `delete_on_termination` - (Optional) Whether the volume should be destroyed on instance termination (Default: `true`).

Modifying any of the `root_block_device` settings requires resource replacement.

Each `ebs_block_device` supports the following:

  • `device_name` - (Required) The name of the device to mount.
  • `snapshot_id` - (Optional) The Snapshot ID to mount.
  • `volume_type` - (Optional) The type of volume. Can be `"standard"`, `"gp2"`, or `"io1"`. (Default: `"standard"`).
  • `volume_size` - (Optional) The size of the volume in gigabytes.
  • `iops` - (Optional) The amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). This must be set with a `volume_type` of `"io1"`.
  • `delete_on_termination` - (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 `snapshot_id` as the encrypted flag will be determined by the snapshot. (Default: `false`).

Modifying any `ebs_block_device` currently requires resource replacement.

Each `ephemeral_block_device` supports the following:

Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS [publishes a list](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#StorageOnInstanceTypes) of which ephemeral devices are available on each type. The devices are always identified by the `virtual_name` in the format `"ephemeral{0..N}"`.

> **NOTE:** Changes to `*_block_device` configuration of _existing_ resources cannot currently be detected by Terraform. After updating to block device configuration, resource recreation can be manually triggered by using the [`taint` command](https://www.terraform.io/docs/commands/taint.html).

func GetLaunchConfiguration

func GetLaunchConfiguration(ctx *pulumi.Context,
	name string, id pulumi.ID, state *LaunchConfigurationState, opts ...pulumi.ResourceOpt) (*LaunchConfiguration, error)

GetLaunchConfiguration gets an existing LaunchConfiguration resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLaunchConfiguration

func NewLaunchConfiguration(ctx *pulumi.Context,
	name string, args *LaunchConfigurationArgs, opts ...pulumi.ResourceOpt) (*LaunchConfiguration, error)

NewLaunchConfiguration registers a new resource with the given unique name, arguments, and options.

func (*LaunchConfiguration) AssociatePublicIpAddress

func (r *LaunchConfiguration) AssociatePublicIpAddress() *pulumi.BoolOutput

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

func (*LaunchConfiguration) EbsBlockDevices

func (r *LaunchConfiguration) EbsBlockDevices() *pulumi.ArrayOutput

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

func (*LaunchConfiguration) EbsOptimized

func (r *LaunchConfiguration) EbsOptimized() *pulumi.BoolOutput

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

func (*LaunchConfiguration) EnableMonitoring

func (r *LaunchConfiguration) EnableMonitoring() *pulumi.BoolOutput

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

func (*LaunchConfiguration) EphemeralBlockDevices

func (r *LaunchConfiguration) EphemeralBlockDevices() *pulumi.ArrayOutput

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

func (*LaunchConfiguration) ID

ID is this resource's unique identifier assigned by its provider.

func (*LaunchConfiguration) IamInstanceProfile

func (r *LaunchConfiguration) IamInstanceProfile() *pulumi.StringOutput

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

func (*LaunchConfiguration) ImageId

func (r *LaunchConfiguration) ImageId() *pulumi.StringOutput

The EC2 image ID to launch.

func (*LaunchConfiguration) InstanceType

func (r *LaunchConfiguration) InstanceType() *pulumi.StringOutput

The size of instance to launch.

func (*LaunchConfiguration) KeyName

func (r *LaunchConfiguration) KeyName() *pulumi.StringOutput

The key name that should be used for the instance.

func (*LaunchConfiguration) Name

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

func (*LaunchConfiguration) NamePrefix

func (r *LaunchConfiguration) NamePrefix() *pulumi.StringOutput

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

func (*LaunchConfiguration) PlacementTenancy

func (r *LaunchConfiguration) PlacementTenancy() *pulumi.StringOutput

The tenancy of the instance. Valid values are `"default"` or `"dedicated"`, see [AWS's Create Launch Configuration](http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_CreateLaunchConfiguration.html) for more details

func (*LaunchConfiguration) RootBlockDevice

func (r *LaunchConfiguration) RootBlockDevice() *pulumi.Output

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

func (*LaunchConfiguration) SecurityGroups

func (r *LaunchConfiguration) SecurityGroups() *pulumi.ArrayOutput

A list of associated security group IDS.

func (*LaunchConfiguration) SpotPrice

func (r *LaunchConfiguration) SpotPrice() *pulumi.StringOutput

The maximum price to use for reserving spot instances.

func (*LaunchConfiguration) URN

URN is this resource's unique name assigned by Pulumi.

func (*LaunchConfiguration) UserData

func (r *LaunchConfiguration) UserData() *pulumi.StringOutput

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

func (*LaunchConfiguration) UserDataBase64

func (r *LaunchConfiguration) UserDataBase64() *pulumi.StringOutput

Can be used instead of `user_data` to pass base64-encoded binary data directly. Use this instead of `user_data` 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.

func (*LaunchConfiguration) VpcClassicLinkId

func (r *LaunchConfiguration) VpcClassicLinkId() *pulumi.StringOutput

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

func (*LaunchConfiguration) VpcClassicLinkSecurityGroups

func (r *LaunchConfiguration) VpcClassicLinkSecurityGroups() *pulumi.ArrayOutput

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

type LaunchConfigurationArgs

type LaunchConfigurationArgs struct {
	// Associate a public ip address with an instance in a VPC.
	AssociatePublicIpAddress interface{}
	// Additional EBS block devices to attach to the
	// instance.  See Block Devices below for details.
	EbsBlockDevices interface{}
	// If true, the launched EC2 instance will be EBS-optimized.
	EbsOptimized interface{}
	// Enables/disables detailed monitoring. This is enabled by default.
	EnableMonitoring interface{}
	// Customize Ephemeral (also known as
	// "Instance Store") volumes on the instance. See Block Devices below for details.
	EphemeralBlockDevices interface{}
	// The name attribute of the IAM instance profile to associate
	// with launched instances.
	IamInstanceProfile interface{}
	// The EC2 image ID to launch.
	ImageId interface{}
	// The size of instance to launch.
	InstanceType interface{}
	// The key name that should be used for the instance.
	KeyName interface{}
	// The name of the launch configuration. If you leave
	// this blank, Terraform will auto-generate a unique name.
	Name interface{}
	// Creates a unique name beginning with the specified
	// prefix. Conflicts with `name`.
	NamePrefix interface{}
	// The tenancy of the instance. Valid values are
	// `"default"` or `"dedicated"`, see [AWS's Create Launch Configuration](http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_CreateLaunchConfiguration.html)
	// for more details
	PlacementTenancy interface{}
	// Customize details about the root block
	// device of the instance. See Block Devices below for details.
	RootBlockDevice interface{}
	// A list of associated security group IDS.
	SecurityGroups interface{}
	// The maximum price to use for reserving spot instances.
	SpotPrice interface{}
	// The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see `user_data_base64` instead.
	UserData interface{}
	// Can be used instead of `user_data` to pass base64-encoded binary data directly. Use this instead of `user_data` 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.
	UserDataBase64 interface{}
	// The ID of a ClassicLink-enabled VPC. Only applies to EC2-Classic instances. (eg. `vpc-2730681a`)
	VpcClassicLinkId interface{}
	// The IDs of one or more security groups for the specified ClassicLink-enabled VPC (eg. `sg-46ae3d11`).
	VpcClassicLinkSecurityGroups interface{}
}

The set of arguments for constructing a LaunchConfiguration resource.

type LaunchConfigurationState

type LaunchConfigurationState struct {
	// Associate a public ip address with an instance in a VPC.
	AssociatePublicIpAddress interface{}
	// Additional EBS block devices to attach to the
	// instance.  See Block Devices below for details.
	EbsBlockDevices interface{}
	// If true, the launched EC2 instance will be EBS-optimized.
	EbsOptimized interface{}
	// Enables/disables detailed monitoring. This is enabled by default.
	EnableMonitoring interface{}
	// Customize Ephemeral (also known as
	// "Instance Store") volumes on the instance. See Block Devices below for details.
	EphemeralBlockDevices interface{}
	// The name attribute of the IAM instance profile to associate
	// with launched instances.
	IamInstanceProfile interface{}
	// The EC2 image ID to launch.
	ImageId interface{}
	// The size of instance to launch.
	InstanceType interface{}
	// The key name that should be used for the instance.
	KeyName interface{}
	// The name of the launch configuration. If you leave
	// this blank, Terraform will auto-generate a unique name.
	Name interface{}
	// Creates a unique name beginning with the specified
	// prefix. Conflicts with `name`.
	NamePrefix interface{}
	// The tenancy of the instance. Valid values are
	// `"default"` or `"dedicated"`, see [AWS's Create Launch Configuration](http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_CreateLaunchConfiguration.html)
	// for more details
	PlacementTenancy interface{}
	// Customize details about the root block
	// device of the instance. See Block Devices below for details.
	RootBlockDevice interface{}
	// A list of associated security group IDS.
	SecurityGroups interface{}
	// The maximum price to use for reserving spot instances.
	SpotPrice interface{}
	// The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see `user_data_base64` instead.
	UserData interface{}
	// Can be used instead of `user_data` to pass base64-encoded binary data directly. Use this instead of `user_data` 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.
	UserDataBase64 interface{}
	// The ID of a ClassicLink-enabled VPC. Only applies to EC2-Classic instances. (eg. `vpc-2730681a`)
	VpcClassicLinkId interface{}
	// The IDs of one or more security groups for the specified ClassicLink-enabled VPC (eg. `sg-46ae3d11`).
	VpcClassicLinkSecurityGroups interface{}
}

Input properties used for looking up and filtering LaunchConfiguration resources.

type LaunchTemplate

type LaunchTemplate struct {
	// contains filtered or unexported fields
}

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

func GetLaunchTemplate

func GetLaunchTemplate(ctx *pulumi.Context,
	name string, id pulumi.ID, state *LaunchTemplateState, opts ...pulumi.ResourceOpt) (*LaunchTemplate, error)

GetLaunchTemplate gets an existing LaunchTemplate resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLaunchTemplate

func NewLaunchTemplate(ctx *pulumi.Context,
	name string, args *LaunchTemplateArgs, opts ...pulumi.ResourceOpt) (*LaunchTemplate, error)

NewLaunchTemplate registers a new resource with the given unique name, arguments, and options.

func (*LaunchTemplate) Arn added in v0.15.1

Amazon Resource Name (ARN) of the launch template.

func (*LaunchTemplate) BlockDeviceMappings

func (r *LaunchTemplate) BlockDeviceMappings() *pulumi.ArrayOutput

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

func (*LaunchTemplate) CapacityReservationSpecification added in v0.16.3

func (r *LaunchTemplate) CapacityReservationSpecification() *pulumi.Output

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

func (*LaunchTemplate) CreditSpecification

func (r *LaunchTemplate) CreditSpecification() *pulumi.Output

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

func (*LaunchTemplate) DefaultVersion

func (r *LaunchTemplate) DefaultVersion() *pulumi.IntOutput

The default version of the launch template.

func (*LaunchTemplate) Description

func (r *LaunchTemplate) Description() *pulumi.StringOutput

Description of the launch template.

func (*LaunchTemplate) DisableApiTermination

func (r *LaunchTemplate) DisableApiTermination() *pulumi.BoolOutput

If `true`, enables [EC2 Instance Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination)

func (*LaunchTemplate) EbsOptimized

func (r *LaunchTemplate) EbsOptimized() *pulumi.StringOutput

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

func (*LaunchTemplate) ElasticGpuSpecifications

func (r *LaunchTemplate) ElasticGpuSpecifications() *pulumi.ArrayOutput

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

func (*LaunchTemplate) ID

func (r *LaunchTemplate) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*LaunchTemplate) IamInstanceProfile

func (r *LaunchTemplate) IamInstanceProfile() *pulumi.Output

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

func (*LaunchTemplate) ImageId

func (r *LaunchTemplate) ImageId() *pulumi.StringOutput

The AMI from which to launch the instance.

func (*LaunchTemplate) InstanceInitiatedShutdownBehavior

func (r *LaunchTemplate) InstanceInitiatedShutdownBehavior() *pulumi.StringOutput

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

func (*LaunchTemplate) InstanceMarketOptions

func (r *LaunchTemplate) InstanceMarketOptions() *pulumi.Output

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

func (*LaunchTemplate) InstanceType

func (r *LaunchTemplate) InstanceType() *pulumi.StringOutput

The type of the instance.

func (*LaunchTemplate) KernelId

func (r *LaunchTemplate) KernelId() *pulumi.StringOutput

The kernel ID.

func (*LaunchTemplate) KeyName

func (r *LaunchTemplate) KeyName() *pulumi.StringOutput

The key name to use for the instance.

func (*LaunchTemplate) LatestVersion

func (r *LaunchTemplate) LatestVersion() *pulumi.IntOutput

The latest version of the launch template.

func (*LaunchTemplate) LicenseSpecifications added in v0.16.5

func (r *LaunchTemplate) LicenseSpecifications() *pulumi.ArrayOutput

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

func (*LaunchTemplate) Monitoring

func (r *LaunchTemplate) Monitoring() *pulumi.Output

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

func (*LaunchTemplate) Name

func (r *LaunchTemplate) Name() *pulumi.StringOutput

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

func (*LaunchTemplate) NamePrefix

func (r *LaunchTemplate) NamePrefix() *pulumi.StringOutput

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

func (*LaunchTemplate) NetworkInterfaces

func (r *LaunchTemplate) NetworkInterfaces() *pulumi.ArrayOutput

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

func (*LaunchTemplate) Placement

func (r *LaunchTemplate) Placement() *pulumi.Output

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

func (*LaunchTemplate) RamDiskId

func (r *LaunchTemplate) RamDiskId() *pulumi.StringOutput

The ID of the RAM disk.

func (*LaunchTemplate) SecurityGroupNames

func (r *LaunchTemplate) SecurityGroupNames() *pulumi.ArrayOutput

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

func (*LaunchTemplate) TagSpecifications

func (r *LaunchTemplate) TagSpecifications() *pulumi.ArrayOutput

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

func (*LaunchTemplate) Tags added in v0.14.1

func (r *LaunchTemplate) Tags() *pulumi.MapOutput

A mapping of tags to assign to the launch template.

func (*LaunchTemplate) URN

func (r *LaunchTemplate) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*LaunchTemplate) UserData

func (r *LaunchTemplate) UserData() *pulumi.StringOutput

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

func (*LaunchTemplate) VpcSecurityGroupIds

func (r *LaunchTemplate) VpcSecurityGroupIds() *pulumi.ArrayOutput

A list of security group IDs to associate with.

type LaunchTemplateArgs

type LaunchTemplateArgs struct {
	// Specify volumes to attach to the instance besides the volumes specified by the AMI.
	// See Block Devices below for details.
	BlockDeviceMappings interface{}
	// Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
	CapacityReservationSpecification interface{}
	// Customize the credit specification of the instance. See Credit
	// Specification below for more details.
	CreditSpecification interface{}
	// Description of the launch template.
	Description interface{}
	// If `true`, enables [EC2 Instance
	// Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination)
	DisableApiTermination interface{}
	// If `true`, the launched EC2 instance will be EBS-optimized.
	EbsOptimized interface{}
	// The elastic GPU to attach to the instance. See Elastic GPU
	// below for more details.
	ElasticGpuSpecifications interface{}
	// The IAM Instance Profile to launch the instance with. See Instance Profile
	// below for more details.
	IamInstanceProfile interface{}
	// The AMI from which to launch the instance.
	ImageId interface{}
	// Shutdown behavior for the instance. Can be `stop` or `terminate`.
	// (Default: `stop`).
	InstanceInitiatedShutdownBehavior interface{}
	// The market (purchasing) option for the instance. See Market Options
	// below for details.
	InstanceMarketOptions interface{}
	// The type of the instance.
	InstanceType interface{}
	// The kernel ID.
	KernelId interface{}
	// The key name to use for the instance.
	KeyName interface{}
	// A list of license specifications to associate with. See License Specification below for more details.
	LicenseSpecifications interface{}
	// The monitoring option for the instance. See Monitoring below for more details.
	Monitoring interface{}
	// The name of the launch template. If you leave this blank, Terraform will auto-generate a unique name.
	Name interface{}
	// Creates a unique name beginning with the specified prefix. Conflicts with `name`.
	NamePrefix interface{}
	// Customize network interfaces to be attached at instance boot time. See Network
	// Interfaces below for more details.
	NetworkInterfaces interface{}
	// The placement of the instance. See Placement below for more details.
	Placement interface{}
	// The ID of the RAM disk.
	RamDiskId interface{}
	// A list of security group names to associate with. If you are creating Instances in a VPC, use
	// `vpc_security_group_ids` instead.
	SecurityGroupNames interface{}
	// The tags to apply to the resources during launch. See Tag Specifications below for more details.
	TagSpecifications interface{}
	// A mapping of tags to assign to the launch template.
	Tags interface{}
	// The Base64-encoded user data to provide when launching the instance.
	UserData interface{}
	// A list of security group IDs to associate with.
	VpcSecurityGroupIds interface{}
}

The set of arguments for constructing a LaunchTemplate resource.

type LaunchTemplateState

type LaunchTemplateState struct {
	// Amazon Resource Name (ARN) of the launch template.
	Arn interface{}
	// Specify volumes to attach to the instance besides the volumes specified by the AMI.
	// See Block Devices below for details.
	BlockDeviceMappings interface{}
	// Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
	CapacityReservationSpecification interface{}
	// Customize the credit specification of the instance. See Credit
	// Specification below for more details.
	CreditSpecification interface{}
	// The default version of the launch template.
	DefaultVersion interface{}
	// Description of the launch template.
	Description interface{}
	// If `true`, enables [EC2 Instance
	// Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination)
	DisableApiTermination interface{}
	// If `true`, the launched EC2 instance will be EBS-optimized.
	EbsOptimized interface{}
	// The elastic GPU to attach to the instance. See Elastic GPU
	// below for more details.
	ElasticGpuSpecifications interface{}
	// The IAM Instance Profile to launch the instance with. See Instance Profile
	// below for more details.
	IamInstanceProfile interface{}
	// The AMI from which to launch the instance.
	ImageId interface{}
	// Shutdown behavior for the instance. Can be `stop` or `terminate`.
	// (Default: `stop`).
	InstanceInitiatedShutdownBehavior interface{}
	// The market (purchasing) option for the instance. See Market Options
	// below for details.
	InstanceMarketOptions interface{}
	// The type of the instance.
	InstanceType interface{}
	// The kernel ID.
	KernelId interface{}
	// The key name to use for the instance.
	KeyName interface{}
	// The latest version of the launch template.
	LatestVersion interface{}
	// A list of license specifications to associate with. See License Specification below for more details.
	LicenseSpecifications interface{}
	// The monitoring option for the instance. See Monitoring below for more details.
	Monitoring interface{}
	// The name of the launch template. If you leave this blank, Terraform will auto-generate a unique name.
	Name interface{}
	// Creates a unique name beginning with the specified prefix. Conflicts with `name`.
	NamePrefix interface{}
	// Customize network interfaces to be attached at instance boot time. See Network
	// Interfaces below for more details.
	NetworkInterfaces interface{}
	// The placement of the instance. See Placement below for more details.
	Placement interface{}
	// The ID of the RAM disk.
	RamDiskId interface{}
	// A list of security group names to associate with. If you are creating Instances in a VPC, use
	// `vpc_security_group_ids` instead.
	SecurityGroupNames interface{}
	// The tags to apply to the resources during launch. See Tag Specifications below for more details.
	TagSpecifications interface{}
	// A mapping of tags to assign to the launch template.
	Tags interface{}
	// The Base64-encoded user data to provide when launching the instance.
	UserData interface{}
	// A list of security group IDs to associate with.
	VpcSecurityGroupIds interface{}
}

Input properties used for looking up and filtering LaunchTemplate resources.

type MainRouteTableAssociation

type MainRouteTableAssociation struct {
	// contains filtered or unexported fields
}

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

## Notes

On VPC creation, the AWS API always creates an initial Main Route Table. This resource records the ID of that Route Table under `original_route_table_id`. The "Delete" action for a `main_route_table_association` 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 `main_route_table_association` delete to work properly.

func GetMainRouteTableAssociation

func GetMainRouteTableAssociation(ctx *pulumi.Context,
	name string, id pulumi.ID, state *MainRouteTableAssociationState, opts ...pulumi.ResourceOpt) (*MainRouteTableAssociation, error)

GetMainRouteTableAssociation gets an existing MainRouteTableAssociation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewMainRouteTableAssociation

func NewMainRouteTableAssociation(ctx *pulumi.Context,
	name string, args *MainRouteTableAssociationArgs, opts ...pulumi.ResourceOpt) (*MainRouteTableAssociation, error)

NewMainRouteTableAssociation registers a new resource with the given unique name, arguments, and options.

func (*MainRouteTableAssociation) ID

ID is this resource's unique identifier assigned by its provider.

func (*MainRouteTableAssociation) OriginalRouteTableId

func (r *MainRouteTableAssociation) OriginalRouteTableId() *pulumi.StringOutput

Used internally, see __Notes__ below

func (*MainRouteTableAssociation) RouteTableId

func (r *MainRouteTableAssociation) RouteTableId() *pulumi.StringOutput

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

func (*MainRouteTableAssociation) URN

URN is this resource's unique name assigned by Pulumi.

func (*MainRouteTableAssociation) VpcId

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

type MainRouteTableAssociationArgs

type MainRouteTableAssociationArgs struct {
	// The ID of the Route Table to set as the new
	// main route table for the target VPC
	RouteTableId interface{}
	// The ID of the VPC whose main route table should be set
	VpcId interface{}
}

The set of arguments for constructing a MainRouteTableAssociation resource.

type MainRouteTableAssociationState

type MainRouteTableAssociationState struct {
	// Used internally, see __Notes__ below
	OriginalRouteTableId interface{}
	// The ID of the Route Table to set as the new
	// main route table for the target VPC
	RouteTableId interface{}
	// The ID of the VPC whose main route table should be set
	VpcId interface{}
}

Input properties used for looking up and filtering MainRouteTableAssociation resources.

type NatGateway

type NatGateway struct {
	// contains filtered or unexported fields
}

Provides a resource to create a VPC NAT Gateway.

func GetNatGateway

func GetNatGateway(ctx *pulumi.Context,
	name string, id pulumi.ID, state *NatGatewayState, opts ...pulumi.ResourceOpt) (*NatGateway, error)

GetNatGateway gets an existing NatGateway resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNatGateway

func NewNatGateway(ctx *pulumi.Context,
	name string, args *NatGatewayArgs, opts ...pulumi.ResourceOpt) (*NatGateway, error)

NewNatGateway registers a new resource with the given unique name, arguments, and options.

func (*NatGateway) AllocationId

func (r *NatGateway) AllocationId() *pulumi.StringOutput

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

func (*NatGateway) ID

func (r *NatGateway) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*NatGateway) NetworkInterfaceId

func (r *NatGateway) NetworkInterfaceId() *pulumi.StringOutput

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

func (*NatGateway) PrivateIp

func (r *NatGateway) PrivateIp() *pulumi.StringOutput

The private IP address of the NAT Gateway.

func (*NatGateway) PublicIp

func (r *NatGateway) PublicIp() *pulumi.StringOutput

The public IP address of the NAT Gateway.

func (*NatGateway) SubnetId

func (r *NatGateway) SubnetId() *pulumi.StringOutput

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

func (*NatGateway) Tags

func (r *NatGateway) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource.

func (*NatGateway) URN

func (r *NatGateway) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type NatGatewayArgs

type NatGatewayArgs struct {
	// The Allocation ID of the Elastic IP address for the gateway.
	AllocationId interface{}
	// The Subnet ID of the subnet in which to place the gateway.
	SubnetId interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
}

The set of arguments for constructing a NatGateway resource.

type NatGatewayState

type NatGatewayState struct {
	// The Allocation ID of the Elastic IP address for the gateway.
	AllocationId interface{}
	// The ENI ID of the network interface created by the NAT gateway.
	NetworkInterfaceId interface{}
	// The private IP address of the NAT Gateway.
	PrivateIp interface{}
	// The public IP address of the NAT Gateway.
	PublicIp interface{}
	// The Subnet ID of the subnet in which to place the gateway.
	SubnetId interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
}

Input properties used for looking up and filtering NatGateway resources.

type NetworkAcl

type NetworkAcl struct {
	// contains filtered or unexported fields
}

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:** Terraform 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.

func GetNetworkAcl

func GetNetworkAcl(ctx *pulumi.Context,
	name string, id pulumi.ID, state *NetworkAclState, opts ...pulumi.ResourceOpt) (*NetworkAcl, error)

GetNetworkAcl gets an existing NetworkAcl resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNetworkAcl

func NewNetworkAcl(ctx *pulumi.Context,
	name string, args *NetworkAclArgs, opts ...pulumi.ResourceOpt) (*NetworkAcl, error)

NewNetworkAcl registers a new resource with the given unique name, arguments, and options.

func (*NetworkAcl) Egress

func (r *NetworkAcl) Egress() *pulumi.ArrayOutput

Specifies an egress rule. Parameters defined below.

func (*NetworkAcl) ID

func (r *NetworkAcl) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*NetworkAcl) Ingress

func (r *NetworkAcl) Ingress() *pulumi.ArrayOutput

Specifies an ingress rule. Parameters defined below.

func (*NetworkAcl) OwnerId added in v0.16.4

func (r *NetworkAcl) OwnerId() *pulumi.StringOutput

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

func (*NetworkAcl) SubnetIds

func (r *NetworkAcl) SubnetIds() *pulumi.ArrayOutput

A list of Subnet IDs to apply the ACL to

func (*NetworkAcl) Tags

func (r *NetworkAcl) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource.

func (*NetworkAcl) URN

func (r *NetworkAcl) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*NetworkAcl) VpcId

func (r *NetworkAcl) VpcId() *pulumi.StringOutput

The ID of the associated VPC.

type NetworkAclArgs

type NetworkAclArgs struct {
	// Specifies an egress rule. Parameters defined below.
	Egress interface{}
	// Specifies an ingress rule. Parameters defined below.
	Ingress interface{}
	// A list of Subnet IDs to apply the ACL to
	SubnetIds interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// The ID of the associated VPC.
	VpcId interface{}
}

The set of arguments for constructing a NetworkAcl resource.

type NetworkAclRule

type NetworkAclRule struct {
	// contains filtered or unexported fields
}

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

> **NOTE on Network ACLs and Network ACL Rules:** Terraform 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.

func GetNetworkAclRule

func GetNetworkAclRule(ctx *pulumi.Context,
	name string, id pulumi.ID, state *NetworkAclRuleState, opts ...pulumi.ResourceOpt) (*NetworkAclRule, error)

GetNetworkAclRule gets an existing NetworkAclRule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNetworkAclRule

func NewNetworkAclRule(ctx *pulumi.Context,
	name string, args *NetworkAclRuleArgs, opts ...pulumi.ResourceOpt) (*NetworkAclRule, error)

NewNetworkAclRule registers a new resource with the given unique name, arguments, and options.

func (*NetworkAclRule) CidrBlock

func (r *NetworkAclRule) CidrBlock() *pulumi.StringOutput

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

func (*NetworkAclRule) Egress

func (r *NetworkAclRule) Egress() *pulumi.BoolOutput

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

func (*NetworkAclRule) FromPort

func (r *NetworkAclRule) FromPort() *pulumi.IntOutput

The from port to match.

func (*NetworkAclRule) ID

func (r *NetworkAclRule) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*NetworkAclRule) IcmpCode

func (r *NetworkAclRule) IcmpCode() *pulumi.StringOutput

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

func (*NetworkAclRule) IcmpType

func (r *NetworkAclRule) IcmpType() *pulumi.StringOutput

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

func (*NetworkAclRule) Ipv6CidrBlock

func (r *NetworkAclRule) Ipv6CidrBlock() *pulumi.StringOutput

The IPv6 CIDR block to allow or deny.

func (*NetworkAclRule) NetworkAclId

func (r *NetworkAclRule) NetworkAclId() *pulumi.StringOutput

The ID of the network ACL.

func (*NetworkAclRule) Protocol

func (r *NetworkAclRule) Protocol() *pulumi.StringOutput

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

func (*NetworkAclRule) RuleAction

func (r *NetworkAclRule) RuleAction() *pulumi.StringOutput

Indicates whether to allow or deny the traffic that matches the rule. Accepted values: `allow` | `deny`

func (*NetworkAclRule) RuleNumber

func (r *NetworkAclRule) RuleNumber() *pulumi.IntOutput

The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.

func (*NetworkAclRule) ToPort

func (r *NetworkAclRule) ToPort() *pulumi.IntOutput

The to port to match.

func (*NetworkAclRule) URN

func (r *NetworkAclRule) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type NetworkAclRuleArgs

type NetworkAclRuleArgs struct {
	// The network range to allow or deny, in CIDR notation (for example 172.16.0.0/24 ).
	CidrBlock interface{}
	// Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet). Default `false`.
	Egress interface{}
	// The from port to match.
	FromPort interface{}
	// ICMP protocol: The ICMP code. Required if specifying ICMP for the protocol. e.g. -1
	IcmpCode interface{}
	// ICMP protocol: The ICMP type. Required if specifying ICMP for the protocol. e.g. -1
	IcmpType interface{}
	// The IPv6 CIDR block to allow or deny.
	Ipv6CidrBlock interface{}
	// The ID of the network ACL.
	NetworkAclId interface{}
	// The protocol. A value of -1 means all protocols.
	Protocol interface{}
	// Indicates whether to allow or deny the traffic that matches the rule. Accepted values: `allow` | `deny`
	RuleAction interface{}
	// The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.
	RuleNumber interface{}
	// The to port to match.
	ToPort interface{}
}

The set of arguments for constructing a NetworkAclRule resource.

type NetworkAclRuleState

type NetworkAclRuleState struct {
	// The network range to allow or deny, in CIDR notation (for example 172.16.0.0/24 ).
	CidrBlock interface{}
	// Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet). Default `false`.
	Egress interface{}
	// The from port to match.
	FromPort interface{}
	// ICMP protocol: The ICMP code. Required if specifying ICMP for the protocol. e.g. -1
	IcmpCode interface{}
	// ICMP protocol: The ICMP type. Required if specifying ICMP for the protocol. e.g. -1
	IcmpType interface{}
	// The IPv6 CIDR block to allow or deny.
	Ipv6CidrBlock interface{}
	// The ID of the network ACL.
	NetworkAclId interface{}
	// The protocol. A value of -1 means all protocols.
	Protocol interface{}
	// Indicates whether to allow or deny the traffic that matches the rule. Accepted values: `allow` | `deny`
	RuleAction interface{}
	// The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.
	RuleNumber interface{}
	// The to port to match.
	ToPort interface{}
}

Input properties used for looking up and filtering NetworkAclRule resources.

type NetworkAclState

type NetworkAclState struct {
	// Specifies an egress rule. Parameters defined below.
	Egress interface{}
	// Specifies an ingress rule. Parameters defined below.
	Ingress interface{}
	// The ID of the AWS account that owns the network ACL.
	OwnerId interface{}
	// A list of Subnet IDs to apply the ACL to
	SubnetIds interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// The ID of the associated VPC.
	VpcId interface{}
}

Input properties used for looking up and filtering NetworkAcl resources.

type NetworkInterface

type NetworkInterface struct {
	// contains filtered or unexported fields
}

Provides an Elastic network interface (ENI) resource.

func GetNetworkInterface

func GetNetworkInterface(ctx *pulumi.Context,
	name string, id pulumi.ID, state *NetworkInterfaceState, opts ...pulumi.ResourceOpt) (*NetworkInterface, error)

GetNetworkInterface gets an existing NetworkInterface resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNetworkInterface

func NewNetworkInterface(ctx *pulumi.Context,
	name string, args *NetworkInterfaceArgs, opts ...pulumi.ResourceOpt) (*NetworkInterface, error)

NewNetworkInterface registers a new resource with the given unique name, arguments, and options.

func (*NetworkInterface) Attachments

func (r *NetworkInterface) Attachments() *pulumi.ArrayOutput

Block to define the attachment of the ENI. Documented below.

func (*NetworkInterface) Description

func (r *NetworkInterface) Description() *pulumi.StringOutput

A description for the network interface.

func (*NetworkInterface) ID

func (r *NetworkInterface) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*NetworkInterface) PrivateDnsName

func (r *NetworkInterface) PrivateDnsName() *pulumi.StringOutput

func (*NetworkInterface) PrivateIp

func (r *NetworkInterface) PrivateIp() *pulumi.StringOutput

func (*NetworkInterface) PrivateIps

func (r *NetworkInterface) PrivateIps() *pulumi.ArrayOutput

List of private IPs to assign to the ENI.

func (*NetworkInterface) PrivateIpsCount

func (r *NetworkInterface) PrivateIpsCount() *pulumi.IntOutput

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.

func (*NetworkInterface) SecurityGroups

func (r *NetworkInterface) SecurityGroups() *pulumi.ArrayOutput

List of security group IDs to assign to the ENI.

func (*NetworkInterface) SourceDestCheck

func (r *NetworkInterface) SourceDestCheck() *pulumi.BoolOutput

Whether to enable source destination checking for the ENI. Default true.

func (*NetworkInterface) SubnetId

func (r *NetworkInterface) SubnetId() *pulumi.StringOutput

Subnet ID to create the ENI in.

func (*NetworkInterface) Tags

func (r *NetworkInterface) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource.

func (*NetworkInterface) URN

func (r *NetworkInterface) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type NetworkInterfaceArgs

type NetworkInterfaceArgs struct {
	// Block to define the attachment of the ENI. Documented below.
	Attachments interface{}
	// A description for the network interface.
	Description interface{}
	PrivateIp   interface{}
	// List of private IPs to assign to the ENI.
	PrivateIps interface{}
	// 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.
	PrivateIpsCount interface{}
	// List of security group IDs to assign to the ENI.
	SecurityGroups interface{}
	// Whether to enable source destination checking for the ENI. Default true.
	SourceDestCheck interface{}
	// Subnet ID to create the ENI in.
	SubnetId interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
}

The set of arguments for constructing a NetworkInterface resource.

type NetworkInterfaceAttachment

type NetworkInterfaceAttachment struct {
	// contains filtered or unexported fields
}

Attach an Elastic network interface (ENI) resource with EC2 instance.

func GetNetworkInterfaceAttachment

func GetNetworkInterfaceAttachment(ctx *pulumi.Context,
	name string, id pulumi.ID, state *NetworkInterfaceAttachmentState, opts ...pulumi.ResourceOpt) (*NetworkInterfaceAttachment, error)

GetNetworkInterfaceAttachment gets an existing NetworkInterfaceAttachment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNetworkInterfaceAttachment

func NewNetworkInterfaceAttachment(ctx *pulumi.Context,
	name string, args *NetworkInterfaceAttachmentArgs, opts ...pulumi.ResourceOpt) (*NetworkInterfaceAttachment, error)

NewNetworkInterfaceAttachment registers a new resource with the given unique name, arguments, and options.

func (*NetworkInterfaceAttachment) AttachmentId

func (r *NetworkInterfaceAttachment) AttachmentId() *pulumi.StringOutput

The ENI Attachment ID.

func (*NetworkInterfaceAttachment) DeviceIndex

func (r *NetworkInterfaceAttachment) DeviceIndex() *pulumi.IntOutput

Network interface index (int).

func (*NetworkInterfaceAttachment) ID

ID is this resource's unique identifier assigned by its provider.

func (*NetworkInterfaceAttachment) InstanceId

Instance ID to attach.

func (*NetworkInterfaceAttachment) NetworkInterfaceId

func (r *NetworkInterfaceAttachment) NetworkInterfaceId() *pulumi.StringOutput

ENI ID to attach.

func (*NetworkInterfaceAttachment) Status

The status of the Network Interface Attachment.

func (*NetworkInterfaceAttachment) URN

URN is this resource's unique name assigned by Pulumi.

type NetworkInterfaceAttachmentArgs

type NetworkInterfaceAttachmentArgs struct {
	// Network interface index (int).
	DeviceIndex interface{}
	// Instance ID to attach.
	InstanceId interface{}
	// ENI ID to attach.
	NetworkInterfaceId interface{}
}

The set of arguments for constructing a NetworkInterfaceAttachment resource.

type NetworkInterfaceAttachmentState

type NetworkInterfaceAttachmentState struct {
	// The ENI Attachment ID.
	AttachmentId interface{}
	// Network interface index (int).
	DeviceIndex interface{}
	// Instance ID to attach.
	InstanceId interface{}
	// ENI ID to attach.
	NetworkInterfaceId interface{}
	// The status of the Network Interface Attachment.
	Status interface{}
}

Input properties used for looking up and filtering NetworkInterfaceAttachment resources.

type NetworkInterfaceSecurityGroupAttachment

type NetworkInterfaceSecurityGroupAttachment struct {
	// contains filtered or unexported fields
}

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:** Terraform currently provides the capability to assign security groups via the [`aws_instance`][1] and the [`aws_network_interface`][2] 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.

[1]: /docs/providers/aws/d/instance.html [2]: /docs/providers/aws/r/network_interface.html

## Output Reference

There are no outputs for this resource.

func GetNetworkInterfaceSecurityGroupAttachment

func GetNetworkInterfaceSecurityGroupAttachment(ctx *pulumi.Context,
	name string, id pulumi.ID, state *NetworkInterfaceSecurityGroupAttachmentState, opts ...pulumi.ResourceOpt) (*NetworkInterfaceSecurityGroupAttachment, error)

GetNetworkInterfaceSecurityGroupAttachment gets an existing NetworkInterfaceSecurityGroupAttachment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNetworkInterfaceSecurityGroupAttachment

func NewNetworkInterfaceSecurityGroupAttachment(ctx *pulumi.Context,
	name string, args *NetworkInterfaceSecurityGroupAttachmentArgs, opts ...pulumi.ResourceOpt) (*NetworkInterfaceSecurityGroupAttachment, error)

NewNetworkInterfaceSecurityGroupAttachment registers a new resource with the given unique name, arguments, and options.

func (*NetworkInterfaceSecurityGroupAttachment) ID

ID is this resource's unique identifier assigned by its provider.

func (*NetworkInterfaceSecurityGroupAttachment) NetworkInterfaceId

The ID of the network interface to attach to.

func (*NetworkInterfaceSecurityGroupAttachment) SecurityGroupId

The ID of the security group.

func (*NetworkInterfaceSecurityGroupAttachment) URN

URN is this resource's unique name assigned by Pulumi.

type NetworkInterfaceSecurityGroupAttachmentArgs

type NetworkInterfaceSecurityGroupAttachmentArgs struct {
	// The ID of the network interface to attach to.
	NetworkInterfaceId interface{}
	// The ID of the security group.
	SecurityGroupId interface{}
}

The set of arguments for constructing a NetworkInterfaceSecurityGroupAttachment resource.

type NetworkInterfaceSecurityGroupAttachmentState

type NetworkInterfaceSecurityGroupAttachmentState struct {
	// The ID of the network interface to attach to.
	NetworkInterfaceId interface{}
	// The ID of the security group.
	SecurityGroupId interface{}
}

Input properties used for looking up and filtering NetworkInterfaceSecurityGroupAttachment resources.

type NetworkInterfaceState

type NetworkInterfaceState struct {
	// Block to define the attachment of the ENI. Documented below.
	Attachments interface{}
	// A description for the network interface.
	Description    interface{}
	PrivateDnsName interface{}
	PrivateIp      interface{}
	// List of private IPs to assign to the ENI.
	PrivateIps interface{}
	// 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.
	PrivateIpsCount interface{}
	// List of security group IDs to assign to the ENI.
	SecurityGroups interface{}
	// Whether to enable source destination checking for the ENI. Default true.
	SourceDestCheck interface{}
	// Subnet ID to create the ENI in.
	SubnetId interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
}

Input properties used for looking up and filtering NetworkInterface resources.

type PeeringConnectionOptions

type PeeringConnectionOptions struct {
	// contains filtered or unexported fields
}

Provides a resource to manage VPC peering connection options.

> **NOTE on VPC Peering Connections and VPC Peering Connection Options:** Terraform 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.

Basic usage:

Basic cross-account usage:

func GetPeeringConnectionOptions

func GetPeeringConnectionOptions(ctx *pulumi.Context,
	name string, id pulumi.ID, state *PeeringConnectionOptionsState, opts ...pulumi.ResourceOpt) (*PeeringConnectionOptions, error)

GetPeeringConnectionOptions gets an existing PeeringConnectionOptions resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPeeringConnectionOptions

func NewPeeringConnectionOptions(ctx *pulumi.Context,
	name string, args *PeeringConnectionOptionsArgs, opts ...pulumi.ResourceOpt) (*PeeringConnectionOptions, error)

NewPeeringConnectionOptions registers a new resource with the given unique name, arguments, and options.

func (*PeeringConnectionOptions) Accepter

func (r *PeeringConnectionOptions) Accepter() *pulumi.Output

An optional configuration block that allows for [VPC Peering Connection] (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide) options to be set for the VPC that accepts the peering connection (a maximum of one).

func (*PeeringConnectionOptions) ID

ID is this resource's unique identifier assigned by its provider.

func (*PeeringConnectionOptions) Requester

func (r *PeeringConnectionOptions) Requester() *pulumi.Output

A optional configuration block that allows for [VPC Peering Connection] (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide) options to be set for the VPC that requests the peering connection (a maximum of one).

func (*PeeringConnectionOptions) URN

URN is this resource's unique name assigned by Pulumi.

func (*PeeringConnectionOptions) VpcPeeringConnectionId

func (r *PeeringConnectionOptions) VpcPeeringConnectionId() *pulumi.StringOutput

The ID of the requester VPC peering connection.

type PeeringConnectionOptionsArgs

type PeeringConnectionOptionsArgs struct {
	// An optional configuration block that allows for [VPC Peering Connection]
	// (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide) options to be set for the VPC that accepts
	// the peering connection (a maximum of one).
	Accepter interface{}
	// A optional configuration block that allows for [VPC Peering Connection]
	// (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide) options to be set for the VPC that requests
	// the peering connection (a maximum of one).
	Requester interface{}
	// The ID of the requester VPC peering connection.
	VpcPeeringConnectionId interface{}
}

The set of arguments for constructing a PeeringConnectionOptions resource.

type PeeringConnectionOptionsState

type PeeringConnectionOptionsState struct {
	// An optional configuration block that allows for [VPC Peering Connection]
	// (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide) options to be set for the VPC that accepts
	// the peering connection (a maximum of one).
	Accepter interface{}
	// A optional configuration block that allows for [VPC Peering Connection]
	// (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide) options to be set for the VPC that requests
	// the peering connection (a maximum of one).
	Requester interface{}
	// The ID of the requester VPC peering connection.
	VpcPeeringConnectionId interface{}
}

Input properties used for looking up and filtering PeeringConnectionOptions resources.

type PlacementGroup

type PlacementGroup struct {
	// contains filtered or unexported fields
}

Provides an EC2 placement group. Read more about placement groups in [AWS Docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html).

func GetPlacementGroup

func GetPlacementGroup(ctx *pulumi.Context,
	name string, id pulumi.ID, state *PlacementGroupState, opts ...pulumi.ResourceOpt) (*PlacementGroup, error)

GetPlacementGroup gets an existing PlacementGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPlacementGroup

func NewPlacementGroup(ctx *pulumi.Context,
	name string, args *PlacementGroupArgs, opts ...pulumi.ResourceOpt) (*PlacementGroup, error)

NewPlacementGroup registers a new resource with the given unique name, arguments, and options.

func (*PlacementGroup) ID

func (r *PlacementGroup) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*PlacementGroup) Name

func (r *PlacementGroup) Name() *pulumi.StringOutput

The name of the placement group.

func (*PlacementGroup) Strategy

func (r *PlacementGroup) Strategy() *pulumi.StringOutput

The placement strategy.

func (*PlacementGroup) URN

func (r *PlacementGroup) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type PlacementGroupArgs

type PlacementGroupArgs struct {
	// The name of the placement group.
	Name interface{}
	// The placement strategy.
	Strategy interface{}
}

The set of arguments for constructing a PlacementGroup resource.

type PlacementGroupState

type PlacementGroupState struct {
	// The name of the placement group.
	Name interface{}
	// The placement strategy.
	Strategy interface{}
}

Input properties used for looking up and filtering PlacementGroup resources.

type ProxyProtocolPolicy

type ProxyProtocolPolicy struct {
	// contains filtered or unexported fields
}

Provides a proxy protocol policy, which allows an ELB to carry a client connection information to a backend.

func GetProxyProtocolPolicy

func GetProxyProtocolPolicy(ctx *pulumi.Context,
	name string, id pulumi.ID, state *ProxyProtocolPolicyState, opts ...pulumi.ResourceOpt) (*ProxyProtocolPolicy, error)

GetProxyProtocolPolicy gets an existing ProxyProtocolPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewProxyProtocolPolicy

func NewProxyProtocolPolicy(ctx *pulumi.Context,
	name string, args *ProxyProtocolPolicyArgs, opts ...pulumi.ResourceOpt) (*ProxyProtocolPolicy, error)

NewProxyProtocolPolicy registers a new resource with the given unique name, arguments, and options.

func (*ProxyProtocolPolicy) ID

ID is this resource's unique identifier assigned by its provider.

func (*ProxyProtocolPolicy) InstancePorts

func (r *ProxyProtocolPolicy) InstancePorts() *pulumi.ArrayOutput

List of instance ports to which the policy should be applied. This can be specified if the protocol is SSL or TCP.

func (*ProxyProtocolPolicy) LoadBalancer

func (r *ProxyProtocolPolicy) LoadBalancer() *pulumi.StringOutput

The load balancer to which the policy should be attached.

func (*ProxyProtocolPolicy) URN

URN is this resource's unique name assigned by Pulumi.

type ProxyProtocolPolicyArgs

type ProxyProtocolPolicyArgs struct {
	// List of instance ports to which the policy
	// should be applied. This can be specified if the protocol is SSL or TCP.
	InstancePorts interface{}
	// The load balancer to which the policy
	// should be attached.
	LoadBalancer interface{}
}

The set of arguments for constructing a ProxyProtocolPolicy resource.

type ProxyProtocolPolicyState

type ProxyProtocolPolicyState struct {
	// List of instance ports to which the policy
	// should be applied. This can be specified if the protocol is SSL or TCP.
	InstancePorts interface{}
	// The load balancer to which the policy
	// should be attached.
	LoadBalancer interface{}
}

Input properties used for looking up and filtering ProxyProtocolPolicy resources.

type Route

type Route struct {
	// contains filtered or unexported fields
}

Provides a resource to create a routing table entry (a route) in a VPC routing table.

> **NOTE on Route Tables and Routes:** Terraform 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.

func GetRoute

func GetRoute(ctx *pulumi.Context,
	name string, id pulumi.ID, state *RouteState, opts ...pulumi.ResourceOpt) (*Route, error)

GetRoute gets an existing Route resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRoute

func NewRoute(ctx *pulumi.Context,
	name string, args *RouteArgs, opts ...pulumi.ResourceOpt) (*Route, error)

NewRoute registers a new resource with the given unique name, arguments, and options.

func (*Route) DestinationCidrBlock

func (r *Route) DestinationCidrBlock() *pulumi.StringOutput

The destination CIDR block.

func (*Route) DestinationIpv6CidrBlock

func (r *Route) DestinationIpv6CidrBlock() *pulumi.StringOutput

The destination IPv6 CIDR block.

func (*Route) DestinationPrefixListId

func (r *Route) DestinationPrefixListId() *pulumi.StringOutput

func (*Route) EgressOnlyGatewayId

func (r *Route) EgressOnlyGatewayId() *pulumi.StringOutput

Identifier of a VPC Egress Only Internet Gateway.

func (*Route) GatewayId

func (r *Route) GatewayId() *pulumi.StringOutput

Identifier of a VPC internet gateway or a virtual private gateway.

func (*Route) ID

func (r *Route) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Route) InstanceId

func (r *Route) InstanceId() *pulumi.StringOutput

Identifier of an EC2 instance.

func (*Route) InstanceOwnerId

func (r *Route) InstanceOwnerId() *pulumi.StringOutput

func (*Route) NatGatewayId

func (r *Route) NatGatewayId() *pulumi.StringOutput

Identifier of a VPC NAT gateway.

func (*Route) NetworkInterfaceId

func (r *Route) NetworkInterfaceId() *pulumi.StringOutput

Identifier of an EC2 network interface.

func (*Route) Origin

func (r *Route) Origin() *pulumi.StringOutput

func (*Route) RouteTableId

func (r *Route) RouteTableId() *pulumi.StringOutput

The ID of the routing table.

func (*Route) State

func (r *Route) State() *pulumi.StringOutput

func (*Route) TransitGatewayId added in v0.16.3

func (r *Route) TransitGatewayId() *pulumi.StringOutput

Identifier of an EC2 Transit Gateway.

func (*Route) URN

func (r *Route) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*Route) VpcPeeringConnectionId

func (r *Route) VpcPeeringConnectionId() *pulumi.StringOutput

Identifier of a VPC peering connection.

type RouteArgs

type RouteArgs struct {
	// The destination CIDR block.
	DestinationCidrBlock interface{}
	// The destination IPv6 CIDR block.
	DestinationIpv6CidrBlock interface{}
	// Identifier of a VPC Egress Only Internet Gateway.
	EgressOnlyGatewayId interface{}
	// Identifier of a VPC internet gateway or a virtual private gateway.
	GatewayId interface{}
	// Identifier of an EC2 instance.
	InstanceId interface{}
	// Identifier of a VPC NAT gateway.
	NatGatewayId interface{}
	// Identifier of an EC2 network interface.
	NetworkInterfaceId interface{}
	// The ID of the routing table.
	RouteTableId interface{}
	// Identifier of an EC2 Transit Gateway.
	TransitGatewayId interface{}
	// Identifier of a VPC peering connection.
	VpcPeeringConnectionId interface{}
}

The set of arguments for constructing a Route resource.

type RouteState

type RouteState struct {
	// The destination CIDR block.
	DestinationCidrBlock interface{}
	// The destination IPv6 CIDR block.
	DestinationIpv6CidrBlock interface{}
	DestinationPrefixListId  interface{}
	// Identifier of a VPC Egress Only Internet Gateway.
	EgressOnlyGatewayId interface{}
	// Identifier of a VPC internet gateway or a virtual private gateway.
	GatewayId interface{}
	// Identifier of an EC2 instance.
	InstanceId      interface{}
	InstanceOwnerId interface{}
	// Identifier of a VPC NAT gateway.
	NatGatewayId interface{}
	// Identifier of an EC2 network interface.
	NetworkInterfaceId interface{}
	Origin             interface{}
	// The ID of the routing table.
	RouteTableId interface{}
	State        interface{}
	// Identifier of an EC2 Transit Gateway.
	TransitGatewayId interface{}
	// Identifier of a VPC peering connection.
	VpcPeeringConnectionId interface{}
}

Input properties used for looking up and filtering Route resources.

type RouteTable

type RouteTable struct {
	// contains filtered or unexported fields
}

Provides a resource to create a VPC routing table.

> **NOTE on Route Tables and Routes:** Terraform 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 `gateway_id` and `nat_gateway_id`:** The AWS API is very forgiving with these two attributes and the `aws_route_table` 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_route_table` 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 `propagating_vgws` and the `aws_vpn_gateway_route_propagation` resource:** If the `propagating_vgws` argument is present, it's not supported to _also_ define route propagations using `aws_vpn_gateway_route_propagation`, since this resource will delete any propagating gateways not explicitly listed in `propagating_vgws`. Omit this argument when defining route propagation using the separate resource.

func GetRouteTable

func GetRouteTable(ctx *pulumi.Context,
	name string, id pulumi.ID, state *RouteTableState, opts ...pulumi.ResourceOpt) (*RouteTable, error)

GetRouteTable gets an existing RouteTable resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRouteTable

func NewRouteTable(ctx *pulumi.Context,
	name string, args *RouteTableArgs, opts ...pulumi.ResourceOpt) (*RouteTable, error)

NewRouteTable registers a new resource with the given unique name, arguments, and options.

func (*RouteTable) ID

func (r *RouteTable) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*RouteTable) OwnerId added in v0.16.4

func (r *RouteTable) OwnerId() *pulumi.StringOutput

The ID of the AWS account that owns the route table

func (*RouteTable) PropagatingVgws

func (r *RouteTable) PropagatingVgws() *pulumi.ArrayOutput

A list of virtual gateways for propagation.

func (*RouteTable) Routes

func (r *RouteTable) Routes() *pulumi.ArrayOutput

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

func (*RouteTable) Tags

func (r *RouteTable) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource.

func (*RouteTable) URN

func (r *RouteTable) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*RouteTable) VpcId

func (r *RouteTable) VpcId() *pulumi.StringOutput

The VPC ID.

type RouteTableArgs

type RouteTableArgs struct {
	// A list of virtual gateways for propagation.
	PropagatingVgws interface{}
	// A list of route objects. Their keys are documented below.
	Routes interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// The VPC ID.
	VpcId interface{}
}

The set of arguments for constructing a RouteTable resource.

type RouteTableAssociation

type RouteTableAssociation struct {
	// contains filtered or unexported fields
}

Provides a resource to create an association between a subnet and routing table.

func GetRouteTableAssociation

func GetRouteTableAssociation(ctx *pulumi.Context,
	name string, id pulumi.ID, state *RouteTableAssociationState, opts ...pulumi.ResourceOpt) (*RouteTableAssociation, error)

GetRouteTableAssociation gets an existing RouteTableAssociation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRouteTableAssociation

func NewRouteTableAssociation(ctx *pulumi.Context,
	name string, args *RouteTableAssociationArgs, opts ...pulumi.ResourceOpt) (*RouteTableAssociation, error)

NewRouteTableAssociation registers a new resource with the given unique name, arguments, and options.

func (*RouteTableAssociation) ID

ID is this resource's unique identifier assigned by its provider.

func (*RouteTableAssociation) RouteTableId

func (r *RouteTableAssociation) RouteTableId() *pulumi.StringOutput

The ID of the routing table to associate with.

func (*RouteTableAssociation) SubnetId

func (r *RouteTableAssociation) SubnetId() *pulumi.StringOutput

The subnet ID to create an association.

func (*RouteTableAssociation) URN

URN is this resource's unique name assigned by Pulumi.

type RouteTableAssociationArgs

type RouteTableAssociationArgs struct {
	// The ID of the routing table to associate with.
	RouteTableId interface{}
	// The subnet ID to create an association.
	SubnetId interface{}
}

The set of arguments for constructing a RouteTableAssociation resource.

type RouteTableAssociationState

type RouteTableAssociationState struct {
	// The ID of the routing table to associate with.
	RouteTableId interface{}
	// The subnet ID to create an association.
	SubnetId interface{}
}

Input properties used for looking up and filtering RouteTableAssociation resources.

type RouteTableState

type RouteTableState struct {
	// The ID of the AWS account that owns the route table
	OwnerId interface{}
	// A list of virtual gateways for propagation.
	PropagatingVgws interface{}
	// A list of route objects. Their keys are documented below.
	Routes interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// The VPC ID.
	VpcId interface{}
}

Input properties used for looking up and filtering RouteTable resources.

type SecurityGroup

type SecurityGroup struct {
	// contains filtered or unexported fields
}

Provides a security group resource.

> **NOTE on Security Groups and Security Group Rules:** Terraform 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](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-security-groups.html).

func GetSecurityGroup

func GetSecurityGroup(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SecurityGroupState, opts ...pulumi.ResourceOpt) (*SecurityGroup, error)

GetSecurityGroup gets an existing SecurityGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSecurityGroup

func NewSecurityGroup(ctx *pulumi.Context,
	name string, args *SecurityGroupArgs, opts ...pulumi.ResourceOpt) (*SecurityGroup, error)

NewSecurityGroup registers a new resource with the given unique name, arguments, and options.

func (*SecurityGroup) Arn

func (r *SecurityGroup) Arn() *pulumi.StringOutput

The ARN of the security group

func (*SecurityGroup) Description

func (r *SecurityGroup) Description() *pulumi.StringOutput

The security group description. Defaults to "Managed by Terraform". Cannot be "". __NOTE__: This field maps to the AWS `GroupDescription` attribute, for which there is no Update API. If you'd like to classify your security groups in a way that can be updated, use `tags`.

func (*SecurityGroup) Egress

func (r *SecurityGroup) Egress() *pulumi.ArrayOutput

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

func (*SecurityGroup) ID

func (r *SecurityGroup) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*SecurityGroup) Ingress

func (r *SecurityGroup) Ingress() *pulumi.ArrayOutput

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

func (*SecurityGroup) Name

func (r *SecurityGroup) Name() *pulumi.StringOutput

The name of the security group. If omitted, Terraform will assign a random, unique name

func (*SecurityGroup) NamePrefix

func (r *SecurityGroup) NamePrefix() *pulumi.StringOutput

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

func (*SecurityGroup) OwnerId

func (r *SecurityGroup) OwnerId() *pulumi.StringOutput

The owner ID.

func (*SecurityGroup) RevokeRulesOnDelete

func (r *SecurityGroup) RevokeRulesOnDelete() *pulumi.BoolOutput

Instruct Terraform 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`

func (*SecurityGroup) Tags

func (r *SecurityGroup) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource.

func (*SecurityGroup) URN

func (r *SecurityGroup) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*SecurityGroup) VpcId

func (r *SecurityGroup) VpcId() *pulumi.StringOutput

The VPC ID.

type SecurityGroupArgs

type SecurityGroupArgs struct {
	// The security group description. Defaults to
	// "Managed by Terraform". Cannot be "". __NOTE__: This field maps to the AWS
	// `GroupDescription` attribute, for which there is no Update API. If you'd like
	// to classify your security groups in a way that can be updated, use `tags`.
	Description interface{}
	// Can be specified multiple times for each
	// egress rule. Each egress block supports fields documented below.
	Egress interface{}
	// Can be specified multiple times for each
	// ingress rule. Each ingress block supports fields documented below.
	Ingress interface{}
	// The name of the security group. If omitted, Terraform will
	// assign a random, unique name
	Name interface{}
	// Creates a unique name beginning with the specified
	// prefix. Conflicts with `name`.
	NamePrefix interface{}
	// Instruct Terraform 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`
	RevokeRulesOnDelete interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// The VPC ID.
	VpcId interface{}
}

The set of arguments for constructing a SecurityGroup resource.

type SecurityGroupRule

type SecurityGroupRule struct {
	// contains filtered or unexported fields
}

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:** Terraform 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 `from_port` and `to_port` will result in the EC2 API creating a security group rule with all ports open. This API behavior cannot be controlled by Terraform 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](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-security-groups.html).

func GetSecurityGroupRule

func GetSecurityGroupRule(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SecurityGroupRuleState, opts ...pulumi.ResourceOpt) (*SecurityGroupRule, error)

GetSecurityGroupRule gets an existing SecurityGroupRule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSecurityGroupRule

func NewSecurityGroupRule(ctx *pulumi.Context,
	name string, args *SecurityGroupRuleArgs, opts ...pulumi.ResourceOpt) (*SecurityGroupRule, error)

NewSecurityGroupRule registers a new resource with the given unique name, arguments, and options.

func (*SecurityGroupRule) CidrBlocks

func (r *SecurityGroupRule) CidrBlocks() *pulumi.ArrayOutput

List of CIDR blocks. Cannot be specified with `source_security_group_id`.

func (*SecurityGroupRule) Description

func (r *SecurityGroupRule) Description() *pulumi.StringOutput

Description of the rule.

func (*SecurityGroupRule) FromPort

func (r *SecurityGroupRule) FromPort() *pulumi.IntOutput

The start port (or ICMP type number if protocol is "icmp").

func (*SecurityGroupRule) ID

ID is this resource's unique identifier assigned by its provider.

func (*SecurityGroupRule) Ipv6CidrBlocks

func (r *SecurityGroupRule) Ipv6CidrBlocks() *pulumi.ArrayOutput

List of IPv6 CIDR blocks.

func (*SecurityGroupRule) PrefixListIds

func (r *SecurityGroupRule) PrefixListIds() *pulumi.ArrayOutput

List of prefix list IDs (for allowing access to VPC endpoints). Only valid with `egress`.

func (*SecurityGroupRule) Protocol

func (r *SecurityGroupRule) Protocol() *pulumi.StringOutput

The protocol. If not icmp, tcp, udp, or all use the [protocol number](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)

func (*SecurityGroupRule) SecurityGroupId

func (r *SecurityGroupRule) SecurityGroupId() *pulumi.StringOutput

The security group to apply this rule to.

func (*SecurityGroupRule) Self

func (r *SecurityGroupRule) Self() *pulumi.BoolOutput

If true, the security group itself will be added as a source to this ingress rule.

func (*SecurityGroupRule) SourceSecurityGroupId

func (r *SecurityGroupRule) SourceSecurityGroupId() *pulumi.StringOutput

The security group id to allow access to/from, depending on the `type`. Cannot be specified with `cidr_blocks`.

func (*SecurityGroupRule) ToPort

func (r *SecurityGroupRule) ToPort() *pulumi.IntOutput

The end port (or ICMP code if protocol is "icmp").

func (*SecurityGroupRule) Type

The type of rule being created. Valid options are `ingress` (inbound) or `egress` (outbound).

func (*SecurityGroupRule) URN

URN is this resource's unique name assigned by Pulumi.

type SecurityGroupRuleArgs

type SecurityGroupRuleArgs struct {
	// List of CIDR blocks. Cannot be specified with `source_security_group_id`.
	CidrBlocks interface{}
	// Description of the rule.
	Description interface{}
	// The start port (or ICMP type number if protocol is "icmp").
	FromPort interface{}
	// List of IPv6 CIDR blocks.
	Ipv6CidrBlocks interface{}
	// List of prefix list IDs (for allowing access to VPC endpoints).
	// Only valid with `egress`.
	PrefixListIds interface{}
	// The protocol. If not icmp, tcp, udp, or all use the [protocol number](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)
	Protocol interface{}
	// The security group to apply this rule to.
	SecurityGroupId interface{}
	// If true, the security group itself will be added as
	// a source to this ingress rule.
	Self interface{}
	// The security group id to allow access to/from,
	// depending on the `type`. Cannot be specified with `cidr_blocks`.
	SourceSecurityGroupId interface{}
	// The end port (or ICMP code if protocol is "icmp").
	ToPort interface{}
	// The type of rule being created. Valid options are `ingress` (inbound)
	// or `egress` (outbound).
	Type interface{}
}

The set of arguments for constructing a SecurityGroupRule resource.

type SecurityGroupRuleState

type SecurityGroupRuleState struct {
	// List of CIDR blocks. Cannot be specified with `source_security_group_id`.
	CidrBlocks interface{}
	// Description of the rule.
	Description interface{}
	// The start port (or ICMP type number if protocol is "icmp").
	FromPort interface{}
	// List of IPv6 CIDR blocks.
	Ipv6CidrBlocks interface{}
	// List of prefix list IDs (for allowing access to VPC endpoints).
	// Only valid with `egress`.
	PrefixListIds interface{}
	// The protocol. If not icmp, tcp, udp, or all use the [protocol number](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)
	Protocol interface{}
	// The security group to apply this rule to.
	SecurityGroupId interface{}
	// If true, the security group itself will be added as
	// a source to this ingress rule.
	Self interface{}
	// The security group id to allow access to/from,
	// depending on the `type`. Cannot be specified with `cidr_blocks`.
	SourceSecurityGroupId interface{}
	// The end port (or ICMP code if protocol is "icmp").
	ToPort interface{}
	// The type of rule being created. Valid options are `ingress` (inbound)
	// or `egress` (outbound).
	Type interface{}
}

Input properties used for looking up and filtering SecurityGroupRule resources.

type SecurityGroupState

type SecurityGroupState struct {
	// The ARN of the security group
	Arn interface{}
	// The security group description. Defaults to
	// "Managed by Terraform". Cannot be "". __NOTE__: This field maps to the AWS
	// `GroupDescription` attribute, for which there is no Update API. If you'd like
	// to classify your security groups in a way that can be updated, use `tags`.
	Description interface{}
	// Can be specified multiple times for each
	// egress rule. Each egress block supports fields documented below.
	Egress interface{}
	// Can be specified multiple times for each
	// ingress rule. Each ingress block supports fields documented below.
	Ingress interface{}
	// The name of the security group. If omitted, Terraform will
	// assign a random, unique name
	Name interface{}
	// Creates a unique name beginning with the specified
	// prefix. Conflicts with `name`.
	NamePrefix interface{}
	// The owner ID.
	OwnerId interface{}
	// Instruct Terraform 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`
	RevokeRulesOnDelete interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// The VPC ID.
	VpcId interface{}
}

Input properties used for looking up and filtering SecurityGroup resources.

type SnapshotCreateVolumePermission

type SnapshotCreateVolumePermission struct {
	// contains filtered or unexported fields
}

Adds permission to create volumes off of a given EBS Snapshot.

func GetSnapshotCreateVolumePermission

func GetSnapshotCreateVolumePermission(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SnapshotCreateVolumePermissionState, opts ...pulumi.ResourceOpt) (*SnapshotCreateVolumePermission, error)

GetSnapshotCreateVolumePermission gets an existing SnapshotCreateVolumePermission resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSnapshotCreateVolumePermission

func NewSnapshotCreateVolumePermission(ctx *pulumi.Context,
	name string, args *SnapshotCreateVolumePermissionArgs, opts ...pulumi.ResourceOpt) (*SnapshotCreateVolumePermission, error)

NewSnapshotCreateVolumePermission registers a new resource with the given unique name, arguments, and options.

func (*SnapshotCreateVolumePermission) AccountId

An AWS Account ID to add create volume permissions

func (*SnapshotCreateVolumePermission) ID

ID is this resource's unique identifier assigned by its provider.

func (*SnapshotCreateVolumePermission) SnapshotId

A snapshot ID

func (*SnapshotCreateVolumePermission) URN

URN is this resource's unique name assigned by Pulumi.

type SnapshotCreateVolumePermissionArgs

type SnapshotCreateVolumePermissionArgs struct {
	// An AWS Account ID to add create volume permissions
	AccountId interface{}
	// A snapshot ID
	SnapshotId interface{}
}

The set of arguments for constructing a SnapshotCreateVolumePermission resource.

type SnapshotCreateVolumePermissionState

type SnapshotCreateVolumePermissionState struct {
	// An AWS Account ID to add create volume permissions
	AccountId interface{}
	// A snapshot ID
	SnapshotId interface{}
}

Input properties used for looking up and filtering SnapshotCreateVolumePermission resources.

type SpotDatafeedSubscription

type SpotDatafeedSubscription struct {
	// contains filtered or unexported fields
}

> **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.

func GetSpotDatafeedSubscription

func GetSpotDatafeedSubscription(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SpotDatafeedSubscriptionState, opts ...pulumi.ResourceOpt) (*SpotDatafeedSubscription, error)

GetSpotDatafeedSubscription gets an existing SpotDatafeedSubscription resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSpotDatafeedSubscription

func NewSpotDatafeedSubscription(ctx *pulumi.Context,
	name string, args *SpotDatafeedSubscriptionArgs, opts ...pulumi.ResourceOpt) (*SpotDatafeedSubscription, error)

NewSpotDatafeedSubscription registers a new resource with the given unique name, arguments, and options.

func (*SpotDatafeedSubscription) Bucket

The Amazon S3 bucket in which to store the Spot instance data feed.

func (*SpotDatafeedSubscription) ID

ID is this resource's unique identifier assigned by its provider.

func (*SpotDatafeedSubscription) Prefix

Path of folder inside bucket to place spot pricing data.

func (*SpotDatafeedSubscription) URN

URN is this resource's unique name assigned by Pulumi.

type SpotDatafeedSubscriptionArgs

type SpotDatafeedSubscriptionArgs struct {
	// The Amazon S3 bucket in which to store the Spot instance data feed.
	Bucket interface{}
	// Path of folder inside bucket to place spot pricing data.
	Prefix interface{}
}

The set of arguments for constructing a SpotDatafeedSubscription resource.

type SpotDatafeedSubscriptionState

type SpotDatafeedSubscriptionState struct {
	// The Amazon S3 bucket in which to store the Spot instance data feed.
	Bucket interface{}
	// Path of folder inside bucket to place spot pricing data.
	Prefix interface{}
}

Input properties used for looking up and filtering SpotDatafeedSubscription resources.

type SpotFleetRequest

type SpotFleetRequest struct {
	// contains filtered or unexported fields
}

Provides an EC2 Spot Fleet Request resource. This allows a fleet of Spot instances to be requested on the Spot market.

func GetSpotFleetRequest

func GetSpotFleetRequest(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SpotFleetRequestState, opts ...pulumi.ResourceOpt) (*SpotFleetRequest, error)

GetSpotFleetRequest gets an existing SpotFleetRequest resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSpotFleetRequest

func NewSpotFleetRequest(ctx *pulumi.Context,
	name string, args *SpotFleetRequestArgs, opts ...pulumi.ResourceOpt) (*SpotFleetRequest, error)

NewSpotFleetRequest registers a new resource with the given unique name, arguments, and options.

func (*SpotFleetRequest) AllocationStrategy

func (r *SpotFleetRequest) AllocationStrategy() *pulumi.StringOutput

Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request. The default is `lowestPrice`.

func (*SpotFleetRequest) ClientToken

func (r *SpotFleetRequest) ClientToken() *pulumi.StringOutput

func (*SpotFleetRequest) ExcessCapacityTerminationPolicy

func (r *SpotFleetRequest) ExcessCapacityTerminationPolicy() *pulumi.StringOutput

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.

func (*SpotFleetRequest) FleetType added in v0.14.1

func (r *SpotFleetRequest) FleetType() *pulumi.StringOutput

The type of fleet request. Indicates whether the Spot Fleet only requests the target capacity or also attempts to maintain it. Default is `maintain`.

func (*SpotFleetRequest) ID

func (r *SpotFleetRequest) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*SpotFleetRequest) IamFleetRole

func (r *SpotFleetRequest) IamFleetRole() *pulumi.StringOutput

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.

func (*SpotFleetRequest) InstanceInterruptionBehaviour

func (r *SpotFleetRequest) InstanceInterruptionBehaviour() *pulumi.StringOutput

Indicates whether a Spot instance stops or terminates when it is interrupted. Default is `terminate`.

func (*SpotFleetRequest) InstancePoolsToUseCount added in v0.16.1

func (r *SpotFleetRequest) InstancePoolsToUseCount() *pulumi.IntOutput

The number of Spot pools across which to allocate your target Spot capacity. Valid only when `allocation_strategy` 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.

func (*SpotFleetRequest) LaunchSpecifications

func (r *SpotFleetRequest) LaunchSpecifications() *pulumi.ArrayOutput

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.

func (*SpotFleetRequest) LoadBalancers

func (r *SpotFleetRequest) LoadBalancers() *pulumi.ArrayOutput

A list of elastic load balancer names to add to the Spot fleet.

func (*SpotFleetRequest) ReplaceUnhealthyInstances

func (r *SpotFleetRequest) ReplaceUnhealthyInstances() *pulumi.BoolOutput

Indicates whether Spot fleet should replace unhealthy instances. Default `false`.

func (*SpotFleetRequest) SpotPrice

func (r *SpotFleetRequest) SpotPrice() *pulumi.StringOutput

The maximum bid price per unit hour.

func (*SpotFleetRequest) SpotRequestState

func (r *SpotFleetRequest) SpotRequestState() *pulumi.StringOutput

The state of the Spot fleet request.

func (*SpotFleetRequest) TargetCapacity

func (r *SpotFleetRequest) TargetCapacity() *pulumi.IntOutput

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.

func (*SpotFleetRequest) TargetGroupArns

func (r *SpotFleetRequest) TargetGroupArns() *pulumi.ArrayOutput

A list of `aws_alb_target_group` ARNs, for use with Application Load Balancing.

func (*SpotFleetRequest) TerminateInstancesWithExpiration

func (r *SpotFleetRequest) TerminateInstancesWithExpiration() *pulumi.BoolOutput

Indicates whether running Spot instances should be terminated when the Spot fleet request expires.

func (*SpotFleetRequest) URN

func (r *SpotFleetRequest) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*SpotFleetRequest) ValidFrom

func (r *SpotFleetRequest) ValidFrom() *pulumi.StringOutput

The start date and time of the request, in UTC [RFC3339](https://tools.ietf.org/html/rfc3339#section-5.8) format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.

func (*SpotFleetRequest) ValidUntil

func (r *SpotFleetRequest) ValidUntil() *pulumi.StringOutput

The end date and time of the request, in UTC [RFC3339](https://tools.ietf.org/html/rfc3339#section-5.8) 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.

func (*SpotFleetRequest) WaitForFulfillment

func (r *SpotFleetRequest) WaitForFulfillment() *pulumi.BoolOutput

If set, Terraform will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.

type SpotFleetRequestArgs

type SpotFleetRequestArgs struct {
	// Indicates how to allocate the target capacity across
	// the Spot pools specified by the Spot fleet request. The default is
	// `lowestPrice`.
	AllocationStrategy interface{}
	// 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.
	ExcessCapacityTerminationPolicy interface{}
	// The type of fleet request. Indicates whether the Spot Fleet only requests the target
	// capacity or also attempts to maintain it. Default is `maintain`.
	FleetType interface{}
	// 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.
	IamFleetRole interface{}
	// Indicates whether a Spot
	// instance stops or terminates when it is interrupted. Default is
	// `terminate`.
	InstanceInterruptionBehaviour interface{}
	//
	// The number of Spot pools across which to allocate your target Spot capacity.
	// Valid only when `allocation_strategy` 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.
	InstancePoolsToUseCount interface{}
	// 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.
	LaunchSpecifications interface{}
	// A list of elastic load balancer names to add to the Spot fleet.
	LoadBalancers interface{}
	// Indicates whether Spot fleet should replace unhealthy instances. Default `false`.
	ReplaceUnhealthyInstances interface{}
	// The maximum bid price per unit hour.
	SpotPrice interface{}
	// 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.
	TargetCapacity interface{}
	// A list of `aws_alb_target_group` ARNs, for use with Application Load Balancing.
	TargetGroupArns interface{}
	// Indicates whether running Spot
	// instances should be terminated when the Spot fleet request expires.
	TerminateInstancesWithExpiration interface{}
	// The start date and time of the request, in UTC [RFC3339](https://tools.ietf.org/html/rfc3339#section-5.8) format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
	ValidFrom interface{}
	// The end date and time of the request, in UTC [RFC3339](https://tools.ietf.org/html/rfc3339#section-5.8) 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.
	ValidUntil interface{}
	// If set, Terraform will
	// wait for the Spot Request to be fulfilled, and will throw an error if the
	// timeout of 10m is reached.
	WaitForFulfillment interface{}
}

The set of arguments for constructing a SpotFleetRequest resource.

type SpotFleetRequestState

type SpotFleetRequestState struct {
	// Indicates how to allocate the target capacity across
	// the Spot pools specified by the Spot fleet request. The default is
	// `lowestPrice`.
	AllocationStrategy interface{}
	ClientToken        interface{}
	// 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.
	ExcessCapacityTerminationPolicy interface{}
	// The type of fleet request. Indicates whether the Spot Fleet only requests the target
	// capacity or also attempts to maintain it. Default is `maintain`.
	FleetType interface{}
	// 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.
	IamFleetRole interface{}
	// Indicates whether a Spot
	// instance stops or terminates when it is interrupted. Default is
	// `terminate`.
	InstanceInterruptionBehaviour interface{}
	//
	// The number of Spot pools across which to allocate your target Spot capacity.
	// Valid only when `allocation_strategy` 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.
	InstancePoolsToUseCount interface{}
	// 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.
	LaunchSpecifications interface{}
	// A list of elastic load balancer names to add to the Spot fleet.
	LoadBalancers interface{}
	// Indicates whether Spot fleet should replace unhealthy instances. Default `false`.
	ReplaceUnhealthyInstances interface{}
	// The maximum bid price per unit hour.
	SpotPrice interface{}
	// The state of the Spot fleet request.
	SpotRequestState interface{}
	// 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.
	TargetCapacity interface{}
	// A list of `aws_alb_target_group` ARNs, for use with Application Load Balancing.
	TargetGroupArns interface{}
	// Indicates whether running Spot
	// instances should be terminated when the Spot fleet request expires.
	TerminateInstancesWithExpiration interface{}
	// The start date and time of the request, in UTC [RFC3339](https://tools.ietf.org/html/rfc3339#section-5.8) format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
	ValidFrom interface{}
	// The end date and time of the request, in UTC [RFC3339](https://tools.ietf.org/html/rfc3339#section-5.8) 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.
	ValidUntil interface{}
	// If set, Terraform will
	// wait for the Spot Request to be fulfilled, and will throw an error if the
	// timeout of 10m is reached.
	WaitForFulfillment interface{}
}

Input properties used for looking up and filtering SpotFleetRequest resources.

type SpotInstanceRequest

type SpotInstanceRequest struct {
	// contains filtered or unexported fields
}

Provides an EC2 Spot Instance Request resource. This allows instances to be requested on the spot market.

By default Terraform 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, Terraform 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 Terraform 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html) for more information.

func GetSpotInstanceRequest

func GetSpotInstanceRequest(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SpotInstanceRequestState, opts ...pulumi.ResourceOpt) (*SpotInstanceRequest, error)

GetSpotInstanceRequest gets an existing SpotInstanceRequest resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSpotInstanceRequest

func NewSpotInstanceRequest(ctx *pulumi.Context,
	name string, args *SpotInstanceRequestArgs, opts ...pulumi.ResourceOpt) (*SpotInstanceRequest, error)

NewSpotInstanceRequest registers a new resource with the given unique name, arguments, and options.

func (*SpotInstanceRequest) Ami

The AMI to use for the instance.

func (*SpotInstanceRequest) Arn added in v0.15.1

func (*SpotInstanceRequest) AssociatePublicIpAddress

func (r *SpotInstanceRequest) AssociatePublicIpAddress() *pulumi.BoolOutput

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

func (*SpotInstanceRequest) AvailabilityZone

func (r *SpotInstanceRequest) AvailabilityZone() *pulumi.StringOutput

The AZ to start the instance in.

func (*SpotInstanceRequest) BlockDurationMinutes

func (r *SpotInstanceRequest) BlockDurationMinutes() *pulumi.IntOutput

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.

func (*SpotInstanceRequest) CpuCoreCount added in v0.15.1

func (r *SpotInstanceRequest) CpuCoreCount() *pulumi.IntOutput

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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API.

func (*SpotInstanceRequest) CpuThreadsPerCore added in v0.15.1

func (r *SpotInstanceRequest) CpuThreadsPerCore() *pulumi.IntOutput

If set to to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information.

func (*SpotInstanceRequest) CreditSpecification

func (r *SpotInstanceRequest) CreditSpecification() *pulumi.Output

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

func (*SpotInstanceRequest) DisableApiTermination

func (r *SpotInstanceRequest) DisableApiTermination() *pulumi.BoolOutput

If true, enables [EC2 Instance Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination)

func (*SpotInstanceRequest) EbsBlockDevices

func (r *SpotInstanceRequest) EbsBlockDevices() *pulumi.ArrayOutput

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.

func (*SpotInstanceRequest) EbsOptimized

func (r *SpotInstanceRequest) EbsOptimized() *pulumi.BoolOutput

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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information.

func (*SpotInstanceRequest) EphemeralBlockDevices

func (r *SpotInstanceRequest) EphemeralBlockDevices() *pulumi.ArrayOutput

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

func (*SpotInstanceRequest) GetPasswordData

func (r *SpotInstanceRequest) GetPasswordData() *pulumi.BoolOutput

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 `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information.

func (*SpotInstanceRequest) HostId added in v0.16.4

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.

func (*SpotInstanceRequest) ID

ID is this resource's unique identifier assigned by its provider.

func (*SpotInstanceRequest) IamInstanceProfile

func (r *SpotInstanceRequest) IamInstanceProfile() *pulumi.StringOutput

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](http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html#roles-usingrole-ec2instance-permissions), notably `iam:PassRole`. * `ipv6_address_count`- (Optional) A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.

func (*SpotInstanceRequest) InstanceInitiatedShutdownBehavior

func (r *SpotInstanceRequest) InstanceInitiatedShutdownBehavior() *pulumi.StringOutput

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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingInstanceInitiatedShutdownBehavior) for more information.

func (*SpotInstanceRequest) InstanceInterruptionBehaviour

func (r *SpotInstanceRequest) InstanceInterruptionBehaviour() *pulumi.StringOutput

Indicates whether a Spot instance stops or terminates when it is interrupted. Default is `terminate` as this is the current AWS behaviour.

func (*SpotInstanceRequest) InstanceState

func (r *SpotInstanceRequest) InstanceState() *pulumi.StringOutput

func (*SpotInstanceRequest) InstanceType

func (r *SpotInstanceRequest) InstanceType() *pulumi.StringOutput

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

func (*SpotInstanceRequest) Ipv6AddressCount

func (r *SpotInstanceRequest) Ipv6AddressCount() *pulumi.IntOutput

func (*SpotInstanceRequest) Ipv6Addresses

func (r *SpotInstanceRequest) Ipv6Addresses() *pulumi.ArrayOutput

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

func (*SpotInstanceRequest) KeyName

func (r *SpotInstanceRequest) KeyName() *pulumi.StringOutput

The key name of the Key Pair to use for the instance; which can be managed using the `aws_key_pair` resource.

func (*SpotInstanceRequest) LaunchGroup

func (r *SpotInstanceRequest) LaunchGroup() *pulumi.StringOutput

A launch group is a group of spot instances that launch together and terminate together. If left empty instances are launched and terminated individually.

func (*SpotInstanceRequest) Monitoring

func (r *SpotInstanceRequest) Monitoring() *pulumi.BoolOutput

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

func (*SpotInstanceRequest) NetworkInterfaces

func (r *SpotInstanceRequest) NetworkInterfaces() *pulumi.ArrayOutput

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

func (*SpotInstanceRequest) PasswordData

func (r *SpotInstanceRequest) PasswordData() *pulumi.StringOutput

func (*SpotInstanceRequest) PlacementGroup

func (r *SpotInstanceRequest) PlacementGroup() *pulumi.StringOutput

The Placement Group to start the instance in.

func (*SpotInstanceRequest) PrimaryNetworkInterfaceId

func (r *SpotInstanceRequest) PrimaryNetworkInterfaceId() *pulumi.StringOutput

func (*SpotInstanceRequest) PrivateDns

func (r *SpotInstanceRequest) PrivateDns() *pulumi.StringOutput

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

func (*SpotInstanceRequest) PrivateIp

func (r *SpotInstanceRequest) PrivateIp() *pulumi.StringOutput

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

func (*SpotInstanceRequest) PublicDns

func (r *SpotInstanceRequest) PublicDns() *pulumi.StringOutput

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

func (*SpotInstanceRequest) PublicIp

func (r *SpotInstanceRequest) PublicIp() *pulumi.StringOutput

The public IP address assigned to the instance, if applicable.

func (*SpotInstanceRequest) RootBlockDevice

func (r *SpotInstanceRequest) RootBlockDevice() *pulumi.Output

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

func (*SpotInstanceRequest) SecurityGroups

func (r *SpotInstanceRequest) SecurityGroups() *pulumi.ArrayOutput

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

func (*SpotInstanceRequest) SourceDestCheck

func (r *SpotInstanceRequest) SourceDestCheck() *pulumi.BoolOutput

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

func (*SpotInstanceRequest) SpotBidStatus

func (r *SpotInstanceRequest) SpotBidStatus() *pulumi.StringOutput

The current [bid status](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) of the Spot Instance Request. * `spot_request_state` The current [request state](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html#creating-spot-request-status) of the Spot Instance Request.

func (*SpotInstanceRequest) SpotInstanceId

func (r *SpotInstanceRequest) SpotInstanceId() *pulumi.StringOutput

The Instance ID (if any) that is currently fulfilling the Spot Instance request.

func (*SpotInstanceRequest) SpotPrice

func (r *SpotInstanceRequest) SpotPrice() *pulumi.StringOutput

The maximum price to request on the spot market.

func (*SpotInstanceRequest) SpotRequestState

func (r *SpotInstanceRequest) SpotRequestState() *pulumi.StringOutput

func (*SpotInstanceRequest) SpotType

func (r *SpotInstanceRequest) SpotType() *pulumi.StringOutput

If set to `one-time`, after the instance is terminated, the spot request will be closed.

func (*SpotInstanceRequest) SubnetId

func (r *SpotInstanceRequest) SubnetId() *pulumi.StringOutput

The VPC Subnet ID to launch in.

func (*SpotInstanceRequest) Tags

A mapping of tags to assign to the resource.

func (*SpotInstanceRequest) Tenancy

func (r *SpotInstanceRequest) Tenancy() *pulumi.StringOutput

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.

func (*SpotInstanceRequest) URN

URN is this resource's unique name assigned by Pulumi.

func (*SpotInstanceRequest) UserData

func (r *SpotInstanceRequest) UserData() *pulumi.StringOutput

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

func (*SpotInstanceRequest) UserDataBase64

func (r *SpotInstanceRequest) UserDataBase64() *pulumi.StringOutput

Can be used instead of `user_data` to pass base64-encoded binary data directly. Use this instead of `user_data` 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.

func (*SpotInstanceRequest) ValidFrom

func (r *SpotInstanceRequest) ValidFrom() *pulumi.StringOutput

The start date and time of the request, in UTC [RFC3339](https://tools.ietf.org/html/rfc3339#section-5.8) format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.

func (*SpotInstanceRequest) ValidUntil

func (r *SpotInstanceRequest) ValidUntil() *pulumi.StringOutput

The end date and time of the request, in UTC [RFC3339](https://tools.ietf.org/html/rfc3339#section-5.8) 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.

func (*SpotInstanceRequest) VolumeTags

func (r *SpotInstanceRequest) VolumeTags() *pulumi.MapOutput

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

func (*SpotInstanceRequest) VpcSecurityGroupIds

func (r *SpotInstanceRequest) VpcSecurityGroupIds() *pulumi.ArrayOutput

A list of security group IDs to associate with.

func (*SpotInstanceRequest) WaitForFulfillment

func (r *SpotInstanceRequest) WaitForFulfillment() *pulumi.BoolOutput

If set, Terraform will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.

type SpotInstanceRequestArgs

type SpotInstanceRequestArgs struct {
	// The AMI to use for the instance.
	Ami interface{}
	// Associate a public ip address with an instance in a VPC.  Boolean value.
	AssociatePublicIpAddress interface{}
	// The AZ to start the instance in.
	AvailabilityZone interface{}
	// 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.
	BlockDurationMinutes interface{}
	// 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API.
	CpuCoreCount interface{}
	// If set to to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information.
	CpuThreadsPerCore interface{}
	// Customize the credit specification of the instance. See Credit Specification below for more details.
	CreditSpecification interface{}
	// If true, enables [EC2 Instance
	// Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination)
	DisableApiTermination interface{}
	// 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.
	EbsBlockDevices interface{}
	// 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information.
	EbsOptimized interface{}
	// Customize Ephemeral (also known as
	// "Instance Store") volumes on the instance. See Block Devices below for details.
	EphemeralBlockDevices interface{}
	// 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 `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information.
	GetPasswordData interface{}
	// 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.
	HostId interface{}
	// 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](http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html#roles-usingrole-ec2instance-permissions), notably `iam:PassRole`.
	// * `ipv6_address_count`- (Optional) A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
	IamInstanceProfile interface{}
	// 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingInstanceInitiatedShutdownBehavior) for more information.
	InstanceInitiatedShutdownBehavior interface{}
	// Indicates whether a Spot instance stops or terminates when it is interrupted. Default is `terminate` as this is the current AWS behaviour.
	InstanceInterruptionBehaviour interface{}
	// The type of instance to start. Updates to this field will trigger a stop/start of the EC2 instance.
	InstanceType     interface{}
	Ipv6AddressCount interface{}
	// Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
	Ipv6Addresses interface{}
	// The key name of the Key Pair to use for the instance; which can be managed using the `aws_key_pair` resource.
	KeyName interface{}
	// A launch group is a group of spot instances that launch together and terminate together.
	// If left empty instances are launched and terminated individually.
	LaunchGroup interface{}
	// If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
	Monitoring interface{}
	// Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
	NetworkInterfaces interface{}
	// The Placement Group to start the instance in.
	PlacementGroup interface{}
	// Private IP address to associate with the
	// instance in a VPC.
	PrivateIp interface{}
	// Customize details about the root block
	// device of the instance. See Block Devices below for details.
	RootBlockDevice interface{}
	// A list of security group names (EC2-Classic) or IDs (default VPC) to associate with.
	SecurityGroups interface{}
	// Controls if traffic is routed to the instance when
	// the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
	SourceDestCheck interface{}
	// The maximum price to request on the spot market.
	SpotPrice interface{}
	// If set to `one-time`, after
	// the instance is terminated, the spot request will be closed.
	SpotType interface{}
	// The VPC Subnet ID to launch in.
	SubnetId interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// 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.
	Tenancy interface{}
	// The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see `user_data_base64` instead.
	UserData interface{}
	// Can be used instead of `user_data` to pass base64-encoded binary data directly. Use this instead of `user_data` 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.
	UserDataBase64 interface{}
	// The start date and time of the request, in UTC [RFC3339](https://tools.ietf.org/html/rfc3339#section-5.8) format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
	ValidFrom interface{}
	// The end date and time of the request, in UTC [RFC3339](https://tools.ietf.org/html/rfc3339#section-5.8) 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.
	ValidUntil interface{}
	// A mapping of tags to assign to the devices created by the instance at launch time.
	VolumeTags interface{}
	// A list of security group IDs to associate with.
	VpcSecurityGroupIds interface{}
	// If set, Terraform will
	// wait for the Spot Request to be fulfilled, and will throw an error if the
	// timeout of 10m is reached.
	WaitForFulfillment interface{}
}

The set of arguments for constructing a SpotInstanceRequest resource.

type SpotInstanceRequestState

type SpotInstanceRequestState struct {
	// The AMI to use for the instance.
	Ami interface{}
	Arn interface{}
	// Associate a public ip address with an instance in a VPC.  Boolean value.
	AssociatePublicIpAddress interface{}
	// The AZ to start the instance in.
	AvailabilityZone interface{}
	// 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.
	BlockDurationMinutes interface{}
	// 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API.
	CpuCoreCount interface{}
	// If set to to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information.
	CpuThreadsPerCore interface{}
	// Customize the credit specification of the instance. See Credit Specification below for more details.
	CreditSpecification interface{}
	// If true, enables [EC2 Instance
	// Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination)
	DisableApiTermination interface{}
	// 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.
	EbsBlockDevices interface{}
	// 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information.
	EbsOptimized interface{}
	// Customize Ephemeral (also known as
	// "Instance Store") volumes on the instance. See Block Devices below for details.
	EphemeralBlockDevices interface{}
	// 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 `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information.
	GetPasswordData interface{}
	// 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.
	HostId interface{}
	// 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](http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html#roles-usingrole-ec2instance-permissions), notably `iam:PassRole`.
	// * `ipv6_address_count`- (Optional) A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
	IamInstanceProfile interface{}
	// 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingInstanceInitiatedShutdownBehavior) for more information.
	InstanceInitiatedShutdownBehavior interface{}
	// Indicates whether a Spot instance stops or terminates when it is interrupted. Default is `terminate` as this is the current AWS behaviour.
	InstanceInterruptionBehaviour interface{}
	InstanceState                 interface{}
	// The type of instance to start. Updates to this field will trigger a stop/start of the EC2 instance.
	InstanceType     interface{}
	Ipv6AddressCount interface{}
	// Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
	Ipv6Addresses interface{}
	// The key name of the Key Pair to use for the instance; which can be managed using the `aws_key_pair` resource.
	KeyName interface{}
	// A launch group is a group of spot instances that launch together and terminate together.
	// If left empty instances are launched and terminated individually.
	LaunchGroup interface{}
	// If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
	Monitoring interface{}
	// Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
	NetworkInterfaces interface{}
	PasswordData      interface{}
	// The Placement Group to start the instance in.
	PlacementGroup            interface{}
	PrimaryNetworkInterfaceId interface{}
	// 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
	PrivateDns interface{}
	// Private IP address to associate with the
	// instance in a VPC.
	PrivateIp interface{}
	// The public DNS name assigned to the instance. For EC2-VPC, this
	// is only available if you've enabled DNS hostnames for your VPC
	PublicDns interface{}
	// The public IP address assigned to the instance, if applicable.
	PublicIp interface{}
	// Customize details about the root block
	// device of the instance. See Block Devices below for details.
	RootBlockDevice interface{}
	// A list of security group names (EC2-Classic) or IDs (default VPC) to associate with.
	SecurityGroups interface{}
	// Controls if traffic is routed to the instance when
	// the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
	SourceDestCheck interface{}
	// The current [bid
	// status](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
	// of the Spot Instance Request.
	// * `spot_request_state` The current [request
	// state](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html#creating-spot-request-status)
	// of the Spot Instance Request.
	SpotBidStatus interface{}
	// The Instance ID (if any) that is currently fulfilling
	// the Spot Instance request.
	SpotInstanceId interface{}
	// The maximum price to request on the spot market.
	SpotPrice        interface{}
	SpotRequestState interface{}
	// If set to `one-time`, after
	// the instance is terminated, the spot request will be closed.
	SpotType interface{}
	// The VPC Subnet ID to launch in.
	SubnetId interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// 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.
	Tenancy interface{}
	// The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see `user_data_base64` instead.
	UserData interface{}
	// Can be used instead of `user_data` to pass base64-encoded binary data directly. Use this instead of `user_data` 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.
	UserDataBase64 interface{}
	// The start date and time of the request, in UTC [RFC3339](https://tools.ietf.org/html/rfc3339#section-5.8) format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
	ValidFrom interface{}
	// The end date and time of the request, in UTC [RFC3339](https://tools.ietf.org/html/rfc3339#section-5.8) 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.
	ValidUntil interface{}
	// A mapping of tags to assign to the devices created by the instance at launch time.
	VolumeTags interface{}
	// A list of security group IDs to associate with.
	VpcSecurityGroupIds interface{}
	// If set, Terraform will
	// wait for the Spot Request to be fulfilled, and will throw an error if the
	// timeout of 10m is reached.
	WaitForFulfillment interface{}
}

Input properties used for looking up and filtering SpotInstanceRequest resources.

type Subnet

type Subnet struct {
	// contains filtered or unexported fields
}

Provides an VPC subnet resource.

func GetSubnet

func GetSubnet(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SubnetState, opts ...pulumi.ResourceOpt) (*Subnet, error)

GetSubnet gets an existing Subnet resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSubnet

func NewSubnet(ctx *pulumi.Context,
	name string, args *SubnetArgs, opts ...pulumi.ResourceOpt) (*Subnet, error)

NewSubnet registers a new resource with the given unique name, arguments, and options.

func (*Subnet) Arn added in v0.15.1

func (r *Subnet) Arn() *pulumi.StringOutput

The ARN of the subnet.

func (*Subnet) AssignIpv6AddressOnCreation

func (r *Subnet) AssignIpv6AddressOnCreation() *pulumi.BoolOutput

Specify true to indicate that network interfaces created in the specified subnet should be assigned an IPv6 address. Default is `false`

func (*Subnet) AvailabilityZone

func (r *Subnet) AvailabilityZone() *pulumi.StringOutput

The AZ for the subnet.

func (*Subnet) AvailabilityZoneId added in v0.16.4

func (r *Subnet) AvailabilityZoneId() *pulumi.StringOutput

The AZ ID of the subnet.

func (*Subnet) CidrBlock

func (r *Subnet) CidrBlock() *pulumi.StringOutput

The CIDR block for the subnet.

func (*Subnet) ID

func (r *Subnet) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Subnet) Ipv6CidrBlock

func (r *Subnet) Ipv6CidrBlock() *pulumi.StringOutput

The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a /64 prefix length.

func (*Subnet) Ipv6CidrBlockAssociationId

func (r *Subnet) Ipv6CidrBlockAssociationId() *pulumi.StringOutput

The association ID for the IPv6 CIDR block.

func (*Subnet) MapPublicIpOnLaunch

func (r *Subnet) MapPublicIpOnLaunch() *pulumi.BoolOutput

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

func (*Subnet) OwnerId added in v0.16.4

func (r *Subnet) OwnerId() *pulumi.StringOutput

The ID of the AWS account that owns the subnet.

func (*Subnet) Tags

func (r *Subnet) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource.

func (*Subnet) URN

func (r *Subnet) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*Subnet) VpcId

func (r *Subnet) VpcId() *pulumi.StringOutput

The VPC ID.

type SubnetArgs

type SubnetArgs struct {
	// Specify true to indicate
	// that network interfaces created in the specified subnet should be
	// assigned an IPv6 address. Default is `false`
	AssignIpv6AddressOnCreation interface{}
	// The AZ for the subnet.
	AvailabilityZone interface{}
	// The AZ ID of the subnet.
	AvailabilityZoneId interface{}
	// The CIDR block for the subnet.
	CidrBlock interface{}
	// The IPv6 network range for the subnet,
	// in CIDR notation. The subnet size must use a /64 prefix length.
	Ipv6CidrBlock interface{}
	// Specify true to indicate
	// that instances launched into the subnet should be assigned
	// a public IP address. Default is `false`.
	MapPublicIpOnLaunch interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// The VPC ID.
	VpcId interface{}
}

The set of arguments for constructing a Subnet resource.

type SubnetState

type SubnetState struct {
	// The ARN of the subnet.
	Arn interface{}
	// Specify true to indicate
	// that network interfaces created in the specified subnet should be
	// assigned an IPv6 address. Default is `false`
	AssignIpv6AddressOnCreation interface{}
	// The AZ for the subnet.
	AvailabilityZone interface{}
	// The AZ ID of the subnet.
	AvailabilityZoneId interface{}
	// The CIDR block for the subnet.
	CidrBlock interface{}
	// The IPv6 network range for the subnet,
	// in CIDR notation. The subnet size must use a /64 prefix length.
	Ipv6CidrBlock interface{}
	// The association ID for the IPv6 CIDR block.
	Ipv6CidrBlockAssociationId interface{}
	// Specify true to indicate
	// that instances launched into the subnet should be assigned
	// a public IP address. Default is `false`.
	MapPublicIpOnLaunch interface{}
	// The ID of the AWS account that owns the subnet.
	OwnerId interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// The VPC ID.
	VpcId interface{}
}

Input properties used for looking up and filtering Subnet resources.

type VolumeAttachment

type VolumeAttachment struct {
	// contains filtered or unexported fields
}

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 `ebs_block_device` on an `aws_instance`, Terraform 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, `ebs_block_device` cannot be mixed with external `aws_ebs_volume` + `aws_ebs_volume_attachment` resources for a given instance.

func GetVolumeAttachment

func GetVolumeAttachment(ctx *pulumi.Context,
	name string, id pulumi.ID, state *VolumeAttachmentState, opts ...pulumi.ResourceOpt) (*VolumeAttachment, error)

GetVolumeAttachment gets an existing VolumeAttachment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVolumeAttachment

func NewVolumeAttachment(ctx *pulumi.Context,
	name string, args *VolumeAttachmentArgs, opts ...pulumi.ResourceOpt) (*VolumeAttachment, error)

NewVolumeAttachment registers a new resource with the given unique name, arguments, and options.

func (*VolumeAttachment) DeviceName

func (r *VolumeAttachment) DeviceName() *pulumi.StringOutput

The device name to expose to the instance (for example, `/dev/sdh` or `xvdh`). See [Device Naming on Linux Instances][1] and [Device Naming on Windows Instances][2] for more information.

func (*VolumeAttachment) ForceDetach

func (r *VolumeAttachment) ForceDetach() *pulumi.BoolOutput

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][3] for more information.

func (*VolumeAttachment) ID

func (r *VolumeAttachment) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*VolumeAttachment) InstanceId

func (r *VolumeAttachment) InstanceId() *pulumi.StringOutput

ID of the Instance to attach to

func (*VolumeAttachment) SkipDestroy

func (r *VolumeAttachment) SkipDestroy() *pulumi.BoolOutput

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 Terraform state. This is useful when destroying an instance which has volumes created by some other means attached.

func (*VolumeAttachment) URN

func (r *VolumeAttachment) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*VolumeAttachment) VolumeId

func (r *VolumeAttachment) VolumeId() *pulumi.StringOutput

ID of the Volume to be attached

type VolumeAttachmentArgs

type VolumeAttachmentArgs struct {
	// The device name to expose to the instance (for
	// example, `/dev/sdh` or `xvdh`).  See [Device Naming on Linux Instances][1] and [Device Naming on Windows Instances][2] for more information.
	DeviceName interface{}
	// 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][3] for more information.
	ForceDetach interface{}
	// ID of the Instance to attach to
	InstanceId interface{}
	// 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 Terraform state. This is
	// useful when destroying an instance which has volumes created by some other
	// means attached.
	SkipDestroy interface{}
	// ID of the Volume to be attached
	VolumeId interface{}
}

The set of arguments for constructing a VolumeAttachment resource.

type VolumeAttachmentState

type VolumeAttachmentState struct {
	// The device name to expose to the instance (for
	// example, `/dev/sdh` or `xvdh`).  See [Device Naming on Linux Instances][1] and [Device Naming on Windows Instances][2] for more information.
	DeviceName interface{}
	// 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][3] for more information.
	ForceDetach interface{}
	// ID of the Instance to attach to
	InstanceId interface{}
	// 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 Terraform state. This is
	// useful when destroying an instance which has volumes created by some other
	// means attached.
	SkipDestroy interface{}
	// ID of the Volume to be attached
	VolumeId interface{}
}

Input properties used for looking up and filtering VolumeAttachment resources.

type Vpc

type Vpc struct {
	// contains filtered or unexported fields
}

Provides an VPC resource.

func GetVpc

func GetVpc(ctx *pulumi.Context,
	name string, id pulumi.ID, state *VpcState, opts ...pulumi.ResourceOpt) (*Vpc, error)

GetVpc gets an existing Vpc resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVpc

func NewVpc(ctx *pulumi.Context,
	name string, args *VpcArgs, opts ...pulumi.ResourceOpt) (*Vpc, error)

NewVpc registers a new resource with the given unique name, arguments, and options.

func (*Vpc) Arn added in v0.15.1

func (r *Vpc) Arn() *pulumi.StringOutput

Amazon Resource Name (ARN) of VPC

func (*Vpc) AssignGeneratedIpv6CidrBlock

func (r *Vpc) AssignGeneratedIpv6CidrBlock() *pulumi.BoolOutput

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`.

func (*Vpc) CidrBlock

func (r *Vpc) CidrBlock() *pulumi.StringOutput

The CIDR block for the VPC.

func (*Vpc) DefaultNetworkAclId

func (r *Vpc) DefaultNetworkAclId() *pulumi.StringOutput

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

func (*Vpc) DefaultRouteTableId

func (r *Vpc) DefaultRouteTableId() *pulumi.StringOutput

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

func (*Vpc) DefaultSecurityGroupId

func (r *Vpc) DefaultSecurityGroupId() *pulumi.StringOutput

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

func (*Vpc) DhcpOptionsId

func (r *Vpc) DhcpOptionsId() *pulumi.StringOutput
func (r *Vpc) EnableClassiclink() *pulumi.BoolOutput

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

func (*Vpc) EnableClassiclinkDnsSupport

func (r *Vpc) EnableClassiclinkDnsSupport() *pulumi.BoolOutput

A boolean flag to enable/disable ClassicLink DNS Support for the VPC. Only valid in regions and accounts that support EC2 Classic.

func (*Vpc) EnableDnsHostnames

func (r *Vpc) EnableDnsHostnames() *pulumi.BoolOutput

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

func (*Vpc) EnableDnsSupport

func (r *Vpc) EnableDnsSupport() *pulumi.BoolOutput

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

func (*Vpc) ID

func (r *Vpc) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Vpc) InstanceTenancy

func (r *Vpc) InstanceTenancy() *pulumi.StringOutput

A tenancy option for instances launched into the VPC

func (*Vpc) Ipv6AssociationId

func (r *Vpc) Ipv6AssociationId() *pulumi.StringOutput

The association ID for the IPv6 CIDR block.

func (*Vpc) Ipv6CidrBlock

func (r *Vpc) Ipv6CidrBlock() *pulumi.StringOutput

The IPv6 CIDR block.

func (*Vpc) MainRouteTableId

func (r *Vpc) MainRouteTableId() *pulumi.StringOutput

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_main_route_table_association`](https://www.terraform.io/docs/providers/aws/r/main_route_table_assoc.html).

func (*Vpc) OwnerId added in v0.16.4

func (r *Vpc) OwnerId() *pulumi.StringOutput

The ID of the AWS account that owns the VPC.

func (*Vpc) Tags

func (r *Vpc) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource.

func (*Vpc) URN

func (r *Vpc) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type VpcArgs

type VpcArgs struct {
	// 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`.
	AssignGeneratedIpv6CidrBlock interface{}
	// The CIDR block for the VPC.
	CidrBlock interface{}
	// A boolean flag to enable/disable ClassicLink
	// for the VPC. Only valid in regions and accounts that support EC2 Classic.
	// See the [ClassicLink documentation][1] for more information. Defaults false.
	EnableClassiclink interface{}
	// A boolean flag to enable/disable ClassicLink DNS Support for the VPC.
	// Only valid in regions and accounts that support EC2 Classic.
	EnableClassiclinkDnsSupport interface{}
	// A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.
	EnableDnsHostnames interface{}
	// A boolean flag to enable/disable DNS support in the VPC. Defaults true.
	EnableDnsSupport interface{}
	// A tenancy option for instances launched into the VPC
	InstanceTenancy interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
}

The set of arguments for constructing a Vpc resource.

type VpcDhcpOptions

type VpcDhcpOptions struct {
	// contains filtered or unexported fields
}

Provides a VPC DHCP Options resource.

## Remarks

* Notice that all arguments are optional but you have to specify at least one argument. * `domain_name_servers`, `netbios_name_servers`, `ntp_servers` 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_vpc_dhcp_options_association`](https://www.terraform.io/docs/providers/aws/r/vpc_dhcp_options_association.html). * 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 `domain_name_servers` to `AmazonProvidedDNS`.

func GetVpcDhcpOptions

func GetVpcDhcpOptions(ctx *pulumi.Context,
	name string, id pulumi.ID, state *VpcDhcpOptionsState, opts ...pulumi.ResourceOpt) (*VpcDhcpOptions, error)

GetVpcDhcpOptions gets an existing VpcDhcpOptions resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVpcDhcpOptions

func NewVpcDhcpOptions(ctx *pulumi.Context,
	name string, args *VpcDhcpOptionsArgs, opts ...pulumi.ResourceOpt) (*VpcDhcpOptions, error)

NewVpcDhcpOptions registers a new resource with the given unique name, arguments, and options.

func (*VpcDhcpOptions) DomainName

func (r *VpcDhcpOptions) DomainName() *pulumi.StringOutput

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.

func (*VpcDhcpOptions) DomainNameServers

func (r *VpcDhcpOptions) DomainNameServers() *pulumi.ArrayOutput

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`.

func (*VpcDhcpOptions) ID

func (r *VpcDhcpOptions) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*VpcDhcpOptions) NetbiosNameServers

func (r *VpcDhcpOptions) NetbiosNameServers() *pulumi.ArrayOutput

List of NETBIOS name servers.

func (*VpcDhcpOptions) NetbiosNodeType

func (r *VpcDhcpOptions) NetbiosNodeType() *pulumi.StringOutput

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](http://www.ietf.org/rfc/rfc2132.txt).

func (*VpcDhcpOptions) NtpServers

func (r *VpcDhcpOptions) NtpServers() *pulumi.ArrayOutput

List of NTP servers to configure.

func (*VpcDhcpOptions) OwnerId added in v0.16.4

func (r *VpcDhcpOptions) OwnerId() *pulumi.StringOutput

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

func (*VpcDhcpOptions) Tags

func (r *VpcDhcpOptions) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource.

func (*VpcDhcpOptions) URN

func (r *VpcDhcpOptions) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type VpcDhcpOptionsArgs

type VpcDhcpOptionsArgs struct {
	// 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.
	DomainName interface{}
	// 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`.
	DomainNameServers interface{}
	// List of NETBIOS name servers.
	NetbiosNameServers interface{}
	// 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](http://www.ietf.org/rfc/rfc2132.txt).
	NetbiosNodeType interface{}
	// List of NTP servers to configure.
	NtpServers interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
}

The set of arguments for constructing a VpcDhcpOptions resource.

type VpcDhcpOptionsAssociation

type VpcDhcpOptionsAssociation struct {
	// contains filtered or unexported fields
}

Provides a VPC DHCP Options Association resource.

## 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.

func GetVpcDhcpOptionsAssociation

func GetVpcDhcpOptionsAssociation(ctx *pulumi.Context,
	name string, id pulumi.ID, state *VpcDhcpOptionsAssociationState, opts ...pulumi.ResourceOpt) (*VpcDhcpOptionsAssociation, error)

GetVpcDhcpOptionsAssociation gets an existing VpcDhcpOptionsAssociation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVpcDhcpOptionsAssociation

func NewVpcDhcpOptionsAssociation(ctx *pulumi.Context,
	name string, args *VpcDhcpOptionsAssociationArgs, opts ...pulumi.ResourceOpt) (*VpcDhcpOptionsAssociation, error)

NewVpcDhcpOptionsAssociation registers a new resource with the given unique name, arguments, and options.

func (*VpcDhcpOptionsAssociation) DhcpOptionsId

func (r *VpcDhcpOptionsAssociation) DhcpOptionsId() *pulumi.StringOutput

The ID of the DHCP Options Set to associate to the VPC.

func (*VpcDhcpOptionsAssociation) ID

ID is this resource's unique identifier assigned by its provider.

func (*VpcDhcpOptionsAssociation) URN

URN is this resource's unique name assigned by Pulumi.

func (*VpcDhcpOptionsAssociation) VpcId

The ID of the VPC to which we would like to associate a DHCP Options Set.

type VpcDhcpOptionsAssociationArgs

type VpcDhcpOptionsAssociationArgs struct {
	// The ID of the DHCP Options Set to associate to the VPC.
	DhcpOptionsId interface{}
	// The ID of the VPC to which we would like to associate a DHCP Options Set.
	VpcId interface{}
}

The set of arguments for constructing a VpcDhcpOptionsAssociation resource.

type VpcDhcpOptionsAssociationState

type VpcDhcpOptionsAssociationState struct {
	// The ID of the DHCP Options Set to associate to the VPC.
	DhcpOptionsId interface{}
	// The ID of the VPC to which we would like to associate a DHCP Options Set.
	VpcId interface{}
}

Input properties used for looking up and filtering VpcDhcpOptionsAssociation resources.

type VpcDhcpOptionsState

type VpcDhcpOptionsState struct {
	// 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.
	DomainName interface{}
	// 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`.
	DomainNameServers interface{}
	// List of NETBIOS name servers.
	NetbiosNameServers interface{}
	// 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](http://www.ietf.org/rfc/rfc2132.txt).
	NetbiosNodeType interface{}
	// List of NTP servers to configure.
	NtpServers interface{}
	// The ID of the AWS account that owns the DHCP options set.
	OwnerId interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
}

Input properties used for looking up and filtering VpcDhcpOptions resources.

type VpcEndpoint

type VpcEndpoint struct {
	// contains filtered or unexported fields
}

Provides a VPC Endpoint resource.

> **NOTE on VPC Endpoints and VPC Endpoint Associations:** Terraform provides both standalone VPC Endpoint Associations for Route Tables - (an association between a VPC endpoint and a single `route_table_id`) and Subnets - (an association between a VPC endpoint and a single `subnet_id`) and a VPC Endpoint resource with `route_table_ids` and `subnet_ids` 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.

func GetVpcEndpoint

func GetVpcEndpoint(ctx *pulumi.Context,
	name string, id pulumi.ID, state *VpcEndpointState, opts ...pulumi.ResourceOpt) (*VpcEndpoint, error)

GetVpcEndpoint gets an existing VpcEndpoint resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVpcEndpoint

func NewVpcEndpoint(ctx *pulumi.Context,
	name string, args *VpcEndpointArgs, opts ...pulumi.ResourceOpt) (*VpcEndpoint, error)

NewVpcEndpoint registers a new resource with the given unique name, arguments, and options.

func (*VpcEndpoint) AutoAccept

func (r *VpcEndpoint) AutoAccept() *pulumi.BoolOutput

Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).

func (*VpcEndpoint) CidrBlocks

func (r *VpcEndpoint) CidrBlocks() *pulumi.ArrayOutput

The list of CIDR blocks for the exposed AWS service. Applicable for endpoints of type `Gateway`.

func (*VpcEndpoint) DnsEntries

func (r *VpcEndpoint) DnsEntries() *pulumi.ArrayOutput

The DNS entries for the VPC Endpoint. Applicable for endpoints of type `Interface`. DNS blocks are documented below.

func (*VpcEndpoint) ID

func (r *VpcEndpoint) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*VpcEndpoint) NetworkInterfaceIds

func (r *VpcEndpoint) NetworkInterfaceIds() *pulumi.ArrayOutput

One or more network interfaces for the VPC Endpoint. Applicable for endpoints of type `Interface`.

func (*VpcEndpoint) Policy

func (r *VpcEndpoint) Policy() *pulumi.StringOutput

A policy to attach to the endpoint that controls access to the service. Applicable for endpoints of type `Gateway`. Defaults to full access. For more information about building AWS IAM policy documents with Terraform, see the [AWS IAM Policy Document Guide](https://www.terraform.io/docs/providers/aws/guides/iam-policy-documents.html).

func (*VpcEndpoint) PrefixListId

func (r *VpcEndpoint) PrefixListId() *pulumi.StringOutput

The prefix list ID of the exposed AWS service. Applicable for endpoints of type `Gateway`.

func (*VpcEndpoint) PrivateDnsEnabled

func (r *VpcEndpoint) PrivateDnsEnabled() *pulumi.BoolOutput

Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type `Interface`. Defaults to `false`.

func (*VpcEndpoint) RouteTableIds

func (r *VpcEndpoint) RouteTableIds() *pulumi.ArrayOutput

One or more route table IDs. Applicable for endpoints of type `Gateway`.

func (*VpcEndpoint) SecurityGroupIds

func (r *VpcEndpoint) SecurityGroupIds() *pulumi.ArrayOutput

The ID of one or more security groups to associate with the network interface. Required for endpoints of type `Interface`.

func (*VpcEndpoint) ServiceName

func (r *VpcEndpoint) ServiceName() *pulumi.StringOutput

The service name, in the form `com.amazonaws.region.service` for AWS services.

func (*VpcEndpoint) State

func (r *VpcEndpoint) State() *pulumi.StringOutput

The state of the VPC endpoint.

func (*VpcEndpoint) SubnetIds

func (r *VpcEndpoint) SubnetIds() *pulumi.ArrayOutput

The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `Interface`.

func (*VpcEndpoint) URN

func (r *VpcEndpoint) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*VpcEndpoint) VpcEndpointType

func (r *VpcEndpoint) VpcEndpointType() *pulumi.StringOutput

The VPC endpoint type, `Gateway` or `Interface`. Defaults to `Gateway`.

func (*VpcEndpoint) VpcId

func (r *VpcEndpoint) VpcId() *pulumi.StringOutput

The ID of the VPC in which the endpoint will be used.

type VpcEndpointArgs

type VpcEndpointArgs struct {
	// Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).
	AutoAccept interface{}
	// A policy to attach to the endpoint that controls access to the service. Applicable for endpoints of type `Gateway`. Defaults to full access. For more information about building AWS IAM policy documents with Terraform, see the [AWS IAM Policy Document Guide](https://www.terraform.io/docs/providers/aws/guides/iam-policy-documents.html).
	Policy interface{}
	// Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type `Interface`.
	// Defaults to `false`.
	PrivateDnsEnabled interface{}
	// One or more route table IDs. Applicable for endpoints of type `Gateway`.
	RouteTableIds interface{}
	// The ID of one or more security groups to associate with the network interface. Required for endpoints of type `Interface`.
	SecurityGroupIds interface{}
	// The service name, in the form `com.amazonaws.region.service` for AWS services.
	ServiceName interface{}
	// The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `Interface`.
	SubnetIds interface{}
	// The VPC endpoint type, `Gateway` or `Interface`. Defaults to `Gateway`.
	VpcEndpointType interface{}
	// The ID of the VPC in which the endpoint will be used.
	VpcId interface{}
}

The set of arguments for constructing a VpcEndpoint resource.

type VpcEndpointConnectionNotification

type VpcEndpointConnectionNotification struct {
	// contains filtered or unexported fields
}

Provides a VPC Endpoint connection notification resource. Connection notifications notify subscribers of VPC Endpoint events.

func GetVpcEndpointConnectionNotification

func GetVpcEndpointConnectionNotification(ctx *pulumi.Context,
	name string, id pulumi.ID, state *VpcEndpointConnectionNotificationState, opts ...pulumi.ResourceOpt) (*VpcEndpointConnectionNotification, error)

GetVpcEndpointConnectionNotification gets an existing VpcEndpointConnectionNotification resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVpcEndpointConnectionNotification

func NewVpcEndpointConnectionNotification(ctx *pulumi.Context,
	name string, args *VpcEndpointConnectionNotificationArgs, opts ...pulumi.ResourceOpt) (*VpcEndpointConnectionNotification, error)

NewVpcEndpointConnectionNotification registers a new resource with the given unique name, arguments, and options.

func (*VpcEndpointConnectionNotification) ConnectionNotificationArn

func (r *VpcEndpointConnectionNotification) ConnectionNotificationArn() *pulumi.StringOutput

The ARN of the SNS topic for the notifications.

func (*VpcEndpointConnectionNotification) ID

ID is this resource's unique identifier assigned by its provider.

func (*VpcEndpointConnectionNotification) NotificationType

func (r *VpcEndpointConnectionNotification) NotificationType() *pulumi.StringOutput

The type of notification.

func (*VpcEndpointConnectionNotification) State

The state of the notification.

func (*VpcEndpointConnectionNotification) URN

URN is this resource's unique name assigned by Pulumi.

func (*VpcEndpointConnectionNotification) VpcEndpointId

The ID of the VPC Endpoint to receive notifications for.

func (*VpcEndpointConnectionNotification) VpcEndpointServiceId

func (r *VpcEndpointConnectionNotification) VpcEndpointServiceId() *pulumi.StringOutput

The ID of the VPC Endpoint Service to receive notifications for.

type VpcEndpointConnectionNotificationArgs

type VpcEndpointConnectionNotificationArgs struct {
	// One or more endpoint [events](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVpcEndpointConnectionNotification.html#API_CreateVpcEndpointConnectionNotification_RequestParameters) for which to receive notifications.
	ConnectionEvents interface{}
	// The ARN of the SNS topic for the notifications.
	ConnectionNotificationArn interface{}
	// The ID of the VPC Endpoint to receive notifications for.
	VpcEndpointId interface{}
	// The ID of the VPC Endpoint Service to receive notifications for.
	VpcEndpointServiceId interface{}
}

The set of arguments for constructing a VpcEndpointConnectionNotification resource.

type VpcEndpointConnectionNotificationState

type VpcEndpointConnectionNotificationState struct {
	// One or more endpoint [events](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVpcEndpointConnectionNotification.html#API_CreateVpcEndpointConnectionNotification_RequestParameters) for which to receive notifications.
	ConnectionEvents interface{}
	// The ARN of the SNS topic for the notifications.
	ConnectionNotificationArn interface{}
	// The type of notification.
	NotificationType interface{}
	// The state of the notification.
	State interface{}
	// The ID of the VPC Endpoint to receive notifications for.
	VpcEndpointId interface{}
	// The ID of the VPC Endpoint Service to receive notifications for.
	VpcEndpointServiceId interface{}
}

Input properties used for looking up and filtering VpcEndpointConnectionNotification resources.

type VpcEndpointRouteTableAssociation

type VpcEndpointRouteTableAssociation struct {
	// contains filtered or unexported fields
}

Manages a VPC Endpoint Route Table Association

func GetVpcEndpointRouteTableAssociation

func GetVpcEndpointRouteTableAssociation(ctx *pulumi.Context,
	name string, id pulumi.ID, state *VpcEndpointRouteTableAssociationState, opts ...pulumi.ResourceOpt) (*VpcEndpointRouteTableAssociation, error)

GetVpcEndpointRouteTableAssociation gets an existing VpcEndpointRouteTableAssociation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVpcEndpointRouteTableAssociation

func NewVpcEndpointRouteTableAssociation(ctx *pulumi.Context,
	name string, args *VpcEndpointRouteTableAssociationArgs, opts ...pulumi.ResourceOpt) (*VpcEndpointRouteTableAssociation, error)

NewVpcEndpointRouteTableAssociation registers a new resource with the given unique name, arguments, and options.

func (*VpcEndpointRouteTableAssociation) ID

ID is this resource's unique identifier assigned by its provider.

func (*VpcEndpointRouteTableAssociation) RouteTableId

Identifier of the EC2 Route Table to be associated with the VPC Endpoint.

func (*VpcEndpointRouteTableAssociation) URN

URN is this resource's unique name assigned by Pulumi.

func (*VpcEndpointRouteTableAssociation) VpcEndpointId

Identifier of the VPC Endpoint with which the EC2 Route Table will be associated.

type VpcEndpointRouteTableAssociationArgs

type VpcEndpointRouteTableAssociationArgs struct {
	// Identifier of the EC2 Route Table to be associated with the VPC Endpoint.
	RouteTableId interface{}
	// Identifier of the VPC Endpoint with which the EC2 Route Table will be associated.
	VpcEndpointId interface{}
}

The set of arguments for constructing a VpcEndpointRouteTableAssociation resource.

type VpcEndpointRouteTableAssociationState

type VpcEndpointRouteTableAssociationState struct {
	// Identifier of the EC2 Route Table to be associated with the VPC Endpoint.
	RouteTableId interface{}
	// Identifier of the VPC Endpoint with which the EC2 Route Table will be associated.
	VpcEndpointId interface{}
}

Input properties used for looking up and filtering VpcEndpointRouteTableAssociation resources.

type VpcEndpointService

type VpcEndpointService struct {
	// contains filtered or unexported fields
}

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:** Terraform provides both a standalone VPC Endpoint Service Allowed Principal resource and a VPC Endpoint Service resource with an `allowed_principals` 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.

func GetVpcEndpointService

func GetVpcEndpointService(ctx *pulumi.Context,
	name string, id pulumi.ID, state *VpcEndpointServiceState, opts ...pulumi.ResourceOpt) (*VpcEndpointService, error)

GetVpcEndpointService gets an existing VpcEndpointService resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVpcEndpointService

func NewVpcEndpointService(ctx *pulumi.Context,
	name string, args *VpcEndpointServiceArgs, opts ...pulumi.ResourceOpt) (*VpcEndpointService, error)

NewVpcEndpointService registers a new resource with the given unique name, arguments, and options.

func (*VpcEndpointService) AcceptanceRequired

func (r *VpcEndpointService) AcceptanceRequired() *pulumi.BoolOutput

Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - `true` or `false`.

func (*VpcEndpointService) AllowedPrincipals

func (r *VpcEndpointService) AllowedPrincipals() *pulumi.ArrayOutput

The ARNs of one or more principals allowed to discover the endpoint service.

func (*VpcEndpointService) AvailabilityZones

func (r *VpcEndpointService) AvailabilityZones() *pulumi.ArrayOutput

The Availability Zones in which the service is available.

func (*VpcEndpointService) BaseEndpointDnsNames

func (r *VpcEndpointService) BaseEndpointDnsNames() *pulumi.ArrayOutput

The DNS names for the service.

func (*VpcEndpointService) ID

ID is this resource's unique identifier assigned by its provider.

func (*VpcEndpointService) NetworkLoadBalancerArns

func (r *VpcEndpointService) NetworkLoadBalancerArns() *pulumi.ArrayOutput

The ARNs of one or more Network Load Balancers for the endpoint service.

func (*VpcEndpointService) PrivateDnsName

func (r *VpcEndpointService) PrivateDnsName() *pulumi.StringOutput

The private DNS name for the service.

func (*VpcEndpointService) ServiceName

func (r *VpcEndpointService) ServiceName() *pulumi.StringOutput

The service name.

func (*VpcEndpointService) ServiceType

func (r *VpcEndpointService) ServiceType() *pulumi.StringOutput

The service type, `Gateway` or `Interface`.

func (*VpcEndpointService) State

The state of the VPC endpoint service.

func (*VpcEndpointService) URN

URN is this resource's unique name assigned by Pulumi.

type VpcEndpointServiceAllowedPrinciple

type VpcEndpointServiceAllowedPrinciple struct {
	// contains filtered or unexported fields
}

Provides a resource to allow a principal to discover a VPC endpoint service.

> **NOTE on VPC Endpoint Services and VPC Endpoint Service Allowed Principals:** Terraform provides both a standalone VPC Endpoint Service Allowed Principal resource and a VPC Endpoint Service resource with an `allowed_principals` 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.

func GetVpcEndpointServiceAllowedPrinciple

func GetVpcEndpointServiceAllowedPrinciple(ctx *pulumi.Context,
	name string, id pulumi.ID, state *VpcEndpointServiceAllowedPrincipleState, opts ...pulumi.ResourceOpt) (*VpcEndpointServiceAllowedPrinciple, error)

GetVpcEndpointServiceAllowedPrinciple gets an existing VpcEndpointServiceAllowedPrinciple resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVpcEndpointServiceAllowedPrinciple

func NewVpcEndpointServiceAllowedPrinciple(ctx *pulumi.Context,
	name string, args *VpcEndpointServiceAllowedPrincipleArgs, opts ...pulumi.ResourceOpt) (*VpcEndpointServiceAllowedPrinciple, error)

NewVpcEndpointServiceAllowedPrinciple registers a new resource with the given unique name, arguments, and options.

func (*VpcEndpointServiceAllowedPrinciple) ID

ID is this resource's unique identifier assigned by its provider.

func (*VpcEndpointServiceAllowedPrinciple) PrincipalArn

The ARN of the principal to allow permissions.

func (*VpcEndpointServiceAllowedPrinciple) URN

URN is this resource's unique name assigned by Pulumi.

func (*VpcEndpointServiceAllowedPrinciple) VpcEndpointServiceId

func (r *VpcEndpointServiceAllowedPrinciple) VpcEndpointServiceId() *pulumi.StringOutput

The ID of the VPC endpoint service to allow permission.

type VpcEndpointServiceAllowedPrincipleArgs

type VpcEndpointServiceAllowedPrincipleArgs struct {
	// The ARN of the principal to allow permissions.
	PrincipalArn interface{}
	// The ID of the VPC endpoint service to allow permission.
	VpcEndpointServiceId interface{}
}

The set of arguments for constructing a VpcEndpointServiceAllowedPrinciple resource.

type VpcEndpointServiceAllowedPrincipleState

type VpcEndpointServiceAllowedPrincipleState struct {
	// The ARN of the principal to allow permissions.
	PrincipalArn interface{}
	// The ID of the VPC endpoint service to allow permission.
	VpcEndpointServiceId interface{}
}

Input properties used for looking up and filtering VpcEndpointServiceAllowedPrinciple resources.

type VpcEndpointServiceArgs

type VpcEndpointServiceArgs struct {
	// Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - `true` or `false`.
	AcceptanceRequired interface{}
	// The ARNs of one or more principals allowed to discover the endpoint service.
	AllowedPrincipals interface{}
	// The ARNs of one or more Network Load Balancers for the endpoint service.
	NetworkLoadBalancerArns interface{}
}

The set of arguments for constructing a VpcEndpointService resource.

type VpcEndpointServiceState

type VpcEndpointServiceState struct {
	// Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - `true` or `false`.
	AcceptanceRequired interface{}
	// The ARNs of one or more principals allowed to discover the endpoint service.
	AllowedPrincipals interface{}
	// The Availability Zones in which the service is available.
	AvailabilityZones interface{}
	// The DNS names for the service.
	BaseEndpointDnsNames interface{}
	// The ARNs of one or more Network Load Balancers for the endpoint service.
	NetworkLoadBalancerArns interface{}
	// The private DNS name for the service.
	PrivateDnsName interface{}
	// The service name.
	ServiceName interface{}
	// The service type, `Gateway` or `Interface`.
	ServiceType interface{}
	// The state of the VPC endpoint service.
	State interface{}
}

Input properties used for looking up and filtering VpcEndpointService resources.

type VpcEndpointState

type VpcEndpointState struct {
	// Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).
	AutoAccept interface{}
	// The list of CIDR blocks for the exposed AWS service. Applicable for endpoints of type `Gateway`.
	CidrBlocks interface{}
	// The DNS entries for the VPC Endpoint. Applicable for endpoints of type `Interface`. DNS blocks are documented below.
	DnsEntries interface{}
	// One or more network interfaces for the VPC Endpoint. Applicable for endpoints of type `Interface`.
	NetworkInterfaceIds interface{}
	// A policy to attach to the endpoint that controls access to the service. Applicable for endpoints of type `Gateway`. Defaults to full access. For more information about building AWS IAM policy documents with Terraform, see the [AWS IAM Policy Document Guide](https://www.terraform.io/docs/providers/aws/guides/iam-policy-documents.html).
	Policy interface{}
	// The prefix list ID of the exposed AWS service. Applicable for endpoints of type `Gateway`.
	PrefixListId interface{}
	// Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type `Interface`.
	// Defaults to `false`.
	PrivateDnsEnabled interface{}
	// One or more route table IDs. Applicable for endpoints of type `Gateway`.
	RouteTableIds interface{}
	// The ID of one or more security groups to associate with the network interface. Required for endpoints of type `Interface`.
	SecurityGroupIds interface{}
	// The service name, in the form `com.amazonaws.region.service` for AWS services.
	ServiceName interface{}
	// The state of the VPC endpoint.
	State interface{}
	// The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `Interface`.
	SubnetIds interface{}
	// The VPC endpoint type, `Gateway` or `Interface`. Defaults to `Gateway`.
	VpcEndpointType interface{}
	// The ID of the VPC in which the endpoint will be used.
	VpcId interface{}
}

Input properties used for looking up and filtering VpcEndpoint resources.

type VpcEndpointSubnetAssociation

type VpcEndpointSubnetAssociation struct {
	// contains filtered or unexported fields
}

Provides a resource to create an association between a VPC endpoint and a subnet.

> **NOTE on VPC Endpoints and VPC Endpoint Subnet Associations:** Terraform provides both a standalone VPC Endpoint Subnet Association (an association between a VPC endpoint and a single `subnet_id`) and a VPC Endpoint resource with a `subnet_ids` 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.

func GetVpcEndpointSubnetAssociation

func GetVpcEndpointSubnetAssociation(ctx *pulumi.Context,
	name string, id pulumi.ID, state *VpcEndpointSubnetAssociationState, opts ...pulumi.ResourceOpt) (*VpcEndpointSubnetAssociation, error)

GetVpcEndpointSubnetAssociation gets an existing VpcEndpointSubnetAssociation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVpcEndpointSubnetAssociation

func NewVpcEndpointSubnetAssociation(ctx *pulumi.Context,
	name string, args *VpcEndpointSubnetAssociationArgs, opts ...pulumi.ResourceOpt) (*VpcEndpointSubnetAssociation, error)

NewVpcEndpointSubnetAssociation registers a new resource with the given unique name, arguments, and options.

func (*VpcEndpointSubnetAssociation) ID

ID is this resource's unique identifier assigned by its provider.

func (*VpcEndpointSubnetAssociation) SubnetId

The ID of the subnet to be associated with the VPC endpoint.

func (*VpcEndpointSubnetAssociation) URN

URN is this resource's unique name assigned by Pulumi.

func (*VpcEndpointSubnetAssociation) VpcEndpointId

func (r *VpcEndpointSubnetAssociation) VpcEndpointId() *pulumi.StringOutput

The ID of the VPC endpoint with which the subnet will be associated.

type VpcEndpointSubnetAssociationArgs

type VpcEndpointSubnetAssociationArgs struct {
	// The ID of the subnet to be associated with the VPC endpoint.
	SubnetId interface{}
	// The ID of the VPC endpoint with which the subnet will be associated.
	VpcEndpointId interface{}
}

The set of arguments for constructing a VpcEndpointSubnetAssociation resource.

type VpcEndpointSubnetAssociationState

type VpcEndpointSubnetAssociationState struct {
	// The ID of the subnet to be associated with the VPC endpoint.
	SubnetId interface{}
	// The ID of the VPC endpoint with which the subnet will be associated.
	VpcEndpointId interface{}
}

Input properties used for looking up and filtering VpcEndpointSubnetAssociation resources.

type VpcIpv4CidrBlockAssociation added in v0.14.2

type VpcIpv4CidrBlockAssociation struct {
	// contains filtered or unexported fields
}

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_vpc_ipv4_cidr_block_association` resource allows further IPv4 CIDR blocks to be added to the VPC.

func GetVpcIpv4CidrBlockAssociation added in v0.14.2

func GetVpcIpv4CidrBlockAssociation(ctx *pulumi.Context,
	name string, id pulumi.ID, state *VpcIpv4CidrBlockAssociationState, opts ...pulumi.ResourceOpt) (*VpcIpv4CidrBlockAssociation, error)

GetVpcIpv4CidrBlockAssociation gets an existing VpcIpv4CidrBlockAssociation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVpcIpv4CidrBlockAssociation added in v0.14.2

func NewVpcIpv4CidrBlockAssociation(ctx *pulumi.Context,
	name string, args *VpcIpv4CidrBlockAssociationArgs, opts ...pulumi.ResourceOpt) (*VpcIpv4CidrBlockAssociation, error)

NewVpcIpv4CidrBlockAssociation registers a new resource with the given unique name, arguments, and options.

func (*VpcIpv4CidrBlockAssociation) CidrBlock added in v0.14.2

The additional IPv4 CIDR block to associate with the VPC.

func (*VpcIpv4CidrBlockAssociation) ID added in v0.14.2

ID is this resource's unique identifier assigned by its provider.

func (*VpcIpv4CidrBlockAssociation) URN added in v0.14.2

URN is this resource's unique name assigned by Pulumi.

func (*VpcIpv4CidrBlockAssociation) VpcId added in v0.14.2

The ID of the VPC to make the association with.

type VpcIpv4CidrBlockAssociationArgs added in v0.14.2

type VpcIpv4CidrBlockAssociationArgs struct {
	// The additional IPv4 CIDR block to associate with the VPC.
	CidrBlock interface{}
	// The ID of the VPC to make the association with.
	VpcId interface{}
}

The set of arguments for constructing a VpcIpv4CidrBlockAssociation resource.

type VpcIpv4CidrBlockAssociationState added in v0.14.2

type VpcIpv4CidrBlockAssociationState struct {
	// The additional IPv4 CIDR block to associate with the VPC.
	CidrBlock interface{}
	// The ID of the VPC to make the association with.
	VpcId interface{}
}

Input properties used for looking up and filtering VpcIpv4CidrBlockAssociation resources.

type VpcPeeringConnection

type VpcPeeringConnection struct {
	// contains filtered or unexported fields
}

Provides a resource to manage a VPC peering connection.

> **NOTE on VPC Peering Connections and VPC Peering Connection Options:** Terraform 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_vpc_peering_connection` resource to manage the requester's side of the connection and use the `aws_vpc_peering_connection_accepter` resource to manage the accepter's side of the connection.

## Notes

If both VPCs are not in the same AWS account do not enable the `auto_accept` attribute. The accepter can manage its side of the connection using the `aws_vpc_peering_connection_accepter` resource or accept the connection manually using the AWS Management Console, AWS CLI, through SDKs, etc.

func GetVpcPeeringConnection

func GetVpcPeeringConnection(ctx *pulumi.Context,
	name string, id pulumi.ID, state *VpcPeeringConnectionState, opts ...pulumi.ResourceOpt) (*VpcPeeringConnection, error)

GetVpcPeeringConnection gets an existing VpcPeeringConnection resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVpcPeeringConnection

func NewVpcPeeringConnection(ctx *pulumi.Context,
	name string, args *VpcPeeringConnectionArgs, opts ...pulumi.ResourceOpt) (*VpcPeeringConnection, error)

NewVpcPeeringConnection registers a new resource with the given unique name, arguments, and options.

func (*VpcPeeringConnection) AcceptStatus

func (r *VpcPeeringConnection) AcceptStatus() *pulumi.StringOutput

The status of the VPC Peering Connection request.

func (*VpcPeeringConnection) Accepter

func (r *VpcPeeringConnection) Accepter() *pulumi.Output

An optional configuration block that allows for [VPC Peering Connection] (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide) options to be set for the VPC that accepts the peering connection (a maximum of one).

func (*VpcPeeringConnection) AutoAccept

func (r *VpcPeeringConnection) AutoAccept() *pulumi.BoolOutput

Accept the peering (both VPCs need to be in the same AWS account).

func (*VpcPeeringConnection) ID

ID is this resource's unique identifier assigned by its provider.

func (*VpcPeeringConnection) PeerOwnerId

func (r *VpcPeeringConnection) PeerOwnerId() *pulumi.StringOutput

The AWS account ID of the owner of the peer VPC. Defaults to the account ID the [AWS provider][1] is currently connected to.

func (*VpcPeeringConnection) PeerRegion

func (r *VpcPeeringConnection) PeerRegion() *pulumi.StringOutput

The region of the accepter VPC of the [VPC Peering Connection]. `auto_accept` must be `false`, and use the `aws_vpc_peering_connection_accepter` to manage the accepter side.

func (*VpcPeeringConnection) PeerVpcId

func (r *VpcPeeringConnection) PeerVpcId() *pulumi.StringOutput

The ID of the VPC with which you are creating the VPC Peering Connection.

func (*VpcPeeringConnection) Requester

func (r *VpcPeeringConnection) Requester() *pulumi.Output

A optional configuration block that allows for [VPC Peering Connection] (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide) options to be set for the VPC that requests the peering connection (a maximum of one).

func (*VpcPeeringConnection) Tags

A mapping of tags to assign to the resource.

func (*VpcPeeringConnection) URN

URN is this resource's unique name assigned by Pulumi.

func (*VpcPeeringConnection) VpcId

The ID of the requester VPC.

type VpcPeeringConnectionAccepter

type VpcPeeringConnectionAccepter struct {
	// contains filtered or unexported fields
}

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_vpc_peering_connection` resource to manage its side of the connection and the accepter can use the `aws_vpc_peering_connection_accepter` resource to "adopt" its side of the connection into management.

func GetVpcPeeringConnectionAccepter

func GetVpcPeeringConnectionAccepter(ctx *pulumi.Context,
	name string, id pulumi.ID, state *VpcPeeringConnectionAccepterState, opts ...pulumi.ResourceOpt) (*VpcPeeringConnectionAccepter, error)

GetVpcPeeringConnectionAccepter gets an existing VpcPeeringConnectionAccepter resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVpcPeeringConnectionAccepter

func NewVpcPeeringConnectionAccepter(ctx *pulumi.Context,
	name string, args *VpcPeeringConnectionAccepterArgs, opts ...pulumi.ResourceOpt) (*VpcPeeringConnectionAccepter, error)

NewVpcPeeringConnectionAccepter registers a new resource with the given unique name, arguments, and options.

func (*VpcPeeringConnectionAccepter) AcceptStatus

The status of the VPC Peering Connection request.

func (*VpcPeeringConnectionAccepter) Accepter

A configuration block that describes [VPC Peering Connection] (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide) options set for the accepter VPC.

func (*VpcPeeringConnectionAccepter) AutoAccept

Whether or not to accept the peering request. Defaults to `false`.

func (*VpcPeeringConnectionAccepter) ID

ID is this resource's unique identifier assigned by its provider.

func (*VpcPeeringConnectionAccepter) PeerOwnerId

The AWS account ID of the owner of the requester VPC.

func (*VpcPeeringConnectionAccepter) PeerRegion

The region of the accepter VPC.

func (*VpcPeeringConnectionAccepter) PeerVpcId

The ID of the requester VPC.

func (*VpcPeeringConnectionAccepter) Requester

func (r *VpcPeeringConnectionAccepter) Requester() *pulumi.Output

A configuration block that describes [VPC Peering Connection] (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide) options set for the requester VPC.

func (*VpcPeeringConnectionAccepter) Tags

A mapping of tags to assign to the resource.

func (*VpcPeeringConnectionAccepter) URN

URN is this resource's unique name assigned by Pulumi.

func (*VpcPeeringConnectionAccepter) VpcId

The ID of the accepter VPC.

func (*VpcPeeringConnectionAccepter) VpcPeeringConnectionId

func (r *VpcPeeringConnectionAccepter) VpcPeeringConnectionId() *pulumi.StringOutput

The VPC Peering Connection ID to manage.

type VpcPeeringConnectionAccepterArgs

type VpcPeeringConnectionAccepterArgs struct {
	// A configuration block that describes [VPC Peering Connection]
	// (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide) options set for the accepter VPC.
	Accepter interface{}
	// Whether or not to accept the peering request. Defaults to `false`.
	AutoAccept interface{}
	// A configuration block that describes [VPC Peering Connection]
	// (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide) options set for the requester VPC.
	Requester interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// The VPC Peering Connection ID to manage.
	VpcPeeringConnectionId interface{}
}

The set of arguments for constructing a VpcPeeringConnectionAccepter resource.

type VpcPeeringConnectionAccepterState

type VpcPeeringConnectionAccepterState struct {
	// The status of the VPC Peering Connection request.
	AcceptStatus interface{}
	// A configuration block that describes [VPC Peering Connection]
	// (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide) options set for the accepter VPC.
	Accepter interface{}
	// Whether or not to accept the peering request. Defaults to `false`.
	AutoAccept interface{}
	// The AWS account ID of the owner of the requester VPC.
	PeerOwnerId interface{}
	// The region of the accepter VPC.
	PeerRegion interface{}
	// The ID of the requester VPC.
	PeerVpcId interface{}
	// A configuration block that describes [VPC Peering Connection]
	// (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide) options set for the requester VPC.
	Requester interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// The ID of the accepter VPC.
	VpcId interface{}
	// The VPC Peering Connection ID to manage.
	VpcPeeringConnectionId interface{}
}

Input properties used for looking up and filtering VpcPeeringConnectionAccepter resources.

type VpcPeeringConnectionArgs

type VpcPeeringConnectionArgs struct {
	// An optional configuration block that allows for [VPC Peering Connection]
	// (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide) options to be set for the VPC that accepts
	// the peering connection (a maximum of one).
	Accepter interface{}
	// Accept the peering (both VPCs need to be in the same AWS account).
	AutoAccept interface{}
	// The AWS account ID of the owner of the peer VPC.
	// Defaults to the account ID the [AWS provider][1] is currently connected to.
	PeerOwnerId interface{}
	// The region of the accepter VPC of the [VPC Peering Connection]. `auto_accept` must be `false`,
	// and use the `aws_vpc_peering_connection_accepter` to manage the accepter side.
	PeerRegion interface{}
	// The ID of the VPC with which you are creating the VPC Peering Connection.
	PeerVpcId interface{}
	// A optional configuration block that allows for [VPC Peering Connection]
	// (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide) options to be set for the VPC that requests
	// the peering connection (a maximum of one).
	Requester interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// The ID of the requester VPC.
	VpcId interface{}
}

The set of arguments for constructing a VpcPeeringConnection resource.

type VpcPeeringConnectionState

type VpcPeeringConnectionState struct {
	// The status of the VPC Peering Connection request.
	AcceptStatus interface{}
	// An optional configuration block that allows for [VPC Peering Connection]
	// (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide) options to be set for the VPC that accepts
	// the peering connection (a maximum of one).
	Accepter interface{}
	// Accept the peering (both VPCs need to be in the same AWS account).
	AutoAccept interface{}
	// The AWS account ID of the owner of the peer VPC.
	// Defaults to the account ID the [AWS provider][1] is currently connected to.
	PeerOwnerId interface{}
	// The region of the accepter VPC of the [VPC Peering Connection]. `auto_accept` must be `false`,
	// and use the `aws_vpc_peering_connection_accepter` to manage the accepter side.
	PeerRegion interface{}
	// The ID of the VPC with which you are creating the VPC Peering Connection.
	PeerVpcId interface{}
	// A optional configuration block that allows for [VPC Peering Connection]
	// (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide) options to be set for the VPC that requests
	// the peering connection (a maximum of one).
	Requester interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// The ID of the requester VPC.
	VpcId interface{}
}

Input properties used for looking up and filtering VpcPeeringConnection resources.

type VpcState

type VpcState struct {
	// Amazon Resource Name (ARN) of VPC
	Arn interface{}
	// 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`.
	AssignGeneratedIpv6CidrBlock interface{}
	// The CIDR block for the VPC.
	CidrBlock interface{}
	// The ID of the network ACL created by default on VPC creation
	DefaultNetworkAclId interface{}
	// The ID of the route table created by default on VPC creation
	DefaultRouteTableId interface{}
	// The ID of the security group created by default on VPC creation
	DefaultSecurityGroupId interface{}
	DhcpOptionsId          interface{}
	// A boolean flag to enable/disable ClassicLink
	// for the VPC. Only valid in regions and accounts that support EC2 Classic.
	// See the [ClassicLink documentation][1] for more information. Defaults false.
	EnableClassiclink interface{}
	// A boolean flag to enable/disable ClassicLink DNS Support for the VPC.
	// Only valid in regions and accounts that support EC2 Classic.
	EnableClassiclinkDnsSupport interface{}
	// A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.
	EnableDnsHostnames interface{}
	// A boolean flag to enable/disable DNS support in the VPC. Defaults true.
	EnableDnsSupport interface{}
	// A tenancy option for instances launched into the VPC
	InstanceTenancy interface{}
	// The association ID for the IPv6 CIDR block.
	Ipv6AssociationId interface{}
	// The IPv6 CIDR block.
	Ipv6CidrBlock interface{}
	// 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_main_route_table_association`](https://www.terraform.io/docs/providers/aws/r/main_route_table_assoc.html).
	MainRouteTableId interface{}
	// The ID of the AWS account that owns the VPC.
	OwnerId interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
}

Input properties used for looking up and filtering Vpc resources.

type VpnConnection

type VpnConnection struct {
	// contains filtered or unexported fields
}

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 `tunnel1_preshared_key` and `tunnel2_preshared_key` will be stored in the raw state as plain-text. [Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html).

> **Note:** The CIDR blocks in the arguments `tunnel1_inside_cidr` and `tunnel2_inside_cidr` must have a prefix of /30 and be a part of a specific range. [Read more about this in the AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpnTunnelOptionsSpecification.html).

func GetVpnConnection

func GetVpnConnection(ctx *pulumi.Context,
	name string, id pulumi.ID, state *VpnConnectionState, opts ...pulumi.ResourceOpt) (*VpnConnection, error)

GetVpnConnection gets an existing VpnConnection resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVpnConnection

func NewVpnConnection(ctx *pulumi.Context,
	name string, args *VpnConnectionArgs, opts ...pulumi.ResourceOpt) (*VpnConnection, error)

NewVpnConnection registers a new resource with the given unique name, arguments, and options.

func (*VpnConnection) CustomerGatewayConfiguration

func (r *VpnConnection) CustomerGatewayConfiguration() *pulumi.StringOutput

The configuration information for the VPN connection's customer gateway (in the native XML format).

func (*VpnConnection) CustomerGatewayId

func (r *VpnConnection) CustomerGatewayId() *pulumi.StringOutput

The ID of the customer gateway.

func (*VpnConnection) ID

func (r *VpnConnection) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*VpnConnection) Routes

func (r *VpnConnection) Routes() *pulumi.ArrayOutput

func (*VpnConnection) StaticRoutesOnly

func (r *VpnConnection) StaticRoutesOnly() *pulumi.BoolOutput

Whether the VPN connection uses static routes exclusively. Static routes must be used for devices that don't support BGP.

func (*VpnConnection) Tags

func (r *VpnConnection) Tags() *pulumi.MapOutput

Tags to apply to the connection.

func (*VpnConnection) TransitGatewayAttachmentId added in v0.18.1

func (r *VpnConnection) TransitGatewayAttachmentId() *pulumi.StringOutput

When associated with an EC2 Transit Gateway (`transit_gateway_id` argument), the attachment ID.

func (*VpnConnection) TransitGatewayId added in v0.16.3

func (r *VpnConnection) TransitGatewayId() *pulumi.StringOutput

The ID of the EC2 Transit Gateway.

func (*VpnConnection) Tunnel1Address

func (r *VpnConnection) Tunnel1Address() *pulumi.StringOutput

The public IP address of the first VPN tunnel.

func (*VpnConnection) Tunnel1BgpAsn

func (r *VpnConnection) Tunnel1BgpAsn() *pulumi.StringOutput

The bgp asn number of the first VPN tunnel.

func (*VpnConnection) Tunnel1BgpHoldtime

func (r *VpnConnection) Tunnel1BgpHoldtime() *pulumi.IntOutput

The bgp holdtime of the first VPN tunnel.

func (*VpnConnection) Tunnel1CgwInsideAddress

func (r *VpnConnection) Tunnel1CgwInsideAddress() *pulumi.StringOutput

The RFC 6890 link-local address of the first VPN tunnel (Customer Gateway Side).

func (*VpnConnection) Tunnel1InsideCidr

func (r *VpnConnection) Tunnel1InsideCidr() *pulumi.StringOutput

The CIDR block of the inside IP addresses for the first VPN tunnel.

func (*VpnConnection) Tunnel1PresharedKey

func (r *VpnConnection) Tunnel1PresharedKey() *pulumi.StringOutput

The preshared key of the first VPN tunnel.

func (*VpnConnection) Tunnel1VgwInsideAddress

func (r *VpnConnection) Tunnel1VgwInsideAddress() *pulumi.StringOutput

The RFC 6890 link-local address of the first VPN tunnel (VPN Gateway Side).

func (*VpnConnection) Tunnel2Address

func (r *VpnConnection) Tunnel2Address() *pulumi.StringOutput

The public IP address of the second VPN tunnel.

func (*VpnConnection) Tunnel2BgpAsn

func (r *VpnConnection) Tunnel2BgpAsn() *pulumi.StringOutput

The bgp asn number of the second VPN tunnel.

func (*VpnConnection) Tunnel2BgpHoldtime

func (r *VpnConnection) Tunnel2BgpHoldtime() *pulumi.IntOutput

The bgp holdtime of the second VPN tunnel.

func (*VpnConnection) Tunnel2CgwInsideAddress

func (r *VpnConnection) Tunnel2CgwInsideAddress() *pulumi.StringOutput

The RFC 6890 link-local address of the second VPN tunnel (Customer Gateway Side).

func (*VpnConnection) Tunnel2InsideCidr

func (r *VpnConnection) Tunnel2InsideCidr() *pulumi.StringOutput

The CIDR block of the second IP addresses for the first VPN tunnel.

func (*VpnConnection) Tunnel2PresharedKey

func (r *VpnConnection) Tunnel2PresharedKey() *pulumi.StringOutput

The preshared key of the second VPN tunnel.

func (*VpnConnection) Tunnel2VgwInsideAddress

func (r *VpnConnection) Tunnel2VgwInsideAddress() *pulumi.StringOutput

The RFC 6890 link-local address of the second VPN tunnel (VPN Gateway Side).

func (*VpnConnection) Type

func (r *VpnConnection) Type() *pulumi.StringOutput

The type of VPN connection. The only type AWS supports at this time is "ipsec.1".

func (*VpnConnection) URN

func (r *VpnConnection) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*VpnConnection) VgwTelemetries

func (r *VpnConnection) VgwTelemetries() *pulumi.ArrayOutput

func (*VpnConnection) VpnGatewayId

func (r *VpnConnection) VpnGatewayId() *pulumi.StringOutput

The ID of the Virtual Private Gateway.

type VpnConnectionArgs

type VpnConnectionArgs struct {
	// The ID of the customer gateway.
	CustomerGatewayId interface{}
	// Whether the VPN connection uses static routes exclusively. Static routes must be used for devices that don't support BGP.
	StaticRoutesOnly interface{}
	// Tags to apply to the connection.
	Tags interface{}
	// The ID of the EC2 Transit Gateway.
	TransitGatewayId interface{}
	// The CIDR block of the inside IP addresses for the first VPN tunnel.
	Tunnel1InsideCidr interface{}
	// The preshared key of the first VPN tunnel.
	Tunnel1PresharedKey interface{}
	// The CIDR block of the second IP addresses for the first VPN tunnel.
	Tunnel2InsideCidr interface{}
	// The preshared key of the second VPN tunnel.
	Tunnel2PresharedKey interface{}
	// The type of VPN connection. The only type AWS supports at this time is "ipsec.1".
	Type interface{}
	// The ID of the Virtual Private Gateway.
	VpnGatewayId interface{}
}

The set of arguments for constructing a VpnConnection resource.

type VpnConnectionRoute

type VpnConnectionRoute struct {
	// contains filtered or unexported fields
}

Provides a static route between a VPN connection and a customer gateway.

func GetVpnConnectionRoute

func GetVpnConnectionRoute(ctx *pulumi.Context,
	name string, id pulumi.ID, state *VpnConnectionRouteState, opts ...pulumi.ResourceOpt) (*VpnConnectionRoute, error)

GetVpnConnectionRoute gets an existing VpnConnectionRoute resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVpnConnectionRoute

func NewVpnConnectionRoute(ctx *pulumi.Context,
	name string, args *VpnConnectionRouteArgs, opts ...pulumi.ResourceOpt) (*VpnConnectionRoute, error)

NewVpnConnectionRoute registers a new resource with the given unique name, arguments, and options.

func (*VpnConnectionRoute) DestinationCidrBlock

func (r *VpnConnectionRoute) DestinationCidrBlock() *pulumi.StringOutput

The CIDR block associated with the local subnet of the customer network.

func (*VpnConnectionRoute) ID

ID is this resource's unique identifier assigned by its provider.

func (*VpnConnectionRoute) URN

URN is this resource's unique name assigned by Pulumi.

func (*VpnConnectionRoute) VpnConnectionId

func (r *VpnConnectionRoute) VpnConnectionId() *pulumi.StringOutput

The ID of the VPN connection.

type VpnConnectionRouteArgs

type VpnConnectionRouteArgs struct {
	// The CIDR block associated with the local subnet of the customer network.
	DestinationCidrBlock interface{}
	// The ID of the VPN connection.
	VpnConnectionId interface{}
}

The set of arguments for constructing a VpnConnectionRoute resource.

type VpnConnectionRouteState

type VpnConnectionRouteState struct {
	// The CIDR block associated with the local subnet of the customer network.
	DestinationCidrBlock interface{}
	// The ID of the VPN connection.
	VpnConnectionId interface{}
}

Input properties used for looking up and filtering VpnConnectionRoute resources.

type VpnConnectionState

type VpnConnectionState struct {
	// The configuration information for the VPN connection's customer gateway (in the native XML format).
	CustomerGatewayConfiguration interface{}
	// The ID of the customer gateway.
	CustomerGatewayId interface{}
	Routes            interface{}
	// Whether the VPN connection uses static routes exclusively. Static routes must be used for devices that don't support BGP.
	StaticRoutesOnly interface{}
	// Tags to apply to the connection.
	Tags interface{}
	// When associated with an EC2 Transit Gateway (`transit_gateway_id` argument), the attachment ID.
	TransitGatewayAttachmentId interface{}
	// The ID of the EC2 Transit Gateway.
	TransitGatewayId interface{}
	// The public IP address of the first VPN tunnel.
	Tunnel1Address interface{}
	// The bgp asn number of the first VPN tunnel.
	Tunnel1BgpAsn interface{}
	// The bgp holdtime of the first VPN tunnel.
	Tunnel1BgpHoldtime interface{}
	// The RFC 6890 link-local address of the first VPN tunnel (Customer Gateway Side).
	Tunnel1CgwInsideAddress interface{}
	// The CIDR block of the inside IP addresses for the first VPN tunnel.
	Tunnel1InsideCidr interface{}
	// The preshared key of the first VPN tunnel.
	Tunnel1PresharedKey interface{}
	// The RFC 6890 link-local address of the first VPN tunnel (VPN Gateway Side).
	Tunnel1VgwInsideAddress interface{}
	// The public IP address of the second VPN tunnel.
	Tunnel2Address interface{}
	// The bgp asn number of the second VPN tunnel.
	Tunnel2BgpAsn interface{}
	// The bgp holdtime of the second VPN tunnel.
	Tunnel2BgpHoldtime interface{}
	// The RFC 6890 link-local address of the second VPN tunnel (Customer Gateway Side).
	Tunnel2CgwInsideAddress interface{}
	// The CIDR block of the second IP addresses for the first VPN tunnel.
	Tunnel2InsideCidr interface{}
	// The preshared key of the second VPN tunnel.
	Tunnel2PresharedKey interface{}
	// The RFC 6890 link-local address of the second VPN tunnel (VPN Gateway Side).
	Tunnel2VgwInsideAddress interface{}
	// The type of VPN connection. The only type AWS supports at this time is "ipsec.1".
	Type           interface{}
	VgwTelemetries interface{}
	// The ID of the Virtual Private Gateway.
	VpnGatewayId interface{}
}

Input properties used for looking up and filtering VpnConnection resources.

type VpnGateway

type VpnGateway struct {
	// contains filtered or unexported fields
}

Provides a resource to create a VPC VPN Gateway.

func GetVpnGateway

func GetVpnGateway(ctx *pulumi.Context,
	name string, id pulumi.ID, state *VpnGatewayState, opts ...pulumi.ResourceOpt) (*VpnGateway, error)

GetVpnGateway gets an existing VpnGateway resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVpnGateway

func NewVpnGateway(ctx *pulumi.Context,
	name string, args *VpnGatewayArgs, opts ...pulumi.ResourceOpt) (*VpnGateway, error)

NewVpnGateway registers a new resource with the given unique name, arguments, and options.

func (*VpnGateway) AmazonSideAsn

func (r *VpnGateway) AmazonSideAsn() *pulumi.StringOutput

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.

func (*VpnGateway) AvailabilityZone

func (r *VpnGateway) AvailabilityZone() *pulumi.StringOutput

The Availability Zone for the virtual private gateway.

func (*VpnGateway) ID

func (r *VpnGateway) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*VpnGateway) Tags

func (r *VpnGateway) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource.

func (*VpnGateway) URN

func (r *VpnGateway) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*VpnGateway) VpcId

func (r *VpnGateway) VpcId() *pulumi.StringOutput

The VPC ID to create in.

type VpnGatewayArgs

type VpnGatewayArgs struct {
	// 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.
	AmazonSideAsn interface{}
	// The Availability Zone for the virtual private gateway.
	AvailabilityZone interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// The VPC ID to create in.
	VpcId interface{}
}

The set of arguments for constructing a VpnGateway resource.

type VpnGatewayAttachment

type VpnGatewayAttachment struct {
	// contains filtered or unexported fields
}

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_vpn_gateway` resource can also automatically attach the Virtual Private Gateway it creates to an existing VPC by setting the `vpc_id` attribute accordingly.

func GetVpnGatewayAttachment

func GetVpnGatewayAttachment(ctx *pulumi.Context,
	name string, id pulumi.ID, state *VpnGatewayAttachmentState, opts ...pulumi.ResourceOpt) (*VpnGatewayAttachment, error)

GetVpnGatewayAttachment gets an existing VpnGatewayAttachment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVpnGatewayAttachment

func NewVpnGatewayAttachment(ctx *pulumi.Context,
	name string, args *VpnGatewayAttachmentArgs, opts ...pulumi.ResourceOpt) (*VpnGatewayAttachment, error)

NewVpnGatewayAttachment registers a new resource with the given unique name, arguments, and options.

func (*VpnGatewayAttachment) ID

ID is this resource's unique identifier assigned by its provider.

func (*VpnGatewayAttachment) URN

URN is this resource's unique name assigned by Pulumi.

func (*VpnGatewayAttachment) VpcId

The ID of the VPC.

func (*VpnGatewayAttachment) VpnGatewayId

func (r *VpnGatewayAttachment) VpnGatewayId() *pulumi.StringOutput

The ID of the Virtual Private Gateway.

type VpnGatewayAttachmentArgs

type VpnGatewayAttachmentArgs struct {
	// The ID of the VPC.
	VpcId interface{}
	// The ID of the Virtual Private Gateway.
	VpnGatewayId interface{}
}

The set of arguments for constructing a VpnGatewayAttachment resource.

type VpnGatewayAttachmentState

type VpnGatewayAttachmentState struct {
	// The ID of the VPC.
	VpcId interface{}
	// The ID of the Virtual Private Gateway.
	VpnGatewayId interface{}
}

Input properties used for looking up and filtering VpnGatewayAttachment resources.

type VpnGatewayRoutePropagation

type VpnGatewayRoutePropagation struct {
	// contains filtered or unexported fields
}

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 `propagating_vgws` argument set. If that argument is set, any route propagation not explicitly listed in its value will be removed.

func GetVpnGatewayRoutePropagation

func GetVpnGatewayRoutePropagation(ctx *pulumi.Context,
	name string, id pulumi.ID, state *VpnGatewayRoutePropagationState, opts ...pulumi.ResourceOpt) (*VpnGatewayRoutePropagation, error)

GetVpnGatewayRoutePropagation gets an existing VpnGatewayRoutePropagation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVpnGatewayRoutePropagation

func NewVpnGatewayRoutePropagation(ctx *pulumi.Context,
	name string, args *VpnGatewayRoutePropagationArgs, opts ...pulumi.ResourceOpt) (*VpnGatewayRoutePropagation, error)

NewVpnGatewayRoutePropagation registers a new resource with the given unique name, arguments, and options.

func (*VpnGatewayRoutePropagation) ID

ID is this resource's unique identifier assigned by its provider.

func (*VpnGatewayRoutePropagation) RouteTableId

func (r *VpnGatewayRoutePropagation) RouteTableId() *pulumi.StringOutput

The id of the `aws_route_table` to propagate routes into.

func (*VpnGatewayRoutePropagation) URN

URN is this resource's unique name assigned by Pulumi.

func (*VpnGatewayRoutePropagation) VpnGatewayId

func (r *VpnGatewayRoutePropagation) VpnGatewayId() *pulumi.StringOutput

The id of the `aws_vpn_gateway` to propagate routes from.

type VpnGatewayRoutePropagationArgs

type VpnGatewayRoutePropagationArgs struct {
	// The id of the `aws_route_table` to propagate routes into.
	RouteTableId interface{}
	// The id of the `aws_vpn_gateway` to propagate routes from.
	VpnGatewayId interface{}
}

The set of arguments for constructing a VpnGatewayRoutePropagation resource.

type VpnGatewayRoutePropagationState

type VpnGatewayRoutePropagationState struct {
	// The id of the `aws_route_table` to propagate routes into.
	RouteTableId interface{}
	// The id of the `aws_vpn_gateway` to propagate routes from.
	VpnGatewayId interface{}
}

Input properties used for looking up and filtering VpnGatewayRoutePropagation resources.

type VpnGatewayState

type VpnGatewayState struct {
	// 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.
	AmazonSideAsn interface{}
	// The Availability Zone for the virtual private gateway.
	AvailabilityZone interface{}
	// A mapping of tags to assign to the resource.
	Tags interface{}
	// The VPC ID to create in.
	VpcId interface{}
}

Input properties used for looking up and filtering VpnGateway resources.

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL