AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
FastRestoreRule.h
1
6#pragma once
7#include <aws/dlm/DLM_EXPORTS.h>
8#include <aws/dlm/model/RetentionIntervalUnitValues.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace DLM
24{
25namespace Model
26{
27
37 {
38 public:
39 AWS_DLM_API FastRestoreRule() = default;
43
44
46
49 inline int GetCount() const { return m_count; }
50 inline bool CountHasBeenSet() const { return m_countHasBeenSet; }
51 inline void SetCount(int value) { m_countHasBeenSet = true; m_count = value; }
52 inline FastRestoreRule& WithCount(int value) { SetCount(value); return *this;}
54
56
60 inline int GetInterval() const { return m_interval; }
61 inline bool IntervalHasBeenSet() const { return m_intervalHasBeenSet; }
62 inline void SetInterval(int value) { m_intervalHasBeenSet = true; m_interval = value; }
63 inline FastRestoreRule& WithInterval(int value) { SetInterval(value); return *this;}
65
67
70 inline RetentionIntervalUnitValues GetIntervalUnit() const { return m_intervalUnit; }
71 inline bool IntervalUnitHasBeenSet() const { return m_intervalUnitHasBeenSet; }
72 inline void SetIntervalUnit(RetentionIntervalUnitValues value) { m_intervalUnitHasBeenSet = true; m_intervalUnit = value; }
75
77
80 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const { return m_availabilityZones; }
81 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
82 template<typename AvailabilityZonesT = Aws::Vector<Aws::String>>
83 void SetAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = std::forward<AvailabilityZonesT>(value); }
84 template<typename AvailabilityZonesT = Aws::Vector<Aws::String>>
85 FastRestoreRule& WithAvailabilityZones(AvailabilityZonesT&& value) { SetAvailabilityZones(std::forward<AvailabilityZonesT>(value)); return *this;}
86 template<typename AvailabilityZonesT = Aws::String>
87 FastRestoreRule& AddAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value)); return *this; }
89 private:
90
91 int m_count{0};
92 bool m_countHasBeenSet = false;
93
94 int m_interval{0};
95 bool m_intervalHasBeenSet = false;
96
98 bool m_intervalUnitHasBeenSet = false;
99
100 Aws::Vector<Aws::String> m_availabilityZones;
101 bool m_availabilityZonesHasBeenSet = false;
102 };
103
104} // namespace Model
105} // namespace DLM
106} // 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