import { Value } from '../../../cloudformation/Value';
/**
  Specifies how requests are redirected. In the event of an error, you can specify a different error code to return.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html">the AWS Docs</a>
*/
export interface RedirectRuleProps {
    /** <code>HostName</code>  <a name="cfn-s3-websiteconfiguration-redirectrule-hostname"></a>
  The host name to use in the redirect request.<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> */
    hostName?: Value<string>;
    /** <code>HttpRedirectCode</code>  <a name="cfn-s3-websiteconfiguration-redirectrule-httpredirectcode"></a>
  The HTTP redirect code to use on the response. Not required if one of the siblings is present.<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> */
    httpRedirectCode?: Value<string>;
    /** <code>Protocol</code>  <a name="cfn-s3-websiteconfiguration-redirectrule-protocol"></a>
  Protocol to use when redirecting requests. The default is the protocol that is used in the original request.<br />
  
  Required: No<br />
  
  Allowed values: <code>http | https</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> */
    protocol?: Value<'http' | 'https'>;
    /** <code>ReplaceKeyPrefixWith</code>  <a name="cfn-s3-websiteconfiguration-redirectrule-replacekeyprefixwith"></a>
  The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix <code>docs/</code> (objects in the <code>docs/</code> folder) to <code>documents/</code>, you can set a condition block with <code>KeyPrefixEquals</code> set to <code>docs/</code> and in the Redirect set <code>ReplaceKeyPrefixWith</code> to <code>/documents</code>. Not required if one of the siblings is present. Can be present only if <code>ReplaceKeyWith</code> is not provided.<br />
  Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints"> XML related object key constraints</a>.
  
  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> */
    replaceKeyPrefixWith?: Value<string>;
    /** <code>ReplaceKeyWith</code>  <a name="cfn-s3-websiteconfiguration-redirectrule-replacekeywith"></a>
  The specific object key to use in the redirect request. For example, redirect request to <code>error.html</code>. Not required if one of the siblings is present. Can be present only if <code>ReplaceKeyPrefixWith</code> is not provided.<br />
  Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints"> XML related object key constraints</a>.
  
  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> */
    replaceKeyWith?: Value<string>;
}
