UNPKG

@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)

187 lines (186 loc) 7.98 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * 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>; /** * 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>; /** * 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 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>; /** * 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>; /** * 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 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>[]>; }