import { Value } from '../../cloudformation/Value';
import { VpnTunnelOptionsSpecificationProps } from './vpnconnection/VpnTunnelOptionsSpecificationProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type VPNConnectionAttributes = {
    VpnConnectionId: Attribute<string>;
};
export type VPNConnection = AwsResource<'AWS::EC2::VPNConnection', VPNConnectionProperties, VPNConnectionAttributes>;
/**
  Specifies a VPN connection between a virtual private gateway and a VPN customer gateway or a transit gateway and a VPN customer gateway.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html">the AWS Docs</a>
*/
export declare function vPNConnection(vPNConnectionProps: VPNConnectionProperties): VPNConnection;
/**
  Specifies a VPN connection between a virtual private gateway and a VPN customer gateway or a transit gateway and a VPN customer gateway.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html">the AWS Docs</a>
*/
export interface VPNConnectionProperties {
    /** <code>TransitGatewayId</code>  <a name="cfn-ec2-vpnconnection-transitgatewayid"></a>
  The ID of the transit gateway associated with the VPN connection.<br />
  You must specify either <code>TransitGatewayId</code> or <code>VpnGatewayId</code>, but not both.<br />
  
  Required: Conditional<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    transitGatewayId?: Value<string>;
    /** <code>Type</code>  <a name="cfn-ec2-vpnconnection-type"></a>
  The type of VPN connection.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>ipsec.1</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    type: Value<'ipsec.1'>;
    /** <code>VpnTunnelOptionsSpecifications</code>  <a name="cfn-ec2-vpnconnection-vpntunneloptionsspecifications"></a>
  The tunnel options for the VPN connection.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    vpnTunnelOptionsSpecifications?: VpnTunnelOptionsSpecificationProps[];
    /** <code>CustomerGatewayId</code>  <a name="cfn-ec2-vpnconnection-customergatewayid"></a>
  The ID of the customer gateway at your end of the VPN connection.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    customerGatewayId: Value<string>;
    /** <code>VpnGatewayId</code>  <a name="cfn-ec2-vpnconnection-vpngatewayid"></a>
  The ID of the virtual private gateway at the AWS side of the VPN connection.<br />
  You must specify either <code>TransitGatewayId</code> or <code>VpnGatewayId</code>, but not both.<br />
  
  Required: Conditional<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    vpnGatewayId?: Value<string>;
    /** <code>StaticRoutesOnly</code>  <a name="cfn-ec2-vpnconnection-staticroutesonly"></a>
  Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don’t support BGP.<br />
  If you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify <code>true</code>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    staticRoutesOnly?: Value<boolean>;
    /** <code>Tags</code>  <a name="cfn-ec2-vpnconnection-tags"></a>
  Any tags assigned to the VPN connection.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    tags?: Tag[];
}
