import { ReplicationRuleAndOperatorProps } from './ReplicationRuleAndOperatorProps';
import { Value } from '../../../cloudformation/Value';
import { TagFilterProps } from './TagFilterProps';
/**
  A filter that identifies the subset of objects to which the replication rule applies. A <code>Filter</code> must specify exactly one <code>Prefix</code>, <code>TagFilter</code>, or an <code>And</code> child element.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationrulefilter.html">the AWS Docs</a>
*/
export interface ReplicationRuleFilterProps {
    /** <p> */
    and?: ReplicationRuleAndOperatorProps;
    /** <code>Prefix</code>  <a name="cfn-s3-bucket-replicationrulefilter-prefix"></a>
  An object key name prefix that identifies the subset of objects to which the rule applies.<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> */
    prefix?: Value<string>;
    /** <code>TagFilter</code>  <a name="cfn-s3-bucket-replicationrulefilter-tagfilter"></a>
  A container for specifying a tag key and value.<br />
  The rule applies only to objects that have the tag in their tag set.<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> */
    tagFilter?: TagFilterProps;
}
