import { Value } from '../../../cloudformation/Value';
import { ServiceConnectClientAliasProps } from './ServiceConnectClientAliasProps';
/**
  The Service Connect service object configuration. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <em>Amazon Elastic Container Service Developer Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnectservice.html">the AWS Docs</a>
*/
export interface ServiceConnectServiceProps {
    /** <code>IngressPortOverride</code>  <a name="cfn-ecs-service-serviceconnectservice-ingressportoverride"></a>
  The port number for the Service Connect proxy to listen on.<br />
  Use the value of this field to bypass the proxy for traffic on the port number specified in the named <code>portMapping</code> in the task definition of this application, and then use it in your VPC security groups to allow traffic into the proxy for this Amazon ECS service.<br />
  In <code>awsvpc</code> mode and Fargate, the default value is the container port number. The container port number is in the <code>portMapping</code> in the task definition. In bridge mode, the default value is the ephemeral port of the Service Connect proxy.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>65535</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> */
    ingressPortOverride?: Value<number>;
    /** <code>ClientAliases</code>  <a name="cfn-ecs-service-serviceconnectservice-clientaliases"></a>
  The list of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1.<br />
  Each alias (“endpoint”) is a fully-qualified name and port number that other Amazon ECS tasks (“clients”) can use to connect to this service.<br />
  Each name and port mapping must be unique within the namespace.<br />
  For each <code>ServiceConnectService</code>, you must provide at least one <code>clientAlias</code> with one <code>port</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-no-interrupt">No interruption</a> */
    clientAliases?: ServiceConnectClientAliasProps[];
    /** <code>DiscoveryName</code>  <a name="cfn-ecs-service-serviceconnectservice-discoveryname"></a>
  The <code>discoveryName</code> is the name of the new AWS Cloud Map service that Amazon ECS creates for this Amazon ECS service. This must be unique within the AWS Cloud Map namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can’t start with a hyphen.<br />
  If the <code>discoveryName</code> isn’t specified, the port mapping name from the task definition is used in <code>portName.namespace</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-no-interrupt">No interruption</a> */
    discoveryName?: Value<string>;
    /** <code>PortName</code>  <a name="cfn-ecs-service-serviceconnectservice-portname"></a>
  The <code>portName</code> must match the name of one of the <code>portMappings</code> from all the containers in the task definition of this Amazon ECS service.<br />
  
  Required: Yes<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> */
    portName: Value<string>;
}
