import { TlsValidationContextProps } from './TlsValidationContextProps';
import { Value } from '../../../cloudformation/Value';
import { ClientTlsCertificateProps } from './ClientTlsCertificateProps';
/**
  A reference to an object that represents a Transport Layer Security (TLS) client policy.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html">the AWS Docs</a>
*/
export interface ClientPolicyTlsProps {
    /** <code>Validation</code>  <a name="cfn-appmesh-virtualnode-clientpolicytls-validation"></a>
  A reference to an object that represents a TLS validation context.<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> */
    validation: TlsValidationContextProps;
    /** <code>Enforce</code>  <a name="cfn-appmesh-virtualnode-clientpolicytls-enforce"></a>
  Whether the policy is enforced. The default is <code>True</code>, if a value isn’t specified.<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> */
    enforce?: Value<boolean>;
    /** <code>Ports</code>  <a name="cfn-appmesh-virtualnode-clientpolicytls-ports"></a>
  One or more ports that the policy is enforced for.<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> */
    ports?: Value<Value<number>[]>;
    /** <code>Certificate</code>  <a name="cfn-appmesh-virtualnode-clientpolicytls-certificate"></a>
  A reference to an object that represents a client’s TLS certificate.<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> */
    certificate?: ClientTlsCertificateProps;
}
