import { DnsRecordProps } from './DnsRecordProps';
import { Value } from '../../../cloudformation/Value';
/**
  A complex type that contains information about the Amazon Route 53 DNS records that you want AWS Cloud Map to create when you register an instance.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsconfig.html">the AWS Docs</a>
*/
export interface DnsConfigProps {
    /** <code>DnsRecords</code>  <a name="cfn-servicediscovery-service-dnsconfig-dnsrecords"></a>
  An array that contains one <code>DnsRecord</code> object for each Route 53 DNS record that you want AWS Cloud Map to create when you register an instance.<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> */
    dnsRecords: DnsRecordProps[];
    /** <code>RoutingPolicy</code>  <a name="cfn-servicediscovery-service-dnsconfig-routingpolicy"></a>
  The routing policy that you want to apply to all Route 53 DNS records that AWS Cloud Map creates when you register an instance and specify this service.<br />
  If you want to use this service to register instances that create alias records, specify <code>WEIGHTED</code> for the routing policy.
  You can specify the following values:<br />
  MULTIVALUE<br />
  If you define a health check for the service and the health check is healthy, Route 53 returns the applicable value for up to eight instances.<br />
  For example, suppose that the service includes configurations for one <code>A</code> record and a health check. You use the service to register 10 instances. Route 53 responds to DNS queries with IP addresses for up to eight healthy instances. If fewer than eight instances are healthy, Route 53 responds to every DNS query with the IP addresses for all of the healthy instances.<br />
  If you don’t define a health check for the service, Route 53 assumes that all instances are healthy and returns the values for up to eight instances.<br />
  For more information about the multivalue routing policy, see <a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-multivalue">Multivalue Answer Routing</a> in the
  Route 53 Developer Guide:
  Required: No<br />
  
  Allowed values: <code>MULTIVALUE | WEIGHTED</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> */
    routingPolicy?: Value<'MULTIVALUE' | 'WEIGHTED'>;
    /** <code>NamespaceId</code>  <a name="cfn-servicediscovery-service-dnsconfig-namespaceid"></a>
  The ID of the namespace to use for DNS configuration.<br />
  You must specify a value for <code>NamespaceId</code> either for <code>DnsConfig</code> or for the <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html">service properties</a>. Don’t specify a value in both places.
  
  Required: No<br />
  
  Maximum: <code>64</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> */
    namespaceId?: Value<string>;
}
