AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
ShareRule.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/dlm/DLM_EXPORTS.h>
10#include <aws/dlm/model/RetentionIntervalUnitValues.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace DLM {
22namespace Model {
23
30class ShareRule {
31 public:
32 AWS_DLM_API ShareRule() = default;
33 AWS_DLM_API ShareRule(Aws::Utils::Json::JsonView jsonValue);
36
38
42 inline const Aws::Vector<Aws::String>& GetTargetAccounts() const { return m_targetAccounts; }
43 inline bool TargetAccountsHasBeenSet() const { return m_targetAccountsHasBeenSet; }
44 template <typename TargetAccountsT = Aws::Vector<Aws::String>>
45 void SetTargetAccounts(TargetAccountsT&& value) {
46 m_targetAccountsHasBeenSet = true;
47 m_targetAccounts = std::forward<TargetAccountsT>(value);
48 }
49 template <typename TargetAccountsT = Aws::Vector<Aws::String>>
50 ShareRule& WithTargetAccounts(TargetAccountsT&& value) {
51 SetTargetAccounts(std::forward<TargetAccountsT>(value));
52 return *this;
53 }
54 template <typename TargetAccountsT = Aws::String>
55 ShareRule& AddTargetAccounts(TargetAccountsT&& value) {
56 m_targetAccountsHasBeenSet = true;
57 m_targetAccounts.emplace_back(std::forward<TargetAccountsT>(value));
58 return *this;
59 }
61
63
67 inline int GetUnshareInterval() const { return m_unshareInterval; }
68 inline bool UnshareIntervalHasBeenSet() const { return m_unshareIntervalHasBeenSet; }
69 inline void SetUnshareInterval(int value) {
70 m_unshareIntervalHasBeenSet = true;
71 m_unshareInterval = value;
72 }
73 inline ShareRule& WithUnshareInterval(int value) {
74 SetUnshareInterval(value);
75 return *this;
76 }
78
80
83 inline RetentionIntervalUnitValues GetUnshareIntervalUnit() const { return m_unshareIntervalUnit; }
84 inline bool UnshareIntervalUnitHasBeenSet() const { return m_unshareIntervalUnitHasBeenSet; }
86 m_unshareIntervalUnitHasBeenSet = true;
87 m_unshareIntervalUnit = value;
88 }
91 return *this;
92 }
94 private:
95 Aws::Vector<Aws::String> m_targetAccounts;
96
97 int m_unshareInterval{0};
98
100 bool m_targetAccountsHasBeenSet = false;
101 bool m_unshareIntervalHasBeenSet = false;
102 bool m_unshareIntervalUnitHasBeenSet = false;
103};
104
105} // namespace Model
106} // namespace DLM
107} // namespace Aws
AWS_DLM_API ShareRule()=default
bool TargetAccountsHasBeenSet() const
Definition ShareRule.h:43
void SetUnshareInterval(int value)
Definition ShareRule.h:69
AWS_DLM_API ShareRule & operator=(Aws::Utils::Json::JsonView jsonValue)
ShareRule & WithTargetAccounts(TargetAccountsT &&value)
Definition ShareRule.h:50
RetentionIntervalUnitValues GetUnshareIntervalUnit() const
Definition ShareRule.h:83
void SetUnshareIntervalUnit(RetentionIntervalUnitValues value)
Definition ShareRule.h:85
const Aws::Vector< Aws::String > & GetTargetAccounts() const
Definition ShareRule.h:42
bool UnshareIntervalHasBeenSet() const
Definition ShareRule.h:68
AWS_DLM_API Aws::Utils::Json::JsonValue Jsonize() const
ShareRule & AddTargetAccounts(TargetAccountsT &&value)
Definition ShareRule.h:55
AWS_DLM_API ShareRule(Aws::Utils::Json::JsonView jsonValue)
ShareRule & WithUnshareIntervalUnit(RetentionIntervalUnitValues value)
Definition ShareRule.h:89
bool UnshareIntervalUnitHasBeenSet() const
Definition ShareRule.h:84
int GetUnshareInterval() const
Definition ShareRule.h:67
void SetTargetAccounts(TargetAccountsT &&value)
Definition ShareRule.h:45
ShareRule & WithUnshareInterval(int value)
Definition ShareRule.h:73
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue