7#include <aws/dlm/DLM_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/dlm/model/RetentionIntervalUnitValues.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
50 template<
typename TargetAccountsT = Aws::Vector<Aws::String>>
51 void SetTargetAccounts(TargetAccountsT&& value) { m_targetAccountsHasBeenSet =
true; m_targetAccounts = std::forward<TargetAccountsT>(value); }
52 template<
typename TargetAccountsT = Aws::Vector<Aws::String>>
54 template<
typename TargetAccountsT = Aws::String>
55 ShareRule&
AddTargetAccounts(TargetAccountsT&& value) { m_targetAccountsHasBeenSet =
true; m_targetAccounts.emplace_back(std::forward<TargetAccountsT>(value));
return *
this; }
65 inline void SetUnshareInterval(
int value) { m_unshareIntervalHasBeenSet =
true; m_unshareInterval = value; }
81 bool m_targetAccountsHasBeenSet =
false;
83 int m_unshareInterval{0};
84 bool m_unshareIntervalHasBeenSet =
false;
87 bool m_unshareIntervalUnitHasBeenSet =
false;
AWS_DLM_API ShareRule()=default
bool TargetAccountsHasBeenSet() const
void SetUnshareInterval(int value)
AWS_DLM_API ShareRule & operator=(Aws::Utils::Json::JsonView jsonValue)
ShareRule & WithTargetAccounts(TargetAccountsT &&value)
RetentionIntervalUnitValues GetUnshareIntervalUnit() const
void SetUnshareIntervalUnit(RetentionIntervalUnitValues value)
const Aws::Vector< Aws::String > & GetTargetAccounts() const
bool UnshareIntervalHasBeenSet() const
AWS_DLM_API Aws::Utils::Json::JsonValue Jsonize() const
ShareRule & AddTargetAccounts(TargetAccountsT &&value)
AWS_DLM_API ShareRule(Aws::Utils::Json::JsonView jsonValue)
ShareRule & WithUnshareIntervalUnit(RetentionIntervalUnitValues value)
bool UnshareIntervalUnitHasBeenSet() const
int GetUnshareInterval() const
void SetTargetAccounts(TargetAccountsT &&value)
ShareRule & WithUnshareInterval(int value)
RetentionIntervalUnitValues
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue