/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The configuration applied to an organization's folders by its retention
* policy.See Also:
AWS
* API Reference
The folder name.
*/ inline const FolderName& GetName() const{ return m_name; } /** *The folder name.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The folder name.
*/ inline void SetName(const FolderName& value) { m_nameHasBeenSet = true; m_name = value; } /** *The folder name.
*/ inline void SetName(FolderName&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The folder name.
*/ inline FolderConfiguration& WithName(const FolderName& value) { SetName(value); return *this;} /** *The folder name.
*/ inline FolderConfiguration& WithName(FolderName&& value) { SetName(std::move(value)); return *this;} /** *The action to take on the folder contents at the end of the folder * configuration period.
*/ inline const RetentionAction& GetAction() const{ return m_action; } /** *The action to take on the folder contents at the end of the folder * configuration period.
*/ inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } /** *The action to take on the folder contents at the end of the folder * configuration period.
*/ inline void SetAction(const RetentionAction& value) { m_actionHasBeenSet = true; m_action = value; } /** *The action to take on the folder contents at the end of the folder * configuration period.
*/ inline void SetAction(RetentionAction&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } /** *The action to take on the folder contents at the end of the folder * configuration period.
*/ inline FolderConfiguration& WithAction(const RetentionAction& value) { SetAction(value); return *this;} /** *The action to take on the folder contents at the end of the folder * configuration period.
*/ inline FolderConfiguration& WithAction(RetentionAction&& value) { SetAction(std::move(value)); return *this;} /** *The number of days for which the folder-configuration action applies.
*/ inline int GetPeriod() const{ return m_period; } /** *The number of days for which the folder-configuration action applies.
*/ inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; } /** *The number of days for which the folder-configuration action applies.
*/ inline void SetPeriod(int value) { m_periodHasBeenSet = true; m_period = value; } /** *The number of days for which the folder-configuration action applies.
*/ inline FolderConfiguration& WithPeriod(int value) { SetPeriod(value); return *this;} private: FolderName m_name; bool m_nameHasBeenSet = false; RetentionAction m_action; bool m_actionHasBeenSet = false; int m_period; bool m_periodHasBeenSet = false; }; } // namespace Model } // namespace WorkMail } // namespace Aws