/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

A transition rule that describes when noncurrent objects transition to a * specified storage class.

See Also:

AWS * API Reference

*/ class AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails { public: AWS_SECURITYHUB_API AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails(); AWS_SECURITYHUB_API AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The number of days that an object is noncurrent before Amazon S3 can perform * the associated action.

*/ inline int GetDays() const{ return m_days; } /** *

The number of days that an object is noncurrent before Amazon S3 can perform * the associated action.

*/ inline bool DaysHasBeenSet() const { return m_daysHasBeenSet; } /** *

The number of days that an object is noncurrent before Amazon S3 can perform * the associated action.

*/ inline void SetDays(int value) { m_daysHasBeenSet = true; m_days = value; } /** *

The number of days that an object is noncurrent before Amazon S3 can perform * the associated action.

*/ inline AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails& WithDays(int value) { SetDays(value); return *this;} /** *

The class of storage to change the object to after the object is noncurrent * for the specified number of days.

*/ inline const Aws::String& GetStorageClass() const{ return m_storageClass; } /** *

The class of storage to change the object to after the object is noncurrent * for the specified number of days.

*/ inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; } /** *

The class of storage to change the object to after the object is noncurrent * for the specified number of days.

*/ inline void SetStorageClass(const Aws::String& value) { m_storageClassHasBeenSet = true; m_storageClass = value; } /** *

The class of storage to change the object to after the object is noncurrent * for the specified number of days.

*/ inline void SetStorageClass(Aws::String&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); } /** *

The class of storage to change the object to after the object is noncurrent * for the specified number of days.

*/ inline void SetStorageClass(const char* value) { m_storageClassHasBeenSet = true; m_storageClass.assign(value); } /** *

The class of storage to change the object to after the object is noncurrent * for the specified number of days.

*/ inline AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails& WithStorageClass(const Aws::String& value) { SetStorageClass(value); return *this;} /** *

The class of storage to change the object to after the object is noncurrent * for the specified number of days.

*/ inline AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails& WithStorageClass(Aws::String&& value) { SetStorageClass(std::move(value)); return *this;} /** *

The class of storage to change the object to after the object is noncurrent * for the specified number of days.

*/ inline AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails& WithStorageClass(const char* value) { SetStorageClass(value); return *this;} private: int m_days; bool m_daysHasBeenSet = false; Aws::String m_storageClass; bool m_storageClassHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws