import { Value } from '../../../cloudformation/Value';
/**
  Specifies a cross-origin access rule for an Amazon S3 bucket.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html">the AWS Docs</a>
*/
export interface CorsRuleProps {
    /** <code>AllowedHeaders</code>  <a name="cfn-s3-bucket-cors-corsrule-allowedheaders"></a>
  Headers that are specified in the <code>Access-Control-Request-Headers</code> header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.<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> */
    allowedHeaders?: Value<Value<string>[]>;
    /** <code>AllowedMethods</code>  <a name="cfn-s3-bucket-cors-corsrule-allowedmethods"></a>
  An HTTP method that you allow the origin to run.<br />
  
  Allowed values: <code>GET</code> | <code>PUT</code> | <code>HEAD</code> | <code>POST</code> | <code>DELETE</code><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> */
    allowedMethods: Value<Value<string>[]>;
    /** <code>AllowedOrigins</code>  <a name="cfn-s3-bucket-cors-corsrule-allowedorigins"></a>
  One or more origins you want customers to be able to access the bucket from.<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> */
    allowedOrigins: Value<Value<string>[]>;
    /** <code>ExposedHeaders</code>  <a name="cfn-s3-bucket-cors-corsrule-exposedheaders"></a>
  One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript <code>XMLHttpRequest</code> object).<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> */
    exposedHeaders?: Value<Value<string>[]>;
    /** <code>Id</code>  <a name="cfn-s3-bucket-cors-corsrule-id"></a>
  A unique identifier for this rule. The value must be no more than 255 characters.<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> */
    id?: Value<string>;
    /** <code>MaxAge</code>  <a name="cfn-s3-bucket-cors-corsrule-maxage"></a>
  The time in seconds that your browser is to cache the preflight response for the specified resource.<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> */
    maxAge?: Value<number>;
}
