import { SubjectAlternativeNamesProps } from './SubjectAlternativeNamesProps';
import { TlsValidationContextTrustProps } from './TlsValidationContextTrustProps';
/**
  An object that represents how the proxy will validate its peer during Transport Layer Security (TLS) negotiation.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontext.html">the AWS Docs</a>
*/
export interface TlsValidationContextProps {
    /** <code>SubjectAlternativeNames</code>  <a name="cfn-appmesh-virtualnode-tlsvalidationcontext-subjectalternativenames"></a>
  A reference to an object that represents the SANs for a Transport Layer Security (TLS) validation context. If you don’t specify SANs on the
  terminating: esh endpoint, the Envoy proxy for that node doesn’t verify the SAN on a peer client certificate. If you don’t specify SANs on the
  originating: esh endpoint, the SAN on the certificate provided by the terminating endpoint must match the mesh endpoint service discovery configuration. Since SPIRE vended certificates have a SPIFFE ID as a name, you must set the SAN since the name doesn’t match the service discovery name.<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> */
    subjectAlternativeNames?: SubjectAlternativeNamesProps;
    /** <code>Trust</code>  <a name="cfn-appmesh-virtualnode-tlsvalidationcontext-trust"></a>
  A reference to where to retrieve the trust chain when validating a peer’s Transport Layer Security (TLS) certificate.<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> */
    trust: TlsValidationContextTrustProps;
}
