/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Specifies when noncurrent object versions expire. Upon expiration, Amazon S3
* permanently deletes the noncurrent object versions. You set this lifecycle
* configuration action on a bucket that has versioning enabled (or suspended) to
* request that Amazon S3 delete noncurrent object versions at a specific period in
* the object's lifetime.See Also:
AWS
* API Reference
Specifies the number of days an object is noncurrent before Amazon S3 can * perform the associated action. The value must be a non-zero positive integer. * For information about the noncurrent days calculations, see How * Amazon S3 Calculates When an Object Became Noncurrent in the Amazon S3 * User Guide.
*/ inline int GetNoncurrentDays() const{ return m_noncurrentDays; } /** *Specifies the number of days an object is noncurrent before Amazon S3 can * perform the associated action. The value must be a non-zero positive integer. * For information about the noncurrent days calculations, see How * Amazon S3 Calculates When an Object Became Noncurrent in the Amazon S3 * User Guide.
*/ inline bool NoncurrentDaysHasBeenSet() const { return m_noncurrentDaysHasBeenSet; } /** *Specifies the number of days an object is noncurrent before Amazon S3 can * perform the associated action. The value must be a non-zero positive integer. * For information about the noncurrent days calculations, see How * Amazon S3 Calculates When an Object Became Noncurrent in the Amazon S3 * User Guide.
*/ inline void SetNoncurrentDays(int value) { m_noncurrentDaysHasBeenSet = true; m_noncurrentDays = value; } /** *Specifies the number of days an object is noncurrent before Amazon S3 can * perform the associated action. The value must be a non-zero positive integer. * For information about the noncurrent days calculations, see How * Amazon S3 Calculates When an Object Became Noncurrent in the Amazon S3 * User Guide.
*/ inline NoncurrentVersionExpiration& WithNoncurrentDays(int value) { SetNoncurrentDays(value); return *this;} /** *Specifies how many noncurrent versions Amazon S3 will retain. If there are * this many more recent noncurrent versions, Amazon S3 will take the associated * action. For more information about noncurrent versions, see Lifecycle * configuration elements in the Amazon S3 User Guide.
*/ inline int GetNewerNoncurrentVersions() const{ return m_newerNoncurrentVersions; } /** *Specifies how many noncurrent versions Amazon S3 will retain. If there are * this many more recent noncurrent versions, Amazon S3 will take the associated * action. For more information about noncurrent versions, see Lifecycle * configuration elements in the Amazon S3 User Guide.
*/ inline bool NewerNoncurrentVersionsHasBeenSet() const { return m_newerNoncurrentVersionsHasBeenSet; } /** *Specifies how many noncurrent versions Amazon S3 will retain. If there are * this many more recent noncurrent versions, Amazon S3 will take the associated * action. For more information about noncurrent versions, see Lifecycle * configuration elements in the Amazon S3 User Guide.
*/ inline void SetNewerNoncurrentVersions(int value) { m_newerNoncurrentVersionsHasBeenSet = true; m_newerNoncurrentVersions = value; } /** *Specifies how many noncurrent versions Amazon S3 will retain. If there are * this many more recent noncurrent versions, Amazon S3 will take the associated * action. For more information about noncurrent versions, see Lifecycle * configuration elements in the Amazon S3 User Guide.
*/ inline NoncurrentVersionExpiration& WithNewerNoncurrentVersions(int value) { SetNewerNoncurrentVersions(value); return *this;} private: int m_noncurrentDays; bool m_noncurrentDaysHasBeenSet = false; int m_newerNoncurrentVersions; bool m_newerNoncurrentVersionsHasBeenSet = false; }; } // namespace Model } // namespace S3 } // namespace Aws