@pulumi/aws-native
Version:
The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)
212 lines (211 loc) • 9.66 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
* Specifies a VPN connection between a virtual private gateway and a VPN customer gateway or a transit gateway and a VPN customer gateway.
* To specify a VPN connection between a transit gateway and customer gateway, use the ``TransitGatewayId`` and ``CustomerGatewayId`` properties.
* To specify a VPN connection between a virtual private gateway and customer gateway, use the ``VpnGatewayId`` and ``CustomerGatewayId`` properties.
* For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*.
*/
export declare class VpnConnection extends pulumi.CustomResource {
/**
* Get an existing VpnConnection resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): VpnConnection;
/**
* Returns true if the given object is an instance of VpnConnection. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is VpnConnection;
/**
* The ID of the customer gateway at your end of the VPN connection.
*/
readonly customerGatewayId: pulumi.Output<string>;
/**
* Indicate whether to enable acceleration for the VPN connection.
* Default: ``false``
*/
readonly enableAcceleration: pulumi.Output<boolean | undefined>;
/**
* The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.
* Default: ``0.0.0.0/0``
*/
readonly localIpv4NetworkCidr: pulumi.Output<string | undefined>;
/**
* The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.
* Default: ``::/0``
*/
readonly localIpv6NetworkCidr: pulumi.Output<string | undefined>;
/**
* The type of IP address assigned to the outside interface of the customer gateway device.
* Valid values: ``PrivateIpv4`` | ``PublicIpv4`` | ``Ipv6``
* Default: ``PublicIpv4``
*/
readonly outsideIpAddressType: pulumi.Output<string | undefined>;
/**
* Describes the storage location for an instance store-backed AMI.
*/
readonly preSharedKeyStorage: pulumi.Output<enums.ec2.VpnConnectionPreSharedKeyStorage | undefined>;
/**
* The IPv4 CIDR on the AWS side of the VPN connection.
* Default: ``0.0.0.0/0``
*/
readonly remoteIpv4NetworkCidr: pulumi.Output<string | undefined>;
/**
* The IPv6 CIDR on the AWS side of the VPN connection.
* Default: ``::/0``
*/
readonly remoteIpv6NetworkCidr: pulumi.Output<string | undefined>;
/**
* Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.
* If you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify ``true``.
*/
readonly staticRoutesOnly: pulumi.Output<boolean | undefined>;
/**
* Any tags assigned to the VPN connection.
*/
readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
/**
* The ID of the transit gateway associated with the VPN connection.
* You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both.
*/
readonly transitGatewayId: pulumi.Output<string | undefined>;
/**
* The transit gateway attachment ID to use for the VPN tunnel.
* Required if ``OutsideIpAddressType`` is set to ``PrivateIpv4``.
*/
readonly transportTransitGatewayAttachmentId: pulumi.Output<string | undefined>;
/**
* The desired bandwidth specification for the VPN tunnel, used when creating or modifying VPN connection options to set the tunnel's throughput capacity. `standard` supports up to 1.25 Gbps per tunnel, while `large` supports up to 5 Gbps per tunnel. The default value is `standard` . Existing VPN connections without a bandwidth setting will automatically default to `standard` .
*/
readonly tunnelBandwidth: pulumi.Output<enums.ec2.VpnConnectionTunnelBandwidth | undefined>;
/**
* Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.
* Default: ``ipv4``
*/
readonly tunnelInsideIpVersion: pulumi.Output<string | undefined>;
/**
* The type of VPN connection.
*/
readonly type: pulumi.Output<string>;
/**
* The ID of the VPN concentrator to associate with the VPN connection.
*/
readonly vpnConcentratorId: pulumi.Output<string | undefined>;
/**
* The ID of the VPN connection.
*/
readonly vpnConnectionId: pulumi.Output<string>;
/**
* The ID of the virtual private gateway at the AWS side of the VPN connection.
* You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both.
*/
readonly vpnGatewayId: pulumi.Output<string | undefined>;
/**
* The tunnel options for the VPN connection.
*/
readonly vpnTunnelOptionsSpecifications: pulumi.Output<outputs.ec2.VpnConnectionVpnTunnelOptionsSpecification[] | undefined>;
/**
* Create a VpnConnection resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: VpnConnectionArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a VpnConnection resource.
*/
export interface VpnConnectionArgs {
/**
* The ID of the customer gateway at your end of the VPN connection.
*/
customerGatewayId: pulumi.Input<string>;
/**
* Indicate whether to enable acceleration for the VPN connection.
* Default: ``false``
*/
enableAcceleration?: pulumi.Input<boolean>;
/**
* The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.
* Default: ``0.0.0.0/0``
*/
localIpv4NetworkCidr?: pulumi.Input<string>;
/**
* The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.
* Default: ``::/0``
*/
localIpv6NetworkCidr?: pulumi.Input<string>;
/**
* The type of IP address assigned to the outside interface of the customer gateway device.
* Valid values: ``PrivateIpv4`` | ``PublicIpv4`` | ``Ipv6``
* Default: ``PublicIpv4``
*/
outsideIpAddressType?: pulumi.Input<string>;
/**
* Describes the storage location for an instance store-backed AMI.
*/
preSharedKeyStorage?: pulumi.Input<enums.ec2.VpnConnectionPreSharedKeyStorage>;
/**
* The IPv4 CIDR on the AWS side of the VPN connection.
* Default: ``0.0.0.0/0``
*/
remoteIpv4NetworkCidr?: pulumi.Input<string>;
/**
* The IPv6 CIDR on the AWS side of the VPN connection.
* Default: ``::/0``
*/
remoteIpv6NetworkCidr?: pulumi.Input<string>;
/**
* Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.
* If you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify ``true``.
*/
staticRoutesOnly?: pulumi.Input<boolean>;
/**
* Any tags assigned to the VPN connection.
*/
tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
/**
* The ID of the transit gateway associated with the VPN connection.
* You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both.
*/
transitGatewayId?: pulumi.Input<string>;
/**
* The transit gateway attachment ID to use for the VPN tunnel.
* Required if ``OutsideIpAddressType`` is set to ``PrivateIpv4``.
*/
transportTransitGatewayAttachmentId?: pulumi.Input<string>;
/**
* The desired bandwidth specification for the VPN tunnel, used when creating or modifying VPN connection options to set the tunnel's throughput capacity. `standard` supports up to 1.25 Gbps per tunnel, while `large` supports up to 5 Gbps per tunnel. The default value is `standard` . Existing VPN connections without a bandwidth setting will automatically default to `standard` .
*/
tunnelBandwidth?: pulumi.Input<enums.ec2.VpnConnectionTunnelBandwidth>;
/**
* Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.
* Default: ``ipv4``
*/
tunnelInsideIpVersion?: pulumi.Input<string>;
/**
* The type of VPN connection.
*/
type: pulumi.Input<string>;
/**
* The ID of the VPN concentrator to associate with the VPN connection.
*/
vpnConcentratorId?: pulumi.Input<string>;
/**
* The ID of the virtual private gateway at the AWS side of the VPN connection.
* You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both.
*/
vpnGatewayId?: pulumi.Input<string>;
/**
* The tunnel options for the VPN connection.
*/
vpnTunnelOptionsSpecifications?: pulumi.Input<pulumi.Input<inputs.ec2.VpnConnectionVpnTunnelOptionsSpecificationArgs>[]>;
}