import { Value } from '../../../cloudformation/Value';
import { ObjectLockRuleProps } from './ObjectLockRuleProps';
/**
  Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking Objects</a>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockconfiguration.html">the AWS Docs</a>
*/
export interface ObjectLockConfigurationProps {
    /** <code>ObjectLockEnabled</code>  <a name="cfn-s3-bucket-objectlockconfiguration-objectlockenabled"></a>
  Indicates whether this bucket has an Object Lock configuration enabled. Enable <code>ObjectLockEnabled</code> when you apply <code>ObjectLockConfiguration</code> to a bucket.<br />
  
  Required: No<br />
  
  Allowed values: <code>Enabled</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> */
    objectLockEnabled?: Value<'Enabled'>;
    /** <code>Rule</code>  <a name="cfn-s3-bucket-objectlockconfiguration-rule"></a>
  Specifies the Object Lock rule for the specified object. Enable this rule when you apply <code>ObjectLockConfiguration</code> to a bucket. If Object Lock is turned on, bucket settings require both <code>Mode</code> and a period of either <code>Days</code> or <code>Years</code>. You cannot specify <code>Days</code> and <code>Years</code> at the same time. For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html">ObjectLockRule</a> and <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html">DefaultRetention</a>.<br />
  
  Required: Conditional<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> */
    rule?: ObjectLockRuleProps;
}
