import { Value } from '../../../cloudformation/Value';
import { AccessControlAllowHeadersProps } from './AccessControlAllowHeadersProps';
import { AccessControlAllowMethodsProps } from './AccessControlAllowMethodsProps';
import { AccessControlExposeHeadersProps } from './AccessControlExposeHeadersProps';
import { AccessControlAllowOriginsProps } from './AccessControlAllowOriginsProps';
/**
  A configuration for a set of HTTP response headers that are used for cross-origin resource sharing (CORS). CloudFront adds these headers to HTTP responses that it sends for CORS requests that match a cache behavior associated with this response headers policy.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-corsconfig.html">the AWS Docs</a>
*/
export interface CorsConfigProps {
    /** <code>AccessControlAllowCredentials</code>  <a name="cfn-cloudfront-responseheaderspolicy-corsconfig-accesscontrolallowcredentials"></a>
  A Boolean that CloudFront uses as the value for the <code>Access-Control-Allow-Credentials</code> HTTP response header.<br />
  For more information about the <code>Access-Control-Allow-Credentials</code> HTTP response header, see <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials">Access-Control-Allow-Credentials</a> in the MDN Web Docs.<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> */
    accessControlAllowCredentials: Value<boolean>;
    /** <code>AccessControlAllowHeaders</code>  <a name="cfn-cloudfront-responseheaderspolicy-corsconfig-accesscontrolallowheaders"></a>
  A list of HTTP header names that CloudFront includes as values for the <code>Access-Control-Allow-Headers</code> HTTP response header.<br />
  For more information about the <code>Access-Control-Allow-Headers</code> HTTP response header, see <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers">Access-Control-Allow-Headers</a> in the MDN Web Docs.<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> */
    accessControlAllowHeaders: AccessControlAllowHeadersProps;
    /** <code>OriginOverride</code>  <a name="cfn-cloudfront-responseheaderspolicy-corsconfig-originoverride"></a>
  A Boolean that determines whether CloudFront overrides HTTP response headers received from the origin with the ones specified in this response headers policy.<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> */
    originOverride: Value<boolean>;
    /** <code>AccessControlAllowMethods</code>  <a name="cfn-cloudfront-responseheaderspolicy-corsconfig-accesscontrolallowmethods"></a>
  A list of HTTP methods that CloudFront includes as values for the <code>Access-Control-Allow-Methods</code> HTTP response header.<br />
  For more information about the <code>Access-Control-Allow-Methods</code> HTTP response header, see <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods">Access-Control-Allow-Methods</a> in the MDN Web Docs.<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> */
    accessControlAllowMethods: AccessControlAllowMethodsProps;
    /** <code>AccessControlExposeHeaders</code>  <a name="cfn-cloudfront-responseheaderspolicy-corsconfig-accesscontrolexposeheaders"></a>
  A list of HTTP headers that CloudFront includes as values for the <code>Access-Control-Expose-Headers</code> HTTP response header.<br />
  For more information about the <code>Access-Control-Expose-Headers</code> HTTP response header, see <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers">Access-Control-Expose-Headers</a> in the MDN Web Docs.<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> */
    accessControlExposeHeaders?: AccessControlExposeHeadersProps;
    /** <code>AccessControlAllowOrigins</code>  <a name="cfn-cloudfront-responseheaderspolicy-corsconfig-accesscontrolalloworigins"></a>
  A list of origins (domain names) that CloudFront can use as the value for the <code>Access-Control-Allow-Origin</code> HTTP response header.<br />
  For more information about the <code>Access-Control-Allow-Origin</code> HTTP response header, see <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin">Access-Control-Allow-Origin</a> in the MDN Web Docs.<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> */
    accessControlAllowOrigins: AccessControlAllowOriginsProps;
    /** <code>AccessControlMaxAgeSec</code>  <a name="cfn-cloudfront-responseheaderspolicy-corsconfig-accesscontrolmaxagesec"></a>
  A number that CloudFront uses as the value for the <code>Access-Control-Max-Age</code> HTTP response header.<br />
  For more information about the <code>Access-Control-Max-Age</code> HTTP response header, see <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Max-Age">Access-Control-Max-Age</a> in the MDN Web Docs.<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> */
    accessControlMaxAgeSec?: Value<number>;
}
