/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Specifies the S3 Object Lock rule for the specified object. In Amazon S3,
* Object Lock can help prevent objects from being deleted or overwritten for a
* fixed amount of time or indefinitely. See Also:
AWS
* API Reference
The default Object Lock retention mode and period that you want to apply to * new objects placed in the specified bucket.
*/ inline const AwsS3BucketObjectLockConfigurationRuleDefaultRetentionDetails& GetDefaultRetention() const{ return m_defaultRetention; } /** *The default Object Lock retention mode and period that you want to apply to * new objects placed in the specified bucket.
*/ inline bool DefaultRetentionHasBeenSet() const { return m_defaultRetentionHasBeenSet; } /** *The default Object Lock retention mode and period that you want to apply to * new objects placed in the specified bucket.
*/ inline void SetDefaultRetention(const AwsS3BucketObjectLockConfigurationRuleDefaultRetentionDetails& value) { m_defaultRetentionHasBeenSet = true; m_defaultRetention = value; } /** *The default Object Lock retention mode and period that you want to apply to * new objects placed in the specified bucket.
*/ inline void SetDefaultRetention(AwsS3BucketObjectLockConfigurationRuleDefaultRetentionDetails&& value) { m_defaultRetentionHasBeenSet = true; m_defaultRetention = std::move(value); } /** *The default Object Lock retention mode and period that you want to apply to * new objects placed in the specified bucket.
*/ inline AwsS3BucketObjectLockConfigurationRuleDetails& WithDefaultRetention(const AwsS3BucketObjectLockConfigurationRuleDefaultRetentionDetails& value) { SetDefaultRetention(value); return *this;} /** *The default Object Lock retention mode and period that you want to apply to * new objects placed in the specified bucket.
*/ inline AwsS3BucketObjectLockConfigurationRuleDetails& WithDefaultRetention(AwsS3BucketObjectLockConfigurationRuleDefaultRetentionDetails&& value) { SetDefaultRetention(std::move(value)); return *this;} private: AwsS3BucketObjectLockConfigurationRuleDefaultRetentionDetails m_defaultRetention; bool m_defaultRetentionHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws