import { Value } from '../../cloudformation/Value';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type NatGatewayAttributes = {
    NatGatewayId: Attribute<string>;
};
export type NatGateway = AwsResource<'AWS::EC2::NatGateway', NatGatewayProperties, NatGatewayAttributes>;
/**
  Specifies a network address translation (NAT) gateway in the specified subnet. You can create either a public NAT gateway or a private NAT gateway. The default is a public NAT gateway. If you create a public NAT gateway, you must specify an elastic IP address.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html">the AWS Docs</a>
*/
export declare function natGateway(natGatewayProps: NatGatewayProperties): NatGateway;
/**
  Specifies a network address translation (NAT) gateway in the specified subnet. You can create either a public NAT gateway or a private NAT gateway. The default is a public NAT gateway. If you create a public NAT gateway, you must specify an elastic IP address.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html">the AWS Docs</a>
*/
export interface NatGatewayProperties {
    /** <code>SecondaryAllocationIds</code>  <a name="cfn-ec2-natgateway-secondaryallocationids"></a>
  Secondary EIP allocation IDs. For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating">Create a NAT gateway</a> in the
  Amazon VPC User Guide: 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> */
    secondaryAllocationIds?: Value<Value<string>[]>;
    /** <code>PrivateIpAddress</code>  <a name="cfn-ec2-natgateway-privateipaddress"></a>
  The private IPv4 address to assign to the NAT gateway. If you don’t provide an address, a private IPv4 address will be automatically assigned.<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> */
    privateIpAddress?: Value<string>;
    /** <code>ConnectivityType</code>  <a name="cfn-ec2-natgateway-connectivitytype"></a>
  Indicates whether the NAT gateway supports public or private connectivity. The default is public connectivity.<br />
  
  Required: No<br />
  
  Allowed values: <code>private | public</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> */
    connectivityType?: Value<'private' | 'public'>;
    /** <code>SecondaryPrivateIpAddresses</code>  <a name="cfn-ec2-natgateway-secondaryprivateipaddresses"></a>
  Secondary private IPv4 addresses. For more information about secondary addresses, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating">Create a NAT gateway</a> in the
  Amazon Virtual Private Cloud User Guide: br />
  <code>SecondaryPrivateIpAddressCount</code> and <code>SecondaryPrivateIpAddresses</code> cannot be set at the same time.<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> */
    secondaryPrivateIpAddresses?: Value<Value<string>[]>;
    /** <code>SecondaryPrivateIpAddressCount</code>  <a name="cfn-ec2-natgateway-secondaryprivateipaddresscount"></a>
  [Private NAT gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT gateway. For more information about secondary addresses, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating">Create a NAT gateway</a> in the
  Amazon Virtual Private Cloud User Guide: br />
  <code>SecondaryPrivateIpAddressCount</code> and <code>SecondaryPrivateIpAddresses</code> cannot be set at the same time.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>31</code><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> */
    secondaryPrivateIpAddressCount?: Value<number>;
    /** <code>AllocationId</code>  <a name="cfn-ec2-natgateway-allocationid"></a>
  [Public NAT gateway only] The allocation ID of the Elastic IP address that’s associated with the NAT gateway. This property is required for a public NAT gateway and cannot be specified with a private NAT gateway.<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> */
    allocationId?: Value<string>;
    /** <code>SubnetId</code>  <a name="cfn-ec2-natgateway-subnetid"></a>
  The ID of the subnet in which the NAT gateway is located.<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> */
    subnetId: Value<string>;
    /** <code>Tags</code>  <a name="cfn-ec2-natgateway-tags"></a>
  The tags for the NAT gateway.<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[];
    /** <code>MaxDrainDurationSeconds</code>  <a name="cfn-ec2-natgateway-maxdraindurationseconds"></a>
  The maximum amount of time to wait (in seconds) before forcibly releasing the IP addresses if connections are still in progress. Default value is 350 seconds.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>4000</code><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> */
    maxDrainDurationSeconds?: Value<number>;
}
