import { Value } from '../../../cloudformation/Value';
import { AwsCloudMapInstanceAttributeProps } from './AwsCloudMapInstanceAttributeProps';
/**
  An object that represents the AWS Cloud Map service discovery information for your virtual node.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapservicediscovery.html">the AWS Docs</a>
*/
export interface AwsCloudMapServiceDiscoveryProps {
    /** <code>NamespaceName</code>  <a name="cfn-appmesh-virtualnode-awscloudmapservicediscovery-namespacename"></a>
  The HTTP name of the AWS Cloud Map namespace to use.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>1024</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> */
    namespaceName: Value<string>;
    /** <code>ServiceName</code>  <a name="cfn-appmesh-virtualnode-awscloudmapservicediscovery-servicename"></a>
  The name of the AWS Cloud Map service to use.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>1024</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> */
    serviceName: Value<string>;
    /** <code>IpPreference</code>  <a name="cfn-appmesh-virtualnode-awscloudmapservicediscovery-ippreference"></a>
  The preferred IP version that this virtual node uses. Setting the IP preference on the virtual node only overrides the IP preference set for the mesh on this specific node.<br />
  
  Required: No<br />
  
  Allowed values: <code>IPv4_ONLY | IPv4_PREFERRED | IPv6_ONLY | IPv6_PREFERRED</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> */
    ipPreference?: Value<'IPv4_ONLY' | 'IPv4_PREFERRED' | 'IPv6_ONLY' | 'IPv6_PREFERRED'>;
    /** <code>Attributes</code>  <a name="cfn-appmesh-virtualnode-awscloudmapservicediscovery-attributes"></a>
  A string map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned.<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> */
    attributes?: AwsCloudMapInstanceAttributeProps[];
}
