AWS SDK for C++

AWS SDK for C++ Version 1.11.719

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 private:
112 int m_count{0};
113
114 int m_interval{0};
115
117
118 Aws::Vector<Aws::String> m_availabilityZones;
119 bool m_countHasBeenSet = false;
120 bool m_intervalHasBeenSet = false;
121 bool m_intervalUnitHasBeenSet = false;
122 bool m_availabilityZonesHasBeenSet = false;
123};
124
125} // namespace Model
126} // namespace DLM
127} // namespace Aws
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
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue