AWS SDK for C++

AWS SDK for C++ Version 1.11.788

Loading...
Searching...
No Matches
FastRestoreRule.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
33 public:
34 AWS_DLM_API FastRestoreRule() = default;
38
40
43 inline int GetCount() const { return m_count; }
44 inline bool CountHasBeenSet() const { return m_countHasBeenSet; }
45 inline void SetCount(int value) {
46 m_countHasBeenSet = true;
47 m_count = value;
48 }
49 inline FastRestoreRule& WithCount(int value) {
50 SetCount(value);
51 return *this;
52 }
54
56
60 inline int GetInterval() const { return m_interval; }
61 inline bool IntervalHasBeenSet() const { return m_intervalHasBeenSet; }
62 inline void SetInterval(int value) {
63 m_intervalHasBeenSet = true;
64 m_interval = value;
65 }
66 inline FastRestoreRule& WithInterval(int value) {
67 SetInterval(value);
68 return *this;
69 }
71
73
76 inline RetentionIntervalUnitValues GetIntervalUnit() const { return m_intervalUnit; }
77 inline bool IntervalUnitHasBeenSet() const { return m_intervalUnitHasBeenSet; }
79 m_intervalUnitHasBeenSet = true;
80 m_intervalUnit = value;
81 }
83 SetIntervalUnit(value);
84 return *this;
85 }
87
89
92 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const { return m_availabilityZones; }
93 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
94 template <typename AvailabilityZonesT = Aws::Vector<Aws::String>>
95 void SetAvailabilityZones(AvailabilityZonesT&& value) {
96 m_availabilityZonesHasBeenSet = true;
97 m_availabilityZones = std::forward<AvailabilityZonesT>(value);
98 }
99 template <typename AvailabilityZonesT = Aws::Vector<Aws::String>>
100 FastRestoreRule& WithAvailabilityZones(AvailabilityZonesT&& value) {
101 SetAvailabilityZones(std::forward<AvailabilityZonesT>(value));
102 return *this;
103 }
104 template <typename AvailabilityZonesT = Aws::String>
105 FastRestoreRule& AddAvailabilityZones(AvailabilityZonesT&& value) {
106 m_availabilityZonesHasBeenSet = true;
107 m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
108 return *this;
109 }
111
113
116 inline const Aws::Vector<Aws::String>& GetAvailabilityZoneIds() const { return m_availabilityZoneIds; }
117 inline bool AvailabilityZoneIdsHasBeenSet() const { return m_availabilityZoneIdsHasBeenSet; }
118 template <typename AvailabilityZoneIdsT = Aws::Vector<Aws::String>>
119 void SetAvailabilityZoneIds(AvailabilityZoneIdsT&& value) {
120 m_availabilityZoneIdsHasBeenSet = true;
121 m_availabilityZoneIds = std::forward<AvailabilityZoneIdsT>(value);
122 }
123 template <typename AvailabilityZoneIdsT = Aws::Vector<Aws::String>>
124 FastRestoreRule& WithAvailabilityZoneIds(AvailabilityZoneIdsT&& value) {
125 SetAvailabilityZoneIds(std::forward<AvailabilityZoneIdsT>(value));
126 return *this;
127 }
128 template <typename AvailabilityZoneIdsT = Aws::String>
129 FastRestoreRule& AddAvailabilityZoneIds(AvailabilityZoneIdsT&& value) {
130 m_availabilityZoneIdsHasBeenSet = true;
131 m_availabilityZoneIds.emplace_back(std::forward<AvailabilityZoneIdsT>(value));
132 return *this;
133 }
135 private:
136 int m_count{0};
137
138 int m_interval{0};
139
141
142 Aws::Vector<Aws::String> m_availabilityZones;
143
144 Aws::Vector<Aws::String> m_availabilityZoneIds;
145 bool m_countHasBeenSet = false;
146 bool m_intervalHasBeenSet = false;
147 bool m_intervalUnitHasBeenSet = false;
148 bool m_availabilityZonesHasBeenSet = false;
149 bool m_availabilityZoneIdsHasBeenSet = false;
150};
151
152} // namespace Model
153} // namespace DLM
154} // namespace Aws
FastRestoreRule & WithAvailabilityZoneIds(AvailabilityZoneIdsT &&value)
AWS_DLM_API FastRestoreRule(Aws::Utils::Json::JsonView jsonValue)
void SetIntervalUnit(RetentionIntervalUnitValues value)
FastRestoreRule & WithInterval(int value)
FastRestoreRule & WithAvailabilityZones(AvailabilityZonesT &&value)
FastRestoreRule & WithIntervalUnit(RetentionIntervalUnitValues value)
AWS_DLM_API FastRestoreRule & operator=(Aws::Utils::Json::JsonView jsonValue)
FastRestoreRule & WithCount(int value)
FastRestoreRule & AddAvailabilityZones(AvailabilityZonesT &&value)
void SetAvailabilityZones(AvailabilityZonesT &&value)
const Aws::Vector< Aws::String > & GetAvailabilityZones() const
RetentionIntervalUnitValues GetIntervalUnit() const
AWS_DLM_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_DLM_API FastRestoreRule()=default
FastRestoreRule & AddAvailabilityZoneIds(AvailabilityZoneIdsT &&value)
void SetAvailabilityZoneIds(AvailabilityZoneIdsT &&value)
const Aws::Vector< Aws::String > & GetAvailabilityZoneIds() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue