import { Value } from '../../../cloudformation/Value';
/**
  The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC’s default security groups are automatically assigned to your endpoint.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-endpointdetails.html">the AWS Docs</a>
*/
export interface EndpointDetailsProps {
    /** <code>AddressAllocationIds</code>  <a name="cfn-transfer-server-endpointdetails-addressallocationids"></a>
  A list of address allocation IDs that are required to attach an Elastic IP address to your server’s endpoint.<br />
  This property can only be set when <code>EndpointType</code> is set to <code>VPC</code> and it is only valid in the <code>UpdateServer</code> API.
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    addressAllocationIds?: Value<Value<string>[]>;
    /** <code>VpcId</code>  <a name="cfn-transfer-server-endpointdetails-vpcid"></a>
  The VPC ID of the virtual private cloud in which the server’s endpoint will be hosted.<br />
  This property can only be set when <code>EndpointType</code> is set to <code>VPC</code>.
  
  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> */
    vpcId?: Value<string>;
    /** <code>VpcEndpointId</code>  <a name="cfn-transfer-server-endpointdetails-vpcendpointid"></a>
  The ID of the VPC endpoint.<br />
  This property can only be set when <code>EndpointType</code> is set to <code>VPC_ENDPOINT</code>.
  
  Required: No<br />
  
  Minimum: <code>22</code><br />
  
  Maximum: <code>22</code><br />
  
  Pattern: <code>^vpce-[0-9a-f]{17}$</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> */
    vpcEndpointId?: Value<string>;
    /** <code>SecurityGroupIds</code>  <a name="cfn-transfer-server-endpointdetails-securitygroupids"></a>
  A list of security groups IDs that are available to attach to your server’s endpoint.<br />
  This property can only be set when <code>EndpointType</code> is set to <code>VPC</code>.<br />
  You can edit the <code>SecurityGroupIds</code> property in the <a href="https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html">UpdateServer</a> API only if you are changing the <code>EndpointType</code> from <code>PUBLIC</code> or <code>VPC_ENDPOINT</code> to <code>VPC</code>. To change security groups associated with your server’s VPC endpoint after creation, use the Amazon EC2 <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html">ModifyVpcEndpoint</a> API.
  
  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> */
    securityGroupIds?: Value<Value<string>[]>;
    /** <code>SubnetIds</code>  <a name="cfn-transfer-server-endpointdetails-subnetids"></a>
  A list of subnet IDs that are required to host your server endpoint in your VPC.<br />
  This property can only be set when <code>EndpointType</code> is set to <code>VPC</code>.
  
  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> */
    subnetIds?: Value<Value<string>[]>;
}
