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

Provides lifecycle details for the backup plan. A lifecycle defines when a * backup is transitioned to cold storage and when it expires.

See * Also:

AWS * API Reference

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

Specifies the number of days after creation that a recovery point is deleted. * Must be greater than 90 days plus MoveToColdStorageAfterDays.

*/ inline long long GetDeleteAfterDays() const{ return m_deleteAfterDays; } /** *

Specifies the number of days after creation that a recovery point is deleted. * Must be greater than 90 days plus MoveToColdStorageAfterDays.

*/ inline bool DeleteAfterDaysHasBeenSet() const { return m_deleteAfterDaysHasBeenSet; } /** *

Specifies the number of days after creation that a recovery point is deleted. * Must be greater than 90 days plus MoveToColdStorageAfterDays.

*/ inline void SetDeleteAfterDays(long long value) { m_deleteAfterDaysHasBeenSet = true; m_deleteAfterDays = value; } /** *

Specifies the number of days after creation that a recovery point is deleted. * Must be greater than 90 days plus MoveToColdStorageAfterDays.

*/ inline AwsBackupBackupPlanLifecycleDetails& WithDeleteAfterDays(long long value) { SetDeleteAfterDays(value); return *this;} /** *

Specifies the number of days after creation that a recovery point is moved to * cold storage.

*/ inline long long GetMoveToColdStorageAfterDays() const{ return m_moveToColdStorageAfterDays; } /** *

Specifies the number of days after creation that a recovery point is moved to * cold storage.

*/ inline bool MoveToColdStorageAfterDaysHasBeenSet() const { return m_moveToColdStorageAfterDaysHasBeenSet; } /** *

Specifies the number of days after creation that a recovery point is moved to * cold storage.

*/ inline void SetMoveToColdStorageAfterDays(long long value) { m_moveToColdStorageAfterDaysHasBeenSet = true; m_moveToColdStorageAfterDays = value; } /** *

Specifies the number of days after creation that a recovery point is moved to * cold storage.

*/ inline AwsBackupBackupPlanLifecycleDetails& WithMoveToColdStorageAfterDays(long long value) { SetMoveToColdStorageAfterDays(value); return *this;} private: long long m_deleteAfterDays; bool m_deleteAfterDaysHasBeenSet = false; long long m_moveToColdStorageAfterDays; bool m_moveToColdStorageAfterDaysHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws