Module ec2
This page documents the language specification for the aws package. If you're looking for help working with the inputs, outputs, or functions of aws resources in a Pulumi program, please see the resource documentation for examples and API reference.
This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the
pulumi/pulumi-awsrepo; however, if that doesn’t turn up anything, please consult the sourceterraform-providers/terraform-provider-awsrepo.
namespace InstancePlatforms
- LinuxUnixPlatform
- RedHatEnterpriseLinuxPlatform
- SuseLinuxPlatform
- WindowsPlatform
- WindowsWithSqlServerEnterprisePlatform
- WindowsWithSqlServerPlatform
- WindowsWithSqlServerStandardPlatform
- WindowsWithSqlServerWebPlatform
namespace InstanceTypes
- A1_2XLarge
- A1_4XLarge
- A1_Large
- A1_Medium
- A1_XLarge
- C3_2XLarge
- C3_4XLarge
- C3_8XLarge
- C3_Large
- C3_XLarge
- C4_2XLarge
- C4_4XLarge
- C4_8XLarge
- C4_Large
- C4_XLarge
- C5_18XLarge
- C5_2XLarge
- C5_4XLarge
- C5_9XLarge
- C5_Large
- C5_XLarge
- C5d_18XLarge
- C5d_2XLarge
- C5d_4XLarge
- C5d_9XLarge
- C5d_Large
- C5d_XLarge
- C5n_18XLarge
- C5n_2XLarge
- C5n_4XLarge
- C5n_9XLarge
- C5n_Large
- C5n_XLarge
- D2_2XLarge
- D2_4XLarge
- D2_8XLarge
- D2_XLarge
- F1_16XLarge
- F1_2XLarge
- G2_2XLarge
- G2_8XLarge
- G3_16XLarge
- G3_4XLarge
- G3_8XLarge
- G3s_XLarge
- H1_16XLarge
- H1_2XLarge
- H1_4XLarge
- H1_8XLarge
- Hs1_8XLarge
- I3_16XLarge
- I3_2XLarge
- I3_4XLarge
- I3_8XLarge
- I3_Large
- I3_Metal
- I3_XLarge
- M3_2XLarge
- M3_Large
- M3_Medium
- M3_XLarge
- M4_10XLarge
- M4_16XLarge
- M4_2XLarge
- M4_4XLarge
- M4_Large
- M4_XLarge
- M5_12XLarge
- M5_24XLarge
- M5_2XLarge
- M5_4XLarge
- M5_Large
- M5_XLarge
- M5a_12XLarge
- M5a_24XLarge
- M5a_2XLarge
- M5a_4XLarge
- M5a_Large
- M5a_XLarge
- M5d_12XLarge
- M5d_24XLarge
- M5d_2XLarge
- M5d_4XLarge
- M5d_Large
- M5d_XLarge
- P2_16XLarge
- P2_8XLarge
- P2_XLarge
- P3_16XLarge
- P3_2XLarge
- P3_8XLarge
- P3dn_24XLarge
- R3_2XLarge
- R3_4XLarge
- R3_8XLarge
- R3_Large
- R3_XLarge
- R4_16XLarge
- R4_2XLarge
- R4_4XLarge
- R4_8XLarge
- R4_Large
- R4_XLarge
- R5_12XLarge
- R5_24XLarge
- R5_2XLarge
- R5_4XLarge
- R5_Large
- R5_XLarge
- R5a_12XLarge
- R5a_24XLarge
- R5a_2XLarge
- R5a_4XLarge
- R5a_Large
- R5a_XLarge
- R5d_12XLarge
- R5d_24XLarge
- R5d_2XLarge
- R5d_4XLarge
- R5d_Large
- R5d_XLarge
- T2_2XLarge
- T2_Large
- T2_Medium
- T2_Micro
- T2_Nano
- T2_Small
- T2_XLarge
- T3_2XLarge
- T3_Large
- T3_Medium
- T3_Micro
- T3_Nano
- T3_Small
- T3_XLarge
- T3a_2XLarge
- T3a_Large
- T3a_Medium
- T3a_Micro
- T3a_Nano
- T3a_Small
- T3a_XLarge
- U_12tb1Metal
- U_6tb1Metal
- U_9tb1Metal
- X1_16XLarge
- X1_32XLarge
- X1e_16XLarge
- X1e_2XLarge
- X1e_32XLarge
- X1e_4XLarge
- X1e_8XLarge
- X1e_XLarge
- Z1d_12XLarge
- Z1d_2XLarge
- Z1d_3XLarge
- Z1d_6XLarge
- Z1d_Large
- Z1d_XLarge
namespace Tenancies
Resources
- Ami
- AmiCopy
- AmiFromInstance
- AmiLaunchPermission
- AvailabilityZoneGroup
- CapacityReservation
- CustomerGateway
- DefaultNetworkAcl
- DefaultRouteTable
- DefaultSecurityGroup
- DefaultSubnet
- DefaultVpc
- DefaultVpcDhcpOptions
- EgressOnlyInternetGateway
- Eip
- EipAssociation
- Fleet
- FlowLog
- Instance
- InternetGateway
- KeyPair
- LaunchConfiguration
- LaunchTemplate
- MainRouteTableAssociation
- NatGateway
- NetworkAcl
- NetworkAclRule
- NetworkInterface
- NetworkInterfaceAttachment
- NetworkInterfaceSecurityGroupAttachment
- PeeringConnectionOptions
- PlacementGroup
- ProxyProtocolPolicy
- Route
- RouteTable
- RouteTableAssociation
- SecurityGroup
- SecurityGroupRule
- SnapshotCreateVolumePermission
- SpotDatafeedSubscription
- SpotFleetRequest
- SpotInstanceRequest
- Subnet
- TrafficMirrorFilter
- TrafficMirrorFilterRule
- TrafficMirrorSession
- TrafficMirrorTarget
- TransitGatewayPeeringAttachmentAccepter
- VolumeAttachment
- Vpc
- VpcDhcpOptions
- VpcDhcpOptionsAssociation
- VpcEndpoint
- VpcEndpointConnectionNotification
- VpcEndpointRouteTableAssociation
- VpcEndpointService
- VpcEndpointServiceAllowedPrinciple
- VpcEndpointSubnetAssociation
- VpcIpv4CidrBlockAssociation
- VpcPeeringConnection
- VpcPeeringConnectionAccepter
- VpnConnection
- VpnConnectionRoute
- VpnGateway
- VpnGatewayAttachment
- VpnGatewayRoutePropagation
Functions
- getCoipPool
- getCoipPools
- getCustomerGateway
- getInstance
- getInstances
- getInstanceTypeOffering
- getInstanceTypeOfferings
- getInternetGateway
- getLaunchConfiguration
- getLaunchTemplate
- getLocalGateway
- getLocalGatewayRouteTable
- getLocalGatewayRouteTables
- getLocalGateways
- getNatGateway
- getNetworkAcls
- getNetworkInterface
- getNetworkInterfaces
- getRoute
- getRouteTable
- getRouteTables
- getSecurityGroup
- getSecurityGroups
- getSubnet
- getSubnetIds
- getVpc
- getVpcDhcpOptions
- getVpcEndpoint
- getVpcEndpointService
- getVpcPeeringConnection
- getVpcs
- getVpnGateway
Others
- AllProtocols
- AmiArgs
- AmiCopyArgs
- AmiCopyState
- AmiFromInstanceArgs
- AmiFromInstanceState
- AmiLaunchPermissionArgs
- AmiLaunchPermissionState
- AmiState
- AvailabilityZoneGroupArgs
- AvailabilityZoneGroupState
- CapacityReservationArgs
- CapacityReservationState
- ClusterStrategy
- CustomerGatewayArgs
- CustomerGatewayState
- DedicatedTenancy
- DefaultNetworkAclArgs
- DefaultNetworkAclState
- DefaultRouteTableArgs
- DefaultRouteTableState
- DefaultSecurityGroupArgs
- DefaultSecurityGroupState
- DefaultSubnetArgs
- DefaultSubnetState
- DefaultTenancy
- DefaultVpcArgs
- DefaultVpcDhcpOptionsArgs
- DefaultVpcDhcpOptionsState
- DefaultVpcState
- EgressOnlyInternetGatewayArgs
- EgressOnlyInternetGatewayState
- EipArgs
- EipAssociationArgs
- EipAssociationState
- EipState
- FleetArgs
- FleetState
- FlowLogArgs
- FlowLogState
- GetCoipPoolArgs
- GetCoipPoolResult
- GetCoipPoolsArgs
- GetCoipPoolsResult
- GetCustomerGatewayArgs
- GetCustomerGatewayResult
- GetInstanceArgs
- GetInstanceResult
- GetInstancesArgs
- GetInstancesResult
- GetInstanceTypeOfferingArgs
- GetInstanceTypeOfferingResult
- GetInstanceTypeOfferingsArgs
- GetInstanceTypeOfferingsResult
- GetInternetGatewayArgs
- GetInternetGatewayResult
- GetLaunchConfigurationArgs
- GetLaunchConfigurationResult
- GetLaunchTemplateArgs
- GetLaunchTemplateResult
- GetLocalGatewayArgs
- GetLocalGatewayResult
- GetLocalGatewayRouteTableArgs
- GetLocalGatewayRouteTableResult
- GetLocalGatewayRouteTablesArgs
- GetLocalGatewayRouteTablesResult
- GetLocalGatewaysArgs
- GetLocalGatewaysResult
- GetNatGatewayArgs
- GetNatGatewayResult
- GetNetworkAclsArgs
- GetNetworkAclsResult
- GetNetworkInterfaceArgs
- GetNetworkInterfaceResult
- GetNetworkInterfacesArgs
- GetNetworkInterfacesResult
- GetRouteArgs
- GetRouteResult
- GetRouteTableArgs
- GetRouteTableResult
- GetRouteTablesArgs
- GetRouteTablesResult
- GetSecurityGroupArgs
- GetSecurityGroupResult
- GetSecurityGroupsArgs
- GetSecurityGroupsResult
- GetSubnetArgs
- GetSubnetIdsArgs
- GetSubnetIdsResult
- GetSubnetResult
- GetVpcArgs
- GetVpcDhcpOptionsArgs
- GetVpcDhcpOptionsResult
- GetVpcEndpointArgs
- GetVpcEndpointResult
- GetVpcEndpointServiceArgs
- GetVpcEndpointServiceResult
- GetVpcPeeringConnectionArgs
- GetVpcPeeringConnectionResult
- GetVpcResult
- GetVpcsArgs
- GetVpcsResult
- GetVpnGatewayArgs
- GetVpnGatewayResult
- ICMPProtocol
- InstanceArgs
- InstancePlatform
- InstanceState
- InstanceType
- InternetGatewayArgs
- InternetGatewayState
- KeyPairArgs
- KeyPairState
- LaunchConfigurationArgs
- LaunchConfigurationState
- LaunchTemplateArgs
- LaunchTemplateState
- LinuxUnixPlatform
- MainRouteTableAssociationArgs
- MainRouteTableAssociationState
- NatGatewayArgs
- NatGatewayState
- NetworkAclArgs
- NetworkAclRuleArgs
- NetworkAclRuleState
- NetworkAclState
- NetworkInterfaceArgs
- NetworkInterfaceAttachmentArgs
- NetworkInterfaceAttachmentState
- NetworkInterfaceSecurityGroupAttachmentArgs
- NetworkInterfaceSecurityGroupAttachmentState
- NetworkInterfaceState
- PeeringConnectionOptionsArgs
- PeeringConnectionOptionsState
- PlacementGroupArgs
- PlacementGroupState
- PlacementStrategy
- ProtocolType
- ProxyProtocolPolicyArgs
- ProxyProtocolPolicyState
- RedHatEnterpriseLinuxPlatform
- RouteArgs
- RouteState
- RouteTableArgs
- RouteTableAssociationArgs
- RouteTableAssociationState
- RouteTableState
- SecurityGroupArgs
- SecurityGroupRuleArgs
- SecurityGroupRuleState
- SecurityGroupState
- SnapshotCreateVolumePermissionArgs
- SnapshotCreateVolumePermissionState
- SpotDatafeedSubscriptionArgs
- SpotDatafeedSubscriptionState
- SpotFleetRequestArgs
- SpotFleetRequestState
- SpotInstanceRequestArgs
- SpotInstanceRequestState
- SpreadStrategy
- SubnetArgs
- SubnetState
- SuseLinuxPlatform
- TCPProtocol
- Tenancy
- TrafficMirrorFilterArgs
- TrafficMirrorFilterRuleArgs
- TrafficMirrorFilterRuleState
- TrafficMirrorFilterState
- TrafficMirrorSessionArgs
- TrafficMirrorSessionState
- TrafficMirrorTargetArgs
- TrafficMirrorTargetState
- TransitGatewayPeeringAttachmentAccepterArgs
- TransitGatewayPeeringAttachmentAccepterState
- UDPProtocol
- VolumeAttachmentArgs
- VolumeAttachmentState
- VpcArgs
- VpcDhcpOptionsArgs
- VpcDhcpOptionsAssociationArgs
- VpcDhcpOptionsAssociationState
- VpcDhcpOptionsState
- VpcEndpointArgs
- VpcEndpointConnectionNotificationArgs
- VpcEndpointConnectionNotificationState
- VpcEndpointRouteTableAssociationArgs
- VpcEndpointRouteTableAssociationState
- VpcEndpointServiceAllowedPrincipleArgs
- VpcEndpointServiceAllowedPrincipleState
- VpcEndpointServiceArgs
- VpcEndpointServiceState
- VpcEndpointState
- VpcEndpointSubnetAssociationArgs
- VpcEndpointSubnetAssociationState
- VpcIpv4CidrBlockAssociationArgs
- VpcIpv4CidrBlockAssociationState
- VpcPeeringConnectionAccepterArgs
- VpcPeeringConnectionAccepterState
- VpcPeeringConnectionArgs
- VpcPeeringConnectionState
- VpcState
- VpnConnectionArgs
- VpnConnectionRouteArgs
- VpnConnectionRouteState
- VpnConnectionState
- VpnGatewayArgs
- VpnGatewayAttachmentArgs
- VpnGatewayAttachmentState
- VpnGatewayRoutePropagationArgs
- VpnGatewayRoutePropagationState
- VpnGatewayState
- WindowsPlatform
- WindowsWithSqlServerEnterprisePlatform
- WindowsWithSqlServerPlatform
- WindowsWithSqlServerStandardPlatform
- WindowsWithSqlServerWebPlatform
namespace InstancePlatforms
const LinuxUnixPlatform
const LinuxUnixPlatform: InstancePlatform = "Linux/UNIX";const RedHatEnterpriseLinuxPlatform
const RedHatEnterpriseLinuxPlatform: InstancePlatform = "Red Hat Enterprise Linux";const SuseLinuxPlatform
const SuseLinuxPlatform: InstancePlatform = "SUSE Linux";const WindowsPlatform
const WindowsPlatform: InstancePlatform = "Windows";const WindowsWithSqlServerEnterprisePlatform
const WindowsWithSqlServerEnterprisePlatform: InstancePlatform = "Windows with SQL Server Enterprise";const WindowsWithSqlServerPlatform
const WindowsWithSqlServerPlatform: InstancePlatform = "Windows with SQL Server";const WindowsWithSqlServerStandardPlatform
const WindowsWithSqlServerStandardPlatform: InstancePlatform = "Windows with SQL Server Standard";const WindowsWithSqlServerWebPlatform
const WindowsWithSqlServerWebPlatform: InstancePlatform = "Windows with SQL Server Web";namespace InstanceTypes
const A1_2XLarge
const A1_2XLarge: InstanceType = "a1.2xlarge";const A1_4XLarge
const A1_4XLarge: InstanceType = "a1.4xlarge";const A1_Large
const A1_Large: InstanceType = "a1.large";const A1_Medium
const A1_Medium: InstanceType = "a1.medium";const A1_XLarge
const A1_XLarge: InstanceType = "a1.xlarge";const C3_2XLarge
const C3_2XLarge: InstanceType = "c3.2xlarge";const C3_4XLarge
const C3_4XLarge: InstanceType = "c3.4xlarge";const C3_8XLarge
const C3_8XLarge: InstanceType = "c3.8xlarge";const C3_Large
const C3_Large: InstanceType = "c3.large";const C3_XLarge
const C3_XLarge: InstanceType = "c3.xlarge";const C4_2XLarge
const C4_2XLarge: InstanceType = "c4.2xlarge";const C4_4XLarge
const C4_4XLarge: InstanceType = "c4.4xlarge";const C4_8XLarge
const C4_8XLarge: InstanceType = "c4.8xlarge";const C4_Large
const C4_Large: InstanceType = "c4.large";const C4_XLarge
const C4_XLarge: InstanceType = "c4.xlarge";const C5_18XLarge
const C5_18XLarge: InstanceType = "c5.18xlarge";const C5_2XLarge
const C5_2XLarge: InstanceType = "c5.2xlarge";const C5_4XLarge
const C5_4XLarge: InstanceType = "c5.4xlarge";const C5_9XLarge
const C5_9XLarge: InstanceType = "c5.9xlarge";const C5_Large
const C5_Large: InstanceType = "c5.large";const C5_XLarge
const C5_XLarge: InstanceType = "c5.xlarge";const C5d_18XLarge
const C5d_18XLarge: InstanceType = "c5d.18xlarge";const C5d_2XLarge
const C5d_2XLarge: InstanceType = "c5d.2xlarge";const C5d_4XLarge
const C5d_4XLarge: InstanceType = "c5d.4xlarge";const C5d_9XLarge
const C5d_9XLarge: InstanceType = "c5d.9xlarge";const C5d_Large
const C5d_Large: InstanceType = "c5d.large";const C5d_XLarge
const C5d_XLarge: InstanceType = "c5d.xlarge";const C5n_18XLarge
const C5n_18XLarge: InstanceType = "c5n.18xlarge";const C5n_2XLarge
const C5n_2XLarge: InstanceType = "c5n.2xlarge";const C5n_4XLarge
const C5n_4XLarge: InstanceType = "c5n.4xlarge";const C5n_9XLarge
const C5n_9XLarge: InstanceType = "c5n.9xlarge";const C5n_Large
const C5n_Large: InstanceType = "c5n.large";const C5n_XLarge
const C5n_XLarge: InstanceType = "c5n.xlarge";const D2_2XLarge
const D2_2XLarge: InstanceType = "d2.2xlarge";const D2_4XLarge
const D2_4XLarge: InstanceType = "d2.4xlarge";const D2_8XLarge
const D2_8XLarge: InstanceType = "d2.8xlarge";const D2_XLarge
const D2_XLarge: InstanceType = "d2.xlarge";const F1_16XLarge
const F1_16XLarge: InstanceType = "f1.16xlarge";const F1_2XLarge
const F1_2XLarge: InstanceType = "f1.2xlarge";const G2_2XLarge
const G2_2XLarge: InstanceType = "g2.2xlarge";const G2_8XLarge
const G2_8XLarge: InstanceType = "g2.8xlarge";const G3_16XLarge
const G3_16XLarge: InstanceType = "g3.16xlarge";const G3_4XLarge
const G3_4XLarge: InstanceType = "g3.4xlarge";const G3_8XLarge
const G3_8XLarge: InstanceType = "g3.8xlarge";const G3s_XLarge
const G3s_XLarge: InstanceType = "g3s.xlarge";const H1_16XLarge
const H1_16XLarge: InstanceType = "h1.16xlarge";const H1_2XLarge
const H1_2XLarge: InstanceType = "h1.2xlarge";const H1_4XLarge
const H1_4XLarge: InstanceType = "h1.4xlarge";const H1_8XLarge
const H1_8XLarge: InstanceType = "h1.8xlarge";const Hs1_8XLarge
const Hs1_8XLarge: InstanceType = "hs1.8xlarge";const I3_16XLarge
const I3_16XLarge: InstanceType = "i3.16xlarge";const I3_2XLarge
const I3_2XLarge: InstanceType = "i3.2xlarge";const I3_4XLarge
const I3_4XLarge: InstanceType = "i3.4xlarge";const I3_8XLarge
const I3_8XLarge: InstanceType = "i3.8xlarge";const I3_Large
const I3_Large: InstanceType = "i3.large";const I3_Metal
const I3_Metal: InstanceType = "i3.metal";const I3_XLarge
const I3_XLarge: InstanceType = "i3.xlarge";const M3_2XLarge
const M3_2XLarge: InstanceType = "m3.2xlarge";const M3_Large
const M3_Large: InstanceType = "m3.large";const M3_Medium
const M3_Medium: InstanceType = "m3.medium";const M3_XLarge
const M3_XLarge: InstanceType = "m3.xlarge";const M4_10XLarge
const M4_10XLarge: InstanceType = "m4.10xlarge";const M4_16XLarge
const M4_16XLarge: InstanceType = "m4.16xlarge";const M4_2XLarge
const M4_2XLarge: InstanceType = "m4.2xlarge";const M4_4XLarge
const M4_4XLarge: InstanceType = "m4.4xlarge";const M4_Large
const M4_Large: InstanceType = "m4.large";const M4_XLarge
const M4_XLarge: InstanceType = "m4.xlarge";const M5_12XLarge
const M5_12XLarge: InstanceType = "m5.12xlarge";const M5_24XLarge
const M5_24XLarge: InstanceType = "m5.24xlarge";const M5_2XLarge
const M5_2XLarge: InstanceType = "m5.2xlarge";const M5_4XLarge
const M5_4XLarge: InstanceType = "m5.4xlarge";const M5_Large
const M5_Large: InstanceType = "m5.large";const M5_XLarge
const M5_XLarge: InstanceType = "m5.xlarge";const M5a_12XLarge
const M5a_12XLarge: InstanceType = "m5a.12xlarge";const M5a_24XLarge
const M5a_24XLarge: InstanceType = "m5a.24xlarge";const M5a_2XLarge
const M5a_2XLarge: InstanceType = "m5a.2xlarge";const M5a_4XLarge
const M5a_4XLarge: InstanceType = "m5a.4xlarge";const M5a_Large
const M5a_Large: InstanceType = "m5a.large";const M5a_XLarge
const M5a_XLarge: InstanceType = "m5a.xlarge";const M5d_12XLarge
const M5d_12XLarge: InstanceType = "m5d.12xlarge";const M5d_24XLarge
const M5d_24XLarge: InstanceType = "m5d.24xlarge";const M5d_2XLarge
const M5d_2XLarge: InstanceType = "m5d.2xlarge";const M5d_4XLarge
const M5d_4XLarge: InstanceType = "m5d.4xlarge";const M5d_Large
const M5d_Large: InstanceType = "m5d.large";const M5d_XLarge
const M5d_XLarge: InstanceType = "m5d.xlarge";const P2_16XLarge
const P2_16XLarge: InstanceType = "p2.16xlarge";const P2_8XLarge
const P2_8XLarge: InstanceType = "p2.8xlarge";const P2_XLarge
const P2_XLarge: InstanceType = "p2.xlarge";const P3_16XLarge
const P3_16XLarge: InstanceType = "p3.16xlarge";const P3_2XLarge
const P3_2XLarge: InstanceType = "p3.2xlarge";const P3_8XLarge
const P3_8XLarge: InstanceType = "p3.8xlarge";const P3dn_24XLarge
const P3dn_24XLarge: InstanceType = "p3dn.24xlarge";const R3_2XLarge
const R3_2XLarge: InstanceType = "r3.2xlarge";const R3_4XLarge
const R3_4XLarge: InstanceType = "r3.4xlarge";const R3_8XLarge
const R3_8XLarge: InstanceType = "r3.8xlarge";const R3_Large
const R3_Large: InstanceType = "r3.large";const R3_XLarge
const R3_XLarge: InstanceType = "r3.xlarge";const R4_16XLarge
const R4_16XLarge: InstanceType = "r4.16xlarge";const R4_2XLarge
const R4_2XLarge: InstanceType = "r4.2xlarge";const R4_4XLarge
const R4_4XLarge: InstanceType = "r4.4xlarge";const R4_8XLarge
const R4_8XLarge: InstanceType = "r4.8xlarge";const R4_Large
const R4_Large: InstanceType = "r4.large";const R4_XLarge
const R4_XLarge: InstanceType = "r4.xlarge";const R5_12XLarge
const R5_12XLarge: InstanceType = "r5.12xlarge";const R5_24XLarge
const R5_24XLarge: InstanceType = "r5.24xlarge";const R5_2XLarge
const R5_2XLarge: InstanceType = "r5.2xlarge";const R5_4XLarge
const R5_4XLarge: InstanceType = "r5.4xlarge";const R5_Large
const R5_Large: InstanceType = "r5.large";const R5_XLarge
const R5_XLarge: InstanceType = "r5.xlarge";const R5a_12XLarge
const R5a_12XLarge: InstanceType = "r5a.12xlarge";const R5a_24XLarge
const R5a_24XLarge: InstanceType = "r5a.24xlarge";const R5a_2XLarge
const R5a_2XLarge: InstanceType = "r5a.2xlarge";const R5a_4XLarge
const R5a_4XLarge: InstanceType = "r5a.4xlarge";const R5a_Large
const R5a_Large: InstanceType = "r5a.large";const R5a_XLarge
const R5a_XLarge: InstanceType = "r5a.xlarge";const R5d_12XLarge
const R5d_12XLarge: InstanceType = "r5d.12xlarge";const R5d_24XLarge
const R5d_24XLarge: InstanceType = "r5d.24xlarge";const R5d_2XLarge
const R5d_2XLarge: InstanceType = "r5d.2xlarge";const R5d_4XLarge
const R5d_4XLarge: InstanceType = "r5d.4xlarge";const R5d_Large
const R5d_Large: InstanceType = "r5d.large";const R5d_XLarge
const R5d_XLarge: InstanceType = "r5d.xlarge";const T2_2XLarge
const T2_2XLarge: InstanceType = "t2.2xlarge";const T2_Large
const T2_Large: InstanceType = "t2.large";const T2_Medium
const T2_Medium: InstanceType = "t2.medium";const T2_Micro
const T2_Micro: InstanceType = "t2.micro";const T2_Nano
const T2_Nano: InstanceType = "t2.nano";const T2_Small
const T2_Small: InstanceType = "t2.small";const T2_XLarge
const T2_XLarge: InstanceType = "t2.xlarge";const T3_2XLarge
const T3_2XLarge: InstanceType = "t3.2xlarge";const T3_Large
const T3_Large: InstanceType = "t3.large";const T3_Medium
const T3_Medium: InstanceType = "t3.medium";const T3_Micro
const T3_Micro: InstanceType = "t3.micro";const T3_Nano
const T3_Nano: InstanceType = "t3.nano";const T3_Small
const T3_Small: InstanceType = "t3.small";const T3_XLarge
const T3_XLarge: InstanceType = "t3.xlarge";const T3a_2XLarge
const T3a_2XLarge: InstanceType = "t3a.2xlarge";const T3a_Large
const T3a_Large: InstanceType = "t3a.large";const T3a_Medium
const T3a_Medium: InstanceType = "t3a.medium";const T3a_Micro
const T3a_Micro: InstanceType = "t3a.micro";const T3a_Nano
const T3a_Nano: InstanceType = "t3a.nano";const T3a_Small
const T3a_Small: InstanceType = "t3a.small";const T3a_XLarge
const T3a_XLarge: InstanceType = "t3a.xlarge";const U_12tb1Metal
const U_12tb1Metal: InstanceType = "u-12tb1.metal";const U_6tb1Metal
const U_6tb1Metal: InstanceType = "u-6tb1.metal";const U_9tb1Metal
const U_9tb1Metal: InstanceType = "u-9tb1.metal";const X1_16XLarge
const X1_16XLarge: InstanceType = "x1.16xlarge";const X1_32XLarge
const X1_32XLarge: InstanceType = "x1.32xlarge";const X1e_16XLarge
const X1e_16XLarge: InstanceType = "x1e.16xlarge";const X1e_2XLarge
const X1e_2XLarge: InstanceType = "x1e.2xlarge";const X1e_32XLarge
const X1e_32XLarge: InstanceType = "x1e.32xlarge";const X1e_4XLarge
const X1e_4XLarge: InstanceType = "x1e.4xlarge";const X1e_8XLarge
const X1e_8XLarge: InstanceType = "x1e.8xlarge";const X1e_XLarge
const X1e_XLarge: InstanceType = "x1e.xlarge";const Z1d_12XLarge
const Z1d_12XLarge: InstanceType = "z1d.12xlarge";const Z1d_2XLarge
const Z1d_2XLarge: InstanceType = "z1d.2xlarge";const Z1d_3XLarge
const Z1d_3XLarge: InstanceType = "z1d.3xlarge";const Z1d_6XLarge
const Z1d_6XLarge: InstanceType = "z1d.6xlarge";const Z1d_Large
const Z1d_Large: InstanceType = "z1d.large";const Z1d_XLarge
const Z1d_XLarge: InstanceType = "z1d.xlarge";namespace Tenancies
const DedicatedTenancy
const DedicatedTenancy: Tenancy = "dedicated";const DefaultTenancy
const DefaultTenancy: Tenancy = "default";Resources
Resource Ami
class Ami extends CustomResourceThe AMI resource allows the creation and management of a completely-custom Amazon Machine Image (AMI).
If you just want to duplicate an existing AMI, possibly copying it to another
region, it’s better to use aws.ec2.AmiCopy instead.
If you just want to share an existing AMI with another AWS account,
it’s better to use aws.ec2.AmiLaunchPermission instead.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
// Create an AMI that will start a machine whose root device is backed by
// an EBS volume populated from a snapshot. It is assumed that such a snapshot
// already exists with the id "snap-xxxxxxxx".
const example = new aws.ec2.Ami("example", {
ebsBlockDevices: [{
deviceName: "/dev/xvda",
snapshotId: "snap-xxxxxxxx",
volumeSize: 8,
}],
rootDeviceName: "/dev/xvda",
virtualizationType: "hvm",
});constructor
new Ami(name: string, args?: AmiArgs, opts?: pulumi.CustomResourceOptions)Create a Ami resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AmiState, opts?: pulumi.CustomResourceOptions): AmiGet an existing Ami resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is AmiReturns true if the given object is an instance of Ami. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property architecture
public architecture: pulumi.Output<string | undefined>;Machine architecture for created instances. Defaults to “x8664”.
property description
public description: pulumi.Output<string | undefined>;A longer, human-readable description for the AMI.
property ebsBlockDevices
public ebsBlockDevices: pulumi.Output<AmiEbsBlockDevice[]>;Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
property enaSupport
public enaSupport: pulumi.Output<boolean | undefined>;Specifies whether enhanced networking with ENA is enabled. Defaults to false.
property ephemeralBlockDevices
public ephemeralBlockDevices: pulumi.Output<AmiEphemeralBlockDevice[]>;Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property imageLocation
public imageLocation: pulumi.Output<string>;Path to an S3 object containing an image manifest, e.g. created
by the ec2-upload-bundle command in the EC2 command line tools.
property kernelId
public kernelId: pulumi.Output<string | undefined>;The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
property manageEbsSnapshots
public manageEbsSnapshots: pulumi.Output<boolean>;property name
public name: pulumi.Output<string>;A region-unique name for the AMI.
property ramdiskId
public ramdiskId: pulumi.Output<string | undefined>;The id of an initrd image (ARI) that will be used when booting the created instances.
property rootDeviceName
public rootDeviceName: pulumi.Output<string | undefined>;The name of the root device (for example, /dev/sda1, or /dev/xvda).
property rootSnapshotId
public rootSnapshotId: pulumi.Output<string>;The Snapshot ID for the root volume (for EBS-backed AMIs)
property sriovNetSupport
public sriovNetSupport: pulumi.Output<string | undefined>;When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property virtualizationType
public virtualizationType: pulumi.Output<string | undefined>;Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.
Resource AmiCopy
class AmiCopy extends CustomResourceThe “AMI copy” resource allows duplication of an Amazon Machine Image (AMI), including cross-region copies.
If the source AMI has associated EBS snapshots, those will also be duplicated along with the AMI.
This is useful for taking a single AMI provisioned in one region and making it available in another for a multi-region deployment.
Copying an AMI can take several minutes. The creation of this resource will block until the new AMI is available for use on new instances.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ec2.AmiCopy("example", {
description: "A copy of ami-xxxxxxxx",
sourceAmiId: "ami-xxxxxxxx",
sourceAmiRegion: "us-west-1",
tags: {
Name: "HelloWorld",
},
});constructor
new AmiCopy(name: string, args: AmiCopyArgs, opts?: pulumi.CustomResourceOptions)Create a AmiCopy resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AmiCopyState, opts?: pulumi.CustomResourceOptions): AmiCopyGet an existing AmiCopy resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is AmiCopyReturns true if the given object is an instance of AmiCopy. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property architecture
public architecture: pulumi.Output<string>;Machine architecture for created instances. Defaults to “x8664”.
property description
public description: pulumi.Output<string | undefined>;A longer, human-readable description for the AMI.
property ebsBlockDevices
public ebsBlockDevices: pulumi.Output<AmiCopyEbsBlockDevice[]>;Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
property enaSupport
public enaSupport: pulumi.Output<boolean>;Specifies whether enhanced networking with ENA is enabled. Defaults to false.
property encrypted
public encrypted: pulumi.Output<boolean | undefined>;Boolean controlling whether the created EBS volumes will be encrypted. Can’t be used with snapshotId.
property ephemeralBlockDevices
public ephemeralBlockDevices: pulumi.Output<AmiCopyEphemeralBlockDevice[]>;Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property imageLocation
public imageLocation: pulumi.Output<string>;Path to an S3 object containing an image manifest, e.g. created
by the ec2-upload-bundle command in the EC2 command line tools.
property kernelId
public kernelId: pulumi.Output<string>;The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
property kmsKeyId
public kmsKeyId: pulumi.Output<string>;The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when encrypting the snapshots of an image during a copy operation. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used
property manageEbsSnapshots
public manageEbsSnapshots: pulumi.Output<boolean>;property name
public name: pulumi.Output<string>;A region-unique name for the AMI.
property ramdiskId
public ramdiskId: pulumi.Output<string>;The id of an initrd image (ARI) that will be used when booting the created instances.
property rootDeviceName
public rootDeviceName: pulumi.Output<string>;The name of the root device (for example, /dev/sda1, or /dev/xvda).
property rootSnapshotId
public rootSnapshotId: pulumi.Output<string>;property sourceAmiId
public sourceAmiId: pulumi.Output<string>;The id of the AMI to copy. This id must be valid in the region
given by sourceAmiRegion.
property sourceAmiRegion
public sourceAmiRegion: pulumi.Output<string>;The region from which the AMI will be copied. This may be the same as the AWS provider region in order to create a copy within the same region.
property sriovNetSupport
public sriovNetSupport: pulumi.Output<string>;When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property virtualizationType
public virtualizationType: pulumi.Output<string>;Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.
Resource AmiFromInstance
class AmiFromInstance extends CustomResourceThe “AMI from instance” resource allows the creation of an Amazon Machine Image (AMI) modelled after an existing EBS-backed EC2 instance.
The created AMI will refer to implicitly-created snapshots of the instance’s EBS volumes and mimick its assigned block device configuration at the time the resource is created.
This resource is best applied to an instance that is stopped when this instance is created, so that the contents of the created image are predictable. When applied to an instance that is running, the instance will be stopped before taking the snapshots and then started back up again, resulting in a period of downtime.
Note that the source instance is inspected only at the initial creation of this resource. Ongoing updates to the referenced instance will not be propagated into the generated AMI. Users may taint or otherwise recreate the resource in order to produce a fresh snapshot.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ec2.AmiFromInstance("example", {
sourceInstanceId: "i-xxxxxxxx",
});constructor
new AmiFromInstance(name: string, args: AmiFromInstanceArgs, opts?: pulumi.CustomResourceOptions)Create a AmiFromInstance resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AmiFromInstanceState, opts?: pulumi.CustomResourceOptions): AmiFromInstanceGet an existing AmiFromInstance resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is AmiFromInstanceReturns true if the given object is an instance of AmiFromInstance. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property architecture
public architecture: pulumi.Output<string>;Machine architecture for created instances. Defaults to “x8664”.
property description
public description: pulumi.Output<string | undefined>;A longer, human-readable description for the AMI.
property ebsBlockDevices
public ebsBlockDevices: pulumi.Output<AmiFromInstanceEbsBlockDevice[]>;Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
property enaSupport
public enaSupport: pulumi.Output<boolean>;Specifies whether enhanced networking with ENA is enabled. Defaults to false.
property ephemeralBlockDevices
public ephemeralBlockDevices: pulumi.Output<AmiFromInstanceEphemeralBlockDevice[]>;Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property imageLocation
public imageLocation: pulumi.Output<string>;Path to an S3 object containing an image manifest, e.g. created
by the ec2-upload-bundle command in the EC2 command line tools.
property kernelId
public kernelId: pulumi.Output<string>;The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
property manageEbsSnapshots
public manageEbsSnapshots: pulumi.Output<boolean>;property name
public name: pulumi.Output<string>;A region-unique name for the AMI.
property ramdiskId
public ramdiskId: pulumi.Output<string>;The id of an initrd image (ARI) that will be used when booting the created instances.
property rootDeviceName
public rootDeviceName: pulumi.Output<string>;The name of the root device (for example, /dev/sda1, or /dev/xvda).
property rootSnapshotId
public rootSnapshotId: pulumi.Output<string>;property snapshotWithoutReboot
public snapshotWithoutReboot: pulumi.Output<boolean | undefined>;Boolean that overrides the behavior of stopping the instance before snapshotting. This is risky since it may cause a snapshot of an inconsistent filesystem state, but can be used to avoid downtime if the user otherwise guarantees that no filesystem writes will be underway at the time of snapshot.
property sourceInstanceId
public sourceInstanceId: pulumi.Output<string>;The id of the instance to use as the basis of the AMI.
property sriovNetSupport
public sriovNetSupport: pulumi.Output<string>;When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property virtualizationType
public virtualizationType: pulumi.Output<string>;Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.
Resource AmiLaunchPermission
class AmiLaunchPermission extends CustomResourceAdds launch permission to Amazon Machine Image (AMI) from another AWS account.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ec2.AmiLaunchPermission("example", {
accountId: "123456789012",
imageId: "ami-12345678",
});constructor
new AmiLaunchPermission(name: string, args: AmiLaunchPermissionArgs, opts?: pulumi.CustomResourceOptions)Create a AmiLaunchPermission resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AmiLaunchPermissionState, opts?: pulumi.CustomResourceOptions): AmiLaunchPermissionGet an existing AmiLaunchPermission resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is AmiLaunchPermissionReturns true if the given object is an instance of AmiLaunchPermission. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property accountId
public accountId: pulumi.Output<string>;An AWS Account ID to add launch permissions.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property imageId
public imageId: pulumi.Output<string>;A region-unique name for the AMI.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource AvailabilityZoneGroup
class AvailabilityZoneGroup extends CustomResourceManages an EC2 Availability Zone Group, such as updating its opt-in status.
NOTE: This is an advanced resource. The provider will automatically assume management of the EC2 Availability Zone Group without import and perform no actions on removal from configuration.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ec2.AvailabilityZoneGroup("example", {
groupName: "us-west-2-lax-1",
optInStatus: "opted-in",
});constructor
new AvailabilityZoneGroup(name: string, args: AvailabilityZoneGroupArgs, opts?: pulumi.CustomResourceOptions)Create a AvailabilityZoneGroup resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AvailabilityZoneGroupState, opts?: pulumi.CustomResourceOptions): AvailabilityZoneGroupGet an existing AvailabilityZoneGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is AvailabilityZoneGroupReturns true if the given object is an instance of AvailabilityZoneGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property groupName
public groupName: pulumi.Output<string>;Name of the Availability Zone Group.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property optInStatus
public optInStatus: pulumi.Output<string>;Indicates whether to enable or disable Availability Zone Group. Valid values: opted-in or not-opted-in.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource CapacityReservation
class CapacityReservation extends CustomResourceProvides an EC2 Capacity Reservation. This allows you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const defaultCapacityReservation = new aws.ec2.CapacityReservation("default", {
availabilityZone: "eu-west-1a",
instanceCount: 1,
instancePlatform: "Linux/UNIX",
instanceType: "t2.micro",
});constructor
new CapacityReservation(name: string, args: CapacityReservationArgs, opts?: pulumi.CustomResourceOptions)Create a CapacityReservation resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: CapacityReservationState, opts?: pulumi.CustomResourceOptions): CapacityReservationGet an existing CapacityReservation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is CapacityReservationReturns true if the given object is an instance of CapacityReservation. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property availabilityZone
public availabilityZone: pulumi.Output<string>;The Availability Zone in which to create the Capacity Reservation.
property ebsOptimized
public ebsOptimized: pulumi.Output<boolean | undefined>;Indicates whether the Capacity Reservation supports EBS-optimized instances.
property endDate
public endDate: pulumi.Output<string | undefined>;The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ)
property endDateType
public endDateType: pulumi.Output<string | undefined>;Indicates the way in which the Capacity Reservation ends. Specify either unlimited or limited.
property ephemeralStorage
public ephemeralStorage: pulumi.Output<boolean | undefined>;Indicates whether the Capacity Reservation supports instances with temporary, block-level storage.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instanceCount
public instanceCount: pulumi.Output<number>;The number of instances for which to reserve capacity.
property instanceMatchCriteria
public instanceMatchCriteria: pulumi.Output<string | undefined>;Indicates the type of instance launches that the Capacity Reservation accepts. Specify either open or targeted.
property instancePlatform
public instancePlatform: pulumi.Output<InstancePlatform>;The type of operating system for which to reserve capacity. Valid options are Linux/UNIX, Red Hat Enterprise Linux, SUSE Linux, Windows, Windows with SQL Server, Windows with SQL Server Enterprise, Windows with SQL Server Standard or Windows with SQL Server Web.
property instanceType
public instanceType: pulumi.Output<InstanceType>;The instance type for which to reserve capacity.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property tenancy
public tenancy: pulumi.Output<Tenancy | undefined>;Indicates the tenancy of the Capacity Reservation. Specify either default or dedicated.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource CustomerGateway
class CustomerGateway extends CustomResourceProvides a customer gateway inside a VPC. These objects can be connected to VPN gateways via VPN connections, and allow you to establish tunnels between your network and the VPC.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const main = new aws.ec2.CustomerGateway("main", {
bgpAsn: 65000,
ipAddress: "172.83.124.10",
tags: {
Name: "main-customer-gateway",
},
type: "ipsec.1",
});constructor
new CustomerGateway(name: string, args: CustomerGatewayArgs, opts?: pulumi.CustomResourceOptions)Create a CustomerGateway resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: CustomerGatewayState, opts?: pulumi.CustomResourceOptions): CustomerGatewayGet an existing CustomerGateway resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is CustomerGatewayReturns true if the given object is an instance of CustomerGateway. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property bgpAsn
public bgpAsn: pulumi.Output<number>;The gateway’s Border Gateway Protocol (BGP) Autonomous System Number (ASN).
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property ipAddress
public ipAddress: pulumi.Output<string>;The IP address of the gateway’s Internet-routable external interface.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;Tags to apply to the gateway.
property type
public type: pulumi.Output<string>;The type of customer gateway. The only type AWS supports at this time is “ipsec.1”.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource DefaultNetworkAcl
class DefaultNetworkAcl extends CustomResourceProvides a resource to manage the default AWS Network ACL. VPC Only.
Each VPC created in AWS comes with a Default Network ACL that can be managed, but not destroyed. This is an advanced resource, and has special caveats to be aware of when using it. Please read this document in its entirety before using this resource.
The aws.ec2.DefaultNetworkAcl behaves differently from normal resources, in that
this provider does not create this resource, but instead attempts to “adopt” it
into management. We can do this because each VPC created has a Default Network
ACL that cannot be destroyed, and is created with a known set of default rules.
When this provider first adopts the Default Network ACL, it immediately removes all rules in the ACL. It then proceeds to create any rules specified in the configuration. This step is required so that only the rules specified in the configuration are created.
This resource treats its inline rules as absolute; only the rules defined
inline are created, and any additions/removals external to this resource will
result in diffs being shown. For these reasons, this resource is incompatible with the
aws.ec2.NetworkAclRule resource.
For more information about Network ACLs, see the AWS Documentation on [Network ACLs][aws-network-acls].
Basic Example Usage, with default rules
The following config gives the Default Network ACL the same rules that AWS includes, but pulls the resource under management by this provider. This means that any ACL rules added or changed will be detected as drift.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const mainvpc = new aws.ec2.Vpc("mainvpc", {cidrBlock: "10.1.0.0/16"});
const _default = new aws.ec2.DefaultNetworkAcl("default", {
defaultNetworkAclId: mainvpc.defaultNetworkAclId,
ingress: [{
protocol: -1,
ruleNo: 100,
action: "allow",
cidrBlock: mainvpc.cidrBlock,
fromPort: 0,
toPort: 0,
}],
egress: [{
protocol: -1,
ruleNo: 100,
action: "allow",
cidrBlock: "0.0.0.0/0",
fromPort: 0,
toPort: 0,
}],
});Example config to deny all Egress traffic, allowing Ingress
The following denies all Egress traffic by omitting any egress rules, while
including the default ingress rule to allow all traffic.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const mainvpc = new aws.ec2.Vpc("mainvpc", {cidrBlock: "10.1.0.0/16"});
const _default = new aws.ec2.DefaultNetworkAcl("default", {
defaultNetworkAclId: mainvpc.defaultNetworkAclId,
ingress: [{
protocol: -1,
ruleNo: 100,
action: "allow",
cidrBlock: mainvpc.cidrBlock,
fromPort: 0,
toPort: 0,
}],
});Example config to deny all traffic to any Subnet in the Default Network ACL
This config denies all traffic in the Default ACL. This can be useful if you want a locked down default to force all resources in the VPC to assign a non-default ACL.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const mainvpc = new aws.ec2.Vpc("mainvpc", {
cidrBlock: "10.1.0.0/16",
});
const defaultDefaultNetworkAcl = new aws.ec2.DefaultNetworkAcl("default", {
defaultNetworkAclId: mainvpc.defaultNetworkAclId,
});constructor
new DefaultNetworkAcl(name: string, args: DefaultNetworkAclArgs, opts?: pulumi.CustomResourceOptions)Create a DefaultNetworkAcl resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DefaultNetworkAclState, opts?: pulumi.CustomResourceOptions): DefaultNetworkAclGet an existing DefaultNetworkAcl resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is DefaultNetworkAclReturns true if the given object is an instance of DefaultNetworkAcl. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property defaultNetworkAclId
public defaultNetworkAclId: pulumi.Output<string>;The Network ACL ID to manage. This
attribute is exported from aws.ec2.Vpc, or manually found via the AWS Console.
property egress
public egress: pulumi.Output<DefaultNetworkAclEgress[] | undefined>;Specifies an egress rule. Parameters defined below.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property ingress
public ingress: pulumi.Output<DefaultNetworkAclIngress[] | undefined>;Specifies an ingress rule. Parameters defined below.
property ownerId
public ownerId: pulumi.Output<string>;The ID of the AWS account that owns the Default Network ACL
property subnetIds
public subnetIds: pulumi.Output<string[] | undefined>;A list of Subnet IDs to apply the ACL to. See the notes below on managing Subnets in the Default Network ACL
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcId
public vpcId: pulumi.Output<string>;The ID of the associated VPC
Resource DefaultRouteTable
class DefaultRouteTable extends CustomResourceProvides a resource to manage a Default VPC Routing Table.
Each VPC created in AWS comes with a Default Route Table that can be managed, but not
destroyed. This is an advanced resource, and has special caveats to be aware
of when using it. Please read this document in its entirety before using this
resource. It is recommended you do not use both aws.ec2.DefaultRouteTable to
manage the default route table and use the aws.ec2.MainRouteTableAssociation,
due to possible conflict in routes.
The aws.ec2.DefaultRouteTable behaves differently from normal resources, in that
this provider does not create this resource, but instead attempts to “adopt” it
into management. We can do this because each VPC created has a Default Route
Table that cannot be destroyed, and is created with a single route.
When this provider first adopts the Default Route Table, it immediately removes all defined routes. It then proceeds to create any routes specified in the configuration. This step is required so that only the routes specified in the configuration present in the Default Route Table.
For more information about Route Tables, see the AWS Documentation on [Route Tables][aws-route-tables].
For more information about managing normal Route Tables in this provider, see our documentation on [aws.ec2.RouteTable][tf-route-tables].
NOTE on Route Tables and Routes: This provider currently provides both a standalone Route resource and a Route Table resource with routes defined in-line. At this time you cannot use a Route Table with in-line routes in conjunction with any Route resources. Doing so will cause a conflict of rule settings and will overwrite routes.
Example Usage
With Tags
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const defaultRouteTable = new aws.ec2.DefaultRouteTable("r", {
defaultRouteTableId: aws_vpc_foo.defaultRouteTableId,
routes: [{}],
tags: {
Name: "default table",
},
});constructor
new DefaultRouteTable(name: string, args: DefaultRouteTableArgs, opts?: pulumi.CustomResourceOptions)Create a DefaultRouteTable resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DefaultRouteTableState, opts?: pulumi.CustomResourceOptions): DefaultRouteTableGet an existing DefaultRouteTable resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is DefaultRouteTableReturns true if the given object is an instance of DefaultRouteTable. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property defaultRouteTableId
public defaultRouteTableId: pulumi.Output<string>;The ID of the Default Routing Table.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property ownerId
public ownerId: pulumi.Output<string>;The ID of the AWS account that owns the route table
property propagatingVgws
public propagatingVgws: pulumi.Output<string[] | undefined>;A list of virtual gateways for propagation.
property routes
public routes: pulumi.Output<DefaultRouteTableRoute[]>;A list of route objects. Their keys are documented below.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A mapping of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcId
public vpcId: pulumi.Output<string>;Resource DefaultSecurityGroup
class DefaultSecurityGroup extends CustomResourceProvides a resource to manage the default AWS Security Group.
For EC2 Classic accounts, each region comes with a Default Security Group. Additionally, each VPC created in AWS comes with a Default Security Group that can be managed, but not destroyed. This is an advanced resource, and has special caveats to be aware of when using it. Please read this document in its entirety before using this resource.
The aws.ec2.DefaultSecurityGroup behaves differently from normal resources, in that
this provider does not create this resource, but instead “adopts” it
into management. We can do this because these default security groups cannot be
destroyed, and are created with a known set of default ingress/egress rules.
When this provider first adopts the Default Security Group, it immediately removes all ingress and egress rules in the Security Group. It then proceeds to create any rules specified in the configuration. This step is required so that only the rules specified in the configuration are created.
This resource treats its inline rules as absolute; only the rules defined
inline are created, and any additions/removals external to this resource will
result in diff shown. For these reasons, this resource is incompatible with the
aws.ec2.SecurityGroupRule resource.
For more information about Default Security Groups, see the AWS Documentation on [Default Security Groups][aws-default-security-groups].
Basic Example Usage, with default rules
The following config gives the Default Security Group the same rules that AWS provides by default, but pulls the resource under management by this provider. This means that any ingress or egress rules added or changed will be detected as drift.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const mainvpc = new aws.ec2.Vpc("mainvpc", {
cidrBlock: "10.1.0.0/16",
});
const defaultDefaultSecurityGroup = new aws.ec2.DefaultSecurityGroup("default", {
egress: [{
cidrBlocks: ["0.0.0.0/0"],
fromPort: 0,
protocol: "-1",
toPort: 0,
}],
ingress: [{
fromPort: 0,
protocol: "-1",
self: true,
toPort: 0,
}],
vpcId: mainvpc.id,
});Example config to deny all Egress traffic, allowing Ingress
The following denies all Egress traffic by omitting any egress rules, while
including the default ingress rule to allow all traffic.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const mainvpc = new aws.ec2.Vpc("mainvpc", {
cidrBlock: "10.1.0.0/16",
});
const defaultDefaultSecurityGroup = new aws.ec2.DefaultSecurityGroup("default", {
ingress: [{
fromPort: 0,
protocol: "-1",
self: true,
toPort: 0,
}],
vpcId: mainvpc.id,
});Usage
With the exceptions mentioned above, aws.ec2.DefaultSecurityGroup should
identical behavior to aws.ec2.SecurityGroup. Please consult AWS_SECURITY_GROUP
for further usage documentation.
Removing aws.ec2.DefaultSecurityGroup from your configuration
Each AWS VPC (or region, if using EC2 Classic) comes with a Default Security
Group that cannot be deleted. The aws.ec2.DefaultSecurityGroup allows you to
manage this Security Group, but this provider cannot destroy it. Removing this resource
from your configuration will remove it from your statefile and management, but
will not destroy the Security Group. All ingress or egress rules will be left as
they are at the time of removal. You can resume managing them via the AWS Console.
constructor
new DefaultSecurityGroup(name: string, args?: DefaultSecurityGroupArgs, opts?: pulumi.CustomResourceOptions)Create a DefaultSecurityGroup resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DefaultSecurityGroupState, opts?: pulumi.CustomResourceOptions): DefaultSecurityGroupGet an existing DefaultSecurityGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is DefaultSecurityGroupReturns true if the given object is an instance of DefaultSecurityGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property arn
public arn: pulumi.Output<string>;property description
public description: pulumi.Output<string>;The description of the security group
property egress
public egress: pulumi.Output<DefaultSecurityGroupEgress[] | undefined>;Can be specified multiple times for each egress rule. Each egress block supports fields documented below.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property ingress
public ingress: pulumi.Output<DefaultSecurityGroupIngress[] | undefined>;Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below.
property name
public name: pulumi.Output<string>;The name of the security group
property ownerId
public ownerId: pulumi.Output<string>;The owner ID.
property revokeRulesOnDelete
public revokeRulesOnDelete: pulumi.Output<boolean | undefined>;property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcId
public vpcId: pulumi.Output<string>;The VPC ID. Note that changing
the vpcId will not restore any default security group rules that were
modified, added, or removed. It will be left in its current state
Resource DefaultSubnet
class DefaultSubnet extends CustomResourceProvides a resource to manage a default AWS VPC subnet in the current region.
The aws.ec2.DefaultSubnet behaves differently from normal resources, in that
this provider does not create this resource, but instead “adopts” it
into management.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const defaultAz1 = new aws.ec2.DefaultSubnet("default_az1", {
availabilityZone: "us-west-2a",
tags: {
Name: "Default subnet for us-west-2a",
},
});constructor
new DefaultSubnet(name: string, args: DefaultSubnetArgs, opts?: pulumi.CustomResourceOptions)Create a DefaultSubnet resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DefaultSubnetState, opts?: pulumi.CustomResourceOptions): DefaultSubnetGet an existing DefaultSubnet resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is DefaultSubnetReturns true if the given object is an instance of DefaultSubnet. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property arn
public arn: pulumi.Output<string>;property assignIpv6AddressOnCreation
public assignIpv6AddressOnCreation: pulumi.Output<boolean>;property availabilityZone
public availabilityZone: pulumi.Output<string>;property availabilityZoneId
public availabilityZoneId: pulumi.Output<string>;property cidrBlock
public cidrBlock: pulumi.Output<string>;The CIDR block for the subnet.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property ipv6CidrBlock
public ipv6CidrBlock: pulumi.Output<string>;The IPv6 CIDR block.
property ipv6CidrBlockAssociationId
public ipv6CidrBlockAssociationId: pulumi.Output<string>;property mapPublicIpOnLaunch
public mapPublicIpOnLaunch: pulumi.Output<boolean>;Specify true to indicate that instances launched into the subnet should be assigned a public IP address.
property outpostArn
public outpostArn: pulumi.Output<string | undefined>;property ownerId
public ownerId: pulumi.Output<string>;The ID of the AWS account that owns the subnet.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcId
public vpcId: pulumi.Output<string>;The VPC ID.
Resource DefaultVpc
class DefaultVpc extends CustomResourceProvides a resource to manage the default AWS VPC in the current region.
For AWS accounts created after 2013-12-04, each region comes with a Default VPC. This is an advanced resource, and has special caveats to be aware of when using it. Please read this document in its entirety before using this resource.
The aws.ec2.DefaultVpc behaves differently from normal resources, in that
this provider does not create this resource, but instead “adopts” it
into management.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const defaultDefaultVpc = new aws.ec2.DefaultVpc("default", {
tags: {
Name: "Default VPC",
},
});constructor
new DefaultVpc(name: string, args?: DefaultVpcArgs, opts?: pulumi.CustomResourceOptions)Create a DefaultVpc resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DefaultVpcState, opts?: pulumi.CustomResourceOptions): DefaultVpcGet an existing DefaultVpc resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is DefaultVpcReturns true if the given object is an instance of DefaultVpc. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property arn
public arn: pulumi.Output<string>;Amazon Resource Name (ARN) of VPC
property assignGeneratedIpv6CidrBlock
public assignGeneratedIpv6CidrBlock: pulumi.Output<boolean>;Whether or not an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC was assigned
property cidrBlock
public cidrBlock: pulumi.Output<string>;The CIDR block of the VPC
property defaultNetworkAclId
public defaultNetworkAclId: pulumi.Output<string>;The ID of the network ACL created by default on VPC creation
property defaultRouteTableId
public defaultRouteTableId: pulumi.Output<string>;The ID of the route table created by default on VPC creation
property defaultSecurityGroupId
public defaultSecurityGroupId: pulumi.Output<string>;The ID of the security group created by default on VPC creation
property dhcpOptionsId
public dhcpOptionsId: pulumi.Output<string>;property enableClassiclink
public enableClassiclink: pulumi.Output<boolean>;A boolean flag to enable/disable ClassicLink for the VPC. Only valid in regions and accounts that support EC2 Classic. See the ClassicLink documentation for more information. Defaults false.
property enableClassiclinkDnsSupport
public enableClassiclinkDnsSupport: pulumi.Output<boolean>;property enableDnsHostnames
public enableDnsHostnames: pulumi.Output<boolean>;A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.
property enableDnsSupport
public enableDnsSupport: pulumi.Output<boolean | undefined>;A boolean flag to enable/disable DNS support in the VPC. Defaults true.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instanceTenancy
public instanceTenancy: pulumi.Output<string>;Tenancy of instances spin up within VPC.
property ipv6AssociationId
public ipv6AssociationId: pulumi.Output<string>;The association ID for the IPv6 CIDR block of the VPC
property ipv6CidrBlock
public ipv6CidrBlock: pulumi.Output<string>;The IPv6 CIDR block of the VPC
property mainRouteTableId
public mainRouteTableId: pulumi.Output<string>;The ID of the main route table associated with
this VPC. Note that you can change a VPC’s main route table by using an
aws.ec2.MainRouteTableAssociation
property ownerId
public ownerId: pulumi.Output<string>;The ID of the AWS account that owns the VPC.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource DefaultVpcDhcpOptions
class DefaultVpcDhcpOptions extends CustomResourceProvides a resource to manage the default AWS DHCP Options Set in the current region.
Each AWS region comes with a default set of DHCP options. This is an advanced resource, and has special caveats to be aware of when using it. Please read this document in its entirety before using this resource.
The aws.ec2.DefaultVpcDhcpOptions behaves differently from normal resources, in that
this provider does not create this resource, but instead “adopts” it
into management.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const defaultDefaultVpcDhcpOptions = new aws.ec2.DefaultVpcDhcpOptions("default", {
tags: {
Name: "Default DHCP Option Set",
},
});constructor
new DefaultVpcDhcpOptions(name: string, args?: DefaultVpcDhcpOptionsArgs, opts?: pulumi.CustomResourceOptions)Create a DefaultVpcDhcpOptions resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DefaultVpcDhcpOptionsState, opts?: pulumi.CustomResourceOptions): DefaultVpcDhcpOptionsGet an existing DefaultVpcDhcpOptions resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is DefaultVpcDhcpOptionsReturns true if the given object is an instance of DefaultVpcDhcpOptions. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property domainName
public domainName: pulumi.Output<string>;property domainNameServers
public domainNameServers: pulumi.Output<string>;property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property netbiosNameServers
public netbiosNameServers: pulumi.Output<string[] | undefined>;List of NETBIOS name servers.
property netbiosNodeType
public netbiosNodeType: pulumi.Output<string | undefined>;The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see RFC 2132.
property ntpServers
public ntpServers: pulumi.Output<string>;property ownerId
public ownerId: pulumi.Output<string>;The ID of the AWS account that owns the DHCP options set.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource EgressOnlyInternetGateway
class EgressOnlyInternetGateway extends CustomResource[IPv6 only] Creates an egress-only Internet gateway for your VPC. An egress-only Internet gateway is used to enable outbound communication over IPv6 from instances in your VPC to the Internet, and prevents hosts outside of your VPC from initiating an IPv6 connection with your instance.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const exampleVpc = new aws.ec2.Vpc("example", {
assignGeneratedIpv6CidrBlock: true,
cidrBlock: "10.1.0.0/16",
});
const exampleEgressOnlyInternetGateway = new aws.ec2.EgressOnlyInternetGateway("example", {
tags: {
Name: "main",
},
vpcId: exampleVpc.id,
});constructor
new EgressOnlyInternetGateway(name: string, args: EgressOnlyInternetGatewayArgs, opts?: pulumi.CustomResourceOptions)Create a EgressOnlyInternetGateway resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: EgressOnlyInternetGatewayState, opts?: pulumi.CustomResourceOptions): EgressOnlyInternetGatewayGet an existing EgressOnlyInternetGateway resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is EgressOnlyInternetGatewayReturns true if the given object is an instance of EgressOnlyInternetGateway. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcId
public vpcId: pulumi.Output<string>;The VPC ID to create in.
Resource Eip
class Eip extends CustomResourceProvides an Elastic IP resource.
Note: EIP may require IGW to exist prior to association. Use
dependsOnto set an explicit dependency on the IGW.Note: Do not use
networkInterfaceto associate the EIP toaws.lb.LoadBalanceroraws.ec2.NatGatewayresources. Instead use theallocationIdavailable in those resources to allow AWS to manage the association, otherwise you will seeAuthFailureerrors.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const lb = new aws.ec2.Eip("lb", {
instance: aws_instance_web.id,
vpc: true,
});constructor
new Eip(name: string, args?: EipArgs, opts?: pulumi.CustomResourceOptions)Create a Eip resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: EipState, opts?: pulumi.CustomResourceOptions): EipGet an existing Eip resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is EipReturns true if the given object is an instance of Eip. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property allocationId
public allocationId: pulumi.Output<string>;property associateWithPrivateIp
public associateWithPrivateIp: pulumi.Output<string | undefined>;A user specified primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.
property associationId
public associationId: pulumi.Output<string>;property customerOwnedIp
public customerOwnedIp: pulumi.Output<string>;Customer owned IP.
property customerOwnedIpv4Pool
public customerOwnedIpv4Pool: pulumi.Output<string | undefined>;The ID of a customer-owned address pool. For more on customer owned IP addressed check out Customer-owned IP addresses guide
property domain
public domain: pulumi.Output<string>;property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instance
public instance: pulumi.Output<string>;EC2 instance ID.
property networkInterface
public networkInterface: pulumi.Output<string>;Network interface ID to associate with.
property privateDns
public privateDns: pulumi.Output<string>;The Private DNS associated with the Elastic IP address (if in VPC).
property privateIp
public privateIp: pulumi.Output<string>;Contains the private IP address (if in VPC).
property publicDns
public publicDns: pulumi.Output<string>;Public DNS associated with the Elastic IP address.
property publicIp
public publicIp: pulumi.Output<string>;Contains the public IP address.
property publicIpv4Pool
public publicIpv4Pool: pulumi.Output<string>;EC2 IPv4 address pool identifier or amazon. This option is only available for VPC EIPs.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpc
public vpc: pulumi.Output<boolean>;Boolean if the EIP is in a VPC or not.
Resource EipAssociation
class EipAssociation extends CustomResourceProvides 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.LoadBalanceroraws.ec2.NatGatewayresources. Instead use theallocationIdavailable in those resources to allow AWS to manage the association, otherwise you will seeAuthFailureerrors.NOTE:
aws.ec2.EipAssociationis useful in scenarios where EIPs are either pre-existing or distributed to customers or users and therefore cannot be changed.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const web = new aws.ec2.Instance("web", {
ami: "ami-21f78e11",
availabilityZone: "us-west-2a",
instanceType: "t1.micro",
tags: {
Name: "HelloWorld",
},
});
const example = new aws.ec2.Eip("example", {
vpc: true,
});
const eipAssoc = new aws.ec2.EipAssociation("eip_assoc", {
allocationId: example.id,
instanceId: web.id,
});constructor
new EipAssociation(name: string, args?: EipAssociationArgs, opts?: pulumi.CustomResourceOptions)Create a EipAssociation resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: EipAssociationState, opts?: pulumi.CustomResourceOptions): EipAssociationGet an existing EipAssociation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is EipAssociationReturns true if the given object is an instance of EipAssociation. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property allocationId
public allocationId: pulumi.Output<string>;The allocation ID. This is required for EC2-VPC.
property allowReassociation
public allowReassociation: pulumi.Output<boolean | undefined>;Whether to allow an Elastic IP to
be re-associated. Defaults to true in VPC.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instanceId
public instanceId: pulumi.Output<string>;The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. The operation fails if you specify an instance ID unless exactly one network interface is attached.
property networkInterfaceId
public networkInterfaceId: pulumi.Output<string>;The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.
property privateIpAddress
public privateIpAddress: pulumi.Output<string>;The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.
property publicIp
public publicIp: pulumi.Output<string>;The Elastic IP address. This is required for EC2-Classic.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource Fleet
class Fleet extends CustomResourceProvides a resource to manage EC2 Fleets.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ec2.Fleet("example", {
launchTemplateConfig: {
launchTemplateSpecification: {
launchTemplateId: aws_launch_template_example.id,
version: aws_launch_template_example.latestVersion,
},
},
targetCapacitySpecification: {
defaultTargetCapacityType: "spot",
totalTargetCapacity: 5,
},
});constructor
new Fleet(name: string, args: FleetArgs, opts?: pulumi.CustomResourceOptions)Create a Fleet resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FleetState, opts?: pulumi.CustomResourceOptions): FleetGet an existing Fleet resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is FleetReturns true if the given object is an instance of Fleet. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property excessCapacityTerminationPolicy
public excessCapacityTerminationPolicy: pulumi.Output<string | undefined>;Whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2. Valid values: no-termination, termination. Defaults to termination.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property launchTemplateConfig
public launchTemplateConfig: pulumi.Output<FleetLaunchTemplateConfig>;Nested argument containing EC2 Launch Template configurations. Defined below.
property onDemandOptions
public onDemandOptions: pulumi.Output<FleetOnDemandOptions | undefined>;Nested argument containing On-Demand configurations. Defined below.
property replaceUnhealthyInstances
public replaceUnhealthyInstances: pulumi.Output<boolean | undefined>;Whether EC2 Fleet should replace unhealthy instances. Defaults to false.
property spotOptions
public spotOptions: pulumi.Output<FleetSpotOptions | undefined>;Nested argument containing Spot configurations. Defined below.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;Map of Fleet tags. To tag instances at launch, specify the tags in the Launch Template.
property targetCapacitySpecification
public targetCapacitySpecification: pulumi.Output<FleetTargetCapacitySpecification>;Nested argument containing target capacity configurations. Defined below.
property terminateInstances
public terminateInstances: pulumi.Output<boolean | undefined>;Whether to terminate instances for an EC2 Fleet if it is deleted successfully. Defaults to false.
property terminateInstancesWithExpiration
public terminateInstancesWithExpiration: pulumi.Output<boolean | undefined>;Whether running instances should be terminated when the EC2 Fleet expires. Defaults to false.
property type
public type: pulumi.Output<string | undefined>;The type of request. Indicates whether the EC2 Fleet only requests the target capacity, or also attempts to maintain it. Valid values: maintain, request. Defaults to maintain.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource FlowLog
class FlowLog extends CustomResourceProvides a VPC/Subnet/ENI Flow Log to capture IP traffic for a specific network interface, subnet, or VPC. Logs are sent to a CloudWatch Log Group or a S3 Bucket.
Example Usage
CloudWatch Logging
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const exampleLogGroup = new aws.cloudwatch.LogGroup("example", {});
const exampleRole = new aws.iam.Role("example", {
assumeRolePolicy: `{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "vpc-flow-logs.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
`,
});
const exampleFlowLog = new aws.ec2.FlowLog("example", {
iamRoleArn: exampleRole.arn,
logDestination: exampleLogGroup.arn,
trafficType: "ALL",
vpcId: aws_vpc_example.id,
});
const exampleRolePolicy = new aws.iam.RolePolicy("example", {
policy: `{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogGroups",
"logs:DescribeLogStreams"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
`,
role: exampleRole.id,
});S3 Logging
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const exampleBucket = new aws.s3.Bucket("example", {});
const exampleFlowLog = new aws.ec2.FlowLog("example", {
logDestination: exampleBucket.arn,
logDestinationType: "s3",
trafficType: "ALL",
vpcId: aws_vpc_example.id,
});constructor
new FlowLog(name: string, args: FlowLogArgs, opts?: pulumi.CustomResourceOptions)Create a FlowLog resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FlowLogState, opts?: pulumi.CustomResourceOptions): FlowLogGet an existing FlowLog resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is FlowLogReturns true if the given object is an instance of FlowLog. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property eniId
public eniId: pulumi.Output<string | undefined>;Elastic Network Interface ID to attach to
property iamRoleArn
public iamRoleArn: pulumi.Output<string | undefined>;The ARN for the IAM role that’s used to post flow logs to a CloudWatch Logs log group
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property logDestination
public logDestination: pulumi.Output<string>;The ARN of the logging destination.
property logDestinationType
public logDestinationType: pulumi.Output<string | undefined>;The type of the logging destination. Valid values: cloud-watch-logs, s3. Default: cloud-watch-logs.
property logFormat
public logFormat: pulumi.Output<string>;The fields to include in the flow log record, in the order in which they should appear.
property logGroupName
public logGroupName: pulumi.Output<string>;Deprecated: Use logDestination instead. The name of the CloudWatch log group.
property maxAggregationInterval
public maxAggregationInterval: pulumi.Output<number | undefined>;The maximum interval of time
during which a flow of packets is captured and aggregated into a flow
log record. Valid Values: 60 seconds (1 minute) or 600 seconds (10
minutes). Default: 600.
property subnetId
public subnetId: pulumi.Output<string | undefined>;Subnet ID to attach to
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;Key-value map of resource tags
property trafficType
public trafficType: pulumi.Output<string>;The type of traffic to capture. Valid values: ACCEPT,REJECT, ALL.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcId
public vpcId: pulumi.Output<string | undefined>;VPC ID to attach to
Resource Instance
class Instance extends CustomResourceProvides an EC2 instance resource. This allows instances to be created, updated, and deleted.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const ubuntu = pulumi.output(aws.getAmi({
filters: [
{
name: "name",
values: ["ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*"],
},
{
name: "virtualization-type",
values: ["hvm"],
},
],
mostRecent: true,
owners: ["099720109477"], // Canonical
}, { async: true }));
const web = new aws.ec2.Instance("web", {
ami: ubuntu.id,
instanceType: "t2.micro",
tags: {
Name: "HelloWorld",
},
});constructor
new Instance(name: string, args: InstanceArgs, opts?: pulumi.CustomResourceOptions)Create a Instance resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: InstanceState, opts?: pulumi.CustomResourceOptions): InstanceGet an existing Instance resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is InstanceReturns true if the given object is an instance of Instance. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property ami
public ami: pulumi.Output<string>;The AMI to use for the instance.
property arn
public arn: pulumi.Output<string>;The ARN of the instance.
property associatePublicIpAddress
public associatePublicIpAddress: pulumi.Output<boolean>;Associate a public ip address with an instance in a VPC. Boolean value.
property availabilityZone
public availabilityZone: pulumi.Output<string>;The AZ to start the instance in.
property cpuCoreCount
public cpuCoreCount: pulumi.Output<number>;Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.
property cpuThreadsPerCore
public cpuThreadsPerCore: pulumi.Output<number>;If set to to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.
property creditSpecification
public creditSpecification: pulumi.Output<InstanceCreditSpecification | undefined>;Customize the credit specification of the instance. See Credit Specification below for more details.
property disableApiTermination
public disableApiTermination: pulumi.Output<boolean | undefined>;If true, enables EC2 Instance Termination Protection
property ebsBlockDevices
public ebsBlockDevices: pulumi.Output<InstanceEbsBlockDevice[]>;Additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection.
property ebsOptimized
public ebsOptimized: pulumi.Output<boolean | undefined>;If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
property ephemeralBlockDevices
public ephemeralBlockDevices: pulumi.Output<InstanceEphemeralBlockDevice[]>;Customize Ephemeral (also known as “Instance Store”) volumes on the instance. See Block Devices below for details.
property getPasswordData
public getPasswordData: pulumi.Output<boolean | undefined>;If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the passwordData attribute. See GetPasswordData for more information.
property hibernation
public hibernation: pulumi.Output<boolean | undefined>;If true, the launched EC2 instance will support hibernation.
property hostId
public hostId: pulumi.Output<string>;The Id of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
property iamInstanceProfile
public iamInstanceProfile: pulumi.Output<string | undefined>;The IAM Instance Profile to
launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instanceInitiatedShutdownBehavior
public instanceInitiatedShutdownBehavior: pulumi.Output<string | undefined>;Shutdown behavior for the
instance. Amazon defaults this to stop for EBS-backed instances and
terminate for instance-store instances. Cannot be set on instance-store
instances. See Shutdown Behavior for more information.
property instanceState
public instanceState: pulumi.Output<string>;The state of the instance. One of: pending, running, shutting-down, terminated, stopping, stopped. See Instance Lifecycle for more information.
property instanceType
public instanceType: pulumi.Output<InstanceType>;The type of instance to start. Updates to this field will trigger a stop/start of the EC2 instance.
property ipv6AddressCount
public ipv6AddressCount: pulumi.Output<number>;A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
property ipv6Addresses
public ipv6Addresses: pulumi.Output<string[]>;Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
property keyName
public keyName: pulumi.Output<string>;The key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.
property metadataOptions
public metadataOptions: pulumi.Output<InstanceMetadataOptions>;Customize the metadata options of the instance. See Metadata Options below for more details.
property monitoring
public monitoring: pulumi.Output<boolean | undefined>;If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
property networkInterfaces
public networkInterfaces: pulumi.Output<InstanceNetworkInterface[]>;Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
property outpostArn
public outpostArn: pulumi.Output<string>;The ARN of the Outpost the instance is assigned to.
property passwordData
public passwordData: pulumi.Output<string>;Base-64 encoded encrypted password data for the instance.
Useful for getting the administrator password for instances running Microsoft Windows.
This attribute is only exported if getPasswordData is true.
Note that this encrypted value will be stored in the state file, as with all exported attributes.
See GetPasswordData for more information.
property placementGroup
public placementGroup: pulumi.Output<string>;The Placement Group to start the instance in.
property primaryNetworkInterfaceId
public primaryNetworkInterfaceId: pulumi.Output<string>;The ID of the instance’s primary network interface.
property privateDns
public privateDns: pulumi.Output<string>;The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you’ve enabled DNS hostnames for your VPC
property privateIp
public privateIp: pulumi.Output<string>;Private IP address to associate with the instance in a VPC.
property publicDns
public publicDns: pulumi.Output<string>;The public DNS name assigned to the instance. For EC2-VPC, this is only available if you’ve enabled DNS hostnames for your VPC
property publicIp
public publicIp: pulumi.Output<string>;The public IP address assigned to the instance, if applicable. NOTE: If you are using an aws.ec2.Eip with your instance, you should refer to the EIP’s address directly and not use publicIp, as this field will change after the EIP is attached.
property rootBlockDevice
public rootBlockDevice: pulumi.Output<InstanceRootBlockDevice>;Customize details about the root block device of the instance. See Block Devices below for details.
property securityGroups
securityGroups is discouraged as it does not allow for changes and will force your instance to be replaced if changes are made. To avoid this, use vpcSecurityGroupIds which allows for updates.public securityGroups: pulumi.Output<string[]>;A list of security group names (EC2-Classic) or IDs (default VPC) to associate with.
property sourceDestCheck
public sourceDestCheck: pulumi.Output<boolean | undefined>;Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
property subnetId
public subnetId: pulumi.Output<string>;The VPC Subnet ID to launch in.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property tenancy
public tenancy: pulumi.Output<string>;The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property userData
public userData: pulumi.Output<string | undefined>;The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see userDataBase64 instead.
property userDataBase64
public userDataBase64: pulumi.Output<string | undefined>;Can be used instead of userData to pass base64-encoded binary data directly. Use this instead of userData whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
property volumeTags
public volumeTags: pulumi.Output<{[key: string]: any}>;A map of tags to assign to the devices created by the instance at launch time.
property vpcSecurityGroupIds
public vpcSecurityGroupIds: pulumi.Output<string[]>;A list of security group IDs to associate with.
Resource InternetGateway
class InternetGateway extends CustomResourceProvides a resource to create a VPC Internet Gateway.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const gw = new aws.ec2.InternetGateway("gw", {
tags: {
Name: "main",
},
vpcId: aws_vpc_main.id,
});constructor
new InternetGateway(name: string, args?: InternetGatewayArgs, opts?: pulumi.CustomResourceOptions)Create a InternetGateway resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: InternetGatewayState, opts?: pulumi.CustomResourceOptions): InternetGatewayGet an existing InternetGateway resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is InternetGatewayReturns true if the given object is an instance of InternetGateway. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property ownerId
public ownerId: pulumi.Output<string>;The ID of the AWS account that owns the internet gateway.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcId
public vpcId: pulumi.Output<string | undefined>;The VPC ID to create in.
Resource KeyPair
class KeyPair extends CustomResourceProvides an EC2 key pair resource. A key pair is used to control login access to EC2 instances.
Currently this resource requires an existing user-supplied key pair. This key pair’s public key will be registered with AWS to allow logging-in to EC2 instances.
When importing an existing key pair the public key material may be in any format supported by AWS. Supported formats (per the AWS documentation) are:
- OpenSSH public key format (the format in ~/.ssh/authorized_keys)
- Base64 encoded DER format
- SSH public key file format as specified in RFC4716
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const deployer = new aws.ec2.KeyPair("deployer", {
publicKey: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 email@example.com",
});constructor
new KeyPair(name: string, args: KeyPairArgs, opts?: pulumi.CustomResourceOptions)Create a KeyPair resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: KeyPairState, opts?: pulumi.CustomResourceOptions): KeyPairGet an existing KeyPair resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is KeyPairReturns true if the given object is an instance of KeyPair. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property fingerprint
public fingerprint: pulumi.Output<string>;The MD5 public key fingerprint as specified in section 4 of RFC 4716.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property keyName
public keyName: pulumi.Output<string>;The name for the key pair.
property keyNamePrefix
public keyNamePrefix: pulumi.Output<string | undefined>;Creates a unique name beginning with the specified prefix. Conflicts with keyName.
property keyPairId
public keyPairId: pulumi.Output<string>;The key pair ID.
property publicKey
public publicKey: pulumi.Output<string>;The public key material.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;Key-value map of resource tags
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource LaunchConfiguration
class LaunchConfiguration extends CustomResourceProvides a resource to create a new launch configuration, used for autoscaling groups.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const ubuntu = pulumi.output(aws.getAmi({
filters: [
{
name: "name",
values: ["ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*"],
},
{
name: "virtualization-type",
values: ["hvm"],
},
],
mostRecent: true,
owners: ["099720109477"], // Canonical
}, { async: true }));
const asConf = new aws.ec2.LaunchConfiguration("as_conf", {
imageId: ubuntu.id,
instanceType: "t2.micro",
});Using with AutoScaling Groups
Launch Configurations cannot be updated after creation with the Amazon
Web Service API. In order to update a Launch Configuration, this provider will
destroy the existing resource and create a replacement. In order to effectively
use a Launch Configuration resource with an AutoScaling Group resource,
it’s recommended to specify createBeforeDestroy in a lifecycle block.
Either omit the Launch Configuration name attribute, or specify a partial name
with namePrefix. Example:
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const ubuntu = pulumi.output(aws.getAmi({
filters: [
{
name: "name",
values: ["ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*"],
},
{
name: "virtualization-type",
values: ["hvm"],
},
],
mostRecent: true,
owners: ["099720109477"], // Canonical
}, { async: true }));
const asConf = new aws.ec2.LaunchConfiguration("as_conf", {
imageId: ubuntu.id,
instanceType: "t2.micro",
namePrefix: "lc-example-",
});
const bar = new aws.autoscaling.Group("bar", {
launchConfiguration: asConf.name,
maxSize: 2,
minSize: 1,
});With this setup this provider generates a unique name for your Launch Configuration and can then update the AutoScaling Group without conflict before destroying the previous Launch Configuration.
Using with Spot Instances
Launch configurations can set the spot instance pricing to be used for the
Auto Scaling Group to reserve instances. Simply specifying the spotPrice
parameter will set the price on the Launch Configuration which will attempt to
reserve your instances at this price. See the AWS Spot Instance
documentation
for more information or how to launch Spot Instances with this provider.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const ubuntu = pulumi.output(aws.getAmi({
filters: [
{
name: "name",
values: ["ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*"],
},
{
name: "virtualization-type",
values: ["hvm"],
},
],
mostRecent: true,
owners: ["099720109477"], // Canonical
}, { async: true }));
const asConf = new aws.ec2.LaunchConfiguration("as_conf", {
imageId: ubuntu.id,
instanceType: "m4.large",
spotPrice: "0.001",
});
const bar = new aws.autoscaling.Group("bar", {
launchConfiguration: asConf.name,
});Block devices
Each of the *_block_device attributes controls a portion of the AWS
Launch Configuration’s “Block Device Mapping”. It’s a good idea to familiarize yourself with AWS’s Block Device
Mapping docs
to understand the implications of using these attributes.
The rootBlockDevice mapping supports the following:
volumeType- (Optional) The type of volume. Can be"standard","gp2", or"io1". (Default:"standard").volumeSize- (Optional) The size of the volume in gigabytes.iops- (Optional) The amount of provisioned IOPS. This must be set with avolumeTypeof"io1".deleteOnTermination- (Optional) Whether the volume should be destroyed on instance termination (Default:true).encrypted- (Optional) Whether the volume should be encrypted or not. (Default:false).
Modifying any of the rootBlockDevice settings requires resource
replacement.
Each ebsBlockDevice supports the following:
deviceName- (Required) The name of the device to mount.snapshotId- (Optional) The Snapshot ID to mount.volumeType- (Optional) The type of volume. Can be"standard","gp2", or"io1". (Default:"standard").volumeSize- (Optional) The size of the volume in gigabytes.iops- (Optional) The amount of provisioned IOPS. This must be set with avolumeTypeof"io1".deleteOnTermination- (Optional) Whether the volume should be destroyed on instance termination (Default:true).encrypted- (Optional) Whether the volume should be encrypted or not. Do not use this option if you are usingsnapshotIdas the encrypted flag will be determined by the snapshot. (Default:false).
Modifying any ebsBlockDevice currently requires resource replacement.
Each ephemeralBlockDevice supports the following:
deviceName- The name of the block device to mount on the instance.virtualName- The Instance Store Device Name (e.g."ephemeral0")
Each AWS Instance type has a different set of Instance Store block devices
available for attachment. AWS publishes a
list
of which ephemeral devices are available on each type. The devices are always
identified by the virtualName in the format "ephemeral{0..N}".
NOTE: Changes to
*_block_deviceconfiguration of existing resources cannot currently be detected by this provider. After updating to block device configuration, resource recreation can be manually triggered by using theupcommand with the –replace argument.
constructor
new LaunchConfiguration(name: string, args: LaunchConfigurationArgs, opts?: pulumi.CustomResourceOptions)Create a LaunchConfiguration resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: LaunchConfigurationState, opts?: pulumi.CustomResourceOptions): LaunchConfigurationGet an existing LaunchConfiguration resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is LaunchConfigurationReturns true if the given object is an instance of LaunchConfiguration. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property arn
public arn: pulumi.Output<string>;The Amazon Resource Name of the launch configuration.
property associatePublicIpAddress
public associatePublicIpAddress: pulumi.Output<boolean | undefined>;Associate a public ip address with an instance in a VPC.
property ebsBlockDevices
public ebsBlockDevices: pulumi.Output<LaunchConfigurationEbsBlockDevice[]>;Additional EBS block devices to attach to the instance. See Block Devices below for details.
property ebsOptimized
public ebsOptimized: pulumi.Output<boolean>;If true, the launched EC2 instance will be EBS-optimized.
property enableMonitoring
public enableMonitoring: pulumi.Output<boolean | undefined>;Enables/disables detailed monitoring. This is enabled by default.
property ephemeralBlockDevices
public ephemeralBlockDevices: pulumi.Output<LaunchConfigurationEphemeralBlockDevice[] | undefined>;Customize Ephemeral (also known as “Instance Store”) volumes on the instance. See Block Devices below for details.
property iamInstanceProfile
public iamInstanceProfile: pulumi.Output<string | undefined>;The name attribute of the IAM instance profile to associate with launched instances.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property imageId
public imageId: pulumi.Output<string>;The EC2 image ID to launch.
property instanceType
public instanceType: pulumi.Output<string>;The size of instance to launch.
property keyName
public keyName: pulumi.Output<string>;The key name that should be used for the instance.
property name
public name: pulumi.Output<string>;The name of the launch configuration. If you leave this blank, this provider will auto-generate a unique name.
property namePrefix
public namePrefix: pulumi.Output<string | undefined>;Creates a unique name beginning with the specified
prefix. Conflicts with name.
property placementTenancy
public placementTenancy: pulumi.Output<string | undefined>;The tenancy of the instance. Valid values are
"default" or "dedicated", see AWS’s Create Launch Configuration
for more details
property rootBlockDevice
public rootBlockDevice: pulumi.Output<LaunchConfigurationRootBlockDevice>;Customize details about the root block device of the instance. See Block Devices below for details.
property securityGroups
public securityGroups: pulumi.Output<string[] | undefined>;A list of associated security group IDS.
property spotPrice
public spotPrice: pulumi.Output<string | undefined>;The maximum price to use for reserving spot instances.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property userData
public userData: pulumi.Output<string | undefined>;The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see userDataBase64 instead.
property userDataBase64
public userDataBase64: pulumi.Output<string | undefined>;Can be used instead of userData to pass base64-encoded binary data directly. Use this instead of userData whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
property vpcClassicLinkId
public vpcClassicLinkId: pulumi.Output<string | undefined>;The ID of a ClassicLink-enabled VPC. Only applies to EC2-Classic instances. (eg. vpc-2730681a)
property vpcClassicLinkSecurityGroups
public vpcClassicLinkSecurityGroups: pulumi.Output<string[] | undefined>;The IDs of one or more security groups for the specified ClassicLink-enabled VPC (eg. sg-46ae3d11).
Resource LaunchTemplate
class LaunchTemplate extends CustomResourceProvides an EC2 launch template resource. Can be used to create instances or auto scaling groups.
constructor
new LaunchTemplate(name: string, args?: LaunchTemplateArgs, opts?: pulumi.CustomResourceOptions)Create a LaunchTemplate resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: LaunchTemplateState, opts?: pulumi.CustomResourceOptions): LaunchTemplateGet an existing LaunchTemplate resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is LaunchTemplateReturns true if the given object is an instance of LaunchTemplate. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property arn
public arn: pulumi.Output<string>;The Amazon Resource Name (ARN) of the instance profile.
property blockDeviceMappings
public blockDeviceMappings: pulumi.Output<LaunchTemplateBlockDeviceMapping[] | undefined>;Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.
property capacityReservationSpecification
public capacityReservationSpecification: pulumi.Output<LaunchTemplateCapacityReservationSpecification | undefined>;Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
property cpuOptions
public cpuOptions: pulumi.Output<LaunchTemplateCpuOptions | undefined>;The CPU options for the instance. See CPU Options below for more details.
property creditSpecification
public creditSpecification: pulumi.Output<LaunchTemplateCreditSpecification | undefined>;Customize the credit specification of the instance. See Credit Specification below for more details.
property defaultVersion
public defaultVersion: pulumi.Output<number>;The default version of the launch template.
property description
public description: pulumi.Output<string | undefined>;Description of the launch template.
property disableApiTermination
public disableApiTermination: pulumi.Output<boolean | undefined>;If true, enables EC2 Instance
Termination Protection
property ebsOptimized
public ebsOptimized: pulumi.Output<string | undefined>;If true, the launched EC2 instance will be EBS-optimized.
property elasticGpuSpecifications
public elasticGpuSpecifications: pulumi.Output<LaunchTemplateElasticGpuSpecification[] | undefined>;The elastic GPU to attach to the instance. See Elastic GPU below for more details.
property elasticInferenceAccelerator
public elasticInferenceAccelerator: pulumi.Output<LaunchTemplateElasticInferenceAccelerator | undefined>;Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.
property hibernationOptions
public hibernationOptions: pulumi.Output<LaunchTemplateHibernationOptions | undefined>;The hibernation options for the instance. See Hibernation Options below for more details.
property iamInstanceProfile
public iamInstanceProfile: pulumi.Output<LaunchTemplateIamInstanceProfile | undefined>;The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property imageId
public imageId: pulumi.Output<string | undefined>;The AMI from which to launch the instance.
property instanceInitiatedShutdownBehavior
public instanceInitiatedShutdownBehavior: pulumi.Output<string | undefined>;Shutdown behavior for the instance. Can be stop or terminate.
(Default: stop).
property instanceMarketOptions
public instanceMarketOptions: pulumi.Output<LaunchTemplateInstanceMarketOptions | undefined>;The market (purchasing) option for the instance. See Market Options below for details.
property instanceType
public instanceType: pulumi.Output<string | undefined>;The type of the instance.
property kernelId
public kernelId: pulumi.Output<string | undefined>;The kernel ID.
property keyName
public keyName: pulumi.Output<string | undefined>;The key name to use for the instance.
property latestVersion
public latestVersion: pulumi.Output<number>;The latest version of the launch template.
property licenseSpecifications
public licenseSpecifications: pulumi.Output<LaunchTemplateLicenseSpecification[] | undefined>;A list of license specifications to associate with. See License Specification below for more details.
property metadataOptions
public metadataOptions: pulumi.Output<LaunchTemplateMetadataOptions>;Customize the metadata options for the instance. See Metadata Options below for more details.
property monitoring
public monitoring: pulumi.Output<LaunchTemplateMonitoring | undefined>;The monitoring option for the instance. See Monitoring below for more details.
property name
public name: pulumi.Output<string>;The name of the launch template. If you leave this blank, this provider will auto-generate a unique name.
property namePrefix
public namePrefix: pulumi.Output<string | undefined>;Creates a unique name beginning with the specified prefix. Conflicts with name.
property networkInterfaces
public networkInterfaces: pulumi.Output<LaunchTemplateNetworkInterface[] | undefined>;Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
property placement
public placement: pulumi.Output<LaunchTemplatePlacement | undefined>;The placement of the instance. See Placement below for more details.
property ramDiskId
public ramDiskId: pulumi.Output<string | undefined>;The ID of the RAM disk.
property securityGroupNames
public securityGroupNames: pulumi.Output<string[] | undefined>;A list of security group names to associate with. If you are creating Instances in a VPC, use
vpcSecurityGroupIds instead.
property tagSpecifications
public tagSpecifications: pulumi.Output<LaunchTemplateTagSpecification[] | undefined>;The tags to apply to the resources during launch. See Tag Specifications below for more details.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the launch template.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property userData
public userData: pulumi.Output<string | undefined>;The Base64-encoded user data to provide when launching the instance.
property vpcSecurityGroupIds
public vpcSecurityGroupIds: pulumi.Output<string[] | undefined>;A list of security group IDs to associate with.
Resource MainRouteTableAssociation
class MainRouteTableAssociation extends CustomResourceProvides a resource for managing the main routing table of a VPC.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const mainRouteTableAssociation = new aws.ec2.MainRouteTableAssociation("a", {
routeTableId: aws_route_table_bar.id,
vpcId: aws_vpc_foo.id,
});Notes
On VPC creation, the AWS API always creates an initial Main Route Table. This
resource records the ID of that Route Table under originalRouteTableId.
The “Delete” action for a mainRouteTableAssociation consists of resetting
this original table as the Main Route Table for the VPC. You’ll see this
additional Route Table in the AWS console; it must remain intact in order for
the mainRouteTableAssociation delete to work properly.
constructor
new MainRouteTableAssociation(name: string, args: MainRouteTableAssociationArgs, opts?: pulumi.CustomResourceOptions)Create a MainRouteTableAssociation resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: MainRouteTableAssociationState, opts?: pulumi.CustomResourceOptions): MainRouteTableAssociationGet an existing MainRouteTableAssociation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is MainRouteTableAssociationReturns true if the given object is an instance of MainRouteTableAssociation. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property originalRouteTableId
public originalRouteTableId: pulumi.Output<string>;Used internally, see Notes below
property routeTableId
public routeTableId: pulumi.Output<string>;The ID of the Route Table to set as the new main route table for the target VPC
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcId
public vpcId: pulumi.Output<string>;The ID of the VPC whose main route table should be set
Resource NatGateway
class NatGateway extends CustomResourceProvides a resource to create a VPC NAT Gateway.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const gw = new aws.ec2.NatGateway("gw", {
allocationId: aws_eip_nat.id,
subnetId: aws_subnet_example.id,
});constructor
new NatGateway(name: string, args: NatGatewayArgs, opts?: pulumi.CustomResourceOptions)Create a NatGateway resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NatGatewayState, opts?: pulumi.CustomResourceOptions): NatGatewayGet an existing NatGateway resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is NatGatewayReturns true if the given object is an instance of NatGateway. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property allocationId
public allocationId: pulumi.Output<string>;The Allocation ID of the Elastic IP address for the gateway.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property networkInterfaceId
public networkInterfaceId: pulumi.Output<string>;The ENI ID of the network interface created by the NAT gateway.
property privateIp
public privateIp: pulumi.Output<string>;The private IP address of the NAT Gateway.
property publicIp
public publicIp: pulumi.Output<string>;The public IP address of the NAT Gateway.
property subnetId
public subnetId: pulumi.Output<string>;The Subnet ID of the subnet in which to place the gateway.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource NetworkAcl
class NetworkAcl extends CustomResourceProvides an network ACL resource. You might set up network ACLs with rules similar to your security groups in order to add an additional layer of security to your VPC.
NOTE on Network ACLs and Network ACL Rules: This provider currently provides both a standalone Network ACL Rule resource and a Network ACL resource with rules defined in-line. At this time you cannot use a Network ACL with in-line rules in conjunction with any Network ACL Rule resources. Doing so will cause a conflict of rule settings and will overwrite rules.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const main = new aws.ec2.NetworkAcl("main", {
egress: [{
action: "allow",
cidrBlock: "10.3.0.0/18",
fromPort: 443,
protocol: "tcp",
ruleNo: 200,
toPort: 443,
}],
ingress: [{
action: "allow",
cidrBlock: "10.3.0.0/18",
fromPort: 80,
protocol: "tcp",
ruleNo: 100,
toPort: 80,
}],
tags: {
Name: "main",
},
vpcId: aws_vpc_main.id,
});constructor
new NetworkAcl(name: string, args: NetworkAclArgs, opts?: pulumi.CustomResourceOptions)Create a NetworkAcl resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NetworkAclState, opts?: pulumi.CustomResourceOptions): NetworkAclGet an existing NetworkAcl resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is NetworkAclReturns true if the given object is an instance of NetworkAcl. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property egress
public egress: pulumi.Output<NetworkAclEgress[]>;Specifies an egress rule. Parameters defined below.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property ingress
public ingress: pulumi.Output<NetworkAclIngress[]>;Specifies an ingress rule. Parameters defined below.
property ownerId
public ownerId: pulumi.Output<string>;The ID of the AWS account that owns the network ACL.
property subnetIds
public subnetIds: pulumi.Output<string[]>;A list of Subnet IDs to apply the ACL to
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A mapping of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcId
public vpcId: pulumi.Output<string>;The ID of the associated VPC.
Resource NetworkAclRule
class NetworkAclRule extends CustomResourceCreates an entry (a rule) in a network ACL with the specified rule number.
NOTE on Network ACLs and Network ACL Rules: This provider currently provides both a standalone Network ACL Rule resource and a Network ACL resource with rules defined in-line. At this time you cannot use a Network ACL with in-line rules in conjunction with any Network ACL Rule resources. Doing so will cause a conflict of rule settings and will overwrite rules.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const barNetworkAcl = new aws.ec2.NetworkAcl("barNetworkAcl", {vpcId: aws_vpc.foo.id});
const barNetworkAclRule = new aws.ec2.NetworkAclRule("barNetworkAclRule", {
networkAclId: barNetworkAcl.id,
ruleNumber: 200,
egress: false,
protocol: "tcp",
ruleAction: "allow",
cidrBlock: aws_vpc.foo.cidr_block,
fromPort: 22,
toPort: 22,
});constructor
new NetworkAclRule(name: string, args: NetworkAclRuleArgs, opts?: pulumi.CustomResourceOptions)Create a NetworkAclRule resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NetworkAclRuleState, opts?: pulumi.CustomResourceOptions): NetworkAclRuleGet an existing NetworkAclRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is NetworkAclRuleReturns true if the given object is an instance of NetworkAclRule. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property cidrBlock
public cidrBlock: pulumi.Output<string | undefined>;The network range to allow or deny, in CIDR notation (for example 172.16.0.0/24 ).
property egress
public egress: pulumi.Output<boolean | undefined>;Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet). Default false.
property fromPort
public fromPort: pulumi.Output<number | undefined>;The from port to match.
property icmpCode
public icmpCode: pulumi.Output<string | undefined>;ICMP protocol: The ICMP code. Required if specifying ICMP for the protocol. e.g. -1
property icmpType
public icmpType: pulumi.Output<string | undefined>;ICMP protocol: The ICMP type. Required if specifying ICMP for the protocol. e.g. -1
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property ipv6CidrBlock
public ipv6CidrBlock: pulumi.Output<string | undefined>;The IPv6 CIDR block to allow or deny.
property networkAclId
public networkAclId: pulumi.Output<string>;The ID of the network ACL.
property protocol
public protocol: pulumi.Output<string>;The protocol. A value of -1 means all protocols.
property ruleAction
public ruleAction: pulumi.Output<string>;Indicates whether to allow or deny the traffic that matches the rule. Accepted values: allow | deny
property ruleNumber
public ruleNumber: pulumi.Output<number>;The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.
property toPort
public toPort: pulumi.Output<number | undefined>;The to port to match.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource NetworkInterface
class NetworkInterface extends CustomResourceProvides an Elastic network interface (ENI) resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.ec2.NetworkInterface("test", {
attachments: [{
deviceIndex: 1,
instance: aws_instance_test.id,
}],
privateIps: ["10.0.0.50"],
securityGroups: [aws_security_group_web.id],
subnetId: aws_subnet_public_a.id,
});constructor
new NetworkInterface(name: string, args: NetworkInterfaceArgs, opts?: pulumi.CustomResourceOptions)Create a NetworkInterface resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NetworkInterfaceState, opts?: pulumi.CustomResourceOptions): NetworkInterfaceGet an existing NetworkInterface resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is NetworkInterfaceReturns true if the given object is an instance of NetworkInterface. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property attachments
public attachments: pulumi.Output<NetworkInterfaceAttachment[]>;Block to define the attachment of the ENI. Documented below.
property description
public description: pulumi.Output<string | undefined>;A description for the network interface.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property macAddress
public macAddress: pulumi.Output<string>;The MAC address of the network interface.
property outpostArn
public outpostArn: pulumi.Output<string>;property privateDnsName
public privateDnsName: pulumi.Output<string>;The private DNS name of the network interface (IPv4).
property privateIp
public privateIp: pulumi.Output<string>;property privateIps
public privateIps: pulumi.Output<string[]>;List of private IPs to assign to the ENI.
property privateIpsCount
public privateIpsCount: pulumi.Output<number>;Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + private_ips_count, as a primary private IP will be assiged to an ENI by default.
property securityGroups
public securityGroups: pulumi.Output<string[]>;List of security group IDs to assign to the ENI.
property sourceDestCheck
public sourceDestCheck: pulumi.Output<boolean | undefined>;Whether to enable source destination checking for the ENI. Default true.
property subnetId
public subnetId: pulumi.Output<string>;Subnet ID to create the ENI in.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource NetworkInterfaceAttachment
class NetworkInterfaceAttachment extends CustomResourceAttach an Elastic network interface (ENI) resource with EC2 instance.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.ec2.NetworkInterfaceAttachment("test", {
deviceIndex: 0,
instanceId: aws_instance_test.id,
networkInterfaceId: aws_network_interface_test.id,
});constructor
new NetworkInterfaceAttachment(name: string, args: NetworkInterfaceAttachmentArgs, opts?: pulumi.CustomResourceOptions)Create a NetworkInterfaceAttachment resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NetworkInterfaceAttachmentState, opts?: pulumi.CustomResourceOptions): NetworkInterfaceAttachmentGet an existing NetworkInterfaceAttachment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is NetworkInterfaceAttachmentReturns true if the given object is an instance of NetworkInterfaceAttachment. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property attachmentId
public attachmentId: pulumi.Output<string>;The ENI Attachment ID.
property deviceIndex
public deviceIndex: pulumi.Output<number>;Network interface index (int).
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instanceId
public instanceId: pulumi.Output<string>;Instance ID to attach.
property networkInterfaceId
public networkInterfaceId: pulumi.Output<string>;ENI ID to attach.
property status
public status: pulumi.Output<string>;The status of the Network Interface Attachment.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource NetworkInterfaceSecurityGroupAttachment
class NetworkInterfaceSecurityGroupAttachment extends CustomResourceThis resource attaches a security group to an Elastic Network Interface (ENI). It can be used to attach a security group to any existing ENI, be it a secondary ENI or one attached as the primary interface on an instance.
NOTE on instances, interfaces, and security groups: This provider currently provides the capability to assign security groups via the
aws.ec2.Instanceand theaws.ec2.NetworkInterfaceresources. Using this resource in conjunction with security groups provided in-line in those resources will cause conflicts, and will lead to spurious diffs and undefined behavior - please use one or the other.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const ami = pulumi.output(aws.getAmi({
filters: [{
name: "name",
values: ["amzn-ami-hvm-*"],
}],
mostRecent: true,
owners: ["amazon"],
}, { async: true }));
const instance = new aws.ec2.Instance("instance", {
ami: ami.id,
instanceType: "t2.micro",
tags: {
type: "test-instance",
},
});
const sg = new aws.ec2.SecurityGroup("sg", {
tags: {
type: "test-security-group",
},
});
const sgAttachment = new aws.ec2.NetworkInterfaceSecurityGroupAttachment("sg_attachment", {
networkInterfaceId: instance.primaryNetworkInterfaceId,
securityGroupId: sg.id,
});Output Reference
There are no outputs for this resource.
constructor
new NetworkInterfaceSecurityGroupAttachment(name: string, args: NetworkInterfaceSecurityGroupAttachmentArgs, opts?: pulumi.CustomResourceOptions)Create a NetworkInterfaceSecurityGroupAttachment resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NetworkInterfaceSecurityGroupAttachmentState, opts?: pulumi.CustomResourceOptions): NetworkInterfaceSecurityGroupAttachmentGet an existing NetworkInterfaceSecurityGroupAttachment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is NetworkInterfaceSecurityGroupAttachmentReturns true if the given object is an instance of NetworkInterfaceSecurityGroupAttachment. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property networkInterfaceId
public networkInterfaceId: pulumi.Output<string>;The ID of the network interface to attach to.
property securityGroupId
public securityGroupId: pulumi.Output<string>;The ID of the security group.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource PeeringConnectionOptions
class PeeringConnectionOptions extends CustomResourceProvides a resource to manage VPC peering connection options.
NOTE on VPC Peering Connections and VPC Peering Connection Options: This provider provides both a standalone VPC Peering Connection Options and a VPC Peering Connection resource with
accepterandrequesterattributes. Do not manage options for the same VPC peering connection in both a VPC Peering Connection resource and a VPC Peering Connection Options resource. Doing so will cause a conflict of options and will overwrite the options. Using a VPC Peering Connection Options resource decouples management of the connection options from management of the VPC Peering Connection and allows options to be set correctly in cross-region and cross-account scenarios.
Basic usage:
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const fooVpc = new aws.ec2.Vpc("foo", {
cidrBlock: "10.0.0.0/16",
});
const bar = new aws.ec2.Vpc("bar", {
cidrBlock: "10.1.0.0/16",
});
const fooVpcPeeringConnection = new aws.ec2.VpcPeeringConnection("foo", {
autoAccept: true,
peerVpcId: bar.id,
vpcId: fooVpc.id,
});
const fooPeeringConnectionOptions = new aws.ec2.PeeringConnectionOptions("foo", {
accepter: {
allowRemoteVpcDnsResolution: true,
},
requester: {
allowClassicLinkToRemoteVpc: true,
allowVpcToRemoteClassicLink: true,
},
vpcPeeringConnectionId: fooVpcPeeringConnection.id,
});Basic cross-account usage:
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const requester = new aws.Provider("requester", {});
const accepter = new aws.Provider("accepter", {});
const main = new aws.ec2.Vpc("main", {
cidrBlock: "10.0.0.0/16",
enableDnsHostnames: true,
enableDnsSupport: true,
}, { provider: requester });
const peerVpc = new aws.ec2.Vpc("peer", {
cidrBlock: "10.1.0.0/16",
enableDnsHostnames: true,
enableDnsSupport: true,
}, { provider: accepter });
const peerCallerIdentity = pulumi.output(aws.getCallerIdentity({ provider: accepter, async: true }));
const peerVpcPeeringConnection = new aws.ec2.VpcPeeringConnection("peer", {
autoAccept: false,
peerOwnerId: peerCallerIdentity.accountId,
peerVpcId: peerVpc.id,
tags: {
Side: "Requester",
},
vpcId: main.id,
}, { provider: requester });
const peerVpcPeeringConnectionAccepter = new aws.ec2.VpcPeeringConnectionAccepter("peer", {
autoAccept: true,
tags: {
Side: "Accepter",
},
vpcPeeringConnectionId: peerVpcPeeringConnection.id,
}, { provider: accepter });
const requesterPeeringConnectionOptions = new aws.ec2.PeeringConnectionOptions("requester", {
requester: {
allowRemoteVpcDnsResolution: true,
},
// As options can't be set until the connection has been accepted
// create an explicit dependency on the accepter.
vpcPeeringConnectionId: peerVpcPeeringConnectionAccepter.id,
}, { provider: requester });
const accepterPeeringConnectionOptions = new aws.ec2.PeeringConnectionOptions("accepter", {
accepter: {
allowRemoteVpcDnsResolution: true,
},
vpcPeeringConnectionId: peerVpcPeeringConnectionAccepter.id,
}, { provider: accepter });constructor
new PeeringConnectionOptions(name: string, args: PeeringConnectionOptionsArgs, opts?: pulumi.CustomResourceOptions)Create a PeeringConnectionOptions resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: PeeringConnectionOptionsState, opts?: pulumi.CustomResourceOptions): PeeringConnectionOptionsGet an existing PeeringConnectionOptions resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is PeeringConnectionOptionsReturns true if the given object is an instance of PeeringConnectionOptions. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property accepter
public accepter: pulumi.Output<PeeringConnectionOptionsAccepter>;An optional configuration block that allows for VPC Peering Connection options to be set for the VPC that accepts the peering connection (a maximum of one).
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property requester
public requester: pulumi.Output<PeeringConnectionOptionsRequester>;A optional configuration block that allows for VPC Peering Connection options to be set for the VPC that requests the peering connection (a maximum of one).
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcPeeringConnectionId
public vpcPeeringConnectionId: pulumi.Output<string>;The ID of the requester VPC peering connection.
Resource PlacementGroup
class PlacementGroup extends CustomResourceProvides an EC2 placement group. Read more about placement groups in AWS Docs.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const web = new aws.ec2.PlacementGroup("web", {
strategy: "cluster",
});constructor
new PlacementGroup(name: string, args: PlacementGroupArgs, opts?: pulumi.CustomResourceOptions)Create a PlacementGroup resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: PlacementGroupState, opts?: pulumi.CustomResourceOptions): PlacementGroupGet an existing PlacementGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is PlacementGroupReturns true if the given object is an instance of PlacementGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property name
public name: pulumi.Output<string>;The name of the placement group.
property placementGroupId
public placementGroupId: pulumi.Output<string>;The ID of the placement group.
property strategy
public strategy: pulumi.Output<PlacementStrategy>;The placement strategy. Can be "cluster", "partition" or "spread".
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;Key-value map of resource tags.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource ProxyProtocolPolicy
class ProxyProtocolPolicy extends CustomResourceProvides a proxy protocol policy, which allows an ELB to carry a client connection information to a backend.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const lb = new aws.elb.LoadBalancer("lb", {
availabilityZones: ["us-east-1a"],
listeners: [
{
instancePort: 25,
instanceProtocol: "tcp",
lbPort: 25,
lbProtocol: "tcp",
},
{
instancePort: 587,
instanceProtocol: "tcp",
lbPort: 587,
lbProtocol: "tcp",
},
],
});
const smtp = new aws.ec2.ProxyProtocolPolicy("smtp", {
instancePorts: [
"25",
"587",
],
loadBalancer: lb.name,
});constructor
new ProxyProtocolPolicy(name: string, args: ProxyProtocolPolicyArgs, opts?: pulumi.CustomResourceOptions)Create a ProxyProtocolPolicy resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ProxyProtocolPolicyState, opts?: pulumi.CustomResourceOptions): ProxyProtocolPolicyGet an existing ProxyProtocolPolicy resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is ProxyProtocolPolicyReturns true if the given object is an instance of ProxyProtocolPolicy. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instancePorts
public instancePorts: pulumi.Output<string[]>;List of instance ports to which the policy should be applied. This can be specified if the protocol is SSL or TCP.
property loadBalancer
public loadBalancer: pulumi.Output<string>;The load balancer to which the policy should be attached.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource Route
class Route extends CustomResourceProvides a resource to create a routing table entry (a route) in a VPC routing table.
NOTE on Route Tables and Routes: This provider currently provides both a standalone Route resource and a Route Table resource with routes defined in-line. At this time you cannot use a Route Table with in-line routes in conjunction with any Route resources. Doing so will cause a conflict of rule settings and will overwrite rules.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const route = new aws.ec2.Route("route", {
routeTableId: "rtb-4fbb3ac4",
destinationCidrBlock: "10.0.1.0/22",
vpcPeeringConnectionId: "pcx-45ff3dc1",
});Example IPv6 Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const vpc = new aws.ec2.Vpc("vpc", {
assignGeneratedIpv6CidrBlock: true,
cidrBlock: "10.1.0.0/16",
});
const egress = new aws.ec2.EgressOnlyInternetGateway("egress", {
vpcId: vpc.id,
});
const route = new aws.ec2.Route("r", {
destinationIpv6CidrBlock: "::/0",
egressOnlyGatewayId: egress.id,
routeTableId: "rtb-4fbb3ac4",
});constructor
new Route(name: string, args: RouteArgs, opts?: pulumi.CustomResourceOptions)Create a Route resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RouteState, opts?: pulumi.CustomResourceOptions): RouteGet an existing Route resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is RouteReturns true if the given object is an instance of Route. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property destinationCidrBlock
public destinationCidrBlock: pulumi.Output<string | undefined>;The destination CIDR block.
property destinationIpv6CidrBlock
public destinationIpv6CidrBlock: pulumi.Output<string | undefined>;The destination IPv6 CIDR block.
property destinationPrefixListId
public destinationPrefixListId: pulumi.Output<string>;property egressOnlyGatewayId
public egressOnlyGatewayId: pulumi.Output<string>;Identifier of a VPC Egress Only Internet Gateway.
property gatewayId
public gatewayId: pulumi.Output<string>;Identifier of a VPC internet gateway or a virtual private gateway.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instanceId
public instanceId: pulumi.Output<string>;Identifier of an EC2 instance.
property instanceOwnerId
public instanceOwnerId: pulumi.Output<string>;property natGatewayId
public natGatewayId: pulumi.Output<string>;Identifier of a VPC NAT gateway.
property networkInterfaceId
public networkInterfaceId: pulumi.Output<string>;Identifier of an EC2 network interface.
property origin
public origin: pulumi.Output<string>;property routeTableId
public routeTableId: pulumi.Output<string>;The ID of the routing table.
property state
public state: pulumi.Output<string>;property transitGatewayId
public transitGatewayId: pulumi.Output<string | undefined>;Identifier of an EC2 Transit Gateway.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcPeeringConnectionId
public vpcPeeringConnectionId: pulumi.Output<string | undefined>;Identifier of a VPC peering connection.
Resource RouteTable
class RouteTable extends CustomResourceProvides a resource to create a VPC routing table.
NOTE on Route Tables and Routes: This provider currently provides both a standalone Route resource and a Route Table resource with routes defined in-line. At this time you cannot use a Route Table with in-line routes in conjunction with any Route resources. Doing so will cause a conflict of rule settings and will overwrite rules.
NOTE on
gatewayIdandnatGatewayId: The AWS API is very forgiving with these two attributes and theaws.ec2.RouteTableresource 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 youraws.ec2.RouteTableresources, 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
propagatingVgwsand theaws.ec2.VpnGatewayRoutePropagationresource: If thepropagatingVgwsargument is present, it’s not supported to also define route propagations usingaws.ec2.VpnGatewayRoutePropagation, since this resource will delete any propagating gateways not explicitly listed inpropagatingVgws. Omit this argument when defining route propagation using the separate resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const routeTable = new aws.ec2.RouteTable("r", {
routes: [
{
cidrBlock: "10.0.1.0/24",
gatewayId: aws_internet_gateway_main.id,
},
{
egressOnlyGatewayId: aws_egress_only_internet_gateway_foo.id,
ipv6CidrBlock: "::/0",
},
],
tags: {
Name: "main",
},
vpcId: aws_vpc_default.id,
});constructor
new RouteTable(name: string, args: RouteTableArgs, opts?: pulumi.CustomResourceOptions)Create a RouteTable resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RouteTableState, opts?: pulumi.CustomResourceOptions): RouteTableGet an existing RouteTable resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is RouteTableReturns true if the given object is an instance of RouteTable. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property ownerId
public ownerId: pulumi.Output<string>;The ID of the AWS account that owns the route table.
property propagatingVgws
public propagatingVgws: pulumi.Output<string[]>;A list of virtual gateways for propagation.
property routes
public routes: pulumi.Output<RouteTableRoute[]>;A list of route objects. Their keys are documented below.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A mapping of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcId
public vpcId: pulumi.Output<string>;The VPC ID.
Resource RouteTableAssociation
class RouteTableAssociation extends CustomResourceProvides a resource to create an association between a route table and a subnet or a route table and an internet gateway or virtual private gateway.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const routeTableAssociation = new aws.ec2.RouteTableAssociation("routeTableAssociation", {
subnetId: aws_subnet.foo.id,
routeTableId: aws_route_table.bar.id,
});constructor
new RouteTableAssociation(name: string, args: RouteTableAssociationArgs, opts?: pulumi.CustomResourceOptions)Create a RouteTableAssociation resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RouteTableAssociationState, opts?: pulumi.CustomResourceOptions): RouteTableAssociationGet an existing RouteTableAssociation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is RouteTableAssociationReturns true if the given object is an instance of RouteTableAssociation. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property gatewayId
public gatewayId: pulumi.Output<string | undefined>;The gateway ID to create an association. Conflicts with subnetId.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property routeTableId
public routeTableId: pulumi.Output<string>;The ID of the routing table to associate with.
property subnetId
public subnetId: pulumi.Output<string | undefined>;The subnet ID to create an association. Conflicts with gatewayId.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource SecurityGroup
class SecurityGroup extends CustomResourceProvides a security group resource.
NOTE on Security Groups and Security Group Rules: This provider currently provides both a standalone Security Group Rule resource (a single
ingressoregressrule), and a Security Group resource withingressandegressrules defined in-line. At this time you cannot use a Security Group with in-line rules in conjunction with any Security Group Rule resources. Doing so will cause a conflict of rule settings and will overwrite rules.NOTE: Referencing Security Groups across VPC peering has certain restrictions. More information is available in the VPC Peering User Guide.
NOTE: Due to AWS Lambda improved VPC networking changes that began deploying in September 2019, security groups associated with Lambda Functions can take up to 45 minutes to successfully delete.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const allowTls = new aws.ec2.SecurityGroup("allowTls", {
description: "Allow TLS inbound traffic",
vpcId: aws_vpc.main.id,
ingress: [{
description: "TLS from VPC",
fromPort: 443,
toPort: 443,
protocol: "tcp",
cidrBlocks: [aws_vpc.main.cidr_block],
}],
egress: [{
fromPort: 0,
toPort: 0,
protocol: "-1",
cidrBlocks: ["0.0.0.0/0"],
}],
tags: {
Name: "allow_tls",
},
});Usage with prefix list IDs
Prefix list IDs are managed by AWS internally. Prefix list IDs are associated with a prefix list name, or service name, that is linked to a specific region. Prefix list IDs are exported on VPC Endpoints, so you can use this format:
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
// ...
const myEndpoint = new aws.ec2.VpcEndpoint("my_endpoint", {});constructor
new SecurityGroup(name: string, args?: SecurityGroupArgs, opts?: pulumi.CustomResourceOptions)Create a SecurityGroup resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SecurityGroupState, opts?: pulumi.CustomResourceOptions): SecurityGroupGet an existing SecurityGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is SecurityGroupReturns true if the given object is an instance of SecurityGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property arn
public arn: pulumi.Output<string>;The ARN of the security group
property description
public description: pulumi.Output<string>;Description of this egress rule.
property egress
public egress: pulumi.Output<SecurityGroupEgress[]>;Can be specified multiple times for each egress rule. Each egress block supports fields documented below.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property ingress
public ingress: pulumi.Output<SecurityGroupIngress[]>;Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below.
property name
public name: pulumi.Output<string>;The name of the security group. If omitted, this provider will assign a random, unique name
property namePrefix
public namePrefix: pulumi.Output<string | undefined>;Creates a unique name beginning with the specified
prefix. Conflicts with name.
property ownerId
public ownerId: pulumi.Output<string>;The owner ID.
property revokeRulesOnDelete
public revokeRulesOnDelete: pulumi.Output<boolean | undefined>;Instruct this provider to revoke all of the
Security Groups attached ingress and egress rules before deleting the rule
itself. This is normally not needed, however certain AWS services such as
Elastic Map Reduce may automatically add required rules to security groups used
with the service, and those rules may contain a cyclic dependency that prevent
the security groups from being destroyed without removing the dependency first.
Default false
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcId
public vpcId: pulumi.Output<string>;The VPC ID.
Resource SecurityGroupRule
class SecurityGroupRule extends CustomResourceProvides a security group rule resource. Represents a single ingress or
egress group rule, which can be added to external Security Groups.
NOTE on Security Groups and Security Group Rules: This provider currently provides both a standalone Security Group Rule resource (a single
ingressoregressrule), and a Security Group resource withingressandegressrules 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"orprotocol = -1withfromPortandtoPortwill result in the EC2 API creating a security group rule with all ports open. This API behavior cannot be controlled by this provider and may generate warnings in the future.NOTE: Referencing Security Groups across VPC peering has certain restrictions. More information is available in the VPC Peering User Guide.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ec2.SecurityGroupRule("example", {
type: "ingress",
fromPort: 0,
toPort: 65535,
protocol: "tcp",
cidrBlocks: aws_vpc.example.cidr_block,
securityGroupId: "sg-123456",
});Usage with prefix list IDs
Prefix list IDs are manged by AWS internally. Prefix list IDs are associated with a prefix list name, or service name, that is linked to a specific region. Prefix list IDs are exported on VPC Endpoints, so you can use this format:
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
// ...
const myEndpoint = new aws.ec2.VpcEndpoint("my_endpoint", {});
const allowAll = new aws.ec2.SecurityGroupRule("allow_all", {
fromPort: 0,
prefixListIds: [myEndpoint.prefixListId],
protocol: "-1",
securityGroupId: "sg-123456",
toPort: 0,
type: "egress",
});constructor
new SecurityGroupRule(name: string, args: SecurityGroupRuleArgs, opts?: pulumi.CustomResourceOptions)Create a SecurityGroupRule resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SecurityGroupRuleState, opts?: pulumi.CustomResourceOptions): SecurityGroupRuleGet an existing SecurityGroupRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is SecurityGroupRuleReturns true if the given object is an instance of SecurityGroupRule. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property cidrBlocks
public cidrBlocks: pulumi.Output<string[] | undefined>;List of CIDR blocks. Cannot be specified with sourceSecurityGroupId.
property description
public description: pulumi.Output<string | undefined>;Description of the rule.
property fromPort
public fromPort: pulumi.Output<number>;The start port (or ICMP type number if protocol is “icmp” or “icmpv6”).
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property ipv6CidrBlocks
public ipv6CidrBlocks: pulumi.Output<string[] | undefined>;List of IPv6 CIDR blocks.
property prefixListIds
public prefixListIds: pulumi.Output<string[] | undefined>;List of prefix list IDs (for allowing access to VPC endpoints).
Only valid with egress.
property protocol
public protocol: pulumi.Output<string>;The protocol. If not icmp, icmpv6, tcp, udp, or all use the protocol number
property securityGroupId
public securityGroupId: pulumi.Output<string>;The security group to apply this rule to.
property self
public self: pulumi.Output<boolean | undefined>;If true, the security group itself will be added as
a source to this ingress rule. Cannot be specified with sourceSecurityGroupId.
property sourceSecurityGroupId
public sourceSecurityGroupId: pulumi.Output<string>;The security group id to allow access to/from,
depending on the type. Cannot be specified with cidrBlocks and self.
property toPort
public toPort: pulumi.Output<number>;The end port (or ICMP code if protocol is “icmp”).
property type
public type: pulumi.Output<string>;The type of rule being created. Valid options are ingress (inbound)
or egress (outbound).
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource SnapshotCreateVolumePermission
class SnapshotCreateVolumePermission extends CustomResourceAdds permission to create volumes off of a given EBS Snapshot.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ebs.Volume("example", {
availabilityZone: "us-west-2a",
size: 40,
});
const exampleSnapshot = new aws.ebs.Snapshot("example_snapshot", {
volumeId: example.id,
});
const examplePerm = new aws.ec2.SnapshotCreateVolumePermission("example_perm", {
accountId: "12345678",
snapshotId: exampleSnapshot.id,
});constructor
new SnapshotCreateVolumePermission(name: string, args: SnapshotCreateVolumePermissionArgs, opts?: pulumi.CustomResourceOptions)Create a SnapshotCreateVolumePermission resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SnapshotCreateVolumePermissionState, opts?: pulumi.CustomResourceOptions): SnapshotCreateVolumePermissionGet an existing SnapshotCreateVolumePermission resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is SnapshotCreateVolumePermissionReturns true if the given object is an instance of SnapshotCreateVolumePermission. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property accountId
public accountId: pulumi.Output<string>;An AWS Account ID to add create volume permissions
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property snapshotId
public snapshotId: pulumi.Output<string>;A snapshot ID
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource SpotDatafeedSubscription
class SpotDatafeedSubscription extends CustomResourceNote: There is only a single subscription allowed per account.
To help you understand the charges for your Spot instances, Amazon EC2 provides a data feed that describes your Spot instance usage and pricing. This data feed is sent to an Amazon S3 bucket that you specify when you subscribe to the data feed.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const defaultBucket = new aws.s3.Bucket("default", {});
const defaultSpotDatafeedSubscription = new aws.ec2.SpotDatafeedSubscription("default", {
bucket: defaultBucket.bucket,
prefix: "my_subdirectory",
});constructor
new SpotDatafeedSubscription(name: string, args: SpotDatafeedSubscriptionArgs, opts?: pulumi.CustomResourceOptions)Create a SpotDatafeedSubscription resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SpotDatafeedSubscriptionState, opts?: pulumi.CustomResourceOptions): SpotDatafeedSubscriptionGet an existing SpotDatafeedSubscription resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is SpotDatafeedSubscriptionReturns true if the given object is an instance of SpotDatafeedSubscription. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property bucket
public bucket: pulumi.Output<string>;The Amazon S3 bucket in which to store the Spot instance data feed.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property prefix
public prefix: pulumi.Output<string | undefined>;Path of folder inside bucket to place spot pricing data.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource SpotFleetRequest
class SpotFleetRequest extends CustomResourceProvides an EC2 Spot Fleet Request resource. This allows a fleet of Spot instances to be requested on the Spot market.
Example Usage
Using launch specifications
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
// Request a Spot fleet
const cheapCompute = new aws.ec2.SpotFleetRequest("cheap_compute", {
allocationStrategy: "diversified",
iamFleetRole: "arn:aws:iam::12345678:role/spot-fleet",
launchSpecifications: [
{
ami: "ami-1234",
iamInstanceProfileArn: aws_iam_instance_profile_example.arn,
instanceType: "m4.10xlarge",
placementTenancy: "dedicated",
spotPrice: "2.793",
},
{
ami: "ami-5678",
availabilityZone: "us-west-1a",
iamInstanceProfileArn: aws_iam_instance_profile_example.arn,
instanceType: "m4.4xlarge",
keyName: "my-key",
rootBlockDevices: [{
volumeSize: 300,
volumeType: "gp2",
}],
spotPrice: "1.117",
subnetId: "subnet-1234",
tags: {
Name: "spot-fleet-example",
},
weightedCapacity: "35",
},
],
spotPrice: "0.03",
targetCapacity: 6,
validUntil: "2019-11-04T20:44:20Z",
});Using launch templates
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const fooLaunchTemplate = new aws.ec2.LaunchTemplate("fooLaunchTemplate", {
imageId: "ami-516b9131",
instanceType: "m1.small",
keyName: "some-key",
spotPrice: "0.05",
});
const fooSpotFleetRequest = new aws.ec2.SpotFleetRequest("fooSpotFleetRequest", {
iamFleetRole: "arn:aws:iam::12345678:role/spot-fleet",
spotPrice: "0.005",
targetCapacity: 2,
validUntil: "2019-11-04T20:44:20Z",
launch_template_config: [{
launch_template_specification: {
id: fooLaunchTemplate.id,
version: fooLaunchTemplate.latestVersion,
},
}],
});Using multiple launch specifications
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const foo = new aws.ec2.SpotFleetRequest("foo", {
iamFleetRole: "arn:aws:iam::12345678:role/spot-fleet",
launchSpecifications: [
{
ami: "ami-d06a90b0",
availabilityZone: "us-west-2a",
instanceType: "m1.small",
keyName: "my-key",
},
{
ami: "ami-d06a90b0",
availabilityZone: "us-west-2a",
instanceType: "m5.large",
keyName: "my-key",
},
],
spotPrice: "0.005",
targetCapacity: 2,
validUntil: "2019-11-04T20:44:20Z",
});Using multiple launch configurations
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = aws.ec2.getSubnetIds({
vpcId: _var.vpc_id,
});
const fooLaunchTemplate = new aws.ec2.LaunchTemplate("fooLaunchTemplate", {
imageId: "ami-516b9131",
instanceType: "m1.small",
keyName: "some-key",
spotPrice: "0.05",
});
const fooSpotFleetRequest = new aws.ec2.SpotFleetRequest("fooSpotFleetRequest", {
iamFleetRole: "arn:aws:iam::12345678:role/spot-fleet",
spotPrice: "0.005",
targetCapacity: 2,
validUntil: "2019-11-04T20:44:20Z",
launch_template_config: [{
launch_template_specification: {
id: fooLaunchTemplate.id,
version: fooLaunchTemplate.latestVersion,
},
overrides: [
{
subnetId: data.aws_subnets.example.ids[0],
},
{
subnetId: data.aws_subnets.example.ids[1],
},
{
subnetId: data.aws_subnets.example.ids[2],
},
],
}],
});constructor
new SpotFleetRequest(name: string, args: SpotFleetRequestArgs, opts?: pulumi.CustomResourceOptions)Create a SpotFleetRequest resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SpotFleetRequestState, opts?: pulumi.CustomResourceOptions): SpotFleetRequestGet an existing SpotFleetRequest resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is SpotFleetRequestReturns true if the given object is an instance of SpotFleetRequest. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property allocationStrategy
public allocationStrategy: pulumi.Output<string | undefined>;Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. The default is
lowestPrice.
property clientToken
public clientToken: pulumi.Output<string>;property excessCapacityTerminationPolicy
public excessCapacityTerminationPolicy: pulumi.Output<string | undefined>;Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
property fleetType
public fleetType: pulumi.Output<string | undefined>;The type of fleet request. Indicates whether the Spot Fleet only requests the target
capacity or also attempts to maintain it. Default is maintain.
property iamFleetRole
public iamFleetRole: pulumi.Output<string>;Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instanceInterruptionBehaviour
public instanceInterruptionBehaviour: pulumi.Output<string | undefined>;Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate.
property instancePoolsToUseCount
public instancePoolsToUseCount: pulumi.Output<number | undefined>;The number of Spot pools across which to allocate your target Spot capacity.
Valid only when allocationStrategy is set to lowestPrice. Spot Fleet selects
the cheapest Spot pools and evenly allocates your target Spot capacity across
the number of Spot pools that you specify.
property launchSpecifications
public launchSpecifications: pulumi.Output<SpotFleetRequestLaunchSpecification[] | undefined>;Used to define the launch configuration of the
spot-fleet request. Can be specified multiple times to define different bids
across different markets and instance types. Conflicts with launchTemplateConfig. At least one of launchSpecification or launchTemplateConfig is required.
property launchTemplateConfigs
public launchTemplateConfigs: pulumi.Output<SpotFleetRequestLaunchTemplateConfig[] | undefined>;Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launchSpecification. At least one of launchSpecification or launchTemplateConfig is required.
property loadBalancers
public loadBalancers: pulumi.Output<string[]>;A list of elastic load balancer names to add to the Spot fleet.
property replaceUnhealthyInstances
public replaceUnhealthyInstances: pulumi.Output<boolean | undefined>;Indicates whether Spot fleet should replace unhealthy instances. Default false.
property spotPrice
public spotPrice: pulumi.Output<string | undefined>;The maximum spot bid for this override request.
property spotRequestState
public spotRequestState: pulumi.Output<string>;The state of the Spot fleet request.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property targetCapacity
public targetCapacity: pulumi.Output<number>;The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
property targetGroupArns
public targetGroupArns: pulumi.Output<string[]>;A list of aws.alb.TargetGroup ARNs, for use with Application Load Balancing.
property terminateInstancesWithExpiration
public terminateInstancesWithExpiration: pulumi.Output<boolean | undefined>;Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property validFrom
public validFrom: pulumi.Output<string | undefined>;The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
property validUntil
public validUntil: pulumi.Output<string | undefined>;The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request. Defaults to 24 hours.
property waitForFulfillment
public waitForFulfillment: pulumi.Output<boolean | undefined>;If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
Resource SpotInstanceRequest
class SpotInstanceRequest extends CustomResourceProvides an EC2 Spot Instance Request resource. This allows instances to be requested on the spot market.
By default this provider creates Spot Instance Requests with a persistent type,
which means that for the duration of their lifetime, AWS will launch an
instance with the configured details if and when the spot market will accept
the requested price.
On destruction, this provider will make an attempt to terminate the associated Spot Instance if there is one present.
Spot Instances requests with a one-time type will close the spot request
when the instance is terminated either by the request being below the current spot
price availability or by a user.
NOTE: Because their behavior depends on the live status of the spot market, Spot Instance Requests have a unique lifecycle that makes them behave differently than other resources. Most importantly: there is no guarantee that a Spot Instance exists to fulfill the request at any given point in time. See the AWS Spot Instance documentation for more information.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
// Request a spot instance at $0.03
const cheapWorker = new aws.ec2.SpotInstanceRequest("cheap_worker", {
ami: "ami-1234",
instanceType: "c4.xlarge",
spotPrice: "0.03",
tags: {
Name: "CheapWorker",
},
});constructor
new SpotInstanceRequest(name: string, args: SpotInstanceRequestArgs, opts?: pulumi.CustomResourceOptions)Create a SpotInstanceRequest resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SpotInstanceRequestState, opts?: pulumi.CustomResourceOptions): SpotInstanceRequestGet an existing SpotInstanceRequest resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is SpotInstanceRequestReturns true if the given object is an instance of SpotInstanceRequest. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property ami
public ami: pulumi.Output<string>;The AMI to use for the instance.
property arn
public arn: pulumi.Output<string>;property associatePublicIpAddress
public associatePublicIpAddress: pulumi.Output<boolean>;Associate a public ip address with an instance in a VPC. Boolean value.
property availabilityZone
public availabilityZone: pulumi.Output<string>;The AZ to start the instance in.
property blockDurationMinutes
public blockDurationMinutes: pulumi.Output<number | undefined>;The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. Note that you can’t specify an Availability Zone group or a launch group if you specify a duration.
property cpuCoreCount
public cpuCoreCount: pulumi.Output<number>;Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.
property cpuThreadsPerCore
public cpuThreadsPerCore: pulumi.Output<number>;If set to to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.
property creditSpecification
public creditSpecification: pulumi.Output<SpotInstanceRequestCreditSpecification | undefined>;Customize the credit specification of the instance. See Credit Specification below for more details.
property disableApiTermination
public disableApiTermination: pulumi.Output<boolean | undefined>;If true, enables EC2 Instance Termination Protection
property ebsBlockDevices
public ebsBlockDevices: pulumi.Output<SpotInstanceRequestEbsBlockDevice[]>;Additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection.
property ebsOptimized
public ebsOptimized: pulumi.Output<boolean | undefined>;If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
property ephemeralBlockDevices
public ephemeralBlockDevices: pulumi.Output<SpotInstanceRequestEphemeralBlockDevice[]>;Customize Ephemeral (also known as “Instance Store”) volumes on the instance. See Block Devices below for details.
property getPasswordData
public getPasswordData: pulumi.Output<boolean | undefined>;If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the passwordData attribute. See GetPasswordData for more information.
property hibernation
public hibernation: pulumi.Output<boolean | undefined>;If true, the launched EC2 instance will support hibernation.
property hostId
public hostId: pulumi.Output<string>;The Id of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
property iamInstanceProfile
public iamInstanceProfile: pulumi.Output<string | undefined>;The IAM Instance Profile to
launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instanceInitiatedShutdownBehavior
public instanceInitiatedShutdownBehavior: pulumi.Output<string | undefined>;Shutdown behavior for the
instance. Amazon defaults this to stop for EBS-backed instances and
terminate for instance-store instances. Cannot be set on instance-store
instances. See Shutdown Behavior for more information.
property instanceInterruptionBehaviour
public instanceInterruptionBehaviour: pulumi.Output<string | undefined>;Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate as this is the current AWS behaviour.
property instanceState
public instanceState: pulumi.Output<string>;property instanceType
public instanceType: pulumi.Output<string>;The type of instance to start. Updates to this field will trigger a stop/start of the EC2 instance.
property ipv6AddressCount
public ipv6AddressCount: pulumi.Output<number>;A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
property ipv6Addresses
public ipv6Addresses: pulumi.Output<string[]>;Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
property keyName
public keyName: pulumi.Output<string>;The key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.
property launchGroup
public launchGroup: pulumi.Output<string | undefined>;A launch group is a group of spot instances that launch together and terminate together. If left empty instances are launched and terminated individually.
property metadataOptions
public metadataOptions: pulumi.Output<SpotInstanceRequestMetadataOptions>;Customize the metadata options of the instance. See Metadata Options below for more details.
property monitoring
public monitoring: pulumi.Output<boolean | undefined>;If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
property networkInterfaces
public networkInterfaces: pulumi.Output<SpotInstanceRequestNetworkInterface[]>;Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
property outpostArn
public outpostArn: pulumi.Output<string>;property passwordData
public passwordData: pulumi.Output<string>;property placementGroup
public placementGroup: pulumi.Output<string>;The Placement Group to start the instance in.
property primaryNetworkInterfaceId
public primaryNetworkInterfaceId: pulumi.Output<string>;property privateDns
public privateDns: pulumi.Output<string>;The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you’ve enabled DNS hostnames for your VPC
property privateIp
public privateIp: pulumi.Output<string>;Private IP address to associate with the instance in a VPC.
property publicDns
public publicDns: pulumi.Output<string>;The public DNS name assigned to the instance. For EC2-VPC, this is only available if you’ve enabled DNS hostnames for your VPC
property publicIp
public publicIp: pulumi.Output<string>;The public IP address assigned to the instance, if applicable.
property rootBlockDevice
public rootBlockDevice: pulumi.Output<SpotInstanceRequestRootBlockDevice>;Customize details about the root block device of the instance. See Block Devices below for details.
property securityGroups
public securityGroups: pulumi.Output<string[]>;A list of security group names (EC2-Classic) or IDs (default VPC) to associate with.
property sourceDestCheck
public sourceDestCheck: pulumi.Output<boolean | undefined>;Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
property spotBidStatus
public spotBidStatus: pulumi.Output<string>;The current bid
status
of the Spot Instance Request.
* spotRequestState The current request
state
of the Spot Instance Request.
property spotInstanceId
public spotInstanceId: pulumi.Output<string>;The Instance ID (if any) that is currently fulfilling the Spot Instance request.
property spotPrice
public spotPrice: pulumi.Output<string | undefined>;The maximum price to request on the spot market.
property spotRequestState
public spotRequestState: pulumi.Output<string>;property spotType
public spotType: pulumi.Output<string | undefined>;If set to one-time, after
the instance is terminated, the spot request will be closed.
property subnetId
public subnetId: pulumi.Output<string>;The VPC Subnet ID to launch in.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property tenancy
public tenancy: pulumi.Output<string>;The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property userData
public userData: pulumi.Output<string | undefined>;The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see userDataBase64 instead.
property userDataBase64
public userDataBase64: pulumi.Output<string | undefined>;Can be used instead of userData to pass base64-encoded binary data directly. Use this instead of userData whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
property validFrom
public validFrom: pulumi.Output<string>;The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
property validUntil
public validUntil: pulumi.Output<string>;The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request. The default end date is 7 days from the current date.
property volumeTags
public volumeTags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the devices created by the instance at launch time.
property vpcSecurityGroupIds
public vpcSecurityGroupIds: pulumi.Output<string[]>;A list of security group IDs to associate with.
property waitForFulfillment
public waitForFulfillment: pulumi.Output<boolean | undefined>;If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
Resource Subnet
class Subnet extends CustomResourceProvides an VPC subnet resource.
NOTE: Due to AWS Lambda improved VPC networking changes that began deploying in September 2019, subnets associated with Lambda Functions can take up to 45 minutes to successfully delete.
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const main = new aws.ec2.Subnet("main", {
cidrBlock: "10.0.1.0/24",
tags: {
Name: "Main",
},
vpcId: aws_vpc_main.id,
});Subnets In Secondary VPC CIDR Blocks
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const secondaryCidr = new aws.ec2.VpcIpv4CidrBlockAssociation("secondary_cidr", {
cidrBlock: "172.2.0.0/16",
vpcId: aws_vpc_main.id,
});
const inSecondaryCidr = new aws.ec2.Subnet("in_secondary_cidr", {
cidrBlock: "172.2.0.0/24",
vpcId: secondaryCidr.vpcId,
});constructor
new Subnet(name: string, args: SubnetArgs, opts?: pulumi.CustomResourceOptions)Create a Subnet resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SubnetState, opts?: pulumi.CustomResourceOptions): SubnetGet an existing Subnet resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is SubnetReturns true if the given object is an instance of Subnet. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property arn
public arn: pulumi.Output<string>;The ARN of the subnet.
property assignIpv6AddressOnCreation
public assignIpv6AddressOnCreation: pulumi.Output<boolean | undefined>;Specify true to indicate
that network interfaces created in the specified subnet should be
assigned an IPv6 address. Default is false
property availabilityZone
public availabilityZone: pulumi.Output<string>;The AZ for the subnet.
property availabilityZoneId
public availabilityZoneId: pulumi.Output<string>;The AZ ID of the subnet.
property cidrBlock
public cidrBlock: pulumi.Output<string>;The CIDR block for the subnet.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property ipv6CidrBlock
public ipv6CidrBlock: pulumi.Output<string>;The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a /64 prefix length.
property ipv6CidrBlockAssociationId
public ipv6CidrBlockAssociationId: pulumi.Output<string>;The association ID for the IPv6 CIDR block.
property mapPublicIpOnLaunch
public mapPublicIpOnLaunch: pulumi.Output<boolean | undefined>;Specify true to indicate
that instances launched into the subnet should be assigned
a public IP address. Default is false.
property outpostArn
public outpostArn: pulumi.Output<string | undefined>;The Amazon Resource Name (ARN) of the Outpost.
property ownerId
public ownerId: pulumi.Output<string>;The ID of the AWS account that owns the subnet.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcId
public vpcId: pulumi.Output<string>;The VPC ID.
Resource TrafficMirrorFilter
class TrafficMirrorFilter extends CustomResourceProvides an Traffic mirror filter. Read limits and considerations for traffic mirroring
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const foo = new aws.ec2.TrafficMirrorFilter("foo", {
description: "traffic mirror filter - example",
networkServices: ["amazon-dns"],
});constructor
new TrafficMirrorFilter(name: string, args?: TrafficMirrorFilterArgs, opts?: pulumi.CustomResourceOptions)Create a TrafficMirrorFilter resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TrafficMirrorFilterState, opts?: pulumi.CustomResourceOptions): TrafficMirrorFilterGet an existing TrafficMirrorFilter resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is TrafficMirrorFilterReturns true if the given object is an instance of TrafficMirrorFilter. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property description
public description: pulumi.Output<string | undefined>;A description of the filter.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property networkServices
public networkServices: pulumi.Output<string[] | undefined>;List of amazon network services that should be mirrored. Valid values: amazon-dns.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;Key-value map of resource tags.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource TrafficMirrorFilterRule
class TrafficMirrorFilterRule extends CustomResourceProvides an Traffic mirror filter rule. Read limits and considerations for traffic mirroring
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const filter = new aws.ec2.TrafficMirrorFilter("filter", {
description: "traffic mirror filter - example",
networkServices: ["amazon-dns"],
});
const ruleout = new aws.ec2.TrafficMirrorFilterRule("ruleout", {
description: "test rule",
destinationCidrBlock: "10.0.0.0/8",
ruleAction: "accept",
ruleNumber: 1,
sourceCidrBlock: "10.0.0.0/8",
trafficDirection: "egress",
trafficMirrorFilterId: filter.id,
});
const rulein = new aws.ec2.TrafficMirrorFilterRule("rulein", {
description: "test rule",
destinationCidrBlock: "10.0.0.0/8",
destinationPortRange: {
fromPort: 22,
toPort: 53,
},
protocol: 6,
ruleAction: "accept",
ruleNumber: 1,
sourceCidrBlock: "10.0.0.0/8",
sourcePortRange: {
fromPort: 0,
toPort: 10,
},
trafficDirection: "ingress",
trafficMirrorFilterId: filter.id,
});constructor
new TrafficMirrorFilterRule(name: string, args: TrafficMirrorFilterRuleArgs, opts?: pulumi.CustomResourceOptions)Create a TrafficMirrorFilterRule resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TrafficMirrorFilterRuleState, opts?: pulumi.CustomResourceOptions): TrafficMirrorFilterRuleGet an existing TrafficMirrorFilterRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is TrafficMirrorFilterRuleReturns true if the given object is an instance of TrafficMirrorFilterRule. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property description
public description: pulumi.Output<string | undefined>;A description of the traffic mirror filter rule.
property destinationCidrBlock
public destinationCidrBlock: pulumi.Output<string>;The destination CIDR block to assign to the Traffic Mirror rule.
property destinationPortRange
public destinationPortRange: pulumi.Output<TrafficMirrorFilterRuleDestinationPortRange | undefined>;The destination port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property protocol
public protocol: pulumi.Output<number | undefined>;The protocol number, for example 17 (UDP), to assign to the Traffic Mirror rule. For information about the protocol value, see Protocol Numbers on the Internet Assigned Numbers Authority (IANA) website.
property ruleAction
public ruleAction: pulumi.Output<string>;The action to take (accept | reject) on the filtered traffic. Valid values are accept and reject
property ruleNumber
public ruleNumber: pulumi.Output<number>;The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.
property sourceCidrBlock
public sourceCidrBlock: pulumi.Output<string>;The source CIDR block to assign to the Traffic Mirror rule.
property sourcePortRange
public sourcePortRange: pulumi.Output<TrafficMirrorFilterRuleSourcePortRange | undefined>;The source port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below
property trafficDirection
public trafficDirection: pulumi.Output<string>;The direction of traffic to be captured. Valid values are ingress and egress
property trafficMirrorFilterId
public trafficMirrorFilterId: pulumi.Output<string>;ID of the traffic mirror filter to which this rule should be added
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource TrafficMirrorSession
class TrafficMirrorSession extends CustomResourceProvides an Traffic mirror session. Read limits and considerations for traffic mirroring
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const filter = new aws.ec2.TrafficMirrorFilter("filter", {
description: "traffic mirror filter - example",
networkServices: ["amazon-dns"],
});
const target = new aws.ec2.TrafficMirrorTarget("target", {
networkLoadBalancerArn: aws_lb_lb.arn,
});
const session = new aws.ec2.TrafficMirrorSession("session", {
description: "traffic mirror session - example",
networkInterfaceId: aws_instance_test.primaryNetworkInterfaceId,
trafficMirrorFilterId: filter.id,
trafficMirrorTargetId: target.id,
});constructor
new TrafficMirrorSession(name: string, args: TrafficMirrorSessionArgs, opts?: pulumi.CustomResourceOptions)Create a TrafficMirrorSession resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TrafficMirrorSessionState, opts?: pulumi.CustomResourceOptions): TrafficMirrorSessionGet an existing TrafficMirrorSession resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is TrafficMirrorSessionReturns true if the given object is an instance of TrafficMirrorSession. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property description
public description: pulumi.Output<string | undefined>;A description of the traffic mirror session.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property networkInterfaceId
public networkInterfaceId: pulumi.Output<string>;ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring.
property packetLength
public packetLength: pulumi.Output<number | undefined>;The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror.
property sessionNumber
public sessionNumber: pulumi.Output<number>;- The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;Key-value map of resource tags.
property trafficMirrorFilterId
public trafficMirrorFilterId: pulumi.Output<string>;ID of the traffic mirror filter to be used
property trafficMirrorTargetId
public trafficMirrorTargetId: pulumi.Output<string>;ID of the traffic mirror target to be used
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property virtualNetworkId
public virtualNetworkId: pulumi.Output<number>;- The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random.
Resource TrafficMirrorTarget
class TrafficMirrorTarget extends CustomResourceProvides an Traffic mirror target. Read limits and considerations for traffic mirroring
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const nlb = new aws.ec2.TrafficMirrorTarget("nlb", {
description: "NLB target",
networkLoadBalancerArn: aws_lb_lb.arn,
});
const eni = new aws.ec2.TrafficMirrorTarget("eni", {
description: "ENI target",
networkInterfaceId: aws_instance_test.primaryNetworkInterfaceId,
});constructor
new TrafficMirrorTarget(name: string, args?: TrafficMirrorTargetArgs, opts?: pulumi.CustomResourceOptions)Create a TrafficMirrorTarget resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TrafficMirrorTargetState, opts?: pulumi.CustomResourceOptions): TrafficMirrorTargetGet an existing TrafficMirrorTarget resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is TrafficMirrorTargetReturns true if the given object is an instance of TrafficMirrorTarget. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property description
public description: pulumi.Output<string | undefined>;A description of the traffic mirror session.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property networkInterfaceId
public networkInterfaceId: pulumi.Output<string | undefined>;The network interface ID that is associated with the target.
property networkLoadBalancerArn
public networkLoadBalancerArn: pulumi.Output<string | undefined>;The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;Key-value map of resource tags.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource TransitGatewayPeeringAttachmentAccepter
class TransitGatewayPeeringAttachmentAccepter extends CustomResourceManages the accepter’s side of an EC2 Transit Gateway Peering Attachment.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ec2.TransitGatewayPeeringAttachmentAccepter("example", {
tags: {
Name: "Example cross-account attachment",
},
transitGatewayAttachmentId: aws_ec2_transit_gateway_peering_attachment_example.id,
});constructor
new TransitGatewayPeeringAttachmentAccepter(name: string, args: TransitGatewayPeeringAttachmentAccepterArgs, opts?: pulumi.CustomResourceOptions)Create a TransitGatewayPeeringAttachmentAccepter resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TransitGatewayPeeringAttachmentAccepterState, opts?: pulumi.CustomResourceOptions): TransitGatewayPeeringAttachmentAccepterGet an existing TransitGatewayPeeringAttachmentAccepter resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is TransitGatewayPeeringAttachmentAccepterReturns true if the given object is an instance of TransitGatewayPeeringAttachmentAccepter. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property peerAccountId
public peerAccountId: pulumi.Output<string>;Identifier of the AWS account that owns the EC2 TGW peering.
property peerRegion
public peerRegion: pulumi.Output<string>;property peerTransitGatewayId
public peerTransitGatewayId: pulumi.Output<string>;Identifier of EC2 Transit Gateway to peer with.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;Key-value tags for the EC2 Transit Gateway Peering Attachment.
property transitGatewayAttachmentId
public transitGatewayAttachmentId: pulumi.Output<string>;The ID of the EC2 Transit Gateway Peering Attachment to manage.
property transitGatewayId
public transitGatewayId: pulumi.Output<string>;Identifier of EC2 Transit Gateway.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource VolumeAttachment
class VolumeAttachment extends CustomResourceProvides 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
ebsBlockDeviceon anaws.ec2.Instance, this provider will assume management over the full set of non-root EBS block devices for the instance, and treats additional block devices as drift. For this reason,ebsBlockDevicecannot be mixed with externalaws.ebs.Volume+awsEbsVolumeAttachmentresources for a given instance.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const web = new aws.ec2.Instance("web", {
ami: "ami-21f78e11",
availabilityZone: "us-west-2a",
instanceType: "t1.micro",
tags: {
Name: "HelloWorld",
},
});
const example = new aws.ebs.Volume("example", {
availabilityZone: "us-west-2a",
size: 1,
});
const ebsAtt = new aws.ec2.VolumeAttachment("ebs_att", {
deviceName: "/dev/sdh",
instanceId: web.id,
volumeId: example.id,
});constructor
new VolumeAttachment(name: string, args: VolumeAttachmentArgs, opts?: pulumi.CustomResourceOptions)Create a VolumeAttachment resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VolumeAttachmentState, opts?: pulumi.CustomResourceOptions): VolumeAttachmentGet an existing VolumeAttachment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VolumeAttachmentReturns true if the given object is an instance of VolumeAttachment. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property deviceName
public deviceName: pulumi.Output<string>;The device name to expose to the instance (for
example, /dev/sdh or xvdh). See Device Naming on Linux Instances and Device Naming on Windows Instances for more information.
property forceDetach
public forceDetach: pulumi.Output<boolean | undefined>;Set to true if you want to force the
volume to detach. Useful if previous attempts failed, but use this option only
as a last resort, as this can result in data loss. See
Detaching an Amazon EBS Volume from an Instance for more information.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instanceId
public instanceId: pulumi.Output<string>;ID of the Instance to attach to
property skipDestroy
public skipDestroy: pulumi.Output<boolean | undefined>;Set this to true if you do not wish to detach the volume from the instance to which it is attached at destroy time, and instead just remove the attachment from this provider state. This is useful when destroying an instance which has volumes created by some other means attached.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property volumeId
public volumeId: pulumi.Output<string>;ID of the Volume to be attached
Resource Vpc
class Vpc extends CustomResourceProvides a VPC resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const main = new aws.ec2.Vpc("main", {
cidrBlock: "10.0.0.0/16",
});constructor
new Vpc(name: string, args: VpcArgs, opts?: pulumi.CustomResourceOptions)Create a Vpc resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcState, opts?: pulumi.CustomResourceOptions): VpcGet an existing Vpc resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VpcReturns true if the given object is an instance of Vpc. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property arn
public arn: pulumi.Output<string>;Amazon Resource Name (ARN) of VPC
property assignGeneratedIpv6CidrBlock
public assignGeneratedIpv6CidrBlock: pulumi.Output<boolean | undefined>;Requests an Amazon-provided IPv6 CIDR
block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or
the size of the CIDR block. Default is false.
property cidrBlock
public cidrBlock: pulumi.Output<string>;The CIDR block for the VPC.
property defaultNetworkAclId
public defaultNetworkAclId: pulumi.Output<string>;The ID of the network ACL created by default on VPC creation
property defaultRouteTableId
public defaultRouteTableId: pulumi.Output<string>;The ID of the route table created by default on VPC creation
property defaultSecurityGroupId
public defaultSecurityGroupId: pulumi.Output<string>;The ID of the security group created by default on VPC creation
property dhcpOptionsId
public dhcpOptionsId: pulumi.Output<string>;property enableClassiclink
public enableClassiclink: pulumi.Output<boolean>;A boolean flag to enable/disable ClassicLink for the VPC. Only valid in regions and accounts that support EC2 Classic. See the ClassicLink documentation for more information. Defaults false.
property enableClassiclinkDnsSupport
public enableClassiclinkDnsSupport: pulumi.Output<boolean>;A boolean flag to enable/disable ClassicLink DNS Support for the VPC. Only valid in regions and accounts that support EC2 Classic.
property enableDnsHostnames
public enableDnsHostnames: pulumi.Output<boolean>;A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.
property enableDnsSupport
public enableDnsSupport: pulumi.Output<boolean | undefined>;A boolean flag to enable/disable DNS support in the VPC. Defaults true.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instanceTenancy
public instanceTenancy: pulumi.Output<string | undefined>;A tenancy option for instances launched into the VPC
property ipv6AssociationId
public ipv6AssociationId: pulumi.Output<string>;The association ID for the IPv6 CIDR block.
property ipv6CidrBlock
public ipv6CidrBlock: pulumi.Output<string>;The IPv6 CIDR block.
property mainRouteTableId
public mainRouteTableId: pulumi.Output<string>;The ID of the main route table associated with
this VPC. Note that you can change a VPC’s main route table by using an
aws.ec2.MainRouteTableAssociation.
property ownerId
public ownerId: pulumi.Output<string>;The ID of the AWS account that owns the VPC.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource VpcDhcpOptions
class VpcDhcpOptions extends CustomResourceProvides a VPC DHCP Options resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const dnsResolver = new aws.ec2.VpcDhcpOptions("dns_resolver", {
domainNameServers: [
"8.8.8.8",
"8.8.4.4",
],
});Remarks
- Notice that all arguments are optional but you have to specify at least one argument.
domainNameServers,netbiosNameServers,ntpServersare limited by AWS to maximum four servers only.- To actually use the DHCP Options Set you need to associate it to a VPC using
aws.ec2.VpcDhcpOptionsAssociation. - If you delete a DHCP Options Set, all VPCs using it will be associated to AWS’s
defaultDHCP Option Set. - In most cases unless you’re configuring your own DNS you’ll want to set
domainNameServerstoAmazonProvidedDNS.
constructor
new VpcDhcpOptions(name: string, args?: VpcDhcpOptionsArgs, opts?: pulumi.CustomResourceOptions)Create a VpcDhcpOptions resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcDhcpOptionsState, opts?: pulumi.CustomResourceOptions): VpcDhcpOptionsGet an existing VpcDhcpOptions resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VpcDhcpOptionsReturns true if the given object is an instance of VpcDhcpOptions. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property domainName
public domainName: pulumi.Output<string | undefined>;the suffix domain name to use by default when resolving non Fully Qualified Domain Names. In other words, this is what ends up being the search value in the /etc/resolv.conf file.
property domainNameServers
public domainNameServers: pulumi.Output<string[] | undefined>;List of name servers to configure in /etc/resolv.conf. If you want to use the default AWS nameservers you should set this to AmazonProvidedDNS.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property netbiosNameServers
public netbiosNameServers: pulumi.Output<string[] | undefined>;List of NETBIOS name servers.
property netbiosNodeType
public netbiosNodeType: pulumi.Output<string | undefined>;The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see RFC 2132.
property ntpServers
public ntpServers: pulumi.Output<string[] | undefined>;List of NTP servers to configure.
property ownerId
public ownerId: pulumi.Output<string>;The ID of the AWS account that owns the DHCP options set.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource VpcDhcpOptionsAssociation
class VpcDhcpOptionsAssociation extends CustomResourceProvides a VPC DHCP Options Association resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const dnsResolver = new aws.ec2.VpcDhcpOptionsAssociation("dns_resolver", {
dhcpOptionsId: aws_vpc_dhcp_options_foo.id,
vpcId: aws_vpc_foo.id,
});Remarks
- You can only associate one DHCP Options Set to a given VPC ID.
- Removing the DHCP Options Association automatically sets AWS’s
defaultDHCP Options Set to the VPC.
constructor
new VpcDhcpOptionsAssociation(name: string, args: VpcDhcpOptionsAssociationArgs, opts?: pulumi.CustomResourceOptions)Create a VpcDhcpOptionsAssociation resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcDhcpOptionsAssociationState, opts?: pulumi.CustomResourceOptions): VpcDhcpOptionsAssociationGet an existing VpcDhcpOptionsAssociation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VpcDhcpOptionsAssociationReturns true if the given object is an instance of VpcDhcpOptionsAssociation. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property dhcpOptionsId
public dhcpOptionsId: pulumi.Output<string>;The ID of the DHCP Options Set to associate to the VPC.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcId
public vpcId: pulumi.Output<string>;The ID of the VPC to which we would like to associate a DHCP Options Set.
Resource VpcEndpoint
class VpcEndpoint extends CustomResourceProvides a VPC Endpoint resource.
NOTE on VPC Endpoints and VPC Endpoint Associations: This provider provides both standalone VPC Endpoint Associations for Route Tables - (an association between a VPC endpoint and a single
routeTableId) and Subnets - (an association between a VPC endpoint and a singlesubnetId) and a VPC Endpoint resource withrouteTableIdsandsubnetIdsattributes. Do not use the same resource ID in both a VPC Endpoint resource and a VPC Endpoint Association resource. Doing so will cause a conflict of associations and will overwrite the association.
Example Usage
Basic
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const s3 = new aws.ec2.VpcEndpoint("s3", {
serviceName: "com.amazonaws.us-west-2.s3",
vpcId: aws_vpc_main.id,
});Basic w/ Tags
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const s3 = new aws.ec2.VpcEndpoint("s3", {
serviceName: "com.amazonaws.us-west-2.s3",
tags: {
Environment: "test",
},
vpcId: aws_vpc_main.id,
});Interface Endpoint Type
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const ec2 = new aws.ec2.VpcEndpoint("ec2", {
privateDnsEnabled: true,
securityGroupIds: [aws_security_group_sg1.id],
serviceName: "com.amazonaws.us-west-2.ec2",
vpcEndpointType: "Interface",
vpcId: aws_vpc_main.id,
});Non-AWS Service
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const ptfeServiceVpcEndpoint = new aws.ec2.VpcEndpoint("ptfe_service", {
privateDnsEnabled: false,
securityGroupIds: [aws_security_group_ptfe_service.id],
serviceName: var_ptfe_service,
subnetIds: [local_subnet_ids],
vpcEndpointType: "Interface",
vpcId: var_vpc_id,
});
const internal = pulumi.output(aws.route53.getZone({
name: "vpc.internal.",
privateZone: true,
vpcId: var_vpc_id,
}, { async: true }));
const ptfeServiceRecord = new aws.route53.Record("ptfe_service", {
name: pulumi.interpolate`ptfe.${internal.name!}`,
records: [ptfeServiceVpcEndpoint.dnsEntries.apply(dnsEntries => (<any>dnsEntries[0])["dns_name"])],
ttl: 300,
type: "CNAME",
zoneId: internal.zoneId!,
});constructor
new VpcEndpoint(name: string, args: VpcEndpointArgs, opts?: pulumi.CustomResourceOptions)Create a VpcEndpoint resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcEndpointState, opts?: pulumi.CustomResourceOptions): VpcEndpointGet an existing VpcEndpoint resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VpcEndpointReturns true if the given object is an instance of VpcEndpoint. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property autoAccept
public autoAccept: pulumi.Output<boolean | undefined>;Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).
property cidrBlocks
public cidrBlocks: pulumi.Output<string[]>;The list of CIDR blocks for the exposed AWS service. Applicable for endpoints of type Gateway.
property dnsEntries
public dnsEntries: pulumi.Output<VpcEndpointDnsEntry[]>;The DNS entries for the VPC Endpoint. Applicable for endpoints of type Interface. DNS blocks are documented below.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property networkInterfaceIds
public networkInterfaceIds: pulumi.Output<string[]>;One or more network interfaces for the VPC Endpoint. Applicable for endpoints of type Interface.
property ownerId
public ownerId: pulumi.Output<string>;The ID of the AWS account that owns the VPC endpoint.
property policy
public policy: pulumi.Output<string>;A policy to attach to the endpoint that controls access to the service. Defaults to full access. All Gateway and some Interface endpoints support policies - see the relevant AWS documentation for more details.
property prefixListId
public prefixListId: pulumi.Output<string>;The prefix list ID of the exposed AWS service. Applicable for endpoints of type Gateway.
property privateDnsEnabled
public privateDnsEnabled: pulumi.Output<boolean | undefined>;Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type Interface.
Defaults to false.
property requesterManaged
public requesterManaged: pulumi.Output<boolean>;Whether or not the VPC Endpoint is being managed by its service - true or false.
property routeTableIds
public routeTableIds: pulumi.Output<string[]>;One or more route table IDs. Applicable for endpoints of type Gateway.
property securityGroupIds
public securityGroupIds: pulumi.Output<string[]>;The ID of one or more security groups to associate with the network interface. Required for endpoints of type Interface.
property serviceName
public serviceName: pulumi.Output<string>;The service name. For AWS services the service name is usually in the form com.amazonaws.<region>.<service> (the SageMaker Notebook service is an exception to this rule, the service name is in the form aws.sagemaker.<region>.notebook).
property state
public state: pulumi.Output<string>;The state of the VPC endpoint.
property subnetIds
public subnetIds: pulumi.Output<string[]>;The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type Interface.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcEndpointType
public vpcEndpointType: pulumi.Output<string | undefined>;The VPC endpoint type, Gateway or Interface. Defaults to Gateway.
property vpcId
public vpcId: pulumi.Output<string>;The ID of the VPC in which the endpoint will be used.
Resource VpcEndpointConnectionNotification
class VpcEndpointConnectionNotification extends CustomResourceProvides a VPC Endpoint connection notification resource. Connection notifications notify subscribers of VPC Endpoint events.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const topic = new aws.sns.Topic("topic", {
policy: `{
"Version":"2012-10-17",
"Statement":[{
"Effect": "Allow",
"Principal": {
"Service": "vpce.amazonaws.com"
},
"Action": "SNS:Publish",
"Resource": "arn:aws:sns:*:*:vpce-notification-topic"
}]
}
`,
});
const fooVpcEndpointService = new aws.ec2.VpcEndpointService("foo", {
acceptanceRequired: false,
networkLoadBalancerArns: [aws_lb_test.arn],
});
const fooVpcEndpointConnectionNotification = new aws.ec2.VpcEndpointConnectionNotification("foo", {
connectionEvents: [
"Accept",
"Reject",
],
connectionNotificationArn: topic.arn,
vpcEndpointServiceId: fooVpcEndpointService.id,
});constructor
new VpcEndpointConnectionNotification(name: string, args: VpcEndpointConnectionNotificationArgs, opts?: pulumi.CustomResourceOptions)Create a VpcEndpointConnectionNotification resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcEndpointConnectionNotificationState, opts?: pulumi.CustomResourceOptions): VpcEndpointConnectionNotificationGet an existing VpcEndpointConnectionNotification resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VpcEndpointConnectionNotificationReturns true if the given object is an instance of VpcEndpointConnectionNotification. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property connectionEvents
public connectionEvents: pulumi.Output<string[]>;One or more endpoint events for which to receive notifications.
property connectionNotificationArn
public connectionNotificationArn: pulumi.Output<string>;The ARN of the SNS topic for the notifications.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property notificationType
public notificationType: pulumi.Output<string>;The type of notification.
property state
public state: pulumi.Output<string>;The state of the notification.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcEndpointId
public vpcEndpointId: pulumi.Output<string | undefined>;The ID of the VPC Endpoint to receive notifications for.
property vpcEndpointServiceId
public vpcEndpointServiceId: pulumi.Output<string | undefined>;The ID of the VPC Endpoint Service to receive notifications for.
Resource VpcEndpointRouteTableAssociation
class VpcEndpointRouteTableAssociation extends CustomResourceManages a VPC Endpoint Route Table Association
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ec2.VpcEndpointRouteTableAssociation("example", {
routeTableId: aws_route_table_example.id,
vpcEndpointId: aws_vpc_endpoint_example.id,
});constructor
new VpcEndpointRouteTableAssociation(name: string, args: VpcEndpointRouteTableAssociationArgs, opts?: pulumi.CustomResourceOptions)Create a VpcEndpointRouteTableAssociation resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcEndpointRouteTableAssociationState, opts?: pulumi.CustomResourceOptions): VpcEndpointRouteTableAssociationGet an existing VpcEndpointRouteTableAssociation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VpcEndpointRouteTableAssociationReturns true if the given object is an instance of VpcEndpointRouteTableAssociation. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property routeTableId
public routeTableId: pulumi.Output<string>;Identifier of the EC2 Route Table to be associated with the VPC Endpoint.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcEndpointId
public vpcEndpointId: pulumi.Output<string>;Identifier of the VPC Endpoint with which the EC2 Route Table will be associated.
Resource VpcEndpointService
class VpcEndpointService extends CustomResourceProvides a VPC Endpoint Service resource. Service consumers can create an Interface VPC Endpoint to connect to the service.
NOTE on VPC Endpoint Services and VPC Endpoint Service Allowed Principals: This provider provides both a standalone VPC Endpoint Service Allowed Principal resource and a VPC Endpoint Service resource with an
allowedPrincipalsattribute. Do not use the same principal ARN in both a VPC Endpoint Service resource and a VPC Endpoint Service Allowed Principal resource. Doing so will cause a conflict and will overwrite the association.
Example Usage
Basic
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ec2.VpcEndpointService("example", {
acceptanceRequired: false,
networkLoadBalancerArns: [aws_lb_example.arn],
});Basic w/ Tags
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ec2.VpcEndpointService("example", {
acceptanceRequired: false,
networkLoadBalancerArns: [aws_lb_example.arn],
tags: {
Environment: "test",
},
});constructor
new VpcEndpointService(name: string, args: VpcEndpointServiceArgs, opts?: pulumi.CustomResourceOptions)Create a VpcEndpointService resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcEndpointServiceState, opts?: pulumi.CustomResourceOptions): VpcEndpointServiceGet an existing VpcEndpointService resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VpcEndpointServiceReturns true if the given object is an instance of VpcEndpointService. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property acceptanceRequired
public acceptanceRequired: pulumi.Output<boolean>;Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - true or false.
property allowedPrincipals
public allowedPrincipals: pulumi.Output<string[]>;The ARNs of one or more principals allowed to discover the endpoint service.
property availabilityZones
public availabilityZones: pulumi.Output<string[]>;The Availability Zones in which the service is available.
property baseEndpointDnsNames
public baseEndpointDnsNames: pulumi.Output<string[]>;The DNS names for the service.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property managesVpcEndpoints
public managesVpcEndpoints: pulumi.Output<boolean>;Whether or not the service manages its VPC endpoints - true or false.
property networkLoadBalancerArns
public networkLoadBalancerArns: pulumi.Output<string[]>;The ARNs of one or more Network Load Balancers for the endpoint service.
property privateDnsName
public privateDnsName: pulumi.Output<string>;The private DNS name for the service.
property serviceName
public serviceName: pulumi.Output<string>;The service name.
property serviceType
public serviceType: pulumi.Output<string>;The service type, Gateway or Interface.
property state
public state: pulumi.Output<string>;The state of the VPC endpoint service.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource VpcEndpointServiceAllowedPrinciple
class VpcEndpointServiceAllowedPrinciple extends CustomResourceProvides a resource to allow a principal to discover a VPC endpoint service.
NOTE on VPC Endpoint Services and VPC Endpoint Service Allowed Principals: This provider provides both a standalone VPC Endpoint Service Allowed Principal resource and a VPC Endpoint Service resource with an
allowedPrincipalsattribute. Do not use the same principal ARN in both a VPC Endpoint Service resource and a VPC Endpoint Service Allowed Principal resource. Doing so will cause a conflict and will overwrite the association.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const current = pulumi.output(aws.getCallerIdentity({ async: true }));
const allowMeToFoo = new aws.ec2.VpcEndpointServiceAllowedPrinciple("allow_me_to_foo", {
principalArn: current.arn,
vpcEndpointServiceId: aws_vpc_endpoint_service_foo.id,
});constructor
new VpcEndpointServiceAllowedPrinciple(name: string, args: VpcEndpointServiceAllowedPrincipleArgs, opts?: pulumi.CustomResourceOptions)Create a VpcEndpointServiceAllowedPrinciple resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcEndpointServiceAllowedPrincipleState, opts?: pulumi.CustomResourceOptions): VpcEndpointServiceAllowedPrincipleGet an existing VpcEndpointServiceAllowedPrinciple resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VpcEndpointServiceAllowedPrincipleReturns true if the given object is an instance of VpcEndpointServiceAllowedPrinciple. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property principalArn
public principalArn: pulumi.Output<string>;The ARN of the principal to allow permissions.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcEndpointServiceId
public vpcEndpointServiceId: pulumi.Output<string>;The ID of the VPC endpoint service to allow permission.
Resource VpcEndpointSubnetAssociation
class VpcEndpointSubnetAssociation extends CustomResourceProvides a resource to create an association between a VPC endpoint and a subnet.
NOTE on VPC Endpoints and VPC Endpoint Subnet Associations: This provider provides both a standalone VPC Endpoint Subnet Association (an association between a VPC endpoint and a single
subnetId) and a VPC Endpoint resource with asubnetIdsattribute. Do not use the same subnet ID in both a VPC Endpoint resource and a VPC Endpoint Subnet Association resource. Doing so will cause a conflict of associations and will overwrite the association.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const snEc2 = new aws.ec2.VpcEndpointSubnetAssociation("sn_ec2", {
subnetId: aws_subnet_sn.id,
vpcEndpointId: aws_vpc_endpoint_ec2.id,
});constructor
new VpcEndpointSubnetAssociation(name: string, args: VpcEndpointSubnetAssociationArgs, opts?: pulumi.CustomResourceOptions)Create a VpcEndpointSubnetAssociation resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcEndpointSubnetAssociationState, opts?: pulumi.CustomResourceOptions): VpcEndpointSubnetAssociationGet an existing VpcEndpointSubnetAssociation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VpcEndpointSubnetAssociationReturns true if the given object is an instance of VpcEndpointSubnetAssociation. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property subnetId
public subnetId: pulumi.Output<string>;The ID of the subnet to be associated with the VPC endpoint.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcEndpointId
public vpcEndpointId: pulumi.Output<string>;The ID of the VPC endpoint with which the subnet will be associated.
Resource VpcIpv4CidrBlockAssociation
class VpcIpv4CidrBlockAssociation extends CustomResourceProvides a resource to associate additional IPv4 CIDR blocks with a VPC.
When a VPC is created, a primary IPv4 CIDR block for the VPC must be specified.
The aws.ec2.VpcIpv4CidrBlockAssociation resource allows further IPv4 CIDR blocks to be added to the VPC.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const main = new aws.ec2.Vpc("main", {
cidrBlock: "10.0.0.0/16",
});
const secondaryCidr = new aws.ec2.VpcIpv4CidrBlockAssociation("secondary_cidr", {
cidrBlock: "172.2.0.0/16",
vpcId: main.id,
});constructor
new VpcIpv4CidrBlockAssociation(name: string, args: VpcIpv4CidrBlockAssociationArgs, opts?: pulumi.CustomResourceOptions)Create a VpcIpv4CidrBlockAssociation resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcIpv4CidrBlockAssociationState, opts?: pulumi.CustomResourceOptions): VpcIpv4CidrBlockAssociationGet an existing VpcIpv4CidrBlockAssociation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VpcIpv4CidrBlockAssociationReturns true if the given object is an instance of VpcIpv4CidrBlockAssociation. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property cidrBlock
public cidrBlock: pulumi.Output<string>;The additional IPv4 CIDR block to associate with the VPC.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcId
public vpcId: pulumi.Output<string>;The ID of the VPC to make the association with.
Resource VpcPeeringConnection
class VpcPeeringConnection extends CustomResourceProvides a resource to manage a VPC peering connection.
NOTE on VPC Peering Connections and VPC Peering Connection Options: This provider provides both a standalone VPC Peering Connection Options and a VPC Peering Connection resource with
accepterandrequesterattributes. Do not manage options for the same VPC peering connection in both a VPC Peering Connection resource and a VPC Peering Connection Options resource. Doing so will cause a conflict of options and will overwrite the options. Using a VPC Peering Connection Options resource decouples management of the connection options from management of the VPC Peering Connection and allows options to be set correctly in cross-account scenarios.Note: For cross-account (requester’s AWS account differs from the accepter’s AWS account) or inter-region VPC Peering Connections use the
aws.ec2.VpcPeeringConnectionresource to manage the requester’s side of the connection and use theaws.ec2.VpcPeeringConnectionAccepterresource to manage the accepter’s side of the connection.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const foo = new aws.ec2.VpcPeeringConnection("foo", {
peerOwnerId: var_peer_owner_id,
peerVpcId: aws_vpc_bar.id,
vpcId: aws_vpc_foo.id,
});Notes
If both VPCs are not in the same AWS account do not enable the autoAccept attribute.
The accepter can manage its side of the connection using the aws.ec2.VpcPeeringConnectionAccepter resource
or accept the connection manually using the AWS Management Console, AWS CLI, through SDKs, etc.
constructor
new VpcPeeringConnection(name: string, args: VpcPeeringConnectionArgs, opts?: pulumi.CustomResourceOptions)Create a VpcPeeringConnection resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcPeeringConnectionState, opts?: pulumi.CustomResourceOptions): VpcPeeringConnectionGet an existing VpcPeeringConnection resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VpcPeeringConnectionReturns true if the given object is an instance of VpcPeeringConnection. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property acceptStatus
public acceptStatus: pulumi.Output<string>;The status of the VPC Peering Connection request.
property accepter
public accepter: pulumi.Output<VpcPeeringConnectionAccepter>;An optional configuration block that allows for VPC Peering Connection options to be set for the VPC that accepts the peering connection (a maximum of one).
property autoAccept
public autoAccept: pulumi.Output<boolean | undefined>;Accept the peering (both VPCs need to be in the same AWS account).
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property peerOwnerId
public peerOwnerId: pulumi.Output<string>;The AWS account ID of the owner of the peer VPC. Defaults to the account ID the AWS provider is currently connected to.
property peerRegion
public peerRegion: pulumi.Output<string>;The region of the accepter VPC of the [VPC Peering Connection]. autoAccept must be false,
and use the aws.ec2.VpcPeeringConnectionAccepter to manage the accepter side.
property peerVpcId
public peerVpcId: pulumi.Output<string>;The ID of the VPC with which you are creating the VPC Peering Connection.
property requester
public requester: pulumi.Output<VpcPeeringConnectionRequester>;A optional configuration block that allows for VPC Peering Connection options to be set for the VPC that requests the peering connection (a maximum of one).
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcId
public vpcId: pulumi.Output<string>;The ID of the requester VPC.
Resource VpcPeeringConnectionAccepter
class VpcPeeringConnectionAccepter extends CustomResourceProvides a resource to manage the accepter’s side of a VPC Peering Connection.
When a cross-account (requester’s AWS account differs from the accepter’s AWS account) or an inter-region
VPC Peering Connection is created, a VPC Peering Connection resource is automatically created in the
accepter’s account.
The requester can use the aws.ec2.VpcPeeringConnection resource to manage its side of the connection
and the accepter can use the aws.ec2.VpcPeeringConnectionAccepter resource to “adopt” its side of the
connection into management.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const peer = new aws.Provider("peer", {
region: "us-west-2",
});
const main = new aws.ec2.Vpc("main", {
cidrBlock: "10.0.0.0/16",
});
const peerVpc = new aws.ec2.Vpc("peer", {
cidrBlock: "10.1.0.0/16",
}, { provider: peer });
const peerCallerIdentity = pulumi.output(aws.getCallerIdentity({ provider: peer, async: true }));
// Requester's side of the connection.
const peerVpcPeeringConnection = new aws.ec2.VpcPeeringConnection("peer", {
autoAccept: false,
peerOwnerId: peerCallerIdentity.accountId,
peerRegion: "us-west-2",
peerVpcId: peerVpc.id,
tags: {
Side: "Requester",
},
vpcId: main.id,
});
// Accepter's side of the connection.
const peerVpcPeeringConnectionAccepter = new aws.ec2.VpcPeeringConnectionAccepter("peer", {
autoAccept: true,
tags: {
Side: "Accepter",
},
vpcPeeringConnectionId: peerVpcPeeringConnection.id,
}, { provider: peer });constructor
new VpcPeeringConnectionAccepter(name: string, args: VpcPeeringConnectionAccepterArgs, opts?: pulumi.CustomResourceOptions)Create a VpcPeeringConnectionAccepter resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcPeeringConnectionAccepterState, opts?: pulumi.CustomResourceOptions): VpcPeeringConnectionAccepterGet an existing VpcPeeringConnectionAccepter resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VpcPeeringConnectionAccepterReturns true if the given object is an instance of VpcPeeringConnectionAccepter. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property acceptStatus
public acceptStatus: pulumi.Output<string>;The status of the VPC Peering Connection request.
property accepter
public accepter: pulumi.Output<VpcPeeringConnectionAccepterAccepter>;A configuration block that describes VPC Peering Connection options set for the accepter VPC.
property autoAccept
public autoAccept: pulumi.Output<boolean | undefined>;Whether or not to accept the peering request. Defaults to false.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property peerOwnerId
public peerOwnerId: pulumi.Output<string>;The AWS account ID of the owner of the requester VPC.
property peerRegion
public peerRegion: pulumi.Output<string>;The region of the accepter VPC.
property peerVpcId
public peerVpcId: pulumi.Output<string>;The ID of the requester VPC.
property requester
public requester: pulumi.Output<VpcPeeringConnectionAccepterRequester>;A configuration block that describes VPC Peering Connection options set for the requester VPC.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcId
public vpcId: pulumi.Output<string>;The ID of the accepter VPC.
property vpcPeeringConnectionId
public vpcPeeringConnectionId: pulumi.Output<string>;The VPC Peering Connection ID to manage.
Resource VpnConnection
class VpnConnection extends CustomResourceManages 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
tunnel1PresharedKeyandtunnel2PresharedKeywill be stored in the raw state as plain-text.Note: The CIDR blocks in the arguments
tunnel1InsideCidrandtunnel2InsideCidrmust have a prefix of /30 and be a part of a specific range. Read more about this in the AWS documentation.
Example Usage
EC2 Transit Gateway
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const exampleTransitGateway = new aws.ec2transitgateway.TransitGateway("example", {});
const exampleCustomerGateway = new aws.ec2.CustomerGateway("example", {
bgpAsn: 65000,
ipAddress: "172.0.0.1",
type: "ipsec.1",
});
const exampleVpnConnection = new aws.ec2.VpnConnection("example", {
customerGatewayId: exampleCustomerGateway.id,
transitGatewayId: exampleTransitGateway.id,
type: exampleCustomerGateway.type,
});Virtual Private Gateway
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const vpc = new aws.ec2.Vpc("vpc", {
cidrBlock: "10.0.0.0/16",
});
const vpnGateway = new aws.ec2.VpnGateway("vpn_gateway", {
vpcId: vpc.id,
});
const customerGateway = new aws.ec2.CustomerGateway("customer_gateway", {
bgpAsn: 65000,
ipAddress: "172.0.0.1",
type: "ipsec.1",
});
const main = new aws.ec2.VpnConnection("main", {
customerGatewayId: customerGateway.id,
staticRoutesOnly: true,
type: "ipsec.1",
vpnGatewayId: vpnGateway.id,
});constructor
new VpnConnection(name: string, args: VpnConnectionArgs, opts?: pulumi.CustomResourceOptions)Create a VpnConnection resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpnConnectionState, opts?: pulumi.CustomResourceOptions): VpnConnectionGet an existing VpnConnection resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VpnConnectionReturns true if the given object is an instance of VpnConnection. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property customerGatewayConfiguration
public customerGatewayConfiguration: pulumi.Output<string>;The configuration information for the VPN connection’s customer gateway (in the native XML format).
property customerGatewayId
public customerGatewayId: pulumi.Output<string>;The ID of the customer gateway.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property routes
public routes: pulumi.Output<VpnConnectionRoute[]>;property staticRoutesOnly
public staticRoutesOnly: pulumi.Output<boolean>;Whether the VPN connection uses static routes exclusively. Static routes must be used for devices that don’t support BGP.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;Tags to apply to the connection.
property transitGatewayAttachmentId
public transitGatewayAttachmentId: pulumi.Output<string>;When associated with an EC2 Transit Gateway (transitGatewayId argument), the attachment ID.
property transitGatewayId
public transitGatewayId: pulumi.Output<string | undefined>;The ID of the EC2 Transit Gateway.
property tunnel1Address
public tunnel1Address: pulumi.Output<string>;The public IP address of the first VPN tunnel.
property tunnel1BgpAsn
public tunnel1BgpAsn: pulumi.Output<string>;The bgp asn number of the first VPN tunnel.
property tunnel1BgpHoldtime
public tunnel1BgpHoldtime: pulumi.Output<number>;The bgp holdtime of the first VPN tunnel.
property tunnel1CgwInsideAddress
public tunnel1CgwInsideAddress: pulumi.Output<string>;The RFC 6890 link-local address of the first VPN tunnel (Customer Gateway Side).
property tunnel1InsideCidr
public tunnel1InsideCidr: pulumi.Output<string>;The CIDR block of the inside IP addresses for the first VPN tunnel.
property tunnel1PresharedKey
public tunnel1PresharedKey: pulumi.Output<string>;The preshared key of the first VPN tunnel.
property tunnel1VgwInsideAddress
public tunnel1VgwInsideAddress: pulumi.Output<string>;The RFC 6890 link-local address of the first VPN tunnel (VPN Gateway Side).
property tunnel2Address
public tunnel2Address: pulumi.Output<string>;The public IP address of the second VPN tunnel.
property tunnel2BgpAsn
public tunnel2BgpAsn: pulumi.Output<string>;The bgp asn number of the second VPN tunnel.
property tunnel2BgpHoldtime
public tunnel2BgpHoldtime: pulumi.Output<number>;The bgp holdtime of the second VPN tunnel.
property tunnel2CgwInsideAddress
public tunnel2CgwInsideAddress: pulumi.Output<string>;The RFC 6890 link-local address of the second VPN tunnel (Customer Gateway Side).
property tunnel2InsideCidr
public tunnel2InsideCidr: pulumi.Output<string>;The CIDR block of the inside IP addresses for the second VPN tunnel.
property tunnel2PresharedKey
public tunnel2PresharedKey: pulumi.Output<string>;The preshared key of the second VPN tunnel.
property tunnel2VgwInsideAddress
public tunnel2VgwInsideAddress: pulumi.Output<string>;The RFC 6890 link-local address of the second VPN tunnel (VPN Gateway Side).
property type
public type: pulumi.Output<string>;The type of VPN connection. The only type AWS supports at this time is “ipsec.1”.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vgwTelemetries
public vgwTelemetries: pulumi.Output<VpnConnectionVgwTelemetry[]>;property vpnGatewayId
public vpnGatewayId: pulumi.Output<string | undefined>;The ID of the Virtual Private Gateway.
Resource VpnConnectionRoute
class VpnConnectionRoute extends CustomResourceProvides a static route between a VPN connection and a customer gateway.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const vpc = new aws.ec2.Vpc("vpc", {
cidrBlock: "10.0.0.0/16",
});
const vpnGateway = new aws.ec2.VpnGateway("vpn_gateway", {
vpcId: vpc.id,
});
const customerGateway = new aws.ec2.CustomerGateway("customer_gateway", {
bgpAsn: 65000,
ipAddress: "172.0.0.1",
type: "ipsec.1",
});
const main = new aws.ec2.VpnConnection("main", {
customerGatewayId: customerGateway.id,
staticRoutesOnly: true,
type: "ipsec.1",
vpnGatewayId: vpnGateway.id,
});
const office = new aws.ec2.VpnConnectionRoute("office", {
destinationCidrBlock: "192.168.10.0/24",
vpnConnectionId: main.id,
});constructor
new VpnConnectionRoute(name: string, args: VpnConnectionRouteArgs, opts?: pulumi.CustomResourceOptions)Create a VpnConnectionRoute resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpnConnectionRouteState, opts?: pulumi.CustomResourceOptions): VpnConnectionRouteGet an existing VpnConnectionRoute resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VpnConnectionRouteReturns true if the given object is an instance of VpnConnectionRoute. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property destinationCidrBlock
public destinationCidrBlock: pulumi.Output<string>;The CIDR block associated with the local subnet of the customer network.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpnConnectionId
public vpnConnectionId: pulumi.Output<string>;The ID of the VPN connection.
Resource VpnGateway
class VpnGateway extends CustomResourceProvides a resource to create a VPC VPN Gateway.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const vpnGw = new aws.ec2.VpnGateway("vpn_gw", {
tags: {
Name: "main",
},
vpcId: aws_vpc_main.id,
});constructor
new VpnGateway(name: string, args?: VpnGatewayArgs, opts?: pulumi.CustomResourceOptions)Create a VpnGateway resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpnGatewayState, opts?: pulumi.CustomResourceOptions): VpnGatewayGet an existing VpnGateway resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VpnGatewayReturns true if the given object is an instance of VpnGateway. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property amazonSideAsn
public amazonSideAsn: pulumi.Output<string>;The Autonomous System Number (ASN) for the Amazon side of the gateway. If you don’t specify an ASN, the virtual private gateway is created with the default ASN.
property availabilityZone
public availabilityZone: pulumi.Output<string | undefined>;The Availability Zone for the virtual private gateway.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags to assign to the resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcId
public vpcId: pulumi.Output<string>;The VPC ID to create in.
Resource VpnGatewayAttachment
class VpnGatewayAttachment extends CustomResourceProvides a Virtual Private Gateway attachment resource, allowing for an existing hardware VPN gateway to be attached and/or detached from a VPC.
Note: The
aws.ec2.VpnGatewayresource can also automatically attach the Virtual Private Gateway it creates to an existing VPC by setting thevpcIdattribute accordingly.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const network = new aws.ec2.Vpc("network", {
cidrBlock: "10.0.0.0/16",
});
const vpn = new aws.ec2.VpnGateway("vpn", {
tags: {
Name: "example-vpn-gateway",
},
});
const vpnAttachment = new aws.ec2.VpnGatewayAttachment("vpn_attachment", {
vpcId: network.id,
vpnGatewayId: vpn.id,
});constructor
new VpnGatewayAttachment(name: string, args: VpnGatewayAttachmentArgs, opts?: pulumi.CustomResourceOptions)Create a VpnGatewayAttachment resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpnGatewayAttachmentState, opts?: pulumi.CustomResourceOptions): VpnGatewayAttachmentGet an existing VpnGatewayAttachment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VpnGatewayAttachmentReturns true if the given object is an instance of VpnGatewayAttachment. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpcId
public vpcId: pulumi.Output<string>;The ID of the VPC.
property vpnGatewayId
public vpnGatewayId: pulumi.Output<string>;The ID of the Virtual Private Gateway.
Resource VpnGatewayRoutePropagation
class VpnGatewayRoutePropagation extends CustomResourceRequests 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
propagatingVgwsargument set. If that argument is set, any route propagation not explicitly listed in its value will be removed.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ec2.VpnGatewayRoutePropagation("example", {
routeTableId: aws_route_table_example.id,
vpnGatewayId: aws_vpn_gateway_example.id,
});constructor
new VpnGatewayRoutePropagation(name: string, args: VpnGatewayRoutePropagationArgs, opts?: pulumi.CustomResourceOptions)Create a VpnGatewayRoutePropagation resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpnGatewayRoutePropagationState, opts?: pulumi.CustomResourceOptions): VpnGatewayRoutePropagationGet an existing VpnGatewayRoutePropagation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VpnGatewayRoutePropagationReturns true if the given object is an instance of VpnGatewayRoutePropagation. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property routeTableId
public routeTableId: pulumi.Output<string>;The id of the aws.ec2.RouteTable to propagate routes into.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vpnGatewayId
public vpnGatewayId: pulumi.Output<string>;The id of the aws.ec2.VpnGateway to propagate routes from.
Functions
Function getCoipPool
getCoipPool(args?: GetCoipPoolArgs, opts?: pulumi.InvokeOptions): Promise<GetCoipPoolResult>Provides details about a specific EC2 Customer-Owned IP Pool.
This data source can prove useful when a module accepts a coip pool id as an input variable and needs to, for example, determine the CIDR block of that COIP Pool.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const config = new pulumi.Config();
const coipPoolId = config.require("coipPoolId");
const selected = pulumi.output(aws.ec2.getCoipPool({
id: coipPoolId,
}, { async: true }));Function getCoipPools
getCoipPools(args?: GetCoipPoolsArgs, opts?: pulumi.InvokeOptions): Promise<GetCoipPoolsResult>Provides information for multiple EC2 Customer-Owned IP Pools, such as their identifiers.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const fooCoipPools = pulumi.output(aws.ec2.getCoipPools({ async: true }));
export const foo = fooCoipPools.ids;Function getCustomerGateway
getCustomerGateway(args?: GetCustomerGatewayArgs, opts?: pulumi.InvokeOptions): Promise<GetCustomerGatewayResult>Get an existing AWS Customer Gateway.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const foo = pulumi.output(aws.ec2.getCustomerGateway({
filters: [{
name: "tag:Name",
values: ["foo-prod"],
}],
}, { async: true }));
const main = new aws.ec2.VpnGateway("main", {
amazonSideAsn: "7224",
vpcId: aws_vpc_main.id,
});
const transit = new aws.ec2.VpnConnection("transit", {
customerGatewayId: foo.id!,
staticRoutesOnly: false,
type: foo.type,
vpnGatewayId: main.id,
});Function getInstance
getInstance(args?: GetInstanceArgs, opts?: pulumi.InvokeOptions): Promise<GetInstanceResult>Use this data source to get the ID of an Amazon EC2 Instance for use in other resources.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const foo = pulumi.output(aws.ec2.getInstance({
filters: [
{
name: "image-id",
values: ["ami-xxxxxxxx"],
},
{
name: "tag:Name",
values: ["instance-name-tag"],
},
],
instanceId: "i-instanceid",
}, { async: true }));Function getInstances
getInstances(args?: GetInstancesArgs, opts?: pulumi.InvokeOptions): Promise<GetInstancesResult>Use this data source to get IDs or IPs of Amazon EC2 instances to be referenced elsewhere, e.g. to allow easier migration from another management solution or to make it easier for an operator to connect through bastion host(s).
Note: It’s strongly discouraged to use this data source for querying ephemeral instances (e.g. managed via autoscaling group), as the output may change at any time and you’d need to re-run
applyevery time an instance comes up or dies.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const testInstances = pulumi.output(aws.ec2.getInstances({
filters: [{
name: "instance.group-id",
values: ["sg-12345678"],
}],
instanceStateNames: [
"running",
"stopped",
],
instanceTags: {
Role: "HardWorker",
},
}, { async: true }));
const testEip: aws.ec2.Eip[] = [];
for (let i = 0; i < testInstances.apply(testInstances => testInstances.ids.length); i++) {
testEip.push(new aws.ec2.Eip(`test-${i}`, {
instance: testInstances.apply(testInstances => testInstances.ids[i]),
}));
}Function getInstanceTypeOffering
getInstanceTypeOffering(args?: GetInstanceTypeOfferingArgs, opts?: pulumi.InvokeOptions): Promise<GetInstanceTypeOfferingResult>Information about single EC2 Instance Type Offering.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = pulumi.output(aws.ec2.getInstanceTypeOffering({
filters: [{
name: "instance-type",
values: [
"t1.micro",
"t2.micro",
"t3.micro",
],
}],
preferredInstanceTypes: [
"t3.micro",
"t2.micro",
"t1.micro",
],
}, { async: true }));Function getInstanceTypeOfferings
getInstanceTypeOfferings(args?: GetInstanceTypeOfferingsArgs, opts?: pulumi.InvokeOptions): Promise<GetInstanceTypeOfferingsResult>Information about EC2 Instance Type Offerings.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = pulumi.output(aws.ec2.getInstanceTypeOfferings({
filters: [
{
name: "instance-type",
values: [
"t2.micro",
"t3.micro",
],
},
{
name: "location",
values: ["usw2-az4"],
},
],
locationType: "availability-zone-id",
}, { async: true }));Function getInternetGateway
getInternetGateway(args?: GetInternetGatewayArgs, opts?: pulumi.InvokeOptions): Promise<GetInternetGatewayResult>aws.ec2.InternetGateway provides details about a specific Internet Gateway.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const config = new pulumi.Config();
const vpcId = config.require("vpcId");
const defaultInternetGateway = pulumi.output(aws.ec2.getInternetGateway({
filters: [{
name: "attachment.vpc-id",
values: [vpcId],
}],
}, { async: true }));Function getLaunchConfiguration
getLaunchConfiguration(args: GetLaunchConfigurationArgs, opts?: pulumi.InvokeOptions): Promise<GetLaunchConfigurationResult>Provides information about a Launch Configuration.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const ubuntu = pulumi.output(aws.ec2.getLaunchConfiguration({
name: "test-launch-config",
}, { async: true }));Function getLaunchTemplate
getLaunchTemplate(args?: GetLaunchTemplateArgs, opts?: pulumi.InvokeOptions): Promise<GetLaunchTemplateResult>Provides information about a Launch Template.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const defaultLaunchTemplate = pulumi.output(aws.ec2.getLaunchTemplate({
name: "my-launch-template",
}, { async: true }));Filter
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = pulumi.output(aws.ec2.getLaunchTemplate({
filters: [{
name: "launch-template-name",
values: ["some-template"],
}],
}, { async: true }));Function getLocalGateway
getLocalGateway(args?: GetLocalGatewayArgs, opts?: pulumi.InvokeOptions): Promise<GetLocalGatewayResult>Provides details about an EC2 Local Gateway.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const config = new pulumi.Config();
const localGatewayId = config.require("localGatewayId");
const selected = pulumi.output(aws.ec2.getLocalGateway({
id: localGatewayId,
}, { async: true }));Function getLocalGatewayRouteTable
getLocalGatewayRouteTable(args?: GetLocalGatewayRouteTableArgs, opts?: pulumi.InvokeOptions): Promise<GetLocalGatewayRouteTableResult>Provides details about an EC2 Local Gateway Route Table.
This data source can prove useful when a module accepts a local gateway route table id as an input variable and needs to, for example, find the associated Outpost or Local Gateway.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const config = new pulumi.Config();
const awsEc2LocalGatewayRouteTable = config.require("awsEc2LocalGatewayRouteTable");
const selected = pulumi.output(aws.ec2.getLocalGatewayRouteTable({
localGatewayRouteTableId: awsEc2LocalGatewayRouteTable,
}, { async: true }));Function getLocalGatewayRouteTables
getLocalGatewayRouteTables(args?: GetLocalGatewayRouteTablesArgs, opts?: pulumi.InvokeOptions): Promise<GetLocalGatewayRouteTablesResult>Provides information for multiple EC2 Local Gateway Route Tables, such as their identifiers.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const fooLocalGatewayRouteTable = pulumi.output(aws.ec2.getLocalGatewayRouteTable({ async: true }));
export const foo = fooLocalGatewayRouteTable.ids;Function getLocalGateways
getLocalGateways(args?: GetLocalGatewaysArgs, opts?: pulumi.InvokeOptions): Promise<GetLocalGatewaysResult>Provides information for multiple EC2 Local Gateways, such as their identifiers.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const fooLocalGateways = pulumi.output(aws.ec2.getLocalGateways({
tags: {
service: "production",
},
}, { async: true }));
export const foo = fooLocalGateways.ids;Function getNatGateway
getNatGateway(args?: GetNatGatewayArgs, opts?: pulumi.InvokeOptions): Promise<GetNatGatewayResult>Provides details about a specific Nat Gateway.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const config = new pulumi.Config();
const subnetId = config.require("subnetId");
const defaultNatGateway = aws_subnet_public.id.apply(id => aws.ec2.getNatGateway({
subnetId: id,
}, { async: true }));Function getNetworkAcls
getNetworkAcls(args?: GetNetworkAclsArgs, opts?: pulumi.InvokeOptions): Promise<GetNetworkAclsResult>Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const exampleNetworkAcls = pulumi.output(aws.ec2.getNetworkAcls({
vpcId: var_vpc_id,
}, { async: true }));
export const example = exampleNetworkAcls.ids;Function getNetworkInterface
getNetworkInterface(args?: GetNetworkInterfaceArgs, opts?: pulumi.InvokeOptions): Promise<GetNetworkInterfaceResult>Use this data source to get information about a Network Interface.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const bar = pulumi.output(aws.ec2.getNetworkInterface({
id: "eni-01234567",
}, { async: true }));Function getNetworkInterfaces
getNetworkInterfaces(args?: GetNetworkInterfacesArgs, opts?: pulumi.InvokeOptions): Promise<GetNetworkInterfacesResult>Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const exampleNetworkInterfaces = pulumi.output(aws.ec2.getNetworkInterfaces({ async: true }));
export const example = exampleNetworkInterfaces.ids;Function getRoute
getRoute(args: GetRouteArgs, opts?: pulumi.InvokeOptions): Promise<GetRouteResult>aws.ec2.Route provides details about a specific Route.
This resource can prove useful when finding the resource associated with a CIDR. For example, finding the peering connection associated with a CIDR value.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const config = new pulumi.Config();
const subnetId = config.require("subnetId");
const selected = pulumi.output(aws.ec2.getRouteTable({
subnetId: subnetId,
}, { async: true }));
const route = aws_route_table_selected.id.apply(id => aws.ec2.getRoute({
destinationCidrBlock: "10.0.1.0/24",
routeTableId: id,
}, { async: true }));
const interfaceNetworkInterface = route.apply(route => aws.ec2.getNetworkInterface({
networkInterfaceId: route.networkInterfaceId!,
}, { async: true }));Function getRouteTable
getRouteTable(args?: GetRouteTableArgs, opts?: pulumi.InvokeOptions): Promise<GetRouteTableResult>aws.ec2.RouteTable provides details about a specific Route Table.
This resource can prove useful when a module accepts a Subnet id as an input variable and needs to, for example, add a route in the Route Table.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const config = new pulumi.Config();
const subnetId = config.require("subnetId");
const selected = pulumi.output(aws.ec2.getRouteTable({
subnetId: subnetId,
}, { async: true }));
const route = new aws.ec2.Route("route", {
destinationCidrBlock: "10.0.1.0/22",
routeTableId: selected.id,
vpcPeeringConnectionId: "pcx-45ff3dc1",
});Function getRouteTables
getRouteTables(args?: GetRouteTablesArgs, opts?: pulumi.InvokeOptions): Promise<GetRouteTablesResult>This resource can be useful for getting back a list of route table ids to be referenced elsewhere.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const rts = pulumi.output(aws.ec2.getRouteTables({
filters: [{
name: "tag:kubernetes.io/kops/role",
values: ["private*"],
}],
vpcId: var_vpc_id,
}, { async: true }));
const route: aws.ec2.Route[] = [];
for (let i = 0; i < rts.apply(rts => rts.ids.length); i++) {
route.push(new aws.ec2.Route(`r-${i}`, {
destinationCidrBlock: "10.0.1.0/22",
routeTableId: rts.apply(rts => rts.ids[i]),
vpcPeeringConnectionId: "pcx-0e9a7a9ecd137dc54",
}));
}Function getSecurityGroup
getSecurityGroup(args?: GetSecurityGroupArgs, opts?: pulumi.InvokeOptions): Promise<GetSecurityGroupResult>aws.ec2.SecurityGroup provides details about a specific Security Group.
This resource can prove useful when a module accepts a Security Group id as an input variable and needs to, for example, determine the id of the VPC that the security group belongs to.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const config = new pulumi.Config();
const securityGroupId = config.require("securityGroupId");
const selected = pulumi.output(aws.ec2.getSecurityGroup({
id: securityGroupId,
}, { async: true }));
const subnet = new aws.ec2.Subnet("subnet", {
cidrBlock: "10.0.1.0/24",
vpcId: selected.vpcId!,
});Function getSecurityGroups
getSecurityGroups(args?: GetSecurityGroupsArgs, opts?: pulumi.InvokeOptions): Promise<GetSecurityGroupsResult>Use this data source to get IDs and VPC membership of Security Groups that are created outside of this provider.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = pulumi.output(aws.ec2.getSecurityGroups({
tags: {
Application: "k8s",
Environment: "dev",
},
}, { async: true }));Function getSubnet
getSubnet(args?: GetSubnetArgs, opts?: pulumi.InvokeOptions): Promise<GetSubnetResult>aws.ec2.Subnet provides details about a specific VPC subnet.
This resource can prove useful when a module accepts a subnet id as an input variable and needs to, for example, determine the id of the VPC that the subnet belongs to.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const config = new pulumi.Config();
const subnetId = config.require("subnetId");
const selected = pulumi.output(aws.ec2.getSubnet({
id: subnetId,
}, { async: true }));
const subnet = new aws.ec2.SecurityGroup("subnet", {
ingress: [{
cidrBlocks: [selected.cidrBlock!],
fromPort: 80,
protocol: "tcp",
toPort: 80,
}],
vpcId: selected.vpcId!,
});Function getSubnetIds
getSubnetIds(args: GetSubnetIdsArgs, opts?: pulumi.InvokeOptions): Promise<GetSubnetIdsResult>aws.ec2.getSubnetIds provides a set of ids for a vpcId
This resource can be useful for getting back a set of subnet ids for a vpc.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const exampleSubnetIds = aws.ec2.getSubnetIds({
vpcId: _var.vpc_id,
});
const exampleSubnet = exampleSubnetIds.then(exampleSubnetIds => exampleSubnetIds.ids.map((v, k) => [k, v]).map(([, ]) => aws.ec2.getSubnet({
id: __value,
})));
export const subnetCidrBlocks = exampleSubnet.map(s => s.cidrBlock);Function getVpc
getVpc(args?: GetVpcArgs, opts?: pulumi.InvokeOptions): Promise<GetVpcResult>aws.ec2.Vpc provides details about a specific VPC.
This resource can prove useful when a module accepts a vpc id as an input variable and needs to, for example, determine the CIDR block of that VPC.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const config = new pulumi.Config();
const vpcId = config.require("vpcId");
const selected = pulumi.output(aws.ec2.getVpc({
id: vpcId,
}, { async: true }));
const example = new aws.ec2.Subnet("example", {
availabilityZone: "us-west-2a",
cidrBlock: selected.apply(selected => (() => {
throw "tf2pulumi error: NYI: call to cidrsubnet";
return (() => { throw "NYI: call to cidrsubnet"; })();
})()),
vpcId: selected.id!,
});Function getVpcDhcpOptions
getVpcDhcpOptions(args?: GetVpcDhcpOptionsArgs, opts?: pulumi.InvokeOptions): Promise<GetVpcDhcpOptionsResult>Retrieve information about an EC2 DHCP Options configuration.
Example Usage
Lookup by DHCP Options ID
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = pulumi.output(aws.ec2.getVpcDhcpOptions({
dhcpOptionsId: "dopts-12345678",
}, { async: true }));Lookup by Filter
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = pulumi.output(aws.ec2.getVpcDhcpOptions({
filters: [
{
name: "key",
values: ["domain-name"],
},
{
name: "value",
values: ["example.com"],
},
],
}, { async: true }));Function getVpcEndpoint
getVpcEndpoint(args?: GetVpcEndpointArgs, opts?: pulumi.InvokeOptions): Promise<GetVpcEndpointResult>The VPC Endpoint data source provides details about a specific VPC endpoint.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
// Declare the data source
const s3 = aws_vpc_foo.id.apply(id => aws.ec2.getVpcEndpoint({
serviceName: "com.amazonaws.us-west-2.s3",
vpcId: id,
}, { async: true }));
const privateS3 = new aws.ec2.VpcEndpointRouteTableAssociation("private_s3", {
routeTableId: aws_route_table_private.id,
vpcEndpointId: s3.id!,
});Function getVpcEndpointService
getVpcEndpointService(args?: GetVpcEndpointServiceArgs, opts?: pulumi.InvokeOptions): Promise<GetVpcEndpointServiceResult>The VPC Endpoint Service data source details about a specific service that can be specified when creating a VPC endpoint within the region configured in the provider.
Example Usage
AWS Service
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
// Declare the data source
const s3 = pulumi.output(aws.ec2.getVpcEndpointService({
service: "s3",
}, { async: true }));
// Create a VPC
const foo = new aws.ec2.Vpc("foo", {
cidrBlock: "10.0.0.0/16",
});
// Create a VPC endpoint
const ep = new aws.ec2.VpcEndpoint("ep", {
serviceName: s3.serviceName!,
vpcId: foo.id,
});Non-AWS Service
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const custome = pulumi.output(aws.ec2.getVpcEndpointService({
serviceName: "com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8",
}, { async: true }));Filter
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = pulumi.output(aws.ec2.getVpcEndpointService({
filters: [{
name: "service-name",
values: ["some-service"],
}],
}, { async: true }));Function getVpcPeeringConnection
getVpcPeeringConnection(args?: GetVpcPeeringConnectionArgs, opts?: pulumi.InvokeOptions): Promise<GetVpcPeeringConnectionResult>The VPC Peering Connection data source provides details about a specific VPC peering connection.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
// Declare the data source
const pc = aws_vpc_foo.id.apply(id => aws.ec2.getVpcPeeringConnection({
peerCidrBlock: "10.0.1.0/22",
vpcId: id,
}, { async: true }));
// Create a route table
const rt = new aws.ec2.RouteTable("rt", {
vpcId: aws_vpc_foo.id,
});
// Create a route
const route = new aws.ec2.Route("r", {
destinationCidrBlock: pc.peerCidrBlock!,
routeTableId: rt.id,
vpcPeeringConnectionId: pc.id!,
});Function getVpcs
getVpcs(args?: GetVpcsArgs, opts?: pulumi.InvokeOptions): Promise<GetVpcsResult>This resource can be useful for getting back a list of VPC Ids for a region.
The following example retrieves a list of VPC Ids with a custom tag of service set to a value of “production”.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const fooVpcs = pulumi.output(aws.ec2.getVpcs({
tags: {
service: "production",
},
}, { async: true }));
export const foo = fooVpcs.ids;Function getVpnGateway
getVpnGateway(args?: GetVpnGatewayArgs, opts?: pulumi.InvokeOptions): Promise<GetVpnGatewayResult>The VPN Gateway data source provides details about a specific VPN gateway.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const selected = pulumi.output(aws.ec2.getVpnGateway({
filters: [{
name: "tag:Name",
values: ["vpn-gw"],
}],
}, { async: true }));
export const vpnGatewayId = selected.id!;Others
const AllProtocols
const AllProtocols: ProtocolType = "all";interface AmiArgs
interface AmiArgsThe set of arguments for constructing a Ami resource.
property architecture
architecture?: pulumi.Input<string>;Machine architecture for created instances. Defaults to “x8664”.
property description
description?: pulumi.Input<string>;A longer, human-readable description for the AMI.
property ebsBlockDevices
ebsBlockDevices?: pulumi.Input<pulumi.Input<AmiEbsBlockDevice>[]>;Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
property enaSupport
enaSupport?: pulumi.Input<boolean>;Specifies whether enhanced networking with ENA is enabled. Defaults to false.
property ephemeralBlockDevices
ephemeralBlockDevices?: pulumi.Input<pulumi.Input<AmiEphemeralBlockDevice>[]>;Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
property imageLocation
imageLocation?: pulumi.Input<string>;Path to an S3 object containing an image manifest, e.g. created
by the ec2-upload-bundle command in the EC2 command line tools.
property kernelId
kernelId?: pulumi.Input<string>;The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
property name
name?: pulumi.Input<string>;A region-unique name for the AMI.
property ramdiskId
ramdiskId?: pulumi.Input<string>;The id of an initrd image (ARI) that will be used when booting the created instances.
property rootDeviceName
rootDeviceName?: pulumi.Input<string>;The name of the root device (for example, /dev/sda1, or /dev/xvda).
property sriovNetSupport
sriovNetSupport?: pulumi.Input<string>;When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property virtualizationType
virtualizationType?: pulumi.Input<string>;Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.
interface AmiCopyArgs
interface AmiCopyArgsThe set of arguments for constructing a AmiCopy resource.
property description
description?: pulumi.Input<string>;A longer, human-readable description for the AMI.
property ebsBlockDevices
ebsBlockDevices?: pulumi.Input<pulumi.Input<AmiCopyEbsBlockDevice>[]>;Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
property encrypted
encrypted?: pulumi.Input<boolean>;Boolean controlling whether the created EBS volumes will be encrypted. Can’t be used with snapshotId.
property ephemeralBlockDevices
ephemeralBlockDevices?: pulumi.Input<pulumi.Input<AmiCopyEphemeralBlockDevice>[]>;Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
property kmsKeyId
kmsKeyId?: pulumi.Input<string>;The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when encrypting the snapshots of an image during a copy operation. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used
property name
name?: pulumi.Input<string>;A region-unique name for the AMI.
property sourceAmiId
sourceAmiId: pulumi.Input<string>;The id of the AMI to copy. This id must be valid in the region
given by sourceAmiRegion.
property sourceAmiRegion
sourceAmiRegion: pulumi.Input<string>;The region from which the AMI will be copied. This may be the same as the AWS provider region in order to create a copy within the same region.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
interface AmiCopyState
interface AmiCopyStateInput properties used for looking up and filtering AmiCopy resources.
property architecture
architecture?: pulumi.Input<string>;Machine architecture for created instances. Defaults to “x8664”.
property description
description?: pulumi.Input<string>;A longer, human-readable description for the AMI.
property ebsBlockDevices
ebsBlockDevices?: pulumi.Input<pulumi.Input<AmiCopyEbsBlockDevice>[]>;Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
property enaSupport
enaSupport?: pulumi.Input<boolean>;Specifies whether enhanced networking with ENA is enabled. Defaults to false.
property encrypted
encrypted?: pulumi.Input<boolean>;Boolean controlling whether the created EBS volumes will be encrypted. Can’t be used with snapshotId.
property ephemeralBlockDevices
ephemeralBlockDevices?: pulumi.Input<pulumi.Input<AmiCopyEphemeralBlockDevice>[]>;Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
property imageLocation
imageLocation?: pulumi.Input<string>;Path to an S3 object containing an image manifest, e.g. created
by the ec2-upload-bundle command in the EC2 command line tools.
property kernelId
kernelId?: pulumi.Input<string>;The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
property kmsKeyId
kmsKeyId?: pulumi.Input<string>;The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when encrypting the snapshots of an image during a copy operation. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used
property manageEbsSnapshots
manageEbsSnapshots?: pulumi.Input<boolean>;property name
name?: pulumi.Input<string>;A region-unique name for the AMI.
property ramdiskId
ramdiskId?: pulumi.Input<string>;The id of an initrd image (ARI) that will be used when booting the created instances.
property rootDeviceName
rootDeviceName?: pulumi.Input<string>;The name of the root device (for example, /dev/sda1, or /dev/xvda).
property rootSnapshotId
rootSnapshotId?: pulumi.Input<string>;property sourceAmiId
sourceAmiId?: pulumi.Input<string>;The id of the AMI to copy. This id must be valid in the region
given by sourceAmiRegion.
property sourceAmiRegion
sourceAmiRegion?: pulumi.Input<string>;The region from which the AMI will be copied. This may be the same as the AWS provider region in order to create a copy within the same region.
property sriovNetSupport
sriovNetSupport?: pulumi.Input<string>;When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property virtualizationType
virtualizationType?: pulumi.Input<string>;Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.
interface AmiFromInstanceArgs
interface AmiFromInstanceArgsThe set of arguments for constructing a AmiFromInstance resource.
property description
description?: pulumi.Input<string>;A longer, human-readable description for the AMI.
property ebsBlockDevices
ebsBlockDevices?: pulumi.Input<pulumi.Input<AmiFromInstanceEbsBlockDevice>[]>;Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
property ephemeralBlockDevices
ephemeralBlockDevices?: pulumi.Input<pulumi.Input<AmiFromInstanceEphemeralBlockDevice>[]>;Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
property name
name?: pulumi.Input<string>;A region-unique name for the AMI.
property snapshotWithoutReboot
snapshotWithoutReboot?: pulumi.Input<boolean>;Boolean that overrides the behavior of stopping the instance before snapshotting. This is risky since it may cause a snapshot of an inconsistent filesystem state, but can be used to avoid downtime if the user otherwise guarantees that no filesystem writes will be underway at the time of snapshot.
property sourceInstanceId
sourceInstanceId: pulumi.Input<string>;The id of the instance to use as the basis of the AMI.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
interface AmiFromInstanceState
interface AmiFromInstanceStateInput properties used for looking up and filtering AmiFromInstance resources.
property architecture
architecture?: pulumi.Input<string>;Machine architecture for created instances. Defaults to “x8664”.
property description
description?: pulumi.Input<string>;A longer, human-readable description for the AMI.
property ebsBlockDevices
ebsBlockDevices?: pulumi.Input<pulumi.Input<AmiFromInstanceEbsBlockDevice>[]>;Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
property enaSupport
enaSupport?: pulumi.Input<boolean>;Specifies whether enhanced networking with ENA is enabled. Defaults to false.
property ephemeralBlockDevices
ephemeralBlockDevices?: pulumi.Input<pulumi.Input<AmiFromInstanceEphemeralBlockDevice>[]>;Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
property imageLocation
imageLocation?: pulumi.Input<string>;Path to an S3 object containing an image manifest, e.g. created
by the ec2-upload-bundle command in the EC2 command line tools.
property kernelId
kernelId?: pulumi.Input<string>;The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
property manageEbsSnapshots
manageEbsSnapshots?: pulumi.Input<boolean>;property name
name?: pulumi.Input<string>;A region-unique name for the AMI.
property ramdiskId
ramdiskId?: pulumi.Input<string>;The id of an initrd image (ARI) that will be used when booting the created instances.
property rootDeviceName
rootDeviceName?: pulumi.Input<string>;The name of the root device (for example, /dev/sda1, or /dev/xvda).
property rootSnapshotId
rootSnapshotId?: pulumi.Input<string>;property snapshotWithoutReboot
snapshotWithoutReboot?: pulumi.Input<boolean>;Boolean that overrides the behavior of stopping the instance before snapshotting. This is risky since it may cause a snapshot of an inconsistent filesystem state, but can be used to avoid downtime if the user otherwise guarantees that no filesystem writes will be underway at the time of snapshot.
property sourceInstanceId
sourceInstanceId?: pulumi.Input<string>;The id of the instance to use as the basis of the AMI.
property sriovNetSupport
sriovNetSupport?: pulumi.Input<string>;When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property virtualizationType
virtualizationType?: pulumi.Input<string>;Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.
interface AmiLaunchPermissionArgs
interface AmiLaunchPermissionArgsThe set of arguments for constructing a AmiLaunchPermission resource.
property accountId
accountId: pulumi.Input<string>;An AWS Account ID to add launch permissions.
property imageId
imageId: pulumi.Input<string>;A region-unique name for the AMI.
interface AmiLaunchPermissionState
interface AmiLaunchPermissionStateInput properties used for looking up and filtering AmiLaunchPermission resources.
property accountId
accountId?: pulumi.Input<string>;An AWS Account ID to add launch permissions.
property imageId
imageId?: pulumi.Input<string>;A region-unique name for the AMI.
interface AmiState
interface AmiStateInput properties used for looking up and filtering Ami resources.
property architecture
architecture?: pulumi.Input<string>;Machine architecture for created instances. Defaults to “x8664”.
property description
description?: pulumi.Input<string>;A longer, human-readable description for the AMI.
property ebsBlockDevices
ebsBlockDevices?: pulumi.Input<pulumi.Input<AmiEbsBlockDevice>[]>;Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
property enaSupport
enaSupport?: pulumi.Input<boolean>;Specifies whether enhanced networking with ENA is enabled. Defaults to false.
property ephemeralBlockDevices
ephemeralBlockDevices?: pulumi.Input<pulumi.Input<AmiEphemeralBlockDevice>[]>;Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
property imageLocation
imageLocation?: pulumi.Input<string>;Path to an S3 object containing an image manifest, e.g. created
by the ec2-upload-bundle command in the EC2 command line tools.
property kernelId
kernelId?: pulumi.Input<string>;The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
property manageEbsSnapshots
manageEbsSnapshots?: pulumi.Input<boolean>;property name
name?: pulumi.Input<string>;A region-unique name for the AMI.
property ramdiskId
ramdiskId?: pulumi.Input<string>;The id of an initrd image (ARI) that will be used when booting the created instances.
property rootDeviceName
rootDeviceName?: pulumi.Input<string>;The name of the root device (for example, /dev/sda1, or /dev/xvda).
property rootSnapshotId
rootSnapshotId?: pulumi.Input<string>;The Snapshot ID for the root volume (for EBS-backed AMIs)
property sriovNetSupport
sriovNetSupport?: pulumi.Input<string>;When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property virtualizationType
virtualizationType?: pulumi.Input<string>;Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.
interface AvailabilityZoneGroupArgs
interface AvailabilityZoneGroupArgsThe set of arguments for constructing a AvailabilityZoneGroup resource.
property groupName
groupName: pulumi.Input<string>;Name of the Availability Zone Group.
property optInStatus
optInStatus: pulumi.Input<string>;Indicates whether to enable or disable Availability Zone Group. Valid values: opted-in or not-opted-in.
interface AvailabilityZoneGroupState
interface AvailabilityZoneGroupStateInput properties used for looking up and filtering AvailabilityZoneGroup resources.
property groupName
groupName?: pulumi.Input<string>;Name of the Availability Zone Group.
property optInStatus
optInStatus?: pulumi.Input<string>;Indicates whether to enable or disable Availability Zone Group. Valid values: opted-in or not-opted-in.
interface CapacityReservationArgs
interface CapacityReservationArgsThe set of arguments for constructing a CapacityReservation resource.
property availabilityZone
availabilityZone: pulumi.Input<string>;The Availability Zone in which to create the Capacity Reservation.
property ebsOptimized
ebsOptimized?: pulumi.Input<boolean>;Indicates whether the Capacity Reservation supports EBS-optimized instances.
property endDate
endDate?: pulumi.Input<string>;The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ)
property endDateType
endDateType?: pulumi.Input<string>;Indicates the way in which the Capacity Reservation ends. Specify either unlimited or limited.
property ephemeralStorage
ephemeralStorage?: pulumi.Input<boolean>;Indicates whether the Capacity Reservation supports instances with temporary, block-level storage.
property instanceCount
instanceCount: pulumi.Input<number>;The number of instances for which to reserve capacity.
property instanceMatchCriteria
instanceMatchCriteria?: pulumi.Input<string>;Indicates the type of instance launches that the Capacity Reservation accepts. Specify either open or targeted.
property instancePlatform
instancePlatform: pulumi.Input<InstancePlatform>;The type of operating system for which to reserve capacity. Valid options are Linux/UNIX, Red Hat Enterprise Linux, SUSE Linux, Windows, Windows with SQL Server, Windows with SQL Server Enterprise, Windows with SQL Server Standard or Windows with SQL Server Web.
property instanceType
instanceType: pulumi.Input<InstanceType>;The instance type for which to reserve capacity.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property tenancy
tenancy?: pulumi.Input<Tenancy>;Indicates the tenancy of the Capacity Reservation. Specify either default or dedicated.
interface CapacityReservationState
interface CapacityReservationStateInput properties used for looking up and filtering CapacityReservation resources.
property availabilityZone
availabilityZone?: pulumi.Input<string>;The Availability Zone in which to create the Capacity Reservation.
property ebsOptimized
ebsOptimized?: pulumi.Input<boolean>;Indicates whether the Capacity Reservation supports EBS-optimized instances.
property endDate
endDate?: pulumi.Input<string>;The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ)
property endDateType
endDateType?: pulumi.Input<string>;Indicates the way in which the Capacity Reservation ends. Specify either unlimited or limited.
property ephemeralStorage
ephemeralStorage?: pulumi.Input<boolean>;Indicates whether the Capacity Reservation supports instances with temporary, block-level storage.
property instanceCount
instanceCount?: pulumi.Input<number>;The number of instances for which to reserve capacity.
property instanceMatchCriteria
instanceMatchCriteria?: pulumi.Input<string>;Indicates the type of instance launches that the Capacity Reservation accepts. Specify either open or targeted.
property instancePlatform
instancePlatform?: pulumi.Input<InstancePlatform>;The type of operating system for which to reserve capacity. Valid options are Linux/UNIX, Red Hat Enterprise Linux, SUSE Linux, Windows, Windows with SQL Server, Windows with SQL Server Enterprise, Windows with SQL Server Standard or Windows with SQL Server Web.
property instanceType
instanceType?: pulumi.Input<InstanceType>;The instance type for which to reserve capacity.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property tenancy
tenancy?: pulumi.Input<Tenancy>;Indicates the tenancy of the Capacity Reservation. Specify either default or dedicated.
let ClusterStrategy
let ClusterStrategy: PlacementStrategy = "cluster";A cluster placement group is a logical grouping of instances within a single
Availability Zone that benefit from low network latency, high network throughput.
interface CustomerGatewayArgs
interface CustomerGatewayArgsThe set of arguments for constructing a CustomerGateway resource.
property bgpAsn
bgpAsn: pulumi.Input<number>;The gateway’s Border Gateway Protocol (BGP) Autonomous System Number (ASN).
property ipAddress
ipAddress: pulumi.Input<string>;The IP address of the gateway’s Internet-routable external interface.
property tags
tags?: pulumi.Input<{[key: string]: any}>;Tags to apply to the gateway.
property type
type: pulumi.Input<string>;The type of customer gateway. The only type AWS supports at this time is “ipsec.1”.
interface CustomerGatewayState
interface CustomerGatewayStateInput properties used for looking up and filtering CustomerGateway resources.
property bgpAsn
bgpAsn?: pulumi.Input<number>;The gateway’s Border Gateway Protocol (BGP) Autonomous System Number (ASN).
property ipAddress
ipAddress?: pulumi.Input<string>;The IP address of the gateway’s Internet-routable external interface.
property tags
tags?: pulumi.Input<{[key: string]: any}>;Tags to apply to the gateway.
property type
type?: pulumi.Input<string>;The type of customer gateway. The only type AWS supports at this time is “ipsec.1”.
const DedicatedTenancy
Tenancies insteadconst DedicatedTenancy: Tenancy = "dedicated";interface DefaultNetworkAclArgs
interface DefaultNetworkAclArgsThe set of arguments for constructing a DefaultNetworkAcl resource.
property defaultNetworkAclId
defaultNetworkAclId: pulumi.Input<string>;The Network ACL ID to manage. This
attribute is exported from aws.ec2.Vpc, or manually found via the AWS Console.
property egress
egress?: pulumi.Input<pulumi.Input<DefaultNetworkAclEgress>[]>;Specifies an egress rule. Parameters defined below.
property ingress
ingress?: pulumi.Input<pulumi.Input<DefaultNetworkAclIngress>[]>;Specifies an ingress rule. Parameters defined below.
property subnetIds
subnetIds?: pulumi.Input<pulumi.Input<string>[]>;A list of Subnet IDs to apply the ACL to. See the notes below on managing Subnets in the Default Network ACL
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
interface DefaultNetworkAclState
interface DefaultNetworkAclStateInput properties used for looking up and filtering DefaultNetworkAcl resources.
property defaultNetworkAclId
defaultNetworkAclId?: pulumi.Input<string>;The Network ACL ID to manage. This
attribute is exported from aws.ec2.Vpc, or manually found via the AWS Console.
property egress
egress?: pulumi.Input<pulumi.Input<DefaultNetworkAclEgress>[]>;Specifies an egress rule. Parameters defined below.
property ingress
ingress?: pulumi.Input<pulumi.Input<DefaultNetworkAclIngress>[]>;Specifies an ingress rule. Parameters defined below.
property ownerId
ownerId?: pulumi.Input<string>;The ID of the AWS account that owns the Default Network ACL
property subnetIds
subnetIds?: pulumi.Input<pulumi.Input<string>[]>;A list of Subnet IDs to apply the ACL to. See the notes below on managing Subnets in the Default Network ACL
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpcId
vpcId?: pulumi.Input<string>;The ID of the associated VPC
interface DefaultRouteTableArgs
interface DefaultRouteTableArgsThe set of arguments for constructing a DefaultRouteTable resource.
property defaultRouteTableId
defaultRouteTableId: pulumi.Input<string>;The ID of the Default Routing Table.
property propagatingVgws
propagatingVgws?: pulumi.Input<pulumi.Input<string>[]>;A list of virtual gateways for propagation.
property routes
routes?: pulumi.Input<pulumi.Input<DefaultRouteTableRoute>[]>;A list of route objects. Their keys are documented below.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A mapping of tags to assign to the resource.
interface DefaultRouteTableState
interface DefaultRouteTableStateInput properties used for looking up and filtering DefaultRouteTable resources.
property defaultRouteTableId
defaultRouteTableId?: pulumi.Input<string>;The ID of the Default Routing Table.
property ownerId
ownerId?: pulumi.Input<string>;The ID of the AWS account that owns the route table
property propagatingVgws
propagatingVgws?: pulumi.Input<pulumi.Input<string>[]>;A list of virtual gateways for propagation.
property routes
routes?: pulumi.Input<pulumi.Input<DefaultRouteTableRoute>[]>;A list of route objects. Their keys are documented below.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A mapping of tags to assign to the resource.
property vpcId
vpcId?: pulumi.Input<string>;interface DefaultSecurityGroupArgs
interface DefaultSecurityGroupArgsThe set of arguments for constructing a DefaultSecurityGroup resource.
property egress
egress?: pulumi.Input<pulumi.Input<DefaultSecurityGroupEgress>[]>;Can be specified multiple times for each egress rule. Each egress block supports fields documented below.
property ingress
ingress?: pulumi.Input<pulumi.Input<DefaultSecurityGroupIngress>[]>;Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below.
property revokeRulesOnDelete
revokeRulesOnDelete?: pulumi.Input<boolean>;property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpcId
vpcId?: pulumi.Input<string>;The VPC ID. Note that changing
the vpcId will not restore any default security group rules that were
modified, added, or removed. It will be left in its current state
interface DefaultSecurityGroupState
interface DefaultSecurityGroupStateInput properties used for looking up and filtering DefaultSecurityGroup resources.
property arn
arn?: pulumi.Input<string>;property description
description?: pulumi.Input<string>;The description of the security group
property egress
egress?: pulumi.Input<pulumi.Input<DefaultSecurityGroupEgress>[]>;Can be specified multiple times for each egress rule. Each egress block supports fields documented below.
property ingress
ingress?: pulumi.Input<pulumi.Input<DefaultSecurityGroupIngress>[]>;Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below.
property name
name?: pulumi.Input<string>;The name of the security group
property ownerId
ownerId?: pulumi.Input<string>;The owner ID.
property revokeRulesOnDelete
revokeRulesOnDelete?: pulumi.Input<boolean>;property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpcId
vpcId?: pulumi.Input<string>;The VPC ID. Note that changing
the vpcId will not restore any default security group rules that were
modified, added, or removed. It will be left in its current state
interface DefaultSubnetArgs
interface DefaultSubnetArgsThe set of arguments for constructing a DefaultSubnet resource.
property availabilityZone
availabilityZone: pulumi.Input<string>;property mapPublicIpOnLaunch
mapPublicIpOnLaunch?: pulumi.Input<boolean>;Specify true to indicate that instances launched into the subnet should be assigned a public IP address.
property outpostArn
outpostArn?: pulumi.Input<string>;property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
interface DefaultSubnetState
interface DefaultSubnetStateInput properties used for looking up and filtering DefaultSubnet resources.
property arn
arn?: pulumi.Input<string>;property assignIpv6AddressOnCreation
assignIpv6AddressOnCreation?: pulumi.Input<boolean>;property availabilityZone
availabilityZone?: pulumi.Input<string>;property availabilityZoneId
availabilityZoneId?: pulumi.Input<string>;property cidrBlock
cidrBlock?: pulumi.Input<string>;The CIDR block for the subnet.
property ipv6CidrBlock
ipv6CidrBlock?: pulumi.Input<string>;The IPv6 CIDR block.
property ipv6CidrBlockAssociationId
ipv6CidrBlockAssociationId?: pulumi.Input<string>;property mapPublicIpOnLaunch
mapPublicIpOnLaunch?: pulumi.Input<boolean>;Specify true to indicate that instances launched into the subnet should be assigned a public IP address.
property outpostArn
outpostArn?: pulumi.Input<string>;property ownerId
ownerId?: pulumi.Input<string>;The ID of the AWS account that owns the subnet.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpcId
vpcId?: pulumi.Input<string>;The VPC ID.
const DefaultTenancy
Tenancies insteadconst DefaultTenancy: Tenancy = "default";interface DefaultVpcArgs
interface DefaultVpcArgsThe set of arguments for constructing a DefaultVpc resource.
property enableClassiclink
enableClassiclink?: pulumi.Input<boolean>;A boolean flag to enable/disable ClassicLink for the VPC. Only valid in regions and accounts that support EC2 Classic. See the ClassicLink documentation for more information. Defaults false.
property enableClassiclinkDnsSupport
enableClassiclinkDnsSupport?: pulumi.Input<boolean>;property enableDnsHostnames
enableDnsHostnames?: pulumi.Input<boolean>;A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.
property enableDnsSupport
enableDnsSupport?: pulumi.Input<boolean>;A boolean flag to enable/disable DNS support in the VPC. Defaults true.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
interface DefaultVpcDhcpOptionsArgs
interface DefaultVpcDhcpOptionsArgsThe set of arguments for constructing a DefaultVpcDhcpOptions resource.
property netbiosNameServers
netbiosNameServers?: pulumi.Input<pulumi.Input<string>[]>;List of NETBIOS name servers.
property netbiosNodeType
netbiosNodeType?: pulumi.Input<string>;The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see RFC 2132.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
interface DefaultVpcDhcpOptionsState
interface DefaultVpcDhcpOptionsStateInput properties used for looking up and filtering DefaultVpcDhcpOptions resources.
property domainName
domainName?: pulumi.Input<string>;property domainNameServers
domainNameServers?: pulumi.Input<string>;property netbiosNameServers
netbiosNameServers?: pulumi.Input<pulumi.Input<string>[]>;List of NETBIOS name servers.
property netbiosNodeType
netbiosNodeType?: pulumi.Input<string>;The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see RFC 2132.
property ntpServers
ntpServers?: pulumi.Input<string>;property ownerId
ownerId?: pulumi.Input<string>;The ID of the AWS account that owns the DHCP options set.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
interface DefaultVpcState
interface DefaultVpcStateInput properties used for looking up and filtering DefaultVpc resources.
property arn
arn?: pulumi.Input<string>;Amazon Resource Name (ARN) of VPC
property assignGeneratedIpv6CidrBlock
assignGeneratedIpv6CidrBlock?: pulumi.Input<boolean>;Whether or not an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC was assigned
property cidrBlock
cidrBlock?: pulumi.Input<string>;The CIDR block of the VPC
property defaultNetworkAclId
defaultNetworkAclId?: pulumi.Input<string>;The ID of the network ACL created by default on VPC creation
property defaultRouteTableId
defaultRouteTableId?: pulumi.Input<string>;The ID of the route table created by default on VPC creation
property defaultSecurityGroupId
defaultSecurityGroupId?: pulumi.Input<string>;The ID of the security group created by default on VPC creation
property dhcpOptionsId
dhcpOptionsId?: pulumi.Input<string>;property enableClassiclink
enableClassiclink?: pulumi.Input<boolean>;A boolean flag to enable/disable ClassicLink for the VPC. Only valid in regions and accounts that support EC2 Classic. See the ClassicLink documentation for more information. Defaults false.
property enableClassiclinkDnsSupport
enableClassiclinkDnsSupport?: pulumi.Input<boolean>;property enableDnsHostnames
enableDnsHostnames?: pulumi.Input<boolean>;A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.
property enableDnsSupport
enableDnsSupport?: pulumi.Input<boolean>;A boolean flag to enable/disable DNS support in the VPC. Defaults true.
property instanceTenancy
instanceTenancy?: pulumi.Input<string>;Tenancy of instances spin up within VPC.
property ipv6AssociationId
ipv6AssociationId?: pulumi.Input<string>;The association ID for the IPv6 CIDR block of the VPC
property ipv6CidrBlock
ipv6CidrBlock?: pulumi.Input<string>;The IPv6 CIDR block of the VPC
property mainRouteTableId
mainRouteTableId?: pulumi.Input<string>;The ID of the main route table associated with
this VPC. Note that you can change a VPC’s main route table by using an
aws.ec2.MainRouteTableAssociation
property ownerId
ownerId?: pulumi.Input<string>;The ID of the AWS account that owns the VPC.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
interface EgressOnlyInternetGatewayArgs
interface EgressOnlyInternetGatewayArgsThe set of arguments for constructing a EgressOnlyInternetGateway resource.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpcId
vpcId: pulumi.Input<string>;The VPC ID to create in.
interface EgressOnlyInternetGatewayState
interface EgressOnlyInternetGatewayStateInput properties used for looking up and filtering EgressOnlyInternetGateway resources.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpcId
vpcId?: pulumi.Input<string>;The VPC ID to create in.
interface EipArgs
interface EipArgsThe set of arguments for constructing a Eip resource.
property associateWithPrivateIp
associateWithPrivateIp?: pulumi.Input<string>;A user specified primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.
property customerOwnedIpv4Pool
customerOwnedIpv4Pool?: pulumi.Input<string>;The ID of a customer-owned address pool. For more on customer owned IP addressed check out Customer-owned IP addresses guide
property instance
instance?: pulumi.Input<string>;EC2 instance ID.
property networkInterface
networkInterface?: pulumi.Input<string>;Network interface ID to associate with.
property publicIpv4Pool
publicIpv4Pool?: pulumi.Input<string>;EC2 IPv4 address pool identifier or amazon. This option is only available for VPC EIPs.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpc
vpc?: pulumi.Input<boolean>;Boolean if the EIP is in a VPC or not.
interface EipAssociationArgs
interface EipAssociationArgsThe set of arguments for constructing a EipAssociation resource.
property allocationId
allocationId?: pulumi.Input<string>;The allocation ID. This is required for EC2-VPC.
property allowReassociation
allowReassociation?: pulumi.Input<boolean>;Whether to allow an Elastic IP to
be re-associated. Defaults to true in VPC.
property instanceId
instanceId?: pulumi.Input<string>;The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. The operation fails if you specify an instance ID unless exactly one network interface is attached.
property networkInterfaceId
networkInterfaceId?: pulumi.Input<string>;The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.
property privateIpAddress
privateIpAddress?: pulumi.Input<string>;The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.
property publicIp
publicIp?: pulumi.Input<string>;The Elastic IP address. This is required for EC2-Classic.
interface EipAssociationState
interface EipAssociationStateInput properties used for looking up and filtering EipAssociation resources.
property allocationId
allocationId?: pulumi.Input<string>;The allocation ID. This is required for EC2-VPC.
property allowReassociation
allowReassociation?: pulumi.Input<boolean>;Whether to allow an Elastic IP to
be re-associated. Defaults to true in VPC.
property instanceId
instanceId?: pulumi.Input<string>;The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. The operation fails if you specify an instance ID unless exactly one network interface is attached.
property networkInterfaceId
networkInterfaceId?: pulumi.Input<string>;The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.
property privateIpAddress
privateIpAddress?: pulumi.Input<string>;The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.
property publicIp
publicIp?: pulumi.Input<string>;The Elastic IP address. This is required for EC2-Classic.
interface EipState
interface EipStateInput properties used for looking up and filtering Eip resources.
property allocationId
allocationId?: pulumi.Input<string>;property associateWithPrivateIp
associateWithPrivateIp?: pulumi.Input<string>;A user specified primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.
property associationId
associationId?: pulumi.Input<string>;property customerOwnedIp
customerOwnedIp?: pulumi.Input<string>;Customer owned IP.
property customerOwnedIpv4Pool
customerOwnedIpv4Pool?: pulumi.Input<string>;The ID of a customer-owned address pool. For more on customer owned IP addressed check out Customer-owned IP addresses guide
property domain
domain?: pulumi.Input<string>;property instance
instance?: pulumi.Input<string>;EC2 instance ID.
property networkInterface
networkInterface?: pulumi.Input<string>;Network interface ID to associate with.
property privateDns
privateDns?: pulumi.Input<string>;The Private DNS associated with the Elastic IP address (if in VPC).
property privateIp
privateIp?: pulumi.Input<string>;Contains the private IP address (if in VPC).
property publicDns
publicDns?: pulumi.Input<string>;Public DNS associated with the Elastic IP address.
property publicIp
publicIp?: pulumi.Input<string>;Contains the public IP address.
property publicIpv4Pool
publicIpv4Pool?: pulumi.Input<string>;EC2 IPv4 address pool identifier or amazon. This option is only available for VPC EIPs.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpc
vpc?: pulumi.Input<boolean>;Boolean if the EIP is in a VPC or not.
interface FleetArgs
interface FleetArgsThe set of arguments for constructing a Fleet resource.
property excessCapacityTerminationPolicy
excessCapacityTerminationPolicy?: pulumi.Input<string>;Whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2. Valid values: no-termination, termination. Defaults to termination.
property launchTemplateConfig
launchTemplateConfig: pulumi.Input<FleetLaunchTemplateConfig>;Nested argument containing EC2 Launch Template configurations. Defined below.
property onDemandOptions
onDemandOptions?: pulumi.Input<FleetOnDemandOptions>;Nested argument containing On-Demand configurations. Defined below.
property replaceUnhealthyInstances
replaceUnhealthyInstances?: pulumi.Input<boolean>;Whether EC2 Fleet should replace unhealthy instances. Defaults to false.
property spotOptions
spotOptions?: pulumi.Input<FleetSpotOptions>;Nested argument containing Spot configurations. Defined below.
property tags
tags?: pulumi.Input<{[key: string]: any}>;Map of Fleet tags. To tag instances at launch, specify the tags in the Launch Template.
property targetCapacitySpecification
targetCapacitySpecification: pulumi.Input<FleetTargetCapacitySpecification>;Nested argument containing target capacity configurations. Defined below.
property terminateInstances
terminateInstances?: pulumi.Input<boolean>;Whether to terminate instances for an EC2 Fleet if it is deleted successfully. Defaults to false.
property terminateInstancesWithExpiration
terminateInstancesWithExpiration?: pulumi.Input<boolean>;Whether running instances should be terminated when the EC2 Fleet expires. Defaults to false.
property type
type?: pulumi.Input<string>;The type of request. Indicates whether the EC2 Fleet only requests the target capacity, or also attempts to maintain it. Valid values: maintain, request. Defaults to maintain.
interface FleetState
interface FleetStateInput properties used for looking up and filtering Fleet resources.
property excessCapacityTerminationPolicy
excessCapacityTerminationPolicy?: pulumi.Input<string>;Whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2. Valid values: no-termination, termination. Defaults to termination.
property launchTemplateConfig
launchTemplateConfig?: pulumi.Input<FleetLaunchTemplateConfig>;Nested argument containing EC2 Launch Template configurations. Defined below.
property onDemandOptions
onDemandOptions?: pulumi.Input<FleetOnDemandOptions>;Nested argument containing On-Demand configurations. Defined below.
property replaceUnhealthyInstances
replaceUnhealthyInstances?: pulumi.Input<boolean>;Whether EC2 Fleet should replace unhealthy instances. Defaults to false.
property spotOptions
spotOptions?: pulumi.Input<FleetSpotOptions>;Nested argument containing Spot configurations. Defined below.
property tags
tags?: pulumi.Input<{[key: string]: any}>;Map of Fleet tags. To tag instances at launch, specify the tags in the Launch Template.
property targetCapacitySpecification
targetCapacitySpecification?: pulumi.Input<FleetTargetCapacitySpecification>;Nested argument containing target capacity configurations. Defined below.
property terminateInstances
terminateInstances?: pulumi.Input<boolean>;Whether to terminate instances for an EC2 Fleet if it is deleted successfully. Defaults to false.
property terminateInstancesWithExpiration
terminateInstancesWithExpiration?: pulumi.Input<boolean>;Whether running instances should be terminated when the EC2 Fleet expires. Defaults to false.
property type
type?: pulumi.Input<string>;The type of request. Indicates whether the EC2 Fleet only requests the target capacity, or also attempts to maintain it. Valid values: maintain, request. Defaults to maintain.
interface FlowLogArgs
interface FlowLogArgsThe set of arguments for constructing a FlowLog resource.
property eniId
eniId?: pulumi.Input<string>;Elastic Network Interface ID to attach to
property iamRoleArn
iamRoleArn?: pulumi.Input<string>;The ARN for the IAM role that’s used to post flow logs to a CloudWatch Logs log group
property logDestination
logDestination?: pulumi.Input<string>;The ARN of the logging destination.
property logDestinationType
logDestinationType?: pulumi.Input<string>;The type of the logging destination. Valid values: cloud-watch-logs, s3. Default: cloud-watch-logs.
property logFormat
logFormat?: pulumi.Input<string>;The fields to include in the flow log record, in the order in which they should appear.
property logGroupName
logGroupName?: pulumi.Input<string>;Deprecated: Use logDestination instead. The name of the CloudWatch log group.
property maxAggregationInterval
maxAggregationInterval?: pulumi.Input<number>;The maximum interval of time
during which a flow of packets is captured and aggregated into a flow
log record. Valid Values: 60 seconds (1 minute) or 600 seconds (10
minutes). Default: 600.
property subnetId
subnetId?: pulumi.Input<string>;Subnet ID to attach to
property tags
tags?: pulumi.Input<{[key: string]: any}>;Key-value map of resource tags
property trafficType
trafficType: pulumi.Input<string>;The type of traffic to capture. Valid values: ACCEPT,REJECT, ALL.
property vpcId
vpcId?: pulumi.Input<string>;VPC ID to attach to
interface FlowLogState
interface FlowLogStateInput properties used for looking up and filtering FlowLog resources.
property eniId
eniId?: pulumi.Input<string>;Elastic Network Interface ID to attach to
property iamRoleArn
iamRoleArn?: pulumi.Input<string>;The ARN for the IAM role that’s used to post flow logs to a CloudWatch Logs log group
property logDestination
logDestination?: pulumi.Input<string>;The ARN of the logging destination.
property logDestinationType
logDestinationType?: pulumi.Input<string>;The type of the logging destination. Valid values: cloud-watch-logs, s3. Default: cloud-watch-logs.
property logFormat
logFormat?: pulumi.Input<string>;The fields to include in the flow log record, in the order in which they should appear.
property logGroupName
logGroupName?: pulumi.Input<string>;Deprecated: Use logDestination instead. The name of the CloudWatch log group.
property maxAggregationInterval
maxAggregationInterval?: pulumi.Input<number>;The maximum interval of time
during which a flow of packets is captured and aggregated into a flow
log record. Valid Values: 60 seconds (1 minute) or 600 seconds (10
minutes). Default: 600.
property subnetId
subnetId?: pulumi.Input<string>;Subnet ID to attach to
property tags
tags?: pulumi.Input<{[key: string]: any}>;Key-value map of resource tags
property trafficType
trafficType?: pulumi.Input<string>;The type of traffic to capture. Valid values: ACCEPT,REJECT, ALL.
property vpcId
vpcId?: pulumi.Input<string>;VPC ID to attach to
interface GetCoipPoolArgs
interface GetCoipPoolArgsA collection of arguments for invoking getCoipPool.
property filters
filters?: GetCoipPoolFilter[];property localGatewayRouteTableId
localGatewayRouteTableId?: undefined | string;Local Gateway Route Table Id assigned to desired COIP Pool
property poolId
poolId?: undefined | string;The id of the specific COIP Pool to retrieve.
property tags
tags?: undefined | {[key: string]: any};A mapping of tags, each pair of which must exactly match a pair on the desired COIP Pool.
interface GetCoipPoolResult
interface GetCoipPoolResultA collection of values returned by getCoipPool.
property filters
filters?: GetCoipPoolFilter[];property id
id: string;The provider-assigned unique ID for this managed resource.
property localGatewayRouteTableId
localGatewayRouteTableId: string;property poolCidrs
poolCidrs: string[];Set of CIDR blocks in pool
property poolId
poolId: string;property tags
tags: {[key: string]: any};interface GetCoipPoolsArgs
interface GetCoipPoolsArgsA collection of arguments for invoking getCoipPools.
property filters
filters?: GetCoipPoolsFilter[];Custom filter block as described below.
property tags
tags?: undefined | {[key: string]: any};A mapping of tags, each pair of which must exactly match a pair on the desired aws_ec2_coip_pools.
interface GetCoipPoolsResult
interface GetCoipPoolsResultA collection of values returned by getCoipPools.
property filters
filters?: GetCoipPoolsFilter[];property id
id: string;The provider-assigned unique ID for this managed resource.
property poolIds
poolIds: string[];Set of COIP Pool Identifiers
property tags
tags: {[key: string]: any};interface GetCustomerGatewayArgs
interface GetCustomerGatewayArgsA collection of arguments for invoking getCustomerGateway.
property filters
filters?: GetCustomerGatewayFilter[];One or more [name-value pairs][dcg-filters] to filter by.
property id
id?: undefined | string;The ID of the gateway.
property tags
tags?: undefined | {[key: string]: any};Map of key-value pairs assigned to the gateway.
interface GetCustomerGatewayResult
interface GetCustomerGatewayResultA collection of values returned by getCustomerGateway.
property bgpAsn
bgpAsn: number;(Optional) The gateway’s Border Gateway Protocol (BGP) Autonomous System Number (ASN).
property filters
filters?: GetCustomerGatewayFilter[];property id
id?: undefined | string;property ipAddress
ipAddress: string;(Optional) The IP address of the gateway’s Internet-routable external interface.
property tags
tags: {[key: string]: any};Map of key-value pairs assigned to the gateway.
property type
type: string;(Optional) The type of customer gateway. The only type AWS supports at this time is “ipsec.1”.
interface GetInstanceArgs
interface GetInstanceArgsA collection of arguments for invoking getInstance.
property filters
filters?: GetInstanceFilter[];One or more name/value pairs to use as filters. There are several valid keys, for a full reference, check out describe-instances in the AWS CLI reference.
property getPasswordData
getPasswordData?: undefined | false | true;If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the passwordData attribute. See GetPasswordData for more information.
property getUserData
getUserData?: undefined | false | true;Retrieve Base64 encoded User Data contents into the userDataBase64 attribute. A SHA-1 hash of the User Data contents will always be present in the userData attribute. Defaults to false.
property instanceId
instanceId?: undefined | string;Specify the exact Instance ID with which to populate the data source.
property instanceTags
instanceTags?: undefined | {[key: string]: any};A map of tags, each pair of which must exactly match a pair on the desired Instance.
property tags
tags?: undefined | {[key: string]: any};A mapping of tags assigned to the Instance.
interface GetInstanceResult
interface GetInstanceResultA collection of values returned by getInstance.
property ami
ami: string;The ID of the AMI used to launch the instance.
property arn
arn: string;The ARN of the instance.
property associatePublicIpAddress
associatePublicIpAddress: boolean;Whether or not the Instance is associated with a public IP address or not (Boolean).
property availabilityZone
availabilityZone: string;The availability zone of the Instance.
property creditSpecifications
creditSpecifications: GetInstanceCreditSpecification[];The credit specification of the Instance.
property disableApiTermination
disableApiTermination: boolean;property ebsBlockDevices
ebsBlockDevices: GetInstanceEbsBlockDevice[];The EBS block device mappings of the Instance.
property ebsOptimized
ebsOptimized: boolean;Whether the Instance is EBS optimized or not (Boolean).
property ephemeralBlockDevices
ephemeralBlockDevices: GetInstanceEphemeralBlockDevice[];The ephemeral block device mappings of the Instance.
property filters
filters?: GetInstanceFilter[];property getPasswordData
getPasswordData?: undefined | false | true;property getUserData
getUserData?: undefined | false | true;property hostId
hostId: string;The Id of the dedicated host the instance will be assigned to.
property iamInstanceProfile
iamInstanceProfile: string;The name of the instance profile associated with the Instance.
property id
id: string;The provider-assigned unique ID for this managed resource.
property instanceId
instanceId?: undefined | string;property instanceState
instanceState: string;The state of the instance. One of: pending, running, shutting-down, terminated, stopping, stopped. See Instance Lifecycle for more information.
property instanceTags
instanceTags: {[key: string]: any};property instanceType
instanceType: string;The type of the Instance.
property keyName
keyName: string;The key name of the Instance.
property metadataOptions
metadataOptions: GetInstanceMetadataOption[];The metadata options of the Instance.
property monitoring
monitoring: boolean;Whether detailed monitoring is enabled or disabled for the Instance (Boolean).
property networkInterfaceId
networkInterfaceId: string;The ID of the network interface that was created with the Instance.
property outpostArn
outpostArn: string;The Amazon Resource Name (ARN) of the Outpost.
property passwordData
passwordData: string;Base-64 encoded encrypted password data for the instance.
Useful for getting the administrator password for instances running Microsoft Windows.
This attribute is only exported if getPasswordData is true.
See GetPasswordData for more information.
property placementGroup
placementGroup: string;The placement group of the Instance.
property privateDns
privateDns: string;The private DNS name assigned to the Instance. Can only be used inside the Amazon EC2, and only available if you’ve enabled DNS hostnames for your VPC.
property privateIp
privateIp: string;The private IP address assigned to the Instance.
property publicDns
publicDns: string;The public DNS name assigned to the Instance. For EC2-VPC, this is only available if you’ve enabled DNS hostnames for your VPC.
property publicIp
publicIp: string;The public IP address assigned to the Instance, if applicable. NOTE: If you are using an aws.ec2.Eip with your instance, you should refer to the EIP’s address directly and not use publicIp, as this field will change after the EIP is attached.
property rootBlockDevices
rootBlockDevices: GetInstanceRootBlockDevice[];The root block device mappings of the Instance
property securityGroups
securityGroups: string[];The associated security groups.
property sourceDestCheck
sourceDestCheck: boolean;Whether the network interface performs source/destination checking (Boolean).
property subnetId
subnetId: string;The VPC subnet ID.
property tags
tags: {[key: string]: any};A mapping of tags assigned to the Instance.
property tenancy
tenancy: string;The tenancy of the instance: dedicated, default, host.
property userData
userData: string;SHA-1 hash of User Data supplied to the Instance.
property userDataBase64
userDataBase64: string;Base64 encoded contents of User Data supplied to the Instance. This attribute is only exported if getUserData is true.
property vpcSecurityGroupIds
vpcSecurityGroupIds: string[];The associated security groups in a non-default VPC.
interface GetInstancesArgs
interface GetInstancesArgsA collection of arguments for invoking getInstances.
property filters
filters?: GetInstancesFilter[];One or more name/value pairs to use as filters. There are several valid keys, for a full reference, check out describe-instances in the AWS CLI reference.
property instanceStateNames
instanceStateNames?: string[];A list of instance states that should be applicable to the desired instances. The permitted values are: pending, running, shutting-down, stopped, stopping, terminated. The default value is running.
property instanceTags
instanceTags?: undefined | {[key: string]: any};A map of tags, each pair of which must exactly match a pair on desired instances.
interface GetInstancesResult
interface GetInstancesResultA collection of values returned by getInstances.
property filters
filters?: GetInstancesFilter[];property id
id: string;The provider-assigned unique ID for this managed resource.
property ids
ids: string[];IDs of instances found through the filter
property instanceStateNames
instanceStateNames?: string[];property instanceTags
instanceTags: {[key: string]: any};property privateIps
privateIps: string[];Private IP addresses of instances found through the filter
property publicIps
publicIps: string[];Public IP addresses of instances found through the filter
interface GetInstanceTypeOfferingArgs
interface GetInstanceTypeOfferingArgsA collection of arguments for invoking getInstanceTypeOffering.
property filters
filters?: GetInstanceTypeOfferingFilter[];One or more configuration blocks containing name-values filters. See the EC2 API Reference for supported filters. Detailed below.
property locationType
locationType?: undefined | string;Location type. Defaults to region. Valid values: availability-zone, availability-zone-id, and region.
property preferredInstanceTypes
preferredInstanceTypes?: string[];Ordered list of preferred EC2 Instance Types. The first match in this list will be returned. If no preferred matches are found and the original search returned more than one result, an error is returned.
interface GetInstanceTypeOfferingResult
interface GetInstanceTypeOfferingResultA collection of values returned by getInstanceTypeOffering.
property filters
filters?: GetInstanceTypeOfferingFilter[];property id
id: string;The provider-assigned unique ID for this managed resource.
property instanceType
instanceType: string;EC2 Instance Type.
property locationType
locationType?: undefined | string;property preferredInstanceTypes
preferredInstanceTypes?: string[];interface GetInstanceTypeOfferingsArgs
interface GetInstanceTypeOfferingsArgsA collection of arguments for invoking getInstanceTypeOfferings.
property filters
filters?: GetInstanceTypeOfferingsFilter[];One or more configuration blocks containing name-values filters. See the EC2 API Reference for supported filters. Detailed below.
property locationType
locationType?: undefined | string;Location type. Defaults to region. Valid values: availability-zone, availability-zone-id, and region.
interface GetInstanceTypeOfferingsResult
interface GetInstanceTypeOfferingsResultA collection of values returned by getInstanceTypeOfferings.
property filters
filters?: GetInstanceTypeOfferingsFilter[];property id
id: string;The provider-assigned unique ID for this managed resource.
property instanceTypes
instanceTypes: string[];Set of EC2 Instance Types.
property locationType
locationType?: undefined | string;interface GetInternetGatewayArgs
interface GetInternetGatewayArgsA collection of arguments for invoking getInternetGateway.
property filters
filters?: GetInternetGatewayFilter[];Custom filter block as described below.
property internetGatewayId
internetGatewayId?: undefined | string;The id of the specific Internet Gateway to retrieve.
property tags
tags?: undefined | {[key: string]: any};A map of tags, each pair of which must exactly match a pair on the desired Internet Gateway.
interface GetInternetGatewayResult
interface GetInternetGatewayResultA collection of values returned by getInternetGateway.
property attachments
attachments: GetInternetGatewayAttachment[];property filters
filters?: GetInternetGatewayFilter[];property id
id: string;The provider-assigned unique ID for this managed resource.
property internetGatewayId
internetGatewayId: string;property ownerId
ownerId: string;The ID of the AWS account that owns the internet gateway.
property tags
tags: {[key: string]: any};interface GetLaunchConfigurationArgs
interface GetLaunchConfigurationArgsA collection of arguments for invoking getLaunchConfiguration.
property name
name: string;The name of the launch configuration.
interface GetLaunchConfigurationResult
interface GetLaunchConfigurationResultA collection of values returned by getLaunchConfiguration.
property arn
arn: string;The Amazon Resource Name of the launch configuration.
property associatePublicIpAddress
associatePublicIpAddress: boolean;Whether a Public IP address is associated with the instance.
property ebsBlockDevices
ebsBlockDevices: GetLaunchConfigurationEbsBlockDevice[];The EBS Block Devices attached to the instance.
property ebsOptimized
ebsOptimized: boolean;Whether the launched EC2 instance will be EBS-optimized.
property enableMonitoring
enableMonitoring: boolean;Whether Detailed Monitoring is Enabled.
property ephemeralBlockDevices
ephemeralBlockDevices: GetLaunchConfigurationEphemeralBlockDevice[];The Ephemeral volumes on the instance.
property iamInstanceProfile
iamInstanceProfile: string;The IAM Instance Profile to associate with launched instances.
property id
id: string;The provider-assigned unique ID for this managed resource.
property imageId
imageId: string;The EC2 Image ID of the instance.
property instanceType
instanceType: string;The Instance Type of the instance to launch.
property keyName
keyName: string;The Key Name that should be used for the instance.
property name
name: string;The Name of the launch configuration.
property placementTenancy
placementTenancy: string;The Tenancy of the instance.
property rootBlockDevices
rootBlockDevices: GetLaunchConfigurationRootBlockDevice[];The Root Block Device of the instance.
property securityGroups
securityGroups: string[];A list of associated Security Group IDS.
property spotPrice
spotPrice: string;The Price to use for reserving Spot instances.
property userData
userData: string;The User Data of the instance.
property vpcClassicLinkId
vpcClassicLinkId: string;The ID of a ClassicLink-enabled VPC.
property vpcClassicLinkSecurityGroups
vpcClassicLinkSecurityGroups: string[];The IDs of one or more Security Groups for the specified ClassicLink-enabled VPC.
interface GetLaunchTemplateArgs
interface GetLaunchTemplateArgsA collection of arguments for invoking getLaunchTemplate.
property filters
filters?: GetLaunchTemplateFilter[];Configuration block(s) for filtering. Detailed below.
property name
name?: undefined | string;The name of the filter field. Valid values can be found in the EC2 DescribeLaunchTemplates API Reference.
property tags
tags?: undefined | {[key: string]: any};A map of tags, each pair of which must exactly match a pair on the desired Launch Template.
interface GetLaunchTemplateResult
interface GetLaunchTemplateResultA collection of values returned by getLaunchTemplate.
property arn
arn: string;Amazon Resource Name (ARN) of the launch template.
property blockDeviceMappings
blockDeviceMappings: GetLaunchTemplateBlockDeviceMapping[];Specify volumes to attach to the instance besides the volumes specified by the AMI.
property creditSpecifications
creditSpecifications: GetLaunchTemplateCreditSpecification[];Customize the credit specification of the instance. See Credit Specification below for more details.
property defaultVersion
defaultVersion: number;The default version of the launch template.
property description
description: string;Description of the launch template.
property disableApiTermination
disableApiTermination: boolean;If true, enables EC2 Instance
Termination Protection
property ebsOptimized
ebsOptimized: string;If true, the launched EC2 instance will be EBS-optimized.
property elasticGpuSpecifications
elasticGpuSpecifications: GetLaunchTemplateElasticGpuSpecification[];The elastic GPU to attach to the instance. See Elastic GPU below for more details.
property filters
filters?: GetLaunchTemplateFilter[];property hibernationOptions
hibernationOptions: GetLaunchTemplateHibernationOption[];The hibernation options for the instance.
property iamInstanceProfiles
iamInstanceProfiles: GetLaunchTemplateIamInstanceProfile[];The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.
property id
id: string;The provider-assigned unique ID for this managed resource.
property imageId
imageId: string;The AMI from which to launch the instance.
property instanceInitiatedShutdownBehavior
instanceInitiatedShutdownBehavior: string;Shutdown behavior for the instance. Can be stop or terminate.
(Default: stop).
property instanceMarketOptions
instanceMarketOptions: GetLaunchTemplateInstanceMarketOption[];The market (purchasing) option for the instance. below for details.
property instanceType
instanceType: string;The type of the instance.
property kernelId
kernelId: string;The kernel ID.
property keyName
keyName: string;The key name to use for the instance.
property latestVersion
latestVersion: number;The latest version of the launch template.
property metadataOptions
metadataOptions: GetLaunchTemplateMetadataOption[];The metadata options for the instance.
property monitorings
monitorings: GetLaunchTemplateMonitoring[];The monitoring option for the instance.
property name
name?: undefined | string;property networkInterfaces
networkInterfaces: GetLaunchTemplateNetworkInterface[];Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
property placements
placements: GetLaunchTemplatePlacement[];The placement of the instance.
property ramDiskId
ramDiskId: string;The ID of the RAM disk.
property securityGroupNames
securityGroupNames: string[];A list of security group names to associate with. If you are creating Instances in a VPC, use
vpcSecurityGroupIds instead.
property tagSpecifications
tagSpecifications: GetLaunchTemplateTagSpecification[];The tags to apply to the resources during launch.
property tags
tags: {[key: string]: any};(Optional) A map of tags to assign to the launch template.
property userData
userData: string;The Base64-encoded user data to provide when launching the instance.
property vpcSecurityGroupIds
vpcSecurityGroupIds: string[];A list of security group IDs to associate with.
interface GetLocalGatewayArgs
interface GetLocalGatewayArgsA collection of arguments for invoking getLocalGateway.
property filters
filters?: GetLocalGatewayFilter[];Custom filter block as described below.
property id
id?: undefined | string;The id of the specific Local Gateway to retrieve.
property state
state?: undefined | string;The current state of the desired Local Gateway.
Can be either "pending" or "available".
property tags
tags?: undefined | {[key: string]: any};A mapping of tags, each pair of which must exactly match a pair on the desired Local Gateway.
interface GetLocalGatewayResult
interface GetLocalGatewayResultA collection of values returned by getLocalGateway.
property filters
filters?: GetLocalGatewayFilter[];property id
id: string;property outpostArn
outpostArn: string;Amazon Resource Name (ARN) of Outpost
property ownerId
ownerId: string;AWS account identifier that owns the Local Gateway.
property state
state: string;State of the local gateway.
property tags
tags: {[key: string]: any};interface GetLocalGatewayRouteTableArgs
interface GetLocalGatewayRouteTableArgsA collection of arguments for invoking getLocalGatewayRouteTable.
property filters
filters?: GetLocalGatewayRouteTableFilter[];property localGatewayId
localGatewayId?: undefined | string;The id of the specific local gateway route table to retrieve.
property localGatewayRouteTableId
localGatewayRouteTableId?: undefined | string;Local Gateway Route Table Id assigned to desired local gateway route table
property outpostArn
outpostArn?: undefined | string;The arn of the Outpost the local gateway route table is associated with.
property state
state?: undefined | string;The state of the local gateway route table.
property tags
tags?: undefined | {[key: string]: any};A mapping of tags, each pair of which must exactly match a pair on the desired local gateway route table.
interface GetLocalGatewayRouteTableResult
interface GetLocalGatewayRouteTableResultA collection of values returned by getLocalGatewayRouteTable.
property filters
filters?: GetLocalGatewayRouteTableFilter[];property id
id: string;The provider-assigned unique ID for this managed resource.
property localGatewayId
localGatewayId: string;property localGatewayRouteTableId
localGatewayRouteTableId: string;property outpostArn
outpostArn: string;property state
state: string;property tags
tags: {[key: string]: any};interface GetLocalGatewayRouteTablesArgs
interface GetLocalGatewayRouteTablesArgsA collection of arguments for invoking getLocalGatewayRouteTables.
property filters
filters?: GetLocalGatewayRouteTablesFilter[];Custom filter block as described below.
property tags
tags?: undefined | {[key: string]: any};A mapping of tags, each pair of which must exactly match a pair on the desired local gateway route table.
interface GetLocalGatewayRouteTablesResult
interface GetLocalGatewayRouteTablesResultA collection of values returned by getLocalGatewayRouteTables.
property filters
filters?: GetLocalGatewayRouteTablesFilter[];property id
id: string;The provider-assigned unique ID for this managed resource.
property ids
ids: string[];Set of Local Gateway Route Table identifiers
property tags
tags: {[key: string]: any};interface GetLocalGatewaysArgs
interface GetLocalGatewaysArgsA collection of arguments for invoking getLocalGateways.
property filters
filters?: GetLocalGatewaysFilter[];Custom filter block as described below.
property tags
tags?: undefined | {[key: string]: any};A mapping of tags, each pair of which must exactly match a pair on the desired local_gateways.
interface GetLocalGatewaysResult
interface GetLocalGatewaysResultA collection of values returned by getLocalGateways.
property filters
filters?: GetLocalGatewaysFilter[];property id
id: string;The provider-assigned unique ID for this managed resource.
property ids
ids: string[];Set of all the Local Gateway identifiers
property tags
tags: {[key: string]: any};interface GetNatGatewayArgs
interface GetNatGatewayArgsA collection of arguments for invoking getNatGateway.
property filters
filters?: GetNatGatewayFilter[];Custom filter block as described below.
property id
id?: undefined | string;The id of the specific Nat Gateway to retrieve.
property state
state?: undefined | string;The state of the NAT gateway (pending | failed | available | deleting | deleted ).
property subnetId
subnetId?: undefined | string;The id of subnet that the Nat Gateway resides in.
property tags
tags?: undefined | {[key: string]: any};A map of tags, each pair of which must exactly match a pair on the desired Nat Gateway.
property vpcId
vpcId?: undefined | string;The id of the VPC that the Nat Gateway resides in.
interface GetNatGatewayResult
interface GetNatGatewayResultA collection of values returned by getNatGateway.
property allocationId
allocationId: string;The Id of the EIP allocated to the selected Nat Gateway.
property filters
filters?: GetNatGatewayFilter[];property id
id: string;property networkInterfaceId
networkInterfaceId: string;The Id of the ENI allocated to the selected Nat Gateway.
property privateIp
privateIp: string;The private Ip address of the selected Nat Gateway.
property publicIp
publicIp: string;The public Ip (EIP) address of the selected Nat Gateway.
property state
state: string;property subnetId
subnetId: string;property tags
tags: {[key: string]: any};property vpcId
vpcId: string;interface GetNetworkAclsArgs
interface GetNetworkAclsArgsA collection of arguments for invoking getNetworkAcls.
property filters
filters?: GetNetworkAclsFilter[];Custom filter block as described below.
property tags
tags?: undefined | {[key: string]: any};A map of tags, each pair of which must exactly match a pair on the desired network ACLs.
property vpcId
vpcId?: undefined | string;The VPC ID that you want to filter from.
interface GetNetworkAclsResult
interface GetNetworkAclsResultA collection of values returned by getNetworkAcls.
property filters
filters?: GetNetworkAclsFilter[];property id
id: string;The provider-assigned unique ID for this managed resource.
property ids
ids: string[];A list of all the network ACL ids found. This data source will fail if none are found.
property tags
tags: {[key: string]: any};property vpcId
vpcId?: undefined | string;interface GetNetworkInterfaceArgs
interface GetNetworkInterfaceArgsA collection of arguments for invoking getNetworkInterface.
property filters
filters?: GetNetworkInterfaceFilter[];One or more name/value pairs to filter off of. There are several valid keys, for a full reference, check out describe-network-interfaces in the AWS CLI reference.
property id
id?: undefined | string;The identifier for the network interface.
property tags
tags?: undefined | {[key: string]: any};Any tags assigned to the network interface.
interface GetNetworkInterfaceResult
interface GetNetworkInterfaceResultA collection of values returned by getNetworkInterface.
property associations
associations: GetNetworkInterfaceAssociation[];The association information for an Elastic IP address (IPv4) associated with the network interface. See supported fields below.
property attachments
attachments: GetNetworkInterfaceAttachment[];property availabilityZone
availabilityZone: string;The Availability Zone.
property description
description: string;Description of the network interface.
property filters
filters?: GetNetworkInterfaceFilter[];property id
id: string;property interfaceType
interfaceType: string;The type of interface.
property ipv6Addresses
ipv6Addresses: string[];List of IPv6 addresses to assign to the ENI.
property macAddress
macAddress: string;The MAC address.
property outpostArn
outpostArn: string;The Amazon Resource Name (ARN) of the Outpost.
property ownerId
ownerId: string;The AWS account ID of the owner of the network interface.
property privateDnsName
privateDnsName: string;The private DNS name.
property privateIp
privateIp: string;The private IPv4 address of the network interface within the subnet.
property privateIps
privateIps: string[];The private IPv4 addresses associated with the network interface.
property requesterId
requesterId: string;The ID of the entity that launched the instance on your behalf.
property securityGroups
securityGroups: string[];The list of security groups for the network interface.
property subnetId
subnetId: string;The ID of the subnet.
property tags
tags: {[key: string]: any};Any tags assigned to the network interface.
property vpcId
vpcId: string;The ID of the VPC.
interface GetNetworkInterfacesArgs
interface GetNetworkInterfacesArgsA collection of arguments for invoking getNetworkInterfaces.
property filters
filters?: GetNetworkInterfacesFilter[];Custom filter block as described below.
property tags
tags?: undefined | {[key: string]: any};A map of tags, each pair of which must exactly match a pair on the desired network interfaces.
interface GetNetworkInterfacesResult
interface GetNetworkInterfacesResultA collection of values returned by getNetworkInterfaces.
property filters
filters?: GetNetworkInterfacesFilter[];property id
id: string;The provider-assigned unique ID for this managed resource.
property ids
ids: string[];A list of all the network interface ids found. This data source will fail if none are found.
property tags
tags: {[key: string]: any};interface GetRouteArgs
interface GetRouteArgsA collection of arguments for invoking getRoute.
property destinationCidrBlock
destinationCidrBlock?: undefined | string;The CIDR block of the Route belonging to the Route Table.
property destinationIpv6CidrBlock
destinationIpv6CidrBlock?: undefined | string;The IPv6 CIDR block of the Route belonging to the Route Table.
property egressOnlyGatewayId
egressOnlyGatewayId?: undefined | string;The Egress Only Gateway ID of the Route belonging to the Route Table.
property gatewayId
gatewayId?: undefined | string;The Gateway ID of the Route belonging to the Route Table.
property instanceId
instanceId?: undefined | string;The Instance ID of the Route belonging to the Route Table.
property natGatewayId
natGatewayId?: undefined | string;The NAT Gateway ID of the Route belonging to the Route Table.
property networkInterfaceId
networkInterfaceId?: undefined | string;The Network Interface ID of the Route belonging to the Route Table.
property routeTableId
routeTableId: string;The id of the specific Route Table containing the Route entry.
property transitGatewayId
transitGatewayId?: undefined | string;The EC2 Transit Gateway ID of the Route belonging to the Route Table.
property vpcPeeringConnectionId
vpcPeeringConnectionId?: undefined | string;The VPC Peering Connection ID of the Route belonging to the Route Table.
interface GetRouteResult
interface GetRouteResultA collection of values returned by getRoute.
property destinationCidrBlock
destinationCidrBlock: string;property destinationIpv6CidrBlock
destinationIpv6CidrBlock: string;property egressOnlyGatewayId
egressOnlyGatewayId: string;property gatewayId
gatewayId: string;property id
id: string;The provider-assigned unique ID for this managed resource.
property instanceId
instanceId: string;property natGatewayId
natGatewayId: string;property networkInterfaceId
networkInterfaceId: string;property routeTableId
routeTableId: string;property transitGatewayId
transitGatewayId: string;property vpcPeeringConnectionId
vpcPeeringConnectionId: string;interface GetRouteTableArgs
interface GetRouteTableArgsA collection of arguments for invoking getRouteTable.
property filters
filters?: GetRouteTableFilter[];Custom filter block as described below.
property gatewayId
gatewayId?: undefined | string;The id of an Internet Gateway or Virtual Private Gateway which is connected to the Route Table (not exported if not passed as a parameter).
property routeTableId
routeTableId?: undefined | string;The id of the specific Route Table to retrieve.
property subnetId
subnetId?: undefined | string;The id of a Subnet which is connected to the Route Table (not exported if not passed as a parameter).
property tags
tags?: undefined | {[key: string]: any};A map of tags, each pair of which must exactly match a pair on the desired Route Table.
property vpcId
vpcId?: undefined | string;The id of the VPC that the desired Route Table belongs to.
interface GetRouteTableResult
interface GetRouteTableResultA collection of values returned by getRouteTable.
property associations
associations: GetRouteTableAssociation[];property filters
filters?: GetRouteTableFilter[];property gatewayId
gatewayId: string;The Gateway ID. Only set when associated with an Internet Gateway or Virtual Private Gateway.
property id
id: string;The provider-assigned unique ID for this managed resource.
property ownerId
ownerId: string;The ID of the AWS account that owns the route table
property routeTableId
routeTableId: string;The Route Table ID.
property routes
routes: GetRouteTableRoute[];property subnetId
subnetId: string;The Subnet ID. Only set when associated with a Subnet.
property tags
tags: {[key: string]: any};property vpcId
vpcId: string;interface GetRouteTablesArgs
interface GetRouteTablesArgsA collection of arguments for invoking getRouteTables.
property filters
filters?: GetRouteTablesFilter[];Custom filter block as described below.
property tags
tags?: undefined | {[key: string]: any};A map of tags, each pair of which must exactly match a pair on the desired route tables.
property vpcId
vpcId?: undefined | string;The VPC ID that you want to filter from.
interface GetRouteTablesResult
interface GetRouteTablesResultA collection of values returned by getRouteTables.
property filters
filters?: GetRouteTablesFilter[];property id
id: string;The provider-assigned unique ID for this managed resource.
property ids
ids: string[];A set of all the route table ids found. This data source will fail if none are found.
property tags
tags: {[key: string]: any};property vpcId
vpcId?: undefined | string;interface GetSecurityGroupArgs
interface GetSecurityGroupArgsA collection of arguments for invoking getSecurityGroup.
property filters
filters?: GetSecurityGroupFilter[];Custom filter block as described below.
property id
id?: undefined | string;The id of the specific security group to retrieve.
property name
name?: undefined | string;The name of the field to filter by, as defined by the underlying AWS API.
property tags
tags?: undefined | {[key: string]: any};A map of tags, each pair of which must exactly match a pair on the desired security group.
property vpcId
vpcId?: undefined | string;The id of the VPC that the desired security group belongs to.
interface GetSecurityGroupResult
interface GetSecurityGroupResultA collection of values returned by getSecurityGroup.
property arn
arn: string;The computed ARN of the security group.
property description
description: string;The description of the security group.
property filters
filters?: GetSecurityGroupFilter[];property id
id: string;property name
name: string;property tags
tags: {[key: string]: any};property vpcId
vpcId: string;interface GetSecurityGroupsArgs
interface GetSecurityGroupsArgsA collection of arguments for invoking getSecurityGroups.
property filters
filters?: GetSecurityGroupsFilter[];One or more name/value pairs to use as filters. There are several valid keys, for a full reference, check out describe-security-groups in the AWS CLI reference.
property tags
tags?: undefined | {[key: string]: any};A map of tags, each pair of which must exactly match for desired security groups.
interface GetSecurityGroupsResult
interface GetSecurityGroupsResultA collection of values returned by getSecurityGroups.
property filters
filters?: GetSecurityGroupsFilter[];property id
id: string;The provider-assigned unique ID for this managed resource.
property ids
ids: string[];IDs of the matches security groups.
property tags
tags: {[key: string]: any};property vpcIds
vpcIds: string[];The VPC IDs of the matched security groups. The data source’s tag or filter will span VPCs
unless the vpc-id filter is also used.
interface GetSubnetArgs
interface GetSubnetArgsA collection of arguments for invoking getSubnet.
property availabilityZone
availabilityZone?: undefined | string;The availability zone where the subnet must reside.
property availabilityZoneId
availabilityZoneId?: undefined | string;The ID of the Availability Zone for the subnet.
property cidrBlock
cidrBlock?: undefined | string;The cidr block of the desired subnet.
property defaultForAz
defaultForAz?: undefined | false | true;Boolean constraint for whether the desired subnet must be the default subnet for its associated availability zone.
property filters
filters?: GetSubnetFilter[];Custom filter block as described below.
property id
id?: undefined | string;The id of the specific subnet to retrieve.
property ipv6CidrBlock
ipv6CidrBlock?: undefined | string;The Ipv6 cidr block of the desired subnet
property state
state?: undefined | string;The state that the desired subnet must have.
property tags
tags?: undefined | {[key: string]: any};A map of tags, each pair of which must exactly match a pair on the desired subnet.
property vpcId
vpcId?: undefined | string;The id of the VPC that the desired subnet belongs to.
interface GetSubnetIdsArgs
interface GetSubnetIdsArgsA collection of arguments for invoking getSubnetIds.
property filters
filters?: GetSubnetIdsFilter[];Custom filter block as described below.
property tags
tags?: undefined | {[key: string]: any};A map of tags, each pair of which must exactly match a pair on the desired subnets.
property vpcId
vpcId: string;The VPC ID that you want to filter from.
interface GetSubnetIdsResult
interface GetSubnetIdsResultA collection of values returned by getSubnetIds.
property filters
filters?: GetSubnetIdsFilter[];property id
id: string;The provider-assigned unique ID for this managed resource.
property ids
ids: string[];A set of all the subnet ids found. This data source will fail if none are found.
property tags
tags: {[key: string]: any};property vpcId
vpcId: string;interface GetSubnetResult
interface GetSubnetResultA collection of values returned by getSubnet.
property arn
arn: string;The ARN of the subnet.
property assignIpv6AddressOnCreation
assignIpv6AddressOnCreation: boolean;property availabilityZone
availabilityZone: string;property availabilityZoneId
availabilityZoneId: string;property cidrBlock
cidrBlock: string;property defaultForAz
defaultForAz: boolean;property filters
filters?: GetSubnetFilter[];property id
id: string;property ipv6CidrBlock
ipv6CidrBlock: string;property ipv6CidrBlockAssociationId
ipv6CidrBlockAssociationId: string;property mapPublicIpOnLaunch
mapPublicIpOnLaunch: boolean;property outpostArn
outpostArn: string;The Amazon Resource Name (ARN) of the Outpost.
property ownerId
ownerId: string;The ID of the AWS account that owns the subnet.
property state
state: string;property tags
tags: {[key: string]: any};property vpcId
vpcId: string;interface GetVpcArgs
interface GetVpcArgsA collection of arguments for invoking getVpc.
property cidrBlock
cidrBlock?: undefined | string;The cidr block of the desired VPC.
property default
default?: undefined | false | true;Boolean constraint on whether the desired VPC is the default VPC for the region.
property dhcpOptionsId
dhcpOptionsId?: undefined | string;The DHCP options id of the desired VPC.
property filters
filters?: GetVpcFilter[];Custom filter block as described below.
property id
id?: undefined | string;The id of the specific VPC to retrieve.
property state
state?: undefined | string;The current state of the desired VPC.
Can be either "pending" or "available".
property tags
tags?: undefined | {[key: string]: any};A map of tags, each pair of which must exactly match a pair on the desired VPC.
interface GetVpcDhcpOptionsArgs
interface GetVpcDhcpOptionsArgsA collection of arguments for invoking getVpcDhcpOptions.
property dhcpOptionsId
dhcpOptionsId?: undefined | string;The EC2 DHCP Options ID.
property filters
filters?: GetVpcDhcpOptionsFilter[];List of custom filters as described below.
property tags
tags?: undefined | {[key: string]: any};A map of tags assigned to the resource.
interface GetVpcDhcpOptionsResult
interface GetVpcDhcpOptionsResultA collection of values returned by getVpcDhcpOptions.
property dhcpOptionsId
dhcpOptionsId: string;EC2 DHCP Options ID
property domainName
domainName: string;The suffix domain name to used when resolving non Fully Qualified Domain Names. e.g. the search value in the /etc/resolv.conf file.
property domainNameServers
domainNameServers: string[];List of name servers.
property filters
filters?: GetVpcDhcpOptionsFilter[];property id
id: string;The provider-assigned unique ID for this managed resource.
property netbiosNameServers
netbiosNameServers: string[];List of NETBIOS name servers.
property netbiosNodeType
netbiosNodeType: string;The NetBIOS node type (1, 2, 4, or 8). For more information about these node types, see RFC 2132.
property ntpServers
ntpServers: string[];List of NTP servers.
property ownerId
ownerId: string;The ID of the AWS account that owns the DHCP options set.
property tags
tags: {[key: string]: any};A map of tags assigned to the resource.
interface GetVpcEndpointArgs
interface GetVpcEndpointArgsA collection of arguments for invoking getVpcEndpoint.
property filters
filters?: GetVpcEndpointFilter[];Custom filter block as described below.
property id
id?: undefined | string;The ID of the specific VPC Endpoint to retrieve.
property serviceName
serviceName?: undefined | string;The service name of the specific VPC Endpoint to retrieve. For AWS services the service name is usually in the form com.amazonaws.<region>.<service> (the SageMaker Notebook service is an exception to this rule, the service name is in the form aws.sagemaker.<region>.notebook).
property state
state?: undefined | string;The state of the specific VPC Endpoint to retrieve.
property tags
tags?: undefined | {[key: string]: any};A map of tags, each pair of which must exactly match a pair on the specific VPC Endpoint to retrieve.
property vpcId
vpcId?: undefined | string;The ID of the VPC in which the specific VPC Endpoint is used.
interface GetVpcEndpointResult
interface GetVpcEndpointResultA collection of values returned by getVpcEndpoint.
property cidrBlocks
cidrBlocks: string[];The list of CIDR blocks for the exposed AWS service. Applicable for endpoints of type Gateway.
property dnsEntries
dnsEntries: GetVpcEndpointDnsEntry[];The DNS entries for the VPC Endpoint. Applicable for endpoints of type Interface. DNS blocks are documented below.
property filters
filters?: GetVpcEndpointFilter[];property id
id: string;property networkInterfaceIds
networkInterfaceIds: string[];One or more network interfaces for the VPC Endpoint. Applicable for endpoints of type Interface.
property ownerId
ownerId: string;The ID of the AWS account that owns the VPC endpoint.
property policy
policy: string;The policy document associated with the VPC Endpoint. Applicable for endpoints of type Gateway.
property prefixListId
prefixListId: string;The prefix list ID of the exposed AWS service. Applicable for endpoints of type Gateway.
property privateDnsEnabled
privateDnsEnabled: boolean;Whether or not the VPC is associated with a private hosted zone - true or false. Applicable for endpoints of type Interface.
property requesterManaged
requesterManaged: boolean;Whether or not the VPC Endpoint is being managed by its service - true or false.
property routeTableIds
routeTableIds: string[];One or more route tables associated with the VPC Endpoint. Applicable for endpoints of type Gateway.
property securityGroupIds
securityGroupIds: string[];One or more security groups associated with the network interfaces. Applicable for endpoints of type Interface.
property serviceName
serviceName: string;property state
state: string;property subnetIds
subnetIds: string[];One or more subnets in which the VPC Endpoint is located. Applicable for endpoints of type Interface.
property tags
tags: {[key: string]: any};property vpcEndpointType
vpcEndpointType: string;The VPC Endpoint type, Gateway or Interface.
property vpcId
vpcId: string;interface GetVpcEndpointServiceArgs
interface GetVpcEndpointServiceArgsA collection of arguments for invoking getVpcEndpointService.
property filters
filters?: GetVpcEndpointServiceFilter[];Configuration block(s) for filtering. Detailed below.
property service
service?: undefined | string;The common name of an AWS service (e.g. s3).
property serviceName
serviceName?: undefined | string;The service name that is specified when creating a VPC endpoint. For AWS services the service name is usually in the form com.amazonaws.<region>.<service> (the SageMaker Notebook service is an exception to this rule, the service name is in the form aws.sagemaker.<region>.notebook).
property tags
tags?: undefined | {[key: string]: any};A map of tags, each pair of which must exactly match a pair on the desired VPC Endpoint Service.
interface GetVpcEndpointServiceResult
interface GetVpcEndpointServiceResultA collection of values returned by getVpcEndpointService.
property acceptanceRequired
acceptanceRequired: boolean;Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - true or false.
property availabilityZones
availabilityZones: string[];The Availability Zones in which the service is available.
property baseEndpointDnsNames
baseEndpointDnsNames: string[];The DNS names for the service.
property filters
filters?: GetVpcEndpointServiceFilter[];property id
id: string;The provider-assigned unique ID for this managed resource.
property managesVpcEndpoints
managesVpcEndpoints: boolean;Whether or not the service manages its VPC endpoints - true or false.
property owner
owner: string;The AWS account ID of the service owner or amazon.
property privateDnsName
privateDnsName: string;The private DNS name for the service.
property service
service?: undefined | string;property serviceId
serviceId: string;The ID of the endpoint service.
property serviceName
serviceName: string;property serviceType
serviceType: string;The service type, Gateway or Interface.
property tags
tags: {[key: string]: any};A map of tags assigned to the resource.
property vpcEndpointPolicySupported
vpcEndpointPolicySupported: boolean;Whether or not the service supports endpoint policies - true or false.
interface GetVpcPeeringConnectionArgs
interface GetVpcPeeringConnectionArgsA collection of arguments for invoking getVpcPeeringConnection.
property cidrBlock
cidrBlock?: undefined | string;The CIDR block of the requester VPC of the specific VPC Peering Connection to retrieve.
property filters
filters?: GetVpcPeeringConnectionFilter[];Custom filter block as described below.
property id
id?: undefined | string;The ID of the specific VPC Peering Connection to retrieve.
property ownerId
ownerId?: undefined | string;The AWS account ID of the owner of the requester VPC of the specific VPC Peering Connection to retrieve.
property peerCidrBlock
peerCidrBlock?: undefined | string;The CIDR block of the accepter VPC of the specific VPC Peering Connection to retrieve.
property peerOwnerId
peerOwnerId?: undefined | string;The AWS account ID of the owner of the accepter VPC of the specific VPC Peering Connection to retrieve.
property peerRegion
peerRegion?: undefined | string;The region of the accepter VPC of the specific VPC Peering Connection to retrieve.
property peerVpcId
peerVpcId?: undefined | string;The ID of the accepter VPC of the specific VPC Peering Connection to retrieve.
property region
region?: undefined | string;The region of the requester VPC of the specific VPC Peering Connection to retrieve.
property status
status?: undefined | string;The status of the specific VPC Peering Connection to retrieve.
property tags
tags?: undefined | {[key: string]: any};A map of tags, each pair of which must exactly match a pair on the desired VPC Peering Connection.
property vpcId
vpcId?: undefined | string;The ID of the requester VPC of the specific VPC Peering Connection to retrieve.
interface GetVpcPeeringConnectionResult
interface GetVpcPeeringConnectionResultA collection of values returned by getVpcPeeringConnection.
property accepter
accepter: {[key: string]: boolean};A configuration block that describes VPC Peering Connection options set for the accepter VPC.
property cidrBlock
cidrBlock: string;property filters
filters?: GetVpcPeeringConnectionFilter[];property id
id: string;property ownerId
ownerId: string;property peerCidrBlock
peerCidrBlock: string;property peerOwnerId
peerOwnerId: string;property peerRegion
peerRegion: string;property peerVpcId
peerVpcId: string;property region
region: string;property requester
requester: {[key: string]: boolean};A configuration block that describes VPC Peering Connection options set for the requester VPC.
property status
status: string;property tags
tags: {[key: string]: any};property vpcId
vpcId: string;interface GetVpcResult
interface GetVpcResultA collection of values returned by getVpc.
property arn
arn: string;Amazon Resource Name (ARN) of VPC
property cidrBlock
cidrBlock: string;The CIDR block for the association.
property cidrBlockAssociations
cidrBlockAssociations: GetVpcCidrBlockAssociation[];property default
default: boolean;property dhcpOptionsId
dhcpOptionsId: string;property enableDnsHostnames
enableDnsHostnames: boolean;Whether or not the VPC has DNS hostname support
property enableDnsSupport
enableDnsSupport: boolean;Whether or not the VPC has DNS support
property filters
filters?: GetVpcFilter[];property id
id: string;property instanceTenancy
instanceTenancy: string;The allowed tenancy of instances launched into the
selected VPC. May be any of "default", "dedicated", or "host".
property ipv6AssociationId
ipv6AssociationId: string;The association ID for the IPv6 CIDR block.
property ipv6CidrBlock
ipv6CidrBlock: string;The IPv6 CIDR block.
property mainRouteTableId
mainRouteTableId: string;The ID of the main route table associated with this VPC.
property ownerId
ownerId: string;The ID of the AWS account that owns the VPC.
property state
state: string;The State of the association.
property tags
tags: {[key: string]: any};interface GetVpcsArgs
interface GetVpcsArgsA collection of arguments for invoking getVpcs.
property filters
filters?: GetVpcsFilter[];Custom filter block as described below.
property tags
tags?: undefined | {[key: string]: any};A map of tags, each pair of which must exactly match a pair on the desired vpcs.
interface GetVpcsResult
interface GetVpcsResultA collection of values returned by getVpcs.
property filters
filters?: GetVpcsFilter[];property id
id: string;The provider-assigned unique ID for this managed resource.
property ids
ids: string[];A list of all the VPC Ids found. This data source will fail if none are found.
property tags
tags: {[key: string]: any};interface GetVpnGatewayArgs
interface GetVpnGatewayArgsA collection of arguments for invoking getVpnGateway.
property amazonSideAsn
amazonSideAsn?: undefined | string;The Autonomous System Number (ASN) for the Amazon side of the specific VPN Gateway to retrieve.
property attachedVpcId
attachedVpcId?: undefined | string;The ID of a VPC attached to the specific VPN Gateway to retrieve.
property availabilityZone
availabilityZone?: undefined | string;The Availability Zone of the specific VPN Gateway to retrieve.
property filters
filters?: GetVpnGatewayFilter[];Custom filter block as described below.
property id
id?: undefined | string;The ID of the specific VPN Gateway to retrieve.
property state
state?: undefined | string;The state of the specific VPN Gateway to retrieve.
property tags
tags?: undefined | {[key: string]: any};A map of tags, each pair of which must exactly match a pair on the desired VPN Gateway.
interface GetVpnGatewayResult
interface GetVpnGatewayResultA collection of values returned by getVpnGateway.
property amazonSideAsn
amazonSideAsn: string;property attachedVpcId
attachedVpcId: string;property availabilityZone
availabilityZone: string;property filters
filters?: GetVpnGatewayFilter[];property id
id: string;property state
state: string;property tags
tags: {[key: string]: any};const ICMPProtocol
const ICMPProtocol: ProtocolType = "icmp";interface InstanceArgs
interface InstanceArgsThe set of arguments for constructing a Instance resource.
property ami
ami: pulumi.Input<string>;The AMI to use for the instance.
property associatePublicIpAddress
associatePublicIpAddress?: pulumi.Input<boolean>;Associate a public ip address with an instance in a VPC. Boolean value.
property availabilityZone
availabilityZone?: pulumi.Input<string>;The AZ to start the instance in.
property cpuCoreCount
cpuCoreCount?: pulumi.Input<number>;Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.
property cpuThreadsPerCore
cpuThreadsPerCore?: pulumi.Input<number>;If set to to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.
property creditSpecification
creditSpecification?: pulumi.Input<InstanceCreditSpecification>;Customize the credit specification of the instance. See Credit Specification below for more details.
property disableApiTermination
disableApiTermination?: pulumi.Input<boolean>;If true, enables EC2 Instance Termination Protection
property ebsBlockDevices
ebsBlockDevices?: pulumi.Input<pulumi.Input<InstanceEbsBlockDevice>[]>;Additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection.
property ebsOptimized
ebsOptimized?: pulumi.Input<boolean>;If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
property ephemeralBlockDevices
ephemeralBlockDevices?: pulumi.Input<pulumi.Input<InstanceEphemeralBlockDevice>[]>;Customize Ephemeral (also known as “Instance Store”) volumes on the instance. See Block Devices below for details.
property getPasswordData
getPasswordData?: pulumi.Input<boolean>;If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the passwordData attribute. See GetPasswordData for more information.
property hibernation
hibernation?: pulumi.Input<boolean>;If true, the launched EC2 instance will support hibernation.
property hostId
hostId?: pulumi.Input<string>;The Id of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
property iamInstanceProfile
iamInstanceProfile?: pulumi.Input<string | InstanceProfile>;The IAM Instance Profile to
launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
property instanceInitiatedShutdownBehavior
instanceInitiatedShutdownBehavior?: pulumi.Input<string>;Shutdown behavior for the
instance. Amazon defaults this to stop for EBS-backed instances and
terminate for instance-store instances. Cannot be set on instance-store
instances. See Shutdown Behavior for more information.
property instanceType
instanceType: pulumi.Input<InstanceType>;The type of instance to start. Updates to this field will trigger a stop/start of the EC2 instance.
property ipv6AddressCount
ipv6AddressCount?: pulumi.Input<number>;A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
property ipv6Addresses
ipv6Addresses?: pulumi.Input<pulumi.Input<string>[]>;Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
property keyName
keyName?: pulumi.Input<string>;The key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.
property metadataOptions
metadataOptions?: pulumi.Input<InstanceMetadataOptions>;Customize the metadata options of the instance. See Metadata Options below for more details.
property monitoring
monitoring?: pulumi.Input<boolean>;If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
property networkInterfaces
networkInterfaces?: pulumi.Input<pulumi.Input<InstanceNetworkInterface>[]>;Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
property placementGroup
placementGroup?: pulumi.Input<string>;The Placement Group to start the instance in.
property privateIp
privateIp?: pulumi.Input<string>;Private IP address to associate with the instance in a VPC.
property rootBlockDevice
rootBlockDevice?: pulumi.Input<InstanceRootBlockDevice>;Customize details about the root block device of the instance. See Block Devices below for details.
property securityGroups
securityGroups is discouraged as it does not allow for changes and will force your instance to be replaced if changes are made. To avoid this, use vpcSecurityGroupIds which allows for updates.securityGroups?: pulumi.Input<pulumi.Input<string>[]>;A list of security group names (EC2-Classic) or IDs (default VPC) to associate with.
property sourceDestCheck
sourceDestCheck?: pulumi.Input<boolean>;Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
property subnetId
subnetId?: pulumi.Input<string>;The VPC Subnet ID to launch in.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property tenancy
tenancy?: pulumi.Input<string>;The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command.
property userData
userData?: pulumi.Input<string>;The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see userDataBase64 instead.
property userDataBase64
userDataBase64?: pulumi.Input<string>;Can be used instead of userData to pass base64-encoded binary data directly. Use this instead of userData whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
property volumeTags
volumeTags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the devices created by the instance at launch time.
property vpcSecurityGroupIds
vpcSecurityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;A list of security group IDs to associate with.
type InstancePlatform
type InstancePlatform = "Linux/UNIX" | "Red Hat Enterprise Linux" | "SUSE Linux" | "Windows" | "Windows with SQL Server" | "Windows with SQL Server Enterprise" | "Windows with SQL Server Standard" | "Windows with SQL Server Web";interface InstanceState
interface InstanceStateInput properties used for looking up and filtering Instance resources.
property ami
ami?: pulumi.Input<string>;The AMI to use for the instance.
property arn
arn?: pulumi.Input<string>;The ARN of the instance.
property associatePublicIpAddress
associatePublicIpAddress?: pulumi.Input<boolean>;Associate a public ip address with an instance in a VPC. Boolean value.
property availabilityZone
availabilityZone?: pulumi.Input<string>;The AZ to start the instance in.
property cpuCoreCount
cpuCoreCount?: pulumi.Input<number>;Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.
property cpuThreadsPerCore
cpuThreadsPerCore?: pulumi.Input<number>;If set to to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.
property creditSpecification
creditSpecification?: pulumi.Input<InstanceCreditSpecification>;Customize the credit specification of the instance. See Credit Specification below for more details.
property disableApiTermination
disableApiTermination?: pulumi.Input<boolean>;If true, enables EC2 Instance Termination Protection
property ebsBlockDevices
ebsBlockDevices?: pulumi.Input<pulumi.Input<InstanceEbsBlockDevice>[]>;Additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection.
property ebsOptimized
ebsOptimized?: pulumi.Input<boolean>;If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
property ephemeralBlockDevices
ephemeralBlockDevices?: pulumi.Input<pulumi.Input<InstanceEphemeralBlockDevice>[]>;Customize Ephemeral (also known as “Instance Store”) volumes on the instance. See Block Devices below for details.
property getPasswordData
getPasswordData?: pulumi.Input<boolean>;If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the passwordData attribute. See GetPasswordData for more information.
property hibernation
hibernation?: pulumi.Input<boolean>;If true, the launched EC2 instance will support hibernation.
property hostId
hostId?: pulumi.Input<string>;The Id of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
property iamInstanceProfile
iamInstanceProfile?: pulumi.Input<string | InstanceProfile>;The IAM Instance Profile to
launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
property instanceInitiatedShutdownBehavior
instanceInitiatedShutdownBehavior?: pulumi.Input<string>;Shutdown behavior for the
instance. Amazon defaults this to stop for EBS-backed instances and
terminate for instance-store instances. Cannot be set on instance-store
instances. See Shutdown Behavior for more information.
property instanceState
instanceState?: pulumi.Input<string>;The state of the instance. One of: pending, running, shutting-down, terminated, stopping, stopped. See Instance Lifecycle for more information.
property instanceType
instanceType?: pulumi.Input<InstanceType>;The type of instance to start. Updates to this field will trigger a stop/start of the EC2 instance.
property ipv6AddressCount
ipv6AddressCount?: pulumi.Input<number>;A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
property ipv6Addresses
ipv6Addresses?: pulumi.Input<pulumi.Input<string>[]>;Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
property keyName
keyName?: pulumi.Input<string>;The key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.
property metadataOptions
metadataOptions?: pulumi.Input<InstanceMetadataOptions>;Customize the metadata options of the instance. See Metadata Options below for more details.
property monitoring
monitoring?: pulumi.Input<boolean>;If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
property networkInterfaces
networkInterfaces?: pulumi.Input<pulumi.Input<InstanceNetworkInterface>[]>;Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
property outpostArn
outpostArn?: pulumi.Input<string>;The ARN of the Outpost the instance is assigned to.
property passwordData
passwordData?: pulumi.Input<string>;Base-64 encoded encrypted password data for the instance.
Useful for getting the administrator password for instances running Microsoft Windows.
This attribute is only exported if getPasswordData is true.
Note that this encrypted value will be stored in the state file, as with all exported attributes.
See GetPasswordData for more information.
property placementGroup
placementGroup?: pulumi.Input<string>;The Placement Group to start the instance in.
property primaryNetworkInterfaceId
primaryNetworkInterfaceId?: pulumi.Input<string>;The ID of the instance’s primary network interface.
property privateDns
privateDns?: pulumi.Input<string>;The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you’ve enabled DNS hostnames for your VPC
property privateIp
privateIp?: pulumi.Input<string>;Private IP address to associate with the instance in a VPC.
property publicDns
publicDns?: pulumi.Input<string>;The public DNS name assigned to the instance. For EC2-VPC, this is only available if you’ve enabled DNS hostnames for your VPC
property publicIp
publicIp?: pulumi.Input<string>;The public IP address assigned to the instance, if applicable. NOTE: If you are using an aws.ec2.Eip with your instance, you should refer to the EIP’s address directly and not use publicIp, as this field will change after the EIP is attached.
property rootBlockDevice
rootBlockDevice?: pulumi.Input<InstanceRootBlockDevice>;Customize details about the root block device of the instance. See Block Devices below for details.
property securityGroups
securityGroups is discouraged as it does not allow for changes and will force your instance to be replaced if changes are made. To avoid this, use vpcSecurityGroupIds which allows for updates.securityGroups?: pulumi.Input<pulumi.Input<string>[]>;A list of security group names (EC2-Classic) or IDs (default VPC) to associate with.
property sourceDestCheck
sourceDestCheck?: pulumi.Input<boolean>;Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
property subnetId
subnetId?: pulumi.Input<string>;The VPC Subnet ID to launch in.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property tenancy
tenancy?: pulumi.Input<string>;The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command.
property userData
userData?: pulumi.Input<string>;The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see userDataBase64 instead.
property userDataBase64
userDataBase64?: pulumi.Input<string>;Can be used instead of userData to pass base64-encoded binary data directly. Use this instead of userData whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
property volumeTags
volumeTags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the devices created by the instance at launch time.
property vpcSecurityGroupIds
vpcSecurityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;A list of security group IDs to associate with.
type InstanceType
type InstanceType = "a1.2xlarge" | "a1.4xlarge" | "a1.large" | "a1.medium" | "a1.xlarge" | "c3.2xlarge" | "c3.4xlarge" | "c3.8xlarge" | "c3.large" | "c3.xlarge" | "c4.2xlarge" | "c4.4xlarge" | "c4.8xlarge" | "c4.large" | "c4.xlarge" | "c5.18xlarge" | "c5.4xlarge" | "c5.2xlarge" | "c5.large" | "c5.9xlarge" | "c5d.18xlarge" | "c5.xlarge" | "c5d.4xlarge" | "c5d.2xlarge" | "c5d.large" | "c5d.9xlarge" | "c5n.18xlarge" | "c5d.xlarge" | "c5n.4xlarge" | "c5n.2xlarge" | "c5n.9xlarge" | "c5n.large" | "c5n.xlarge" | "d2.2xlarge" | "d2.4xlarge" | "d2.8xlarge" | "d2.xlarge" | "f1.16xlarge" | "f1.2xlarge" | "g2.2xlarge" | "g2.8xlarge" | "g3.16xlarge" | "g3.4xlarge" | "g3.8xlarge" | "g3s.xlarge" | "h1.16xlarge" | "h1.2xlarge" | "h1.4xlarge" | "h1.8xlarge" | "hs1.8xlarge" | "i3.16xlarge" | "i3.2xlarge" | "i3.4xlarge" | "i3.8xlarge" | "i3.large" | "i3.xlarge" | "i3.metal" | "m3.2xlarge" | "m3.large" | "m3.medium" | "m3.xlarge" | "m4.10xlarge" | "m4.16xlarge" | "m4.2xlarge" | "m4.4xlarge" | "m4.large" | "m4.xlarge" | "m5.large" | "m5.xlarge" | "m5.2xlarge" | "m5.4xlarge" | "m5.12xlarge" | "m5.24xlarge" | "m5d.large" | "m5d.xlarge" | "m5d.2xlarge" | "m5d.4xlarge" | "m5d.12xlarge" | "m5d.24xlarge" | "m5a.12xlarge" | "m5a.24xlarge" | "m5a.2xlarge" | "m5a.4xlarge" | "m5a.large" | "m5a.xlarge" | "p2.16xlarge" | "p2.8xlarge" | "p2.xlarge" | "p3.16xlarge" | "p3.8xlarge" | "p3.2xlarge" | "p3dn.24xlarge" | "r3.2xlarge" | "r3.4xlarge" | "r3.8xlarge" | "r3.large" | "r3.xlarge" | "r4.16xlarge" | "r4.2xlarge" | "r4.4xlarge" | "r4.8xlarge" | "r4.large" | "r4.xlarge" | "r5.12xlarge" | "r5.24xlarge" | "r5.2xlarge" | "r5.4xlarge" | "r5.large" | "r5.xlarge" | "r5a.12xlarge" | "r5a.24xlarge" | "r5a.2xlarge" | "r5a.4xlarge" | "r5a.large" | "r5a.xlarge" | "r5d.12xlarge" | "r5d.24xlarge" | "r5d.2xlarge" | "r5d.4xlarge" | "r5d.large" | "r5d.xlarge" | "t2.2xlarge" | "t2.large" | "t2.medium" | "t2.micro" | "t2.nano" | "t2.small" | "t2.xlarge" | "t3.2xlarge" | "t3.large" | "t3.medium" | "t3.micro" | "t3.nano" | "t3.small" | "t3.xlarge" | "t3a.2xlarge" | "t3a.large" | "t3a.medium" | "t3a.micro" | "t3a.nano" | "t3a.small" | "t3a.xlarge" | "u-12tb1.metal" | "u-6tb1.metal" | "u-9tb1.metal" | "x1.16xlarge" | "x1.32xlarge" | "x1e.16xlarge" | "x1e.2xlarge" | "x1e.32xlarge" | "x1e.4xlarge" | "x1e.8xlarge" | "x1e.xlarge" | "z1d.12xlarge" | "z1d.2xlarge" | "z1d.3xlarge" | "z1d.6xlarge" | "z1d.large" | "z1d.xlarge";interface InternetGatewayArgs
interface InternetGatewayArgsThe set of arguments for constructing a InternetGateway resource.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpcId
vpcId?: pulumi.Input<string>;The VPC ID to create in.
interface InternetGatewayState
interface InternetGatewayStateInput properties used for looking up and filtering InternetGateway resources.
property ownerId
ownerId?: pulumi.Input<string>;The ID of the AWS account that owns the internet gateway.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpcId
vpcId?: pulumi.Input<string>;The VPC ID to create in.
interface KeyPairArgs
interface KeyPairArgsThe set of arguments for constructing a KeyPair resource.
property keyName
keyName?: pulumi.Input<string>;The name for the key pair.
property keyNamePrefix
keyNamePrefix?: pulumi.Input<string>;Creates a unique name beginning with the specified prefix. Conflicts with keyName.
property publicKey
publicKey: pulumi.Input<string>;The public key material.
property tags
tags?: pulumi.Input<{[key: string]: any}>;Key-value map of resource tags
interface KeyPairState
interface KeyPairStateInput properties used for looking up and filtering KeyPair resources.
property fingerprint
fingerprint?: pulumi.Input<string>;The MD5 public key fingerprint as specified in section 4 of RFC 4716.
property keyName
keyName?: pulumi.Input<string>;The name for the key pair.
property keyNamePrefix
keyNamePrefix?: pulumi.Input<string>;Creates a unique name beginning with the specified prefix. Conflicts with keyName.
property keyPairId
keyPairId?: pulumi.Input<string>;The key pair ID.
property publicKey
publicKey?: pulumi.Input<string>;The public key material.
property tags
tags?: pulumi.Input<{[key: string]: any}>;Key-value map of resource tags
interface LaunchConfigurationArgs
interface LaunchConfigurationArgsThe set of arguments for constructing a LaunchConfiguration resource.
property associatePublicIpAddress
associatePublicIpAddress?: pulumi.Input<boolean>;Associate a public ip address with an instance in a VPC.
property ebsBlockDevices
ebsBlockDevices?: pulumi.Input<pulumi.Input<LaunchConfigurationEbsBlockDevice>[]>;Additional EBS block devices to attach to the instance. See Block Devices below for details.
property ebsOptimized
ebsOptimized?: pulumi.Input<boolean>;If true, the launched EC2 instance will be EBS-optimized.
property enableMonitoring
enableMonitoring?: pulumi.Input<boolean>;Enables/disables detailed monitoring. This is enabled by default.
property ephemeralBlockDevices
ephemeralBlockDevices?: pulumi.Input<pulumi.Input<LaunchConfigurationEphemeralBlockDevice>[]>;Customize Ephemeral (also known as “Instance Store”) volumes on the instance. See Block Devices below for details.
property iamInstanceProfile
iamInstanceProfile?: pulumi.Input<string | InstanceProfile>;The name attribute of the IAM instance profile to associate with launched instances.
property imageId
imageId: pulumi.Input<string>;The EC2 image ID to launch.
property instanceType
instanceType: pulumi.Input<string>;The size of instance to launch.
property keyName
keyName?: pulumi.Input<string>;The key name that should be used for the instance.
property name
name?: pulumi.Input<string>;The name of the launch configuration. If you leave this blank, this provider will auto-generate a unique name.
property namePrefix
namePrefix?: pulumi.Input<string>;Creates a unique name beginning with the specified
prefix. Conflicts with name.
property placementTenancy
placementTenancy?: pulumi.Input<string>;The tenancy of the instance. Valid values are
"default" or "dedicated", see AWS’s Create Launch Configuration
for more details
property rootBlockDevice
rootBlockDevice?: pulumi.Input<LaunchConfigurationRootBlockDevice>;Customize details about the root block device of the instance. See Block Devices below for details.
property securityGroups
securityGroups?: pulumi.Input<pulumi.Input<string>[]>;A list of associated security group IDS.
property spotPrice
spotPrice?: pulumi.Input<string>;The maximum price to use for reserving spot instances.
property userData
userData?: pulumi.Input<string>;The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see userDataBase64 instead.
property userDataBase64
userDataBase64?: pulumi.Input<string>;Can be used instead of userData to pass base64-encoded binary data directly. Use this instead of userData whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
property vpcClassicLinkId
vpcClassicLinkId?: pulumi.Input<string>;The ID of a ClassicLink-enabled VPC. Only applies to EC2-Classic instances. (eg. vpc-2730681a)
property vpcClassicLinkSecurityGroups
vpcClassicLinkSecurityGroups?: pulumi.Input<pulumi.Input<string>[]>;The IDs of one or more security groups for the specified ClassicLink-enabled VPC (eg. sg-46ae3d11).
interface LaunchConfigurationState
interface LaunchConfigurationStateInput properties used for looking up and filtering LaunchConfiguration resources.
property arn
arn?: pulumi.Input<string>;The Amazon Resource Name of the launch configuration.
property associatePublicIpAddress
associatePublicIpAddress?: pulumi.Input<boolean>;Associate a public ip address with an instance in a VPC.
property ebsBlockDevices
ebsBlockDevices?: pulumi.Input<pulumi.Input<LaunchConfigurationEbsBlockDevice>[]>;Additional EBS block devices to attach to the instance. See Block Devices below for details.
property ebsOptimized
ebsOptimized?: pulumi.Input<boolean>;If true, the launched EC2 instance will be EBS-optimized.
property enableMonitoring
enableMonitoring?: pulumi.Input<boolean>;Enables/disables detailed monitoring. This is enabled by default.
property ephemeralBlockDevices
ephemeralBlockDevices?: pulumi.Input<pulumi.Input<LaunchConfigurationEphemeralBlockDevice>[]>;Customize Ephemeral (also known as “Instance Store”) volumes on the instance. See Block Devices below for details.
property iamInstanceProfile
iamInstanceProfile?: pulumi.Input<string | InstanceProfile>;The name attribute of the IAM instance profile to associate with launched instances.
property imageId
imageId?: pulumi.Input<string>;The EC2 image ID to launch.
property instanceType
instanceType?: pulumi.Input<string>;The size of instance to launch.
property keyName
keyName?: pulumi.Input<string>;The key name that should be used for the instance.
property name
name?: pulumi.Input<string>;The name of the launch configuration. If you leave this blank, this provider will auto-generate a unique name.
property namePrefix
namePrefix?: pulumi.Input<string>;Creates a unique name beginning with the specified
prefix. Conflicts with name.
property placementTenancy
placementTenancy?: pulumi.Input<string>;The tenancy of the instance. Valid values are
"default" or "dedicated", see AWS’s Create Launch Configuration
for more details
property rootBlockDevice
rootBlockDevice?: pulumi.Input<LaunchConfigurationRootBlockDevice>;Customize details about the root block device of the instance. See Block Devices below for details.
property securityGroups
securityGroups?: pulumi.Input<pulumi.Input<string>[]>;A list of associated security group IDS.
property spotPrice
spotPrice?: pulumi.Input<string>;The maximum price to use for reserving spot instances.
property userData
userData?: pulumi.Input<string>;The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see userDataBase64 instead.
property userDataBase64
userDataBase64?: pulumi.Input<string>;Can be used instead of userData to pass base64-encoded binary data directly. Use this instead of userData whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
property vpcClassicLinkId
vpcClassicLinkId?: pulumi.Input<string>;The ID of a ClassicLink-enabled VPC. Only applies to EC2-Classic instances. (eg. vpc-2730681a)
property vpcClassicLinkSecurityGroups
vpcClassicLinkSecurityGroups?: pulumi.Input<pulumi.Input<string>[]>;The IDs of one or more security groups for the specified ClassicLink-enabled VPC (eg. sg-46ae3d11).
interface LaunchTemplateArgs
interface LaunchTemplateArgsThe set of arguments for constructing a LaunchTemplate resource.
property blockDeviceMappings
blockDeviceMappings?: pulumi.Input<pulumi.Input<LaunchTemplateBlockDeviceMapping>[]>;Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.
property capacityReservationSpecification
capacityReservationSpecification?: pulumi.Input<LaunchTemplateCapacityReservationSpecification>;Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
property cpuOptions
cpuOptions?: pulumi.Input<LaunchTemplateCpuOptions>;The CPU options for the instance. See CPU Options below for more details.
property creditSpecification
creditSpecification?: pulumi.Input<LaunchTemplateCreditSpecification>;Customize the credit specification of the instance. See Credit Specification below for more details.
property description
description?: pulumi.Input<string>;Description of the launch template.
property disableApiTermination
disableApiTermination?: pulumi.Input<boolean>;If true, enables EC2 Instance
Termination Protection
property ebsOptimized
ebsOptimized?: pulumi.Input<string>;If true, the launched EC2 instance will be EBS-optimized.
property elasticGpuSpecifications
elasticGpuSpecifications?: pulumi.Input<pulumi.Input<LaunchTemplateElasticGpuSpecification>[]>;The elastic GPU to attach to the instance. See Elastic GPU below for more details.
property elasticInferenceAccelerator
elasticInferenceAccelerator?: pulumi.Input<LaunchTemplateElasticInferenceAccelerator>;Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.
property hibernationOptions
hibernationOptions?: pulumi.Input<LaunchTemplateHibernationOptions>;The hibernation options for the instance. See Hibernation Options below for more details.
property iamInstanceProfile
iamInstanceProfile?: pulumi.Input<LaunchTemplateIamInstanceProfile>;The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.
property imageId
imageId?: pulumi.Input<string>;The AMI from which to launch the instance.
property instanceInitiatedShutdownBehavior
instanceInitiatedShutdownBehavior?: pulumi.Input<string>;Shutdown behavior for the instance. Can be stop or terminate.
(Default: stop).
property instanceMarketOptions
instanceMarketOptions?: pulumi.Input<LaunchTemplateInstanceMarketOptions>;The market (purchasing) option for the instance. See Market Options below for details.
property instanceType
instanceType?: pulumi.Input<string>;The type of the instance.
property kernelId
kernelId?: pulumi.Input<string>;The kernel ID.
property keyName
keyName?: pulumi.Input<string>;The key name to use for the instance.
property licenseSpecifications
licenseSpecifications?: pulumi.Input<pulumi.Input<LaunchTemplateLicenseSpecification>[]>;A list of license specifications to associate with. See License Specification below for more details.
property metadataOptions
metadataOptions?: pulumi.Input<LaunchTemplateMetadataOptions>;Customize the metadata options for the instance. See Metadata Options below for more details.
property monitoring
monitoring?: pulumi.Input<LaunchTemplateMonitoring>;The monitoring option for the instance. See Monitoring below for more details.
property name
name?: pulumi.Input<string>;The name of the launch template. If you leave this blank, this provider will auto-generate a unique name.
property namePrefix
namePrefix?: pulumi.Input<string>;Creates a unique name beginning with the specified prefix. Conflicts with name.
property networkInterfaces
networkInterfaces?: pulumi.Input<pulumi.Input<LaunchTemplateNetworkInterface>[]>;Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
property placement
placement?: pulumi.Input<LaunchTemplatePlacement>;The placement of the instance. See Placement below for more details.
property ramDiskId
ramDiskId?: pulumi.Input<string>;The ID of the RAM disk.
property securityGroupNames
securityGroupNames?: pulumi.Input<pulumi.Input<string>[]>;A list of security group names to associate with. If you are creating Instances in a VPC, use
vpcSecurityGroupIds instead.
property tagSpecifications
tagSpecifications?: pulumi.Input<pulumi.Input<LaunchTemplateTagSpecification>[]>;The tags to apply to the resources during launch. See Tag Specifications below for more details.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the launch template.
property userData
userData?: pulumi.Input<string>;The Base64-encoded user data to provide when launching the instance.
property vpcSecurityGroupIds
vpcSecurityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;A list of security group IDs to associate with.
interface LaunchTemplateState
interface LaunchTemplateStateInput properties used for looking up and filtering LaunchTemplate resources.
property arn
arn?: pulumi.Input<string>;The Amazon Resource Name (ARN) of the instance profile.
property blockDeviceMappings
blockDeviceMappings?: pulumi.Input<pulumi.Input<LaunchTemplateBlockDeviceMapping>[]>;Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.
property capacityReservationSpecification
capacityReservationSpecification?: pulumi.Input<LaunchTemplateCapacityReservationSpecification>;Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
property cpuOptions
cpuOptions?: pulumi.Input<LaunchTemplateCpuOptions>;The CPU options for the instance. See CPU Options below for more details.
property creditSpecification
creditSpecification?: pulumi.Input<LaunchTemplateCreditSpecification>;Customize the credit specification of the instance. See Credit Specification below for more details.
property defaultVersion
defaultVersion?: pulumi.Input<number>;The default version of the launch template.
property description
description?: pulumi.Input<string>;Description of the launch template.
property disableApiTermination
disableApiTermination?: pulumi.Input<boolean>;If true, enables EC2 Instance
Termination Protection
property ebsOptimized
ebsOptimized?: pulumi.Input<string>;If true, the launched EC2 instance will be EBS-optimized.
property elasticGpuSpecifications
elasticGpuSpecifications?: pulumi.Input<pulumi.Input<LaunchTemplateElasticGpuSpecification>[]>;The elastic GPU to attach to the instance. See Elastic GPU below for more details.
property elasticInferenceAccelerator
elasticInferenceAccelerator?: pulumi.Input<LaunchTemplateElasticInferenceAccelerator>;Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.
property hibernationOptions
hibernationOptions?: pulumi.Input<LaunchTemplateHibernationOptions>;The hibernation options for the instance. See Hibernation Options below for more details.
property iamInstanceProfile
iamInstanceProfile?: pulumi.Input<LaunchTemplateIamInstanceProfile>;The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.
property imageId
imageId?: pulumi.Input<string>;The AMI from which to launch the instance.
property instanceInitiatedShutdownBehavior
instanceInitiatedShutdownBehavior?: pulumi.Input<string>;Shutdown behavior for the instance. Can be stop or terminate.
(Default: stop).
property instanceMarketOptions
instanceMarketOptions?: pulumi.Input<LaunchTemplateInstanceMarketOptions>;The market (purchasing) option for the instance. See Market Options below for details.
property instanceType
instanceType?: pulumi.Input<string>;The type of the instance.
property kernelId
kernelId?: pulumi.Input<string>;The kernel ID.
property keyName
keyName?: pulumi.Input<string>;The key name to use for the instance.
property latestVersion
latestVersion?: pulumi.Input<number>;The latest version of the launch template.
property licenseSpecifications
licenseSpecifications?: pulumi.Input<pulumi.Input<LaunchTemplateLicenseSpecification>[]>;A list of license specifications to associate with. See License Specification below for more details.
property metadataOptions
metadataOptions?: pulumi.Input<LaunchTemplateMetadataOptions>;Customize the metadata options for the instance. See Metadata Options below for more details.
property monitoring
monitoring?: pulumi.Input<LaunchTemplateMonitoring>;The monitoring option for the instance. See Monitoring below for more details.
property name
name?: pulumi.Input<string>;The name of the launch template. If you leave this blank, this provider will auto-generate a unique name.
property namePrefix
namePrefix?: pulumi.Input<string>;Creates a unique name beginning with the specified prefix. Conflicts with name.
property networkInterfaces
networkInterfaces?: pulumi.Input<pulumi.Input<LaunchTemplateNetworkInterface>[]>;Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
property placement
placement?: pulumi.Input<LaunchTemplatePlacement>;The placement of the instance. See Placement below for more details.
property ramDiskId
ramDiskId?: pulumi.Input<string>;The ID of the RAM disk.
property securityGroupNames
securityGroupNames?: pulumi.Input<pulumi.Input<string>[]>;A list of security group names to associate with. If you are creating Instances in a VPC, use
vpcSecurityGroupIds instead.
property tagSpecifications
tagSpecifications?: pulumi.Input<pulumi.Input<LaunchTemplateTagSpecification>[]>;The tags to apply to the resources during launch. See Tag Specifications below for more details.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the launch template.
property userData
userData?: pulumi.Input<string>;The Base64-encoded user data to provide when launching the instance.
property vpcSecurityGroupIds
vpcSecurityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;A list of security group IDs to associate with.
const LinuxUnixPlatform
InstancePlatforms insteadconst LinuxUnixPlatform: InstancePlatform = "Linux/UNIX";interface MainRouteTableAssociationArgs
interface MainRouteTableAssociationArgsThe set of arguments for constructing a MainRouteTableAssociation resource.
property routeTableId
routeTableId: pulumi.Input<string>;The ID of the Route Table to set as the new main route table for the target VPC
property vpcId
vpcId: pulumi.Input<string>;The ID of the VPC whose main route table should be set
interface MainRouteTableAssociationState
interface MainRouteTableAssociationStateInput properties used for looking up and filtering MainRouteTableAssociation resources.
property originalRouteTableId
originalRouteTableId?: pulumi.Input<string>;Used internally, see Notes below
property routeTableId
routeTableId?: pulumi.Input<string>;The ID of the Route Table to set as the new main route table for the target VPC
property vpcId
vpcId?: pulumi.Input<string>;The ID of the VPC whose main route table should be set
interface NatGatewayArgs
interface NatGatewayArgsThe set of arguments for constructing a NatGateway resource.
property allocationId
allocationId: pulumi.Input<string>;The Allocation ID of the Elastic IP address for the gateway.
property subnetId
subnetId: pulumi.Input<string>;The Subnet ID of the subnet in which to place the gateway.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
interface NatGatewayState
interface NatGatewayStateInput properties used for looking up and filtering NatGateway resources.
property allocationId
allocationId?: pulumi.Input<string>;The Allocation ID of the Elastic IP address for the gateway.
property networkInterfaceId
networkInterfaceId?: pulumi.Input<string>;The ENI ID of the network interface created by the NAT gateway.
property privateIp
privateIp?: pulumi.Input<string>;The private IP address of the NAT Gateway.
property publicIp
publicIp?: pulumi.Input<string>;The public IP address of the NAT Gateway.
property subnetId
subnetId?: pulumi.Input<string>;The Subnet ID of the subnet in which to place the gateway.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
interface NetworkAclArgs
interface NetworkAclArgsThe set of arguments for constructing a NetworkAcl resource.
property egress
egress?: pulumi.Input<pulumi.Input<NetworkAclEgress>[]>;Specifies an egress rule. Parameters defined below.
property ingress
ingress?: pulumi.Input<pulumi.Input<NetworkAclIngress>[]>;Specifies an ingress rule. Parameters defined below.
property subnetIds
subnetIds?: pulumi.Input<pulumi.Input<string>[]>;A list of Subnet IDs to apply the ACL to
property tags
tags?: pulumi.Input<{[key: string]: any}>;A mapping of tags to assign to the resource.
property vpcId
vpcId: pulumi.Input<string>;The ID of the associated VPC.
interface NetworkAclRuleArgs
interface NetworkAclRuleArgsThe set of arguments for constructing a NetworkAclRule resource.
property cidrBlock
cidrBlock?: pulumi.Input<string>;The network range to allow or deny, in CIDR notation (for example 172.16.0.0/24 ).
property egress
egress?: pulumi.Input<boolean>;Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet). Default false.
property fromPort
fromPort?: pulumi.Input<number>;The from port to match.
property icmpCode
icmpCode?: pulumi.Input<string>;ICMP protocol: The ICMP code. Required if specifying ICMP for the protocol. e.g. -1
property icmpType
icmpType?: pulumi.Input<string>;ICMP protocol: The ICMP type. Required if specifying ICMP for the protocol. e.g. -1
property ipv6CidrBlock
ipv6CidrBlock?: pulumi.Input<string>;The IPv6 CIDR block to allow or deny.
property networkAclId
networkAclId: pulumi.Input<string>;The ID of the network ACL.
property protocol
protocol: pulumi.Input<string>;The protocol. A value of -1 means all protocols.
property ruleAction
ruleAction: pulumi.Input<string>;Indicates whether to allow or deny the traffic that matches the rule. Accepted values: allow | deny
property ruleNumber
ruleNumber: pulumi.Input<number>;The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.
property toPort
toPort?: pulumi.Input<number>;The to port to match.
interface NetworkAclRuleState
interface NetworkAclRuleStateInput properties used for looking up and filtering NetworkAclRule resources.
property cidrBlock
cidrBlock?: pulumi.Input<string>;The network range to allow or deny, in CIDR notation (for example 172.16.0.0/24 ).
property egress
egress?: pulumi.Input<boolean>;Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet). Default false.
property fromPort
fromPort?: pulumi.Input<number>;The from port to match.
property icmpCode
icmpCode?: pulumi.Input<string>;ICMP protocol: The ICMP code. Required if specifying ICMP for the protocol. e.g. -1
property icmpType
icmpType?: pulumi.Input<string>;ICMP protocol: The ICMP type. Required if specifying ICMP for the protocol. e.g. -1
property ipv6CidrBlock
ipv6CidrBlock?: pulumi.Input<string>;The IPv6 CIDR block to allow or deny.
property networkAclId
networkAclId?: pulumi.Input<string>;The ID of the network ACL.
property protocol
protocol?: pulumi.Input<string>;The protocol. A value of -1 means all protocols.
property ruleAction
ruleAction?: pulumi.Input<string>;Indicates whether to allow or deny the traffic that matches the rule. Accepted values: allow | deny
property ruleNumber
ruleNumber?: pulumi.Input<number>;The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.
property toPort
toPort?: pulumi.Input<number>;The to port to match.
interface NetworkAclState
interface NetworkAclStateInput properties used for looking up and filtering NetworkAcl resources.
property egress
egress?: pulumi.Input<pulumi.Input<NetworkAclEgress>[]>;Specifies an egress rule. Parameters defined below.
property ingress
ingress?: pulumi.Input<pulumi.Input<NetworkAclIngress>[]>;Specifies an ingress rule. Parameters defined below.
property ownerId
ownerId?: pulumi.Input<string>;The ID of the AWS account that owns the network ACL.
property subnetIds
subnetIds?: pulumi.Input<pulumi.Input<string>[]>;A list of Subnet IDs to apply the ACL to
property tags
tags?: pulumi.Input<{[key: string]: any}>;A mapping of tags to assign to the resource.
property vpcId
vpcId?: pulumi.Input<string>;The ID of the associated VPC.
interface NetworkInterfaceArgs
interface NetworkInterfaceArgsThe set of arguments for constructing a NetworkInterface resource.
property attachments
attachments?: pulumi.Input<pulumi.Input<NetworkInterfaceAttachment>[]>;Block to define the attachment of the ENI. Documented below.
property description
description?: pulumi.Input<string>;A description for the network interface.
property privateIp
privateIp?: pulumi.Input<string>;property privateIps
privateIps?: pulumi.Input<pulumi.Input<string>[]>;List of private IPs to assign to the ENI.
property privateIpsCount
privateIpsCount?: pulumi.Input<number>;Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + private_ips_count, as a primary private IP will be assiged to an ENI by default.
property securityGroups
securityGroups?: pulumi.Input<pulumi.Input<string>[]>;List of security group IDs to assign to the ENI.
property sourceDestCheck
sourceDestCheck?: pulumi.Input<boolean>;Whether to enable source destination checking for the ENI. Default true.
property subnetId
subnetId: pulumi.Input<string>;Subnet ID to create the ENI in.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
interface NetworkInterfaceAttachmentArgs
interface NetworkInterfaceAttachmentArgsThe set of arguments for constructing a NetworkInterfaceAttachment resource.
property deviceIndex
deviceIndex: pulumi.Input<number>;Network interface index (int).
property instanceId
instanceId: pulumi.Input<string>;Instance ID to attach.
property networkInterfaceId
networkInterfaceId: pulumi.Input<string>;ENI ID to attach.
interface NetworkInterfaceAttachmentState
interface NetworkInterfaceAttachmentStateInput properties used for looking up and filtering NetworkInterfaceAttachment resources.
property attachmentId
attachmentId?: pulumi.Input<string>;The ENI Attachment ID.
property deviceIndex
deviceIndex?: pulumi.Input<number>;Network interface index (int).
property instanceId
instanceId?: pulumi.Input<string>;Instance ID to attach.
property networkInterfaceId
networkInterfaceId?: pulumi.Input<string>;ENI ID to attach.
property status
status?: pulumi.Input<string>;The status of the Network Interface Attachment.
interface NetworkInterfaceSecurityGroupAttachmentArgs
interface NetworkInterfaceSecurityGroupAttachmentArgsThe set of arguments for constructing a NetworkInterfaceSecurityGroupAttachment resource.
property networkInterfaceId
networkInterfaceId: pulumi.Input<string>;The ID of the network interface to attach to.
property securityGroupId
securityGroupId: pulumi.Input<string>;The ID of the security group.
interface NetworkInterfaceSecurityGroupAttachmentState
interface NetworkInterfaceSecurityGroupAttachmentStateInput properties used for looking up and filtering NetworkInterfaceSecurityGroupAttachment resources.
property networkInterfaceId
networkInterfaceId?: pulumi.Input<string>;The ID of the network interface to attach to.
property securityGroupId
securityGroupId?: pulumi.Input<string>;The ID of the security group.
interface NetworkInterfaceState
interface NetworkInterfaceStateInput properties used for looking up and filtering NetworkInterface resources.
property attachments
attachments?: pulumi.Input<pulumi.Input<NetworkInterfaceAttachment>[]>;Block to define the attachment of the ENI. Documented below.
property description
description?: pulumi.Input<string>;A description for the network interface.
property macAddress
macAddress?: pulumi.Input<string>;The MAC address of the network interface.
property outpostArn
outpostArn?: pulumi.Input<string>;property privateDnsName
privateDnsName?: pulumi.Input<string>;The private DNS name of the network interface (IPv4).
property privateIp
privateIp?: pulumi.Input<string>;property privateIps
privateIps?: pulumi.Input<pulumi.Input<string>[]>;List of private IPs to assign to the ENI.
property privateIpsCount
privateIpsCount?: pulumi.Input<number>;Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + private_ips_count, as a primary private IP will be assiged to an ENI by default.
property securityGroups
securityGroups?: pulumi.Input<pulumi.Input<string>[]>;List of security group IDs to assign to the ENI.
property sourceDestCheck
sourceDestCheck?: pulumi.Input<boolean>;Whether to enable source destination checking for the ENI. Default true.
property subnetId
subnetId?: pulumi.Input<string>;Subnet ID to create the ENI in.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
interface PeeringConnectionOptionsArgs
interface PeeringConnectionOptionsArgsThe set of arguments for constructing a PeeringConnectionOptions resource.
property accepter
accepter?: pulumi.Input<PeeringConnectionOptionsAccepter>;An optional configuration block that allows for VPC Peering Connection options to be set for the VPC that accepts the peering connection (a maximum of one).
property requester
requester?: pulumi.Input<PeeringConnectionOptionsRequester>;A optional configuration block that allows for VPC Peering Connection options to be set for the VPC that requests the peering connection (a maximum of one).
property vpcPeeringConnectionId
vpcPeeringConnectionId: pulumi.Input<string>;The ID of the requester VPC peering connection.
interface PeeringConnectionOptionsState
interface PeeringConnectionOptionsStateInput properties used for looking up and filtering PeeringConnectionOptions resources.
property accepter
accepter?: pulumi.Input<PeeringConnectionOptionsAccepter>;An optional configuration block that allows for VPC Peering Connection options to be set for the VPC that accepts the peering connection (a maximum of one).
property requester
requester?: pulumi.Input<PeeringConnectionOptionsRequester>;A optional configuration block that allows for VPC Peering Connection options to be set for the VPC that requests the peering connection (a maximum of one).
property vpcPeeringConnectionId
vpcPeeringConnectionId?: pulumi.Input<string>;The ID of the requester VPC peering connection.
interface PlacementGroupArgs
interface PlacementGroupArgsThe set of arguments for constructing a PlacementGroup resource.
property name
name?: pulumi.Input<string>;The name of the placement group.
property strategy
strategy: pulumi.Input<PlacementStrategy>;The placement strategy. Can be "cluster", "partition" or "spread".
property tags
tags?: pulumi.Input<{[key: string]: any}>;Key-value map of resource tags.
interface PlacementGroupState
interface PlacementGroupStateInput properties used for looking up and filtering PlacementGroup resources.
property name
name?: pulumi.Input<string>;The name of the placement group.
property placementGroupId
placementGroupId?: pulumi.Input<string>;The ID of the placement group.
property strategy
strategy?: pulumi.Input<PlacementStrategy>;The placement strategy. Can be "cluster", "partition" or "spread".
property tags
tags?: pulumi.Input<{[key: string]: any}>;Key-value map of resource tags.
type PlacementStrategy
type PlacementStrategy = "spread" | "cluster";The strategy of the placement group determines how the instances are organized within the group.
See https://docs.aws.amazon.com/cli/latest/reference/ec2/create-placement-group.html
type ProtocolType
type ProtocolType = "all" | "icmp" | "tcp" | "udp";interface ProxyProtocolPolicyArgs
interface ProxyProtocolPolicyArgsThe set of arguments for constructing a ProxyProtocolPolicy resource.
property instancePorts
instancePorts: pulumi.Input<pulumi.Input<string>[]>;List of instance ports to which the policy should be applied. This can be specified if the protocol is SSL or TCP.
property loadBalancer
loadBalancer: pulumi.Input<string>;The load balancer to which the policy should be attached.
interface ProxyProtocolPolicyState
interface ProxyProtocolPolicyStateInput properties used for looking up and filtering ProxyProtocolPolicy resources.
property instancePorts
instancePorts?: pulumi.Input<pulumi.Input<string>[]>;List of instance ports to which the policy should be applied. This can be specified if the protocol is SSL or TCP.
property loadBalancer
loadBalancer?: pulumi.Input<string>;The load balancer to which the policy should be attached.
const RedHatEnterpriseLinuxPlatform
InstancePlatforms insteadconst RedHatEnterpriseLinuxPlatform: InstancePlatform = "Red Hat Enterprise Linux";interface RouteArgs
interface RouteArgsThe set of arguments for constructing a Route resource.
property destinationCidrBlock
destinationCidrBlock?: pulumi.Input<string>;The destination CIDR block.
property destinationIpv6CidrBlock
destinationIpv6CidrBlock?: pulumi.Input<string>;The destination IPv6 CIDR block.
property egressOnlyGatewayId
egressOnlyGatewayId?: pulumi.Input<string>;Identifier of a VPC Egress Only Internet Gateway.
property gatewayId
gatewayId?: pulumi.Input<string>;Identifier of a VPC internet gateway or a virtual private gateway.
property instanceId
instanceId?: pulumi.Input<string>;Identifier of an EC2 instance.
property natGatewayId
natGatewayId?: pulumi.Input<string>;Identifier of a VPC NAT gateway.
property networkInterfaceId
networkInterfaceId?: pulumi.Input<string>;Identifier of an EC2 network interface.
property routeTableId
routeTableId: pulumi.Input<string>;The ID of the routing table.
property transitGatewayId
transitGatewayId?: pulumi.Input<string>;Identifier of an EC2 Transit Gateway.
property vpcPeeringConnectionId
vpcPeeringConnectionId?: pulumi.Input<string>;Identifier of a VPC peering connection.
interface RouteState
interface RouteStateInput properties used for looking up and filtering Route resources.
property destinationCidrBlock
destinationCidrBlock?: pulumi.Input<string>;The destination CIDR block.
property destinationIpv6CidrBlock
destinationIpv6CidrBlock?: pulumi.Input<string>;The destination IPv6 CIDR block.
property destinationPrefixListId
destinationPrefixListId?: pulumi.Input<string>;property egressOnlyGatewayId
egressOnlyGatewayId?: pulumi.Input<string>;Identifier of a VPC Egress Only Internet Gateway.
property gatewayId
gatewayId?: pulumi.Input<string>;Identifier of a VPC internet gateway or a virtual private gateway.
property instanceId
instanceId?: pulumi.Input<string>;Identifier of an EC2 instance.
property instanceOwnerId
instanceOwnerId?: pulumi.Input<string>;property natGatewayId
natGatewayId?: pulumi.Input<string>;Identifier of a VPC NAT gateway.
property networkInterfaceId
networkInterfaceId?: pulumi.Input<string>;Identifier of an EC2 network interface.
property origin
origin?: pulumi.Input<string>;property routeTableId
routeTableId?: pulumi.Input<string>;The ID of the routing table.
property state
state?: pulumi.Input<string>;property transitGatewayId
transitGatewayId?: pulumi.Input<string>;Identifier of an EC2 Transit Gateway.
property vpcPeeringConnectionId
vpcPeeringConnectionId?: pulumi.Input<string>;Identifier of a VPC peering connection.
interface RouteTableArgs
interface RouteTableArgsThe set of arguments for constructing a RouteTable resource.
property propagatingVgws
propagatingVgws?: pulumi.Input<pulumi.Input<string>[]>;A list of virtual gateways for propagation.
property routes
routes?: pulumi.Input<pulumi.Input<RouteTableRoute>[]>;A list of route objects. Their keys are documented below.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A mapping of tags to assign to the resource.
property vpcId
vpcId: pulumi.Input<string>;The VPC ID.
interface RouteTableAssociationArgs
interface RouteTableAssociationArgsThe set of arguments for constructing a RouteTableAssociation resource.
property gatewayId
gatewayId?: pulumi.Input<string>;The gateway ID to create an association. Conflicts with subnetId.
property routeTableId
routeTableId: pulumi.Input<string>;The ID of the routing table to associate with.
property subnetId
subnetId?: pulumi.Input<string>;The subnet ID to create an association. Conflicts with gatewayId.
interface RouteTableAssociationState
interface RouteTableAssociationStateInput properties used for looking up and filtering RouteTableAssociation resources.
property gatewayId
gatewayId?: pulumi.Input<string>;The gateway ID to create an association. Conflicts with subnetId.
property routeTableId
routeTableId?: pulumi.Input<string>;The ID of the routing table to associate with.
property subnetId
subnetId?: pulumi.Input<string>;The subnet ID to create an association. Conflicts with gatewayId.
interface RouteTableState
interface RouteTableStateInput properties used for looking up and filtering RouteTable resources.
property ownerId
ownerId?: pulumi.Input<string>;The ID of the AWS account that owns the route table.
property propagatingVgws
propagatingVgws?: pulumi.Input<pulumi.Input<string>[]>;A list of virtual gateways for propagation.
property routes
routes?: pulumi.Input<pulumi.Input<RouteTableRoute>[]>;A list of route objects. Their keys are documented below.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A mapping of tags to assign to the resource.
property vpcId
vpcId?: pulumi.Input<string>;The VPC ID.
interface SecurityGroupArgs
interface SecurityGroupArgsThe set of arguments for constructing a SecurityGroup resource.
property description
description?: pulumi.Input<string>;Description of this egress rule.
property egress
egress?: pulumi.Input<pulumi.Input<SecurityGroupEgress>[]>;Can be specified multiple times for each egress rule. Each egress block supports fields documented below.
property ingress
ingress?: pulumi.Input<pulumi.Input<SecurityGroupIngress>[]>;Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below.
property name
name?: pulumi.Input<string>;The name of the security group. If omitted, this provider will assign a random, unique name
property namePrefix
namePrefix?: pulumi.Input<string>;Creates a unique name beginning with the specified
prefix. Conflicts with name.
property revokeRulesOnDelete
revokeRulesOnDelete?: pulumi.Input<boolean>;Instruct this provider to revoke all of the
Security Groups attached ingress and egress rules before deleting the rule
itself. This is normally not needed, however certain AWS services such as
Elastic Map Reduce may automatically add required rules to security groups used
with the service, and those rules may contain a cyclic dependency that prevent
the security groups from being destroyed without removing the dependency first.
Default false
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpcId
vpcId?: pulumi.Input<string>;The VPC ID.
interface SecurityGroupRuleArgs
interface SecurityGroupRuleArgsThe set of arguments for constructing a SecurityGroupRule resource.
property cidrBlocks
cidrBlocks?: pulumi.Input<pulumi.Input<string>[]>;List of CIDR blocks. Cannot be specified with sourceSecurityGroupId.
property description
description?: pulumi.Input<string>;Description of the rule.
property fromPort
fromPort: pulumi.Input<number>;The start port (or ICMP type number if protocol is “icmp” or “icmpv6”).
property ipv6CidrBlocks
ipv6CidrBlocks?: pulumi.Input<pulumi.Input<string>[]>;List of IPv6 CIDR blocks.
property prefixListIds
prefixListIds?: pulumi.Input<pulumi.Input<string>[]>;List of prefix list IDs (for allowing access to VPC endpoints).
Only valid with egress.
property protocol
protocol: pulumi.Input<string>;The protocol. If not icmp, icmpv6, tcp, udp, or all use the protocol number
property securityGroupId
securityGroupId: pulumi.Input<string>;The security group to apply this rule to.
property self
self?: pulumi.Input<boolean>;If true, the security group itself will be added as
a source to this ingress rule. Cannot be specified with sourceSecurityGroupId.
property sourceSecurityGroupId
sourceSecurityGroupId?: pulumi.Input<string>;The security group id to allow access to/from,
depending on the type. Cannot be specified with cidrBlocks and self.
property toPort
toPort: pulumi.Input<number>;The end port (or ICMP code if protocol is “icmp”).
property type
type: pulumi.Input<string>;The type of rule being created. Valid options are ingress (inbound)
or egress (outbound).
interface SecurityGroupRuleState
interface SecurityGroupRuleStateInput properties used for looking up and filtering SecurityGroupRule resources.
property cidrBlocks
cidrBlocks?: pulumi.Input<pulumi.Input<string>[]>;List of CIDR blocks. Cannot be specified with sourceSecurityGroupId.
property description
description?: pulumi.Input<string>;Description of the rule.
property fromPort
fromPort?: pulumi.Input<number>;The start port (or ICMP type number if protocol is “icmp” or “icmpv6”).
property ipv6CidrBlocks
ipv6CidrBlocks?: pulumi.Input<pulumi.Input<string>[]>;List of IPv6 CIDR blocks.
property prefixListIds
prefixListIds?: pulumi.Input<pulumi.Input<string>[]>;List of prefix list IDs (for allowing access to VPC endpoints).
Only valid with egress.
property protocol
protocol?: pulumi.Input<string>;The protocol. If not icmp, icmpv6, tcp, udp, or all use the protocol number
property securityGroupId
securityGroupId?: pulumi.Input<string>;The security group to apply this rule to.
property self
self?: pulumi.Input<boolean>;If true, the security group itself will be added as
a source to this ingress rule. Cannot be specified with sourceSecurityGroupId.
property sourceSecurityGroupId
sourceSecurityGroupId?: pulumi.Input<string>;The security group id to allow access to/from,
depending on the type. Cannot be specified with cidrBlocks and self.
property toPort
toPort?: pulumi.Input<number>;The end port (or ICMP code if protocol is “icmp”).
property type
type?: pulumi.Input<string>;The type of rule being created. Valid options are ingress (inbound)
or egress (outbound).
interface SecurityGroupState
interface SecurityGroupStateInput properties used for looking up and filtering SecurityGroup resources.
property arn
arn?: pulumi.Input<string>;The ARN of the security group
property description
description?: pulumi.Input<string>;Description of this egress rule.
property egress
egress?: pulumi.Input<pulumi.Input<SecurityGroupEgress>[]>;Can be specified multiple times for each egress rule. Each egress block supports fields documented below.
property ingress
ingress?: pulumi.Input<pulumi.Input<SecurityGroupIngress>[]>;Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below.
property name
name?: pulumi.Input<string>;The name of the security group. If omitted, this provider will assign a random, unique name
property namePrefix
namePrefix?: pulumi.Input<string>;Creates a unique name beginning with the specified
prefix. Conflicts with name.
property ownerId
ownerId?: pulumi.Input<string>;The owner ID.
property revokeRulesOnDelete
revokeRulesOnDelete?: pulumi.Input<boolean>;Instruct this provider to revoke all of the
Security Groups attached ingress and egress rules before deleting the rule
itself. This is normally not needed, however certain AWS services such as
Elastic Map Reduce may automatically add required rules to security groups used
with the service, and those rules may contain a cyclic dependency that prevent
the security groups from being destroyed without removing the dependency first.
Default false
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpcId
vpcId?: pulumi.Input<string>;The VPC ID.
interface SnapshotCreateVolumePermissionArgs
interface SnapshotCreateVolumePermissionArgsThe set of arguments for constructing a SnapshotCreateVolumePermission resource.
property accountId
accountId: pulumi.Input<string>;An AWS Account ID to add create volume permissions
property snapshotId
snapshotId: pulumi.Input<string>;A snapshot ID
interface SnapshotCreateVolumePermissionState
interface SnapshotCreateVolumePermissionStateInput properties used for looking up and filtering SnapshotCreateVolumePermission resources.
property accountId
accountId?: pulumi.Input<string>;An AWS Account ID to add create volume permissions
property snapshotId
snapshotId?: pulumi.Input<string>;A snapshot ID
interface SpotDatafeedSubscriptionArgs
interface SpotDatafeedSubscriptionArgsThe set of arguments for constructing a SpotDatafeedSubscription resource.
property bucket
bucket: pulumi.Input<string>;The Amazon S3 bucket in which to store the Spot instance data feed.
property prefix
prefix?: pulumi.Input<string>;Path of folder inside bucket to place spot pricing data.
interface SpotDatafeedSubscriptionState
interface SpotDatafeedSubscriptionStateInput properties used for looking up and filtering SpotDatafeedSubscription resources.
property bucket
bucket?: pulumi.Input<string>;The Amazon S3 bucket in which to store the Spot instance data feed.
property prefix
prefix?: pulumi.Input<string>;Path of folder inside bucket to place spot pricing data.
interface SpotFleetRequestArgs
interface SpotFleetRequestArgsThe set of arguments for constructing a SpotFleetRequest resource.
property allocationStrategy
allocationStrategy?: pulumi.Input<string>;Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. The default is
lowestPrice.
property excessCapacityTerminationPolicy
excessCapacityTerminationPolicy?: pulumi.Input<string>;Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
property fleetType
fleetType?: pulumi.Input<string>;The type of fleet request. Indicates whether the Spot Fleet only requests the target
capacity or also attempts to maintain it. Default is maintain.
property iamFleetRole
iamFleetRole: pulumi.Input<string>;Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
property instanceInterruptionBehaviour
instanceInterruptionBehaviour?: pulumi.Input<string>;Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate.
property instancePoolsToUseCount
instancePoolsToUseCount?: pulumi.Input<number>;The number of Spot pools across which to allocate your target Spot capacity.
Valid only when allocationStrategy is set to lowestPrice. Spot Fleet selects
the cheapest Spot pools and evenly allocates your target Spot capacity across
the number of Spot pools that you specify.
property launchSpecifications
launchSpecifications?: pulumi.Input<pulumi.Input<SpotFleetRequestLaunchSpecification>[]>;Used to define the launch configuration of the
spot-fleet request. Can be specified multiple times to define different bids
across different markets and instance types. Conflicts with launchTemplateConfig. At least one of launchSpecification or launchTemplateConfig is required.
property launchTemplateConfigs
launchTemplateConfigs?: pulumi.Input<pulumi.Input<SpotFleetRequestLaunchTemplateConfig>[]>;Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launchSpecification. At least one of launchSpecification or launchTemplateConfig is required.
property loadBalancers
loadBalancers?: pulumi.Input<pulumi.Input<string>[]>;A list of elastic load balancer names to add to the Spot fleet.
property replaceUnhealthyInstances
replaceUnhealthyInstances?: pulumi.Input<boolean>;Indicates whether Spot fleet should replace unhealthy instances. Default false.
property spotPrice
spotPrice?: pulumi.Input<string>;The maximum spot bid for this override request.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property targetCapacity
targetCapacity: pulumi.Input<number>;The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
property targetGroupArns
targetGroupArns?: pulumi.Input<pulumi.Input<string>[]>;A list of aws.alb.TargetGroup ARNs, for use with Application Load Balancing.
property terminateInstancesWithExpiration
terminateInstancesWithExpiration?: pulumi.Input<boolean>;Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
property validFrom
validFrom?: pulumi.Input<string>;The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
property validUntil
validUntil?: pulumi.Input<string>;The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request. Defaults to 24 hours.
property waitForFulfillment
waitForFulfillment?: pulumi.Input<boolean>;If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
interface SpotFleetRequestState
interface SpotFleetRequestStateInput properties used for looking up and filtering SpotFleetRequest resources.
property allocationStrategy
allocationStrategy?: pulumi.Input<string>;Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. The default is
lowestPrice.
property clientToken
clientToken?: pulumi.Input<string>;property excessCapacityTerminationPolicy
excessCapacityTerminationPolicy?: pulumi.Input<string>;Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
property fleetType
fleetType?: pulumi.Input<string>;The type of fleet request. Indicates whether the Spot Fleet only requests the target
capacity or also attempts to maintain it. Default is maintain.
property iamFleetRole
iamFleetRole?: pulumi.Input<string>;Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
property instanceInterruptionBehaviour
instanceInterruptionBehaviour?: pulumi.Input<string>;Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate.
property instancePoolsToUseCount
instancePoolsToUseCount?: pulumi.Input<number>;The number of Spot pools across which to allocate your target Spot capacity.
Valid only when allocationStrategy is set to lowestPrice. Spot Fleet selects
the cheapest Spot pools and evenly allocates your target Spot capacity across
the number of Spot pools that you specify.
property launchSpecifications
launchSpecifications?: pulumi.Input<pulumi.Input<SpotFleetRequestLaunchSpecification>[]>;Used to define the launch configuration of the
spot-fleet request. Can be specified multiple times to define different bids
across different markets and instance types. Conflicts with launchTemplateConfig. At least one of launchSpecification or launchTemplateConfig is required.
property launchTemplateConfigs
launchTemplateConfigs?: pulumi.Input<pulumi.Input<SpotFleetRequestLaunchTemplateConfig>[]>;Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launchSpecification. At least one of launchSpecification or launchTemplateConfig is required.
property loadBalancers
loadBalancers?: pulumi.Input<pulumi.Input<string>[]>;A list of elastic load balancer names to add to the Spot fleet.
property replaceUnhealthyInstances
replaceUnhealthyInstances?: pulumi.Input<boolean>;Indicates whether Spot fleet should replace unhealthy instances. Default false.
property spotPrice
spotPrice?: pulumi.Input<string>;The maximum spot bid for this override request.
property spotRequestState
spotRequestState?: pulumi.Input<string>;The state of the Spot fleet request.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property targetCapacity
targetCapacity?: pulumi.Input<number>;The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
property targetGroupArns
targetGroupArns?: pulumi.Input<pulumi.Input<string>[]>;A list of aws.alb.TargetGroup ARNs, for use with Application Load Balancing.
property terminateInstancesWithExpiration
terminateInstancesWithExpiration?: pulumi.Input<boolean>;Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
property validFrom
validFrom?: pulumi.Input<string>;The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
property validUntil
validUntil?: pulumi.Input<string>;The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request. Defaults to 24 hours.
property waitForFulfillment
waitForFulfillment?: pulumi.Input<boolean>;If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
interface SpotInstanceRequestArgs
interface SpotInstanceRequestArgsThe set of arguments for constructing a SpotInstanceRequest resource.
property ami
ami: pulumi.Input<string>;The AMI to use for the instance.
property associatePublicIpAddress
associatePublicIpAddress?: pulumi.Input<boolean>;Associate a public ip address with an instance in a VPC. Boolean value.
property availabilityZone
availabilityZone?: pulumi.Input<string>;The AZ to start the instance in.
property blockDurationMinutes
blockDurationMinutes?: pulumi.Input<number>;The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. Note that you can’t specify an Availability Zone group or a launch group if you specify a duration.
property cpuCoreCount
cpuCoreCount?: pulumi.Input<number>;Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.
property cpuThreadsPerCore
cpuThreadsPerCore?: pulumi.Input<number>;If set to to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.
property creditSpecification
creditSpecification?: pulumi.Input<SpotInstanceRequestCreditSpecification>;Customize the credit specification of the instance. See Credit Specification below for more details.
property disableApiTermination
disableApiTermination?: pulumi.Input<boolean>;If true, enables EC2 Instance Termination Protection
property ebsBlockDevices
ebsBlockDevices?: pulumi.Input<pulumi.Input<SpotInstanceRequestEbsBlockDevice>[]>;Additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection.
property ebsOptimized
ebsOptimized?: pulumi.Input<boolean>;If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
property ephemeralBlockDevices
ephemeralBlockDevices?: pulumi.Input<pulumi.Input<SpotInstanceRequestEphemeralBlockDevice>[]>;Customize Ephemeral (also known as “Instance Store”) volumes on the instance. See Block Devices below for details.
property getPasswordData
getPasswordData?: pulumi.Input<boolean>;If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the passwordData attribute. See GetPasswordData for more information.
property hibernation
hibernation?: pulumi.Input<boolean>;If true, the launched EC2 instance will support hibernation.
property hostId
hostId?: pulumi.Input<string>;The Id of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
property iamInstanceProfile
iamInstanceProfile?: pulumi.Input<string>;The IAM Instance Profile to
launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
property instanceInitiatedShutdownBehavior
instanceInitiatedShutdownBehavior?: pulumi.Input<string>;Shutdown behavior for the
instance. Amazon defaults this to stop for EBS-backed instances and
terminate for instance-store instances. Cannot be set on instance-store
instances. See Shutdown Behavior for more information.
property instanceInterruptionBehaviour
instanceInterruptionBehaviour?: pulumi.Input<string>;Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate as this is the current AWS behaviour.
property instanceType
instanceType: pulumi.Input<string>;The type of instance to start. Updates to this field will trigger a stop/start of the EC2 instance.
property ipv6AddressCount
ipv6AddressCount?: pulumi.Input<number>;A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
property ipv6Addresses
ipv6Addresses?: pulumi.Input<pulumi.Input<string>[]>;Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
property keyName
keyName?: pulumi.Input<string>;The key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.
property launchGroup
launchGroup?: pulumi.Input<string>;A launch group is a group of spot instances that launch together and terminate together. If left empty instances are launched and terminated individually.
property metadataOptions
metadataOptions?: pulumi.Input<SpotInstanceRequestMetadataOptions>;Customize the metadata options of the instance. See Metadata Options below for more details.
property monitoring
monitoring?: pulumi.Input<boolean>;If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
property networkInterfaces
networkInterfaces?: pulumi.Input<pulumi.Input<SpotInstanceRequestNetworkInterface>[]>;Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
property placementGroup
placementGroup?: pulumi.Input<string>;The Placement Group to start the instance in.
property privateIp
privateIp?: pulumi.Input<string>;Private IP address to associate with the instance in a VPC.
property rootBlockDevice
rootBlockDevice?: pulumi.Input<SpotInstanceRequestRootBlockDevice>;Customize details about the root block device of the instance. See Block Devices below for details.
property securityGroups
securityGroups?: pulumi.Input<pulumi.Input<string>[]>;A list of security group names (EC2-Classic) or IDs (default VPC) to associate with.
property sourceDestCheck
sourceDestCheck?: pulumi.Input<boolean>;Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
property spotPrice
spotPrice?: pulumi.Input<string>;The maximum price to request on the spot market.
property spotType
spotType?: pulumi.Input<string>;If set to one-time, after
the instance is terminated, the spot request will be closed.
property subnetId
subnetId?: pulumi.Input<string>;The VPC Subnet ID to launch in.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property tenancy
tenancy?: pulumi.Input<string>;The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command.
property userData
userData?: pulumi.Input<string>;The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see userDataBase64 instead.
property userDataBase64
userDataBase64?: pulumi.Input<string>;Can be used instead of userData to pass base64-encoded binary data directly. Use this instead of userData whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
property validFrom
validFrom?: pulumi.Input<string>;The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
property validUntil
validUntil?: pulumi.Input<string>;The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request. The default end date is 7 days from the current date.
property volumeTags
volumeTags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the devices created by the instance at launch time.
property vpcSecurityGroupIds
vpcSecurityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;A list of security group IDs to associate with.
property waitForFulfillment
waitForFulfillment?: pulumi.Input<boolean>;If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
interface SpotInstanceRequestState
interface SpotInstanceRequestStateInput properties used for looking up and filtering SpotInstanceRequest resources.
property ami
ami?: pulumi.Input<string>;The AMI to use for the instance.
property arn
arn?: pulumi.Input<string>;property associatePublicIpAddress
associatePublicIpAddress?: pulumi.Input<boolean>;Associate a public ip address with an instance in a VPC. Boolean value.
property availabilityZone
availabilityZone?: pulumi.Input<string>;The AZ to start the instance in.
property blockDurationMinutes
blockDurationMinutes?: pulumi.Input<number>;The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. Note that you can’t specify an Availability Zone group or a launch group if you specify a duration.
property cpuCoreCount
cpuCoreCount?: pulumi.Input<number>;Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.
property cpuThreadsPerCore
cpuThreadsPerCore?: pulumi.Input<number>;If set to to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.
property creditSpecification
creditSpecification?: pulumi.Input<SpotInstanceRequestCreditSpecification>;Customize the credit specification of the instance. See Credit Specification below for more details.
property disableApiTermination
disableApiTermination?: pulumi.Input<boolean>;If true, enables EC2 Instance Termination Protection
property ebsBlockDevices
ebsBlockDevices?: pulumi.Input<pulumi.Input<SpotInstanceRequestEbsBlockDevice>[]>;Additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection.
property ebsOptimized
ebsOptimized?: pulumi.Input<boolean>;If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
property ephemeralBlockDevices
ephemeralBlockDevices?: pulumi.Input<pulumi.Input<SpotInstanceRequestEphemeralBlockDevice>[]>;Customize Ephemeral (also known as “Instance Store”) volumes on the instance. See Block Devices below for details.
property getPasswordData
getPasswordData?: pulumi.Input<boolean>;If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the passwordData attribute. See GetPasswordData for more information.
property hibernation
hibernation?: pulumi.Input<boolean>;If true, the launched EC2 instance will support hibernation.
property hostId
hostId?: pulumi.Input<string>;The Id of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
property iamInstanceProfile
iamInstanceProfile?: pulumi.Input<string>;The IAM Instance Profile to
launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
property instanceInitiatedShutdownBehavior
instanceInitiatedShutdownBehavior?: pulumi.Input<string>;Shutdown behavior for the
instance. Amazon defaults this to stop for EBS-backed instances and
terminate for instance-store instances. Cannot be set on instance-store
instances. See Shutdown Behavior for more information.
property instanceInterruptionBehaviour
instanceInterruptionBehaviour?: pulumi.Input<string>;Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate as this is the current AWS behaviour.
property instanceState
instanceState?: pulumi.Input<string>;property instanceType
instanceType?: pulumi.Input<string>;The type of instance to start. Updates to this field will trigger a stop/start of the EC2 instance.
property ipv6AddressCount
ipv6AddressCount?: pulumi.Input<number>;A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
property ipv6Addresses
ipv6Addresses?: pulumi.Input<pulumi.Input<string>[]>;Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
property keyName
keyName?: pulumi.Input<string>;The key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.
property launchGroup
launchGroup?: pulumi.Input<string>;A launch group is a group of spot instances that launch together and terminate together. If left empty instances are launched and terminated individually.
property metadataOptions
metadataOptions?: pulumi.Input<SpotInstanceRequestMetadataOptions>;Customize the metadata options of the instance. See Metadata Options below for more details.
property monitoring
monitoring?: pulumi.Input<boolean>;If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
property networkInterfaces
networkInterfaces?: pulumi.Input<pulumi.Input<SpotInstanceRequestNetworkInterface>[]>;Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
property outpostArn
outpostArn?: pulumi.Input<string>;property passwordData
passwordData?: pulumi.Input<string>;property placementGroup
placementGroup?: pulumi.Input<string>;The Placement Group to start the instance in.
property primaryNetworkInterfaceId
primaryNetworkInterfaceId?: pulumi.Input<string>;property privateDns
privateDns?: pulumi.Input<string>;The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you’ve enabled DNS hostnames for your VPC
property privateIp
privateIp?: pulumi.Input<string>;Private IP address to associate with the instance in a VPC.
property publicDns
publicDns?: pulumi.Input<string>;The public DNS name assigned to the instance. For EC2-VPC, this is only available if you’ve enabled DNS hostnames for your VPC
property publicIp
publicIp?: pulumi.Input<string>;The public IP address assigned to the instance, if applicable.
property rootBlockDevice
rootBlockDevice?: pulumi.Input<SpotInstanceRequestRootBlockDevice>;Customize details about the root block device of the instance. See Block Devices below for details.
property securityGroups
securityGroups?: pulumi.Input<pulumi.Input<string>[]>;A list of security group names (EC2-Classic) or IDs (default VPC) to associate with.
property sourceDestCheck
sourceDestCheck?: pulumi.Input<boolean>;Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
property spotBidStatus
spotBidStatus?: pulumi.Input<string>;The current bid
status
of the Spot Instance Request.
* spotRequestState The current request
state
of the Spot Instance Request.
property spotInstanceId
spotInstanceId?: pulumi.Input<string>;The Instance ID (if any) that is currently fulfilling the Spot Instance request.
property spotPrice
spotPrice?: pulumi.Input<string>;The maximum price to request on the spot market.
property spotRequestState
spotRequestState?: pulumi.Input<string>;property spotType
spotType?: pulumi.Input<string>;If set to one-time, after
the instance is terminated, the spot request will be closed.
property subnetId
subnetId?: pulumi.Input<string>;The VPC Subnet ID to launch in.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property tenancy
tenancy?: pulumi.Input<string>;The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command.
property userData
userData?: pulumi.Input<string>;The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see userDataBase64 instead.
property userDataBase64
userDataBase64?: pulumi.Input<string>;Can be used instead of userData to pass base64-encoded binary data directly. Use this instead of userData whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
property validFrom
validFrom?: pulumi.Input<string>;The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
property validUntil
validUntil?: pulumi.Input<string>;The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request. The default end date is 7 days from the current date.
property volumeTags
volumeTags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the devices created by the instance at launch time.
property vpcSecurityGroupIds
vpcSecurityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;A list of security group IDs to associate with.
property waitForFulfillment
waitForFulfillment?: pulumi.Input<boolean>;If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
let SpreadStrategy
let SpreadStrategy: PlacementStrategy = "spread";A spread placement group places instances on distinct hardware.
interface SubnetArgs
interface SubnetArgsThe set of arguments for constructing a Subnet resource.
property assignIpv6AddressOnCreation
assignIpv6AddressOnCreation?: pulumi.Input<boolean>;Specify true to indicate
that network interfaces created in the specified subnet should be
assigned an IPv6 address. Default is false
property availabilityZone
availabilityZone?: pulumi.Input<string>;The AZ for the subnet.
property availabilityZoneId
availabilityZoneId?: pulumi.Input<string>;The AZ ID of the subnet.
property cidrBlock
cidrBlock: pulumi.Input<string>;The CIDR block for the subnet.
property ipv6CidrBlock
ipv6CidrBlock?: pulumi.Input<string>;The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a /64 prefix length.
property mapPublicIpOnLaunch
mapPublicIpOnLaunch?: pulumi.Input<boolean>;Specify true to indicate
that instances launched into the subnet should be assigned
a public IP address. Default is false.
property outpostArn
outpostArn?: pulumi.Input<string>;The Amazon Resource Name (ARN) of the Outpost.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpcId
vpcId: pulumi.Input<string>;The VPC ID.
interface SubnetState
interface SubnetStateInput properties used for looking up and filtering Subnet resources.
property arn
arn?: pulumi.Input<string>;The ARN of the subnet.
property assignIpv6AddressOnCreation
assignIpv6AddressOnCreation?: pulumi.Input<boolean>;Specify true to indicate
that network interfaces created in the specified subnet should be
assigned an IPv6 address. Default is false
property availabilityZone
availabilityZone?: pulumi.Input<string>;The AZ for the subnet.
property availabilityZoneId
availabilityZoneId?: pulumi.Input<string>;The AZ ID of the subnet.
property cidrBlock
cidrBlock?: pulumi.Input<string>;The CIDR block for the subnet.
property ipv6CidrBlock
ipv6CidrBlock?: pulumi.Input<string>;The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a /64 prefix length.
property ipv6CidrBlockAssociationId
ipv6CidrBlockAssociationId?: pulumi.Input<string>;The association ID for the IPv6 CIDR block.
property mapPublicIpOnLaunch
mapPublicIpOnLaunch?: pulumi.Input<boolean>;Specify true to indicate
that instances launched into the subnet should be assigned
a public IP address. Default is false.
property outpostArn
outpostArn?: pulumi.Input<string>;The Amazon Resource Name (ARN) of the Outpost.
property ownerId
ownerId?: pulumi.Input<string>;The ID of the AWS account that owns the subnet.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpcId
vpcId?: pulumi.Input<string>;The VPC ID.
const SuseLinuxPlatform
InstancePlatforms insteadconst SuseLinuxPlatform: InstancePlatform = "SUSE Linux";const TCPProtocol
const TCPProtocol: ProtocolType = "tcp";type Tenancy
type Tenancy = "default" | "dedicated";interface TrafficMirrorFilterArgs
interface TrafficMirrorFilterArgsThe set of arguments for constructing a TrafficMirrorFilter resource.
property description
description?: pulumi.Input<string>;A description of the filter.
property networkServices
networkServices?: pulumi.Input<pulumi.Input<string>[]>;List of amazon network services that should be mirrored. Valid values: amazon-dns.
property tags
tags?: pulumi.Input<{[key: string]: any}>;Key-value map of resource tags.
interface TrafficMirrorFilterRuleArgs
interface TrafficMirrorFilterRuleArgsThe set of arguments for constructing a TrafficMirrorFilterRule resource.
property description
description?: pulumi.Input<string>;A description of the traffic mirror filter rule.
property destinationCidrBlock
destinationCidrBlock: pulumi.Input<string>;The destination CIDR block to assign to the Traffic Mirror rule.
property destinationPortRange
destinationPortRange?: pulumi.Input<TrafficMirrorFilterRuleDestinationPortRange>;The destination port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below
property protocol
protocol?: pulumi.Input<number>;The protocol number, for example 17 (UDP), to assign to the Traffic Mirror rule. For information about the protocol value, see Protocol Numbers on the Internet Assigned Numbers Authority (IANA) website.
property ruleAction
ruleAction: pulumi.Input<string>;The action to take (accept | reject) on the filtered traffic. Valid values are accept and reject
property ruleNumber
ruleNumber: pulumi.Input<number>;The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.
property sourceCidrBlock
sourceCidrBlock: pulumi.Input<string>;The source CIDR block to assign to the Traffic Mirror rule.
property sourcePortRange
sourcePortRange?: pulumi.Input<TrafficMirrorFilterRuleSourcePortRange>;The source port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below
property trafficDirection
trafficDirection: pulumi.Input<string>;The direction of traffic to be captured. Valid values are ingress and egress
property trafficMirrorFilterId
trafficMirrorFilterId: pulumi.Input<string>;ID of the traffic mirror filter to which this rule should be added
interface TrafficMirrorFilterRuleState
interface TrafficMirrorFilterRuleStateInput properties used for looking up and filtering TrafficMirrorFilterRule resources.
property description
description?: pulumi.Input<string>;A description of the traffic mirror filter rule.
property destinationCidrBlock
destinationCidrBlock?: pulumi.Input<string>;The destination CIDR block to assign to the Traffic Mirror rule.
property destinationPortRange
destinationPortRange?: pulumi.Input<TrafficMirrorFilterRuleDestinationPortRange>;The destination port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below
property protocol
protocol?: pulumi.Input<number>;The protocol number, for example 17 (UDP), to assign to the Traffic Mirror rule. For information about the protocol value, see Protocol Numbers on the Internet Assigned Numbers Authority (IANA) website.
property ruleAction
ruleAction?: pulumi.Input<string>;The action to take (accept | reject) on the filtered traffic. Valid values are accept and reject
property ruleNumber
ruleNumber?: pulumi.Input<number>;The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.
property sourceCidrBlock
sourceCidrBlock?: pulumi.Input<string>;The source CIDR block to assign to the Traffic Mirror rule.
property sourcePortRange
sourcePortRange?: pulumi.Input<TrafficMirrorFilterRuleSourcePortRange>;The source port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below
property trafficDirection
trafficDirection?: pulumi.Input<string>;The direction of traffic to be captured. Valid values are ingress and egress
property trafficMirrorFilterId
trafficMirrorFilterId?: pulumi.Input<string>;ID of the traffic mirror filter to which this rule should be added
interface TrafficMirrorFilterState
interface TrafficMirrorFilterStateInput properties used for looking up and filtering TrafficMirrorFilter resources.
property description
description?: pulumi.Input<string>;A description of the filter.
property networkServices
networkServices?: pulumi.Input<pulumi.Input<string>[]>;List of amazon network services that should be mirrored. Valid values: amazon-dns.
property tags
tags?: pulumi.Input<{[key: string]: any}>;Key-value map of resource tags.
interface TrafficMirrorSessionArgs
interface TrafficMirrorSessionArgsThe set of arguments for constructing a TrafficMirrorSession resource.
property description
description?: pulumi.Input<string>;A description of the traffic mirror session.
property networkInterfaceId
networkInterfaceId: pulumi.Input<string>;ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring.
property packetLength
packetLength?: pulumi.Input<number>;The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror.
property sessionNumber
sessionNumber: pulumi.Input<number>;- The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.
property tags
tags?: pulumi.Input<{[key: string]: any}>;Key-value map of resource tags.
property trafficMirrorFilterId
trafficMirrorFilterId: pulumi.Input<string>;ID of the traffic mirror filter to be used
property trafficMirrorTargetId
trafficMirrorTargetId: pulumi.Input<string>;ID of the traffic mirror target to be used
property virtualNetworkId
virtualNetworkId?: pulumi.Input<number>;- The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random.
interface TrafficMirrorSessionState
interface TrafficMirrorSessionStateInput properties used for looking up and filtering TrafficMirrorSession resources.
property description
description?: pulumi.Input<string>;A description of the traffic mirror session.
property networkInterfaceId
networkInterfaceId?: pulumi.Input<string>;ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring.
property packetLength
packetLength?: pulumi.Input<number>;The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror.
property sessionNumber
sessionNumber?: pulumi.Input<number>;- The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.
property tags
tags?: pulumi.Input<{[key: string]: any}>;Key-value map of resource tags.
property trafficMirrorFilterId
trafficMirrorFilterId?: pulumi.Input<string>;ID of the traffic mirror filter to be used
property trafficMirrorTargetId
trafficMirrorTargetId?: pulumi.Input<string>;ID of the traffic mirror target to be used
property virtualNetworkId
virtualNetworkId?: pulumi.Input<number>;- The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random.
interface TrafficMirrorTargetArgs
interface TrafficMirrorTargetArgsThe set of arguments for constructing a TrafficMirrorTarget resource.
property description
description?: pulumi.Input<string>;A description of the traffic mirror session.
property networkInterfaceId
networkInterfaceId?: pulumi.Input<string>;The network interface ID that is associated with the target.
property networkLoadBalancerArn
networkLoadBalancerArn?: pulumi.Input<string>;The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target.
property tags
tags?: pulumi.Input<{[key: string]: any}>;Key-value map of resource tags.
interface TrafficMirrorTargetState
interface TrafficMirrorTargetStateInput properties used for looking up and filtering TrafficMirrorTarget resources.
property description
description?: pulumi.Input<string>;A description of the traffic mirror session.
property networkInterfaceId
networkInterfaceId?: pulumi.Input<string>;The network interface ID that is associated with the target.
property networkLoadBalancerArn
networkLoadBalancerArn?: pulumi.Input<string>;The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target.
property tags
tags?: pulumi.Input<{[key: string]: any}>;Key-value map of resource tags.
interface TransitGatewayPeeringAttachmentAccepterArgs
interface TransitGatewayPeeringAttachmentAccepterArgsThe set of arguments for constructing a TransitGatewayPeeringAttachmentAccepter resource.
property tags
tags?: pulumi.Input<{[key: string]: any}>;Key-value tags for the EC2 Transit Gateway Peering Attachment.
property transitGatewayAttachmentId
transitGatewayAttachmentId: pulumi.Input<string>;The ID of the EC2 Transit Gateway Peering Attachment to manage.
interface TransitGatewayPeeringAttachmentAccepterState
interface TransitGatewayPeeringAttachmentAccepterStateInput properties used for looking up and filtering TransitGatewayPeeringAttachmentAccepter resources.
property peerAccountId
peerAccountId?: pulumi.Input<string>;Identifier of the AWS account that owns the EC2 TGW peering.
property peerRegion
peerRegion?: pulumi.Input<string>;property peerTransitGatewayId
peerTransitGatewayId?: pulumi.Input<string>;Identifier of EC2 Transit Gateway to peer with.
property tags
tags?: pulumi.Input<{[key: string]: any}>;Key-value tags for the EC2 Transit Gateway Peering Attachment.
property transitGatewayAttachmentId
transitGatewayAttachmentId?: pulumi.Input<string>;The ID of the EC2 Transit Gateway Peering Attachment to manage.
property transitGatewayId
transitGatewayId?: pulumi.Input<string>;Identifier of EC2 Transit Gateway.
const UDPProtocol
const UDPProtocol: ProtocolType = "udp";interface VolumeAttachmentArgs
interface VolumeAttachmentArgsThe set of arguments for constructing a VolumeAttachment resource.
property deviceName
deviceName: pulumi.Input<string>;The device name to expose to the instance (for
example, /dev/sdh or xvdh). See Device Naming on Linux Instances and Device Naming on Windows Instances for more information.
property forceDetach
forceDetach?: pulumi.Input<boolean>;Set to true if you want to force the
volume to detach. Useful if previous attempts failed, but use this option only
as a last resort, as this can result in data loss. See
Detaching an Amazon EBS Volume from an Instance for more information.
property instanceId
instanceId: pulumi.Input<string>;ID of the Instance to attach to
property skipDestroy
skipDestroy?: pulumi.Input<boolean>;Set this to true if you do not wish to detach the volume from the instance to which it is attached at destroy time, and instead just remove the attachment from this provider state. This is useful when destroying an instance which has volumes created by some other means attached.
property volumeId
volumeId: pulumi.Input<string>;ID of the Volume to be attached
interface VolumeAttachmentState
interface VolumeAttachmentStateInput properties used for looking up and filtering VolumeAttachment resources.
property deviceName
deviceName?: pulumi.Input<string>;The device name to expose to the instance (for
example, /dev/sdh or xvdh). See Device Naming on Linux Instances and Device Naming on Windows Instances for more information.
property forceDetach
forceDetach?: pulumi.Input<boolean>;Set to true if you want to force the
volume to detach. Useful if previous attempts failed, but use this option only
as a last resort, as this can result in data loss. See
Detaching an Amazon EBS Volume from an Instance for more information.
property instanceId
instanceId?: pulumi.Input<string>;ID of the Instance to attach to
property skipDestroy
skipDestroy?: pulumi.Input<boolean>;Set this to true if you do not wish to detach the volume from the instance to which it is attached at destroy time, and instead just remove the attachment from this provider state. This is useful when destroying an instance which has volumes created by some other means attached.
property volumeId
volumeId?: pulumi.Input<string>;ID of the Volume to be attached
interface VpcArgs
interface VpcArgsThe set of arguments for constructing a Vpc resource.
property assignGeneratedIpv6CidrBlock
assignGeneratedIpv6CidrBlock?: pulumi.Input<boolean>;Requests an Amazon-provided IPv6 CIDR
block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or
the size of the CIDR block. Default is false.
property cidrBlock
cidrBlock: pulumi.Input<string>;The CIDR block for the VPC.
property enableClassiclink
enableClassiclink?: pulumi.Input<boolean>;A boolean flag to enable/disable ClassicLink for the VPC. Only valid in regions and accounts that support EC2 Classic. See the ClassicLink documentation for more information. Defaults false.
property enableClassiclinkDnsSupport
enableClassiclinkDnsSupport?: pulumi.Input<boolean>;A boolean flag to enable/disable ClassicLink DNS Support for the VPC. Only valid in regions and accounts that support EC2 Classic.
property enableDnsHostnames
enableDnsHostnames?: pulumi.Input<boolean>;A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.
property enableDnsSupport
enableDnsSupport?: pulumi.Input<boolean>;A boolean flag to enable/disable DNS support in the VPC. Defaults true.
property instanceTenancy
instanceTenancy?: pulumi.Input<string>;A tenancy option for instances launched into the VPC
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
interface VpcDhcpOptionsArgs
interface VpcDhcpOptionsArgsThe set of arguments for constructing a VpcDhcpOptions resource.
property domainName
domainName?: pulumi.Input<string>;the suffix domain name to use by default when resolving non Fully Qualified Domain Names. In other words, this is what ends up being the search value in the /etc/resolv.conf file.
property domainNameServers
domainNameServers?: pulumi.Input<pulumi.Input<string>[]>;List of name servers to configure in /etc/resolv.conf. If you want to use the default AWS nameservers you should set this to AmazonProvidedDNS.
property netbiosNameServers
netbiosNameServers?: pulumi.Input<pulumi.Input<string>[]>;List of NETBIOS name servers.
property netbiosNodeType
netbiosNodeType?: pulumi.Input<string>;The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see RFC 2132.
property ntpServers
ntpServers?: pulumi.Input<pulumi.Input<string>[]>;List of NTP servers to configure.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
interface VpcDhcpOptionsAssociationArgs
interface VpcDhcpOptionsAssociationArgsThe set of arguments for constructing a VpcDhcpOptionsAssociation resource.
property dhcpOptionsId
dhcpOptionsId: pulumi.Input<string>;The ID of the DHCP Options Set to associate to the VPC.
property vpcId
vpcId: pulumi.Input<string>;The ID of the VPC to which we would like to associate a DHCP Options Set.
interface VpcDhcpOptionsAssociationState
interface VpcDhcpOptionsAssociationStateInput properties used for looking up and filtering VpcDhcpOptionsAssociation resources.
property dhcpOptionsId
dhcpOptionsId?: pulumi.Input<string>;The ID of the DHCP Options Set to associate to the VPC.
property vpcId
vpcId?: pulumi.Input<string>;The ID of the VPC to which we would like to associate a DHCP Options Set.
interface VpcDhcpOptionsState
interface VpcDhcpOptionsStateInput properties used for looking up and filtering VpcDhcpOptions resources.
property domainName
domainName?: pulumi.Input<string>;the suffix domain name to use by default when resolving non Fully Qualified Domain Names. In other words, this is what ends up being the search value in the /etc/resolv.conf file.
property domainNameServers
domainNameServers?: pulumi.Input<pulumi.Input<string>[]>;List of name servers to configure in /etc/resolv.conf. If you want to use the default AWS nameservers you should set this to AmazonProvidedDNS.
property netbiosNameServers
netbiosNameServers?: pulumi.Input<pulumi.Input<string>[]>;List of NETBIOS name servers.
property netbiosNodeType
netbiosNodeType?: pulumi.Input<string>;The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see RFC 2132.
property ntpServers
ntpServers?: pulumi.Input<pulumi.Input<string>[]>;List of NTP servers to configure.
property ownerId
ownerId?: pulumi.Input<string>;The ID of the AWS account that owns the DHCP options set.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
interface VpcEndpointArgs
interface VpcEndpointArgsThe set of arguments for constructing a VpcEndpoint resource.
property autoAccept
autoAccept?: pulumi.Input<boolean>;Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).
property policy
policy?: pulumi.Input<string>;A policy to attach to the endpoint that controls access to the service. Defaults to full access. All Gateway and some Interface endpoints support policies - see the relevant AWS documentation for more details.
property privateDnsEnabled
privateDnsEnabled?: pulumi.Input<boolean>;Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type Interface.
Defaults to false.
property routeTableIds
routeTableIds?: pulumi.Input<pulumi.Input<string>[]>;One or more route table IDs. Applicable for endpoints of type Gateway.
property securityGroupIds
securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;The ID of one or more security groups to associate with the network interface. Required for endpoints of type Interface.
property serviceName
serviceName: pulumi.Input<string>;The service name. For AWS services the service name is usually in the form com.amazonaws.<region>.<service> (the SageMaker Notebook service is an exception to this rule, the service name is in the form aws.sagemaker.<region>.notebook).
property subnetIds
subnetIds?: pulumi.Input<pulumi.Input<string>[]>;The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type Interface.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpcEndpointType
vpcEndpointType?: pulumi.Input<string>;The VPC endpoint type, Gateway or Interface. Defaults to Gateway.
property vpcId
vpcId: pulumi.Input<string>;The ID of the VPC in which the endpoint will be used.
interface VpcEndpointConnectionNotificationArgs
interface VpcEndpointConnectionNotificationArgsThe set of arguments for constructing a VpcEndpointConnectionNotification resource.
property connectionEvents
connectionEvents: pulumi.Input<pulumi.Input<string>[]>;One or more endpoint events for which to receive notifications.
property connectionNotificationArn
connectionNotificationArn: pulumi.Input<string>;The ARN of the SNS topic for the notifications.
property vpcEndpointId
vpcEndpointId?: pulumi.Input<string>;The ID of the VPC Endpoint to receive notifications for.
property vpcEndpointServiceId
vpcEndpointServiceId?: pulumi.Input<string>;The ID of the VPC Endpoint Service to receive notifications for.
interface VpcEndpointConnectionNotificationState
interface VpcEndpointConnectionNotificationStateInput properties used for looking up and filtering VpcEndpointConnectionNotification resources.
property connectionEvents
connectionEvents?: pulumi.Input<pulumi.Input<string>[]>;One or more endpoint events for which to receive notifications.
property connectionNotificationArn
connectionNotificationArn?: pulumi.Input<string>;The ARN of the SNS topic for the notifications.
property notificationType
notificationType?: pulumi.Input<string>;The type of notification.
property state
state?: pulumi.Input<string>;The state of the notification.
property vpcEndpointId
vpcEndpointId?: pulumi.Input<string>;The ID of the VPC Endpoint to receive notifications for.
property vpcEndpointServiceId
vpcEndpointServiceId?: pulumi.Input<string>;The ID of the VPC Endpoint Service to receive notifications for.
interface VpcEndpointRouteTableAssociationArgs
interface VpcEndpointRouteTableAssociationArgsThe set of arguments for constructing a VpcEndpointRouteTableAssociation resource.
property routeTableId
routeTableId: pulumi.Input<string>;Identifier of the EC2 Route Table to be associated with the VPC Endpoint.
property vpcEndpointId
vpcEndpointId: pulumi.Input<string>;Identifier of the VPC Endpoint with which the EC2 Route Table will be associated.
interface VpcEndpointRouteTableAssociationState
interface VpcEndpointRouteTableAssociationStateInput properties used for looking up and filtering VpcEndpointRouteTableAssociation resources.
property routeTableId
routeTableId?: pulumi.Input<string>;Identifier of the EC2 Route Table to be associated with the VPC Endpoint.
property vpcEndpointId
vpcEndpointId?: pulumi.Input<string>;Identifier of the VPC Endpoint with which the EC2 Route Table will be associated.
interface VpcEndpointServiceAllowedPrincipleArgs
interface VpcEndpointServiceAllowedPrincipleArgsThe set of arguments for constructing a VpcEndpointServiceAllowedPrinciple resource.
property principalArn
principalArn: pulumi.Input<string>;The ARN of the principal to allow permissions.
property vpcEndpointServiceId
vpcEndpointServiceId: pulumi.Input<string>;The ID of the VPC endpoint service to allow permission.
interface VpcEndpointServiceAllowedPrincipleState
interface VpcEndpointServiceAllowedPrincipleStateInput properties used for looking up and filtering VpcEndpointServiceAllowedPrinciple resources.
property principalArn
principalArn?: pulumi.Input<string>;The ARN of the principal to allow permissions.
property vpcEndpointServiceId
vpcEndpointServiceId?: pulumi.Input<string>;The ID of the VPC endpoint service to allow permission.
interface VpcEndpointServiceArgs
interface VpcEndpointServiceArgsThe set of arguments for constructing a VpcEndpointService resource.
property acceptanceRequired
acceptanceRequired: pulumi.Input<boolean>;Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - true or false.
property allowedPrincipals
allowedPrincipals?: pulumi.Input<pulumi.Input<string>[]>;The ARNs of one or more principals allowed to discover the endpoint service.
property networkLoadBalancerArns
networkLoadBalancerArns: pulumi.Input<pulumi.Input<string>[]>;The ARNs of one or more Network Load Balancers for the endpoint service.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
interface VpcEndpointServiceState
interface VpcEndpointServiceStateInput properties used for looking up and filtering VpcEndpointService resources.
property acceptanceRequired
acceptanceRequired?: pulumi.Input<boolean>;Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - true or false.
property allowedPrincipals
allowedPrincipals?: pulumi.Input<pulumi.Input<string>[]>;The ARNs of one or more principals allowed to discover the endpoint service.
property availabilityZones
availabilityZones?: pulumi.Input<pulumi.Input<string>[]>;The Availability Zones in which the service is available.
property baseEndpointDnsNames
baseEndpointDnsNames?: pulumi.Input<pulumi.Input<string>[]>;The DNS names for the service.
property managesVpcEndpoints
managesVpcEndpoints?: pulumi.Input<boolean>;Whether or not the service manages its VPC endpoints - true or false.
property networkLoadBalancerArns
networkLoadBalancerArns?: pulumi.Input<pulumi.Input<string>[]>;The ARNs of one or more Network Load Balancers for the endpoint service.
property privateDnsName
privateDnsName?: pulumi.Input<string>;The private DNS name for the service.
property serviceName
serviceName?: pulumi.Input<string>;The service name.
property serviceType
serviceType?: pulumi.Input<string>;The service type, Gateway or Interface.
property state
state?: pulumi.Input<string>;The state of the VPC endpoint service.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
interface VpcEndpointState
interface VpcEndpointStateInput properties used for looking up and filtering VpcEndpoint resources.
property autoAccept
autoAccept?: pulumi.Input<boolean>;Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).
property cidrBlocks
cidrBlocks?: pulumi.Input<pulumi.Input<string>[]>;The list of CIDR blocks for the exposed AWS service. Applicable for endpoints of type Gateway.
property dnsEntries
dnsEntries?: pulumi.Input<pulumi.Input<VpcEndpointDnsEntry>[]>;The DNS entries for the VPC Endpoint. Applicable for endpoints of type Interface. DNS blocks are documented below.
property networkInterfaceIds
networkInterfaceIds?: pulumi.Input<pulumi.Input<string>[]>;One or more network interfaces for the VPC Endpoint. Applicable for endpoints of type Interface.
property ownerId
ownerId?: pulumi.Input<string>;The ID of the AWS account that owns the VPC endpoint.
property policy
policy?: pulumi.Input<string>;A policy to attach to the endpoint that controls access to the service. Defaults to full access. All Gateway and some Interface endpoints support policies - see the relevant AWS documentation for more details.
property prefixListId
prefixListId?: pulumi.Input<string>;The prefix list ID of the exposed AWS service. Applicable for endpoints of type Gateway.
property privateDnsEnabled
privateDnsEnabled?: pulumi.Input<boolean>;Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type Interface.
Defaults to false.
property requesterManaged
requesterManaged?: pulumi.Input<boolean>;Whether or not the VPC Endpoint is being managed by its service - true or false.
property routeTableIds
routeTableIds?: pulumi.Input<pulumi.Input<string>[]>;One or more route table IDs. Applicable for endpoints of type Gateway.
property securityGroupIds
securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;The ID of one or more security groups to associate with the network interface. Required for endpoints of type Interface.
property serviceName
serviceName?: pulumi.Input<string>;The service name. For AWS services the service name is usually in the form com.amazonaws.<region>.<service> (the SageMaker Notebook service is an exception to this rule, the service name is in the form aws.sagemaker.<region>.notebook).
property state
state?: pulumi.Input<string>;The state of the VPC endpoint.
property subnetIds
subnetIds?: pulumi.Input<pulumi.Input<string>[]>;The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type Interface.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpcEndpointType
vpcEndpointType?: pulumi.Input<string>;The VPC endpoint type, Gateway or Interface. Defaults to Gateway.
property vpcId
vpcId?: pulumi.Input<string>;The ID of the VPC in which the endpoint will be used.
interface VpcEndpointSubnetAssociationArgs
interface VpcEndpointSubnetAssociationArgsThe set of arguments for constructing a VpcEndpointSubnetAssociation resource.
property subnetId
subnetId: pulumi.Input<string>;The ID of the subnet to be associated with the VPC endpoint.
property vpcEndpointId
vpcEndpointId: pulumi.Input<string>;The ID of the VPC endpoint with which the subnet will be associated.
interface VpcEndpointSubnetAssociationState
interface VpcEndpointSubnetAssociationStateInput properties used for looking up and filtering VpcEndpointSubnetAssociation resources.
property subnetId
subnetId?: pulumi.Input<string>;The ID of the subnet to be associated with the VPC endpoint.
property vpcEndpointId
vpcEndpointId?: pulumi.Input<string>;The ID of the VPC endpoint with which the subnet will be associated.
interface VpcIpv4CidrBlockAssociationArgs
interface VpcIpv4CidrBlockAssociationArgsThe set of arguments for constructing a VpcIpv4CidrBlockAssociation resource.
property cidrBlock
cidrBlock: pulumi.Input<string>;The additional IPv4 CIDR block to associate with the VPC.
property vpcId
vpcId: pulumi.Input<string>;The ID of the VPC to make the association with.
interface VpcIpv4CidrBlockAssociationState
interface VpcIpv4CidrBlockAssociationStateInput properties used for looking up and filtering VpcIpv4CidrBlockAssociation resources.
property cidrBlock
cidrBlock?: pulumi.Input<string>;The additional IPv4 CIDR block to associate with the VPC.
property vpcId
vpcId?: pulumi.Input<string>;The ID of the VPC to make the association with.
interface VpcPeeringConnectionAccepterArgs
interface VpcPeeringConnectionAccepterArgsThe set of arguments for constructing a VpcPeeringConnectionAccepter resource.
property accepter
accepter?: pulumi.Input<VpcPeeringConnectionAccepterAccepter>;A configuration block that describes VPC Peering Connection options set for the accepter VPC.
property autoAccept
autoAccept?: pulumi.Input<boolean>;Whether or not to accept the peering request. Defaults to false.
property requester
requester?: pulumi.Input<VpcPeeringConnectionAccepterRequester>;A configuration block that describes VPC Peering Connection options set for the requester VPC.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpcPeeringConnectionId
vpcPeeringConnectionId: pulumi.Input<string>;The VPC Peering Connection ID to manage.
interface VpcPeeringConnectionAccepterState
interface VpcPeeringConnectionAccepterStateInput properties used for looking up and filtering VpcPeeringConnectionAccepter resources.
property acceptStatus
acceptStatus?: pulumi.Input<string>;The status of the VPC Peering Connection request.
property accepter
accepter?: pulumi.Input<VpcPeeringConnectionAccepterAccepter>;A configuration block that describes VPC Peering Connection options set for the accepter VPC.
property autoAccept
autoAccept?: pulumi.Input<boolean>;Whether or not to accept the peering request. Defaults to false.
property peerOwnerId
peerOwnerId?: pulumi.Input<string>;The AWS account ID of the owner of the requester VPC.
property peerRegion
peerRegion?: pulumi.Input<string>;The region of the accepter VPC.
property peerVpcId
peerVpcId?: pulumi.Input<string>;The ID of the requester VPC.
property requester
requester?: pulumi.Input<VpcPeeringConnectionAccepterRequester>;A configuration block that describes VPC Peering Connection options set for the requester VPC.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpcId
vpcId?: pulumi.Input<string>;The ID of the accepter VPC.
property vpcPeeringConnectionId
vpcPeeringConnectionId?: pulumi.Input<string>;The VPC Peering Connection ID to manage.
interface VpcPeeringConnectionArgs
interface VpcPeeringConnectionArgsThe set of arguments for constructing a VpcPeeringConnection resource.
property accepter
accepter?: pulumi.Input<VpcPeeringConnectionAccepter>;An optional configuration block that allows for VPC Peering Connection options to be set for the VPC that accepts the peering connection (a maximum of one).
property autoAccept
autoAccept?: pulumi.Input<boolean>;Accept the peering (both VPCs need to be in the same AWS account).
property peerOwnerId
peerOwnerId?: pulumi.Input<string>;The AWS account ID of the owner of the peer VPC. Defaults to the account ID the AWS provider is currently connected to.
property peerRegion
peerRegion?: pulumi.Input<string>;The region of the accepter VPC of the [VPC Peering Connection]. autoAccept must be false,
and use the aws.ec2.VpcPeeringConnectionAccepter to manage the accepter side.
property peerVpcId
peerVpcId: pulumi.Input<string>;The ID of the VPC with which you are creating the VPC Peering Connection.
property requester
requester?: pulumi.Input<VpcPeeringConnectionRequester>;A optional configuration block that allows for VPC Peering Connection options to be set for the VPC that requests the peering connection (a maximum of one).
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpcId
vpcId: pulumi.Input<string>;The ID of the requester VPC.
interface VpcPeeringConnectionState
interface VpcPeeringConnectionStateInput properties used for looking up and filtering VpcPeeringConnection resources.
property acceptStatus
acceptStatus?: pulumi.Input<string>;The status of the VPC Peering Connection request.
property accepter
accepter?: pulumi.Input<VpcPeeringConnectionAccepter>;An optional configuration block that allows for VPC Peering Connection options to be set for the VPC that accepts the peering connection (a maximum of one).
property autoAccept
autoAccept?: pulumi.Input<boolean>;Accept the peering (both VPCs need to be in the same AWS account).
property peerOwnerId
peerOwnerId?: pulumi.Input<string>;The AWS account ID of the owner of the peer VPC. Defaults to the account ID the AWS provider is currently connected to.
property peerRegion
peerRegion?: pulumi.Input<string>;The region of the accepter VPC of the [VPC Peering Connection]. autoAccept must be false,
and use the aws.ec2.VpcPeeringConnectionAccepter to manage the accepter side.
property peerVpcId
peerVpcId?: pulumi.Input<string>;The ID of the VPC with which you are creating the VPC Peering Connection.
property requester
requester?: pulumi.Input<VpcPeeringConnectionRequester>;A optional configuration block that allows for VPC Peering Connection options to be set for the VPC that requests the peering connection (a maximum of one).
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpcId
vpcId?: pulumi.Input<string>;The ID of the requester VPC.
interface VpcState
interface VpcStateInput properties used for looking up and filtering Vpc resources.
property arn
arn?: pulumi.Input<string>;Amazon Resource Name (ARN) of VPC
property assignGeneratedIpv6CidrBlock
assignGeneratedIpv6CidrBlock?: pulumi.Input<boolean>;Requests an Amazon-provided IPv6 CIDR
block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or
the size of the CIDR block. Default is false.
property cidrBlock
cidrBlock?: pulumi.Input<string>;The CIDR block for the VPC.
property defaultNetworkAclId
defaultNetworkAclId?: pulumi.Input<string>;The ID of the network ACL created by default on VPC creation
property defaultRouteTableId
defaultRouteTableId?: pulumi.Input<string>;The ID of the route table created by default on VPC creation
property defaultSecurityGroupId
defaultSecurityGroupId?: pulumi.Input<string>;The ID of the security group created by default on VPC creation
property dhcpOptionsId
dhcpOptionsId?: pulumi.Input<string>;property enableClassiclink
enableClassiclink?: pulumi.Input<boolean>;A boolean flag to enable/disable ClassicLink for the VPC. Only valid in regions and accounts that support EC2 Classic. See the ClassicLink documentation for more information. Defaults false.
property enableClassiclinkDnsSupport
enableClassiclinkDnsSupport?: pulumi.Input<boolean>;A boolean flag to enable/disable ClassicLink DNS Support for the VPC. Only valid in regions and accounts that support EC2 Classic.
property enableDnsHostnames
enableDnsHostnames?: pulumi.Input<boolean>;A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.
property enableDnsSupport
enableDnsSupport?: pulumi.Input<boolean>;A boolean flag to enable/disable DNS support in the VPC. Defaults true.
property instanceTenancy
instanceTenancy?: pulumi.Input<string>;A tenancy option for instances launched into the VPC
property ipv6AssociationId
ipv6AssociationId?: pulumi.Input<string>;The association ID for the IPv6 CIDR block.
property ipv6CidrBlock
ipv6CidrBlock?: pulumi.Input<string>;The IPv6 CIDR block.
property mainRouteTableId
mainRouteTableId?: pulumi.Input<string>;The ID of the main route table associated with
this VPC. Note that you can change a VPC’s main route table by using an
aws.ec2.MainRouteTableAssociation.
property ownerId
ownerId?: pulumi.Input<string>;The ID of the AWS account that owns the VPC.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
interface VpnConnectionArgs
interface VpnConnectionArgsThe set of arguments for constructing a VpnConnection resource.
property customerGatewayId
customerGatewayId: pulumi.Input<string>;The ID of the customer gateway.
property staticRoutesOnly
staticRoutesOnly?: pulumi.Input<boolean>;Whether the VPN connection uses static routes exclusively. Static routes must be used for devices that don’t support BGP.
property tags
tags?: pulumi.Input<{[key: string]: any}>;Tags to apply to the connection.
property transitGatewayId
transitGatewayId?: pulumi.Input<string>;The ID of the EC2 Transit Gateway.
property tunnel1InsideCidr
tunnel1InsideCidr?: pulumi.Input<string>;The CIDR block of the inside IP addresses for the first VPN tunnel.
property tunnel1PresharedKey
tunnel1PresharedKey?: pulumi.Input<string>;The preshared key of the first VPN tunnel.
property tunnel2InsideCidr
tunnel2InsideCidr?: pulumi.Input<string>;The CIDR block of the inside IP addresses for the second VPN tunnel.
property tunnel2PresharedKey
tunnel2PresharedKey?: pulumi.Input<string>;The preshared key of the second VPN tunnel.
property type
type: pulumi.Input<string>;The type of VPN connection. The only type AWS supports at this time is “ipsec.1”.
property vpnGatewayId
vpnGatewayId?: pulumi.Input<string>;The ID of the Virtual Private Gateway.
interface VpnConnectionRouteArgs
interface VpnConnectionRouteArgsThe set of arguments for constructing a VpnConnectionRoute resource.
property destinationCidrBlock
destinationCidrBlock: pulumi.Input<string>;The CIDR block associated with the local subnet of the customer network.
property vpnConnectionId
vpnConnectionId: pulumi.Input<string>;The ID of the VPN connection.
interface VpnConnectionRouteState
interface VpnConnectionRouteStateInput properties used for looking up and filtering VpnConnectionRoute resources.
property destinationCidrBlock
destinationCidrBlock?: pulumi.Input<string>;The CIDR block associated with the local subnet of the customer network.
property vpnConnectionId
vpnConnectionId?: pulumi.Input<string>;The ID of the VPN connection.
interface VpnConnectionState
interface VpnConnectionStateInput properties used for looking up and filtering VpnConnection resources.
property customerGatewayConfiguration
customerGatewayConfiguration?: pulumi.Input<string>;The configuration information for the VPN connection’s customer gateway (in the native XML format).
property customerGatewayId
customerGatewayId?: pulumi.Input<string>;The ID of the customer gateway.
property routes
routes?: pulumi.Input<pulumi.Input<VpnConnectionRoute>[]>;property staticRoutesOnly
staticRoutesOnly?: pulumi.Input<boolean>;Whether the VPN connection uses static routes exclusively. Static routes must be used for devices that don’t support BGP.
property tags
tags?: pulumi.Input<{[key: string]: any}>;Tags to apply to the connection.
property transitGatewayAttachmentId
transitGatewayAttachmentId?: pulumi.Input<string>;When associated with an EC2 Transit Gateway (transitGatewayId argument), the attachment ID.
property transitGatewayId
transitGatewayId?: pulumi.Input<string>;The ID of the EC2 Transit Gateway.
property tunnel1Address
tunnel1Address?: pulumi.Input<string>;The public IP address of the first VPN tunnel.
property tunnel1BgpAsn
tunnel1BgpAsn?: pulumi.Input<string>;The bgp asn number of the first VPN tunnel.
property tunnel1BgpHoldtime
tunnel1BgpHoldtime?: pulumi.Input<number>;The bgp holdtime of the first VPN tunnel.
property tunnel1CgwInsideAddress
tunnel1CgwInsideAddress?: pulumi.Input<string>;The RFC 6890 link-local address of the first VPN tunnel (Customer Gateway Side).
property tunnel1InsideCidr
tunnel1InsideCidr?: pulumi.Input<string>;The CIDR block of the inside IP addresses for the first VPN tunnel.
property tunnel1PresharedKey
tunnel1PresharedKey?: pulumi.Input<string>;The preshared key of the first VPN tunnel.
property tunnel1VgwInsideAddress
tunnel1VgwInsideAddress?: pulumi.Input<string>;The RFC 6890 link-local address of the first VPN tunnel (VPN Gateway Side).
property tunnel2Address
tunnel2Address?: pulumi.Input<string>;The public IP address of the second VPN tunnel.
property tunnel2BgpAsn
tunnel2BgpAsn?: pulumi.Input<string>;The bgp asn number of the second VPN tunnel.
property tunnel2BgpHoldtime
tunnel2BgpHoldtime?: pulumi.Input<number>;The bgp holdtime of the second VPN tunnel.
property tunnel2CgwInsideAddress
tunnel2CgwInsideAddress?: pulumi.Input<string>;The RFC 6890 link-local address of the second VPN tunnel (Customer Gateway Side).
property tunnel2InsideCidr
tunnel2InsideCidr?: pulumi.Input<string>;The CIDR block of the inside IP addresses for the second VPN tunnel.
property tunnel2PresharedKey
tunnel2PresharedKey?: pulumi.Input<string>;The preshared key of the second VPN tunnel.
property tunnel2VgwInsideAddress
tunnel2VgwInsideAddress?: pulumi.Input<string>;The RFC 6890 link-local address of the second VPN tunnel (VPN Gateway Side).
property type
type?: pulumi.Input<string>;The type of VPN connection. The only type AWS supports at this time is “ipsec.1”.
property vgwTelemetries
vgwTelemetries?: pulumi.Input<pulumi.Input<VpnConnectionVgwTelemetry>[]>;property vpnGatewayId
vpnGatewayId?: pulumi.Input<string>;The ID of the Virtual Private Gateway.
interface VpnGatewayArgs
interface VpnGatewayArgsThe set of arguments for constructing a VpnGateway resource.
property amazonSideAsn
amazonSideAsn?: pulumi.Input<string>;The Autonomous System Number (ASN) for the Amazon side of the gateway. If you don’t specify an ASN, the virtual private gateway is created with the default ASN.
property availabilityZone
availabilityZone?: pulumi.Input<string>;The Availability Zone for the virtual private gateway.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpcId
vpcId?: pulumi.Input<string>;The VPC ID to create in.
interface VpnGatewayAttachmentArgs
interface VpnGatewayAttachmentArgsThe set of arguments for constructing a VpnGatewayAttachment resource.
property vpcId
vpcId: pulumi.Input<string>;The ID of the VPC.
property vpnGatewayId
vpnGatewayId: pulumi.Input<string>;The ID of the Virtual Private Gateway.
interface VpnGatewayAttachmentState
interface VpnGatewayAttachmentStateInput properties used for looking up and filtering VpnGatewayAttachment resources.
property vpcId
vpcId?: pulumi.Input<string>;The ID of the VPC.
property vpnGatewayId
vpnGatewayId?: pulumi.Input<string>;The ID of the Virtual Private Gateway.
interface VpnGatewayRoutePropagationArgs
interface VpnGatewayRoutePropagationArgsThe set of arguments for constructing a VpnGatewayRoutePropagation resource.
property routeTableId
routeTableId: pulumi.Input<string>;The id of the aws.ec2.RouteTable to propagate routes into.
property vpnGatewayId
vpnGatewayId: pulumi.Input<string>;The id of the aws.ec2.VpnGateway to propagate routes from.
interface VpnGatewayRoutePropagationState
interface VpnGatewayRoutePropagationStateInput properties used for looking up and filtering VpnGatewayRoutePropagation resources.
property routeTableId
routeTableId?: pulumi.Input<string>;The id of the aws.ec2.RouteTable to propagate routes into.
property vpnGatewayId
vpnGatewayId?: pulumi.Input<string>;The id of the aws.ec2.VpnGateway to propagate routes from.
interface VpnGatewayState
interface VpnGatewayStateInput properties used for looking up and filtering VpnGateway resources.
property amazonSideAsn
amazonSideAsn?: pulumi.Input<string>;The Autonomous System Number (ASN) for the Amazon side of the gateway. If you don’t specify an ASN, the virtual private gateway is created with the default ASN.
property availabilityZone
availabilityZone?: pulumi.Input<string>;The Availability Zone for the virtual private gateway.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags to assign to the resource.
property vpcId
vpcId?: pulumi.Input<string>;The VPC ID to create in.
const WindowsPlatform
InstancePlatforms insteadconst WindowsPlatform: InstancePlatform = "Windows";const WindowsWithSqlServerEnterprisePlatform
InstancePlatforms insteadconst WindowsWithSqlServerEnterprisePlatform: InstancePlatform = "Windows with SQL Server Enterprise";const WindowsWithSqlServerPlatform
InstancePlatforms insteadconst WindowsWithSqlServerPlatform: InstancePlatform = "Windows with SQL Server";const WindowsWithSqlServerStandardPlatform
InstancePlatforms insteadconst WindowsWithSqlServerStandardPlatform: InstancePlatform = "Windows with SQL Server Standard";const WindowsWithSqlServerWebPlatform
InstancePlatforms insteadconst WindowsWithSqlServerWebPlatform: InstancePlatform = "Windows with SQL Server Web";