AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
SnaplockRetentionPeriod.h
1
6#pragma once
7#include <aws/fsx/FSx_EXPORTS.h>
8#include <aws/fsx/model/RetentionPeriod.h>
9
10#include <utility>
11
12namespace Aws {
13namespace Utils {
14namespace Json {
15class JsonValue;
16class JsonView;
17} // namespace Json
18} // namespace Utils
19namespace FSx {
20namespace Model {
21
32 public:
33 AWS_FSX_API SnaplockRetentionPeriod() = default;
37
39
46 inline const RetentionPeriod& GetDefaultRetention() const { return m_defaultRetention; }
47 inline bool DefaultRetentionHasBeenSet() const { return m_defaultRetentionHasBeenSet; }
48 template <typename DefaultRetentionT = RetentionPeriod>
49 void SetDefaultRetention(DefaultRetentionT&& value) {
50 m_defaultRetentionHasBeenSet = true;
51 m_defaultRetention = std::forward<DefaultRetentionT>(value);
52 }
53 template <typename DefaultRetentionT = RetentionPeriod>
54 SnaplockRetentionPeriod& WithDefaultRetention(DefaultRetentionT&& value) {
55 SetDefaultRetention(std::forward<DefaultRetentionT>(value));
56 return *this;
57 }
59
61
65 inline const RetentionPeriod& GetMinimumRetention() const { return m_minimumRetention; }
66 inline bool MinimumRetentionHasBeenSet() const { return m_minimumRetentionHasBeenSet; }
67 template <typename MinimumRetentionT = RetentionPeriod>
68 void SetMinimumRetention(MinimumRetentionT&& value) {
69 m_minimumRetentionHasBeenSet = true;
70 m_minimumRetention = std::forward<MinimumRetentionT>(value);
71 }
72 template <typename MinimumRetentionT = RetentionPeriod>
73 SnaplockRetentionPeriod& WithMinimumRetention(MinimumRetentionT&& value) {
74 SetMinimumRetention(std::forward<MinimumRetentionT>(value));
75 return *this;
76 }
78
80
84 inline const RetentionPeriod& GetMaximumRetention() const { return m_maximumRetention; }
85 inline bool MaximumRetentionHasBeenSet() const { return m_maximumRetentionHasBeenSet; }
86 template <typename MaximumRetentionT = RetentionPeriod>
87 void SetMaximumRetention(MaximumRetentionT&& value) {
88 m_maximumRetentionHasBeenSet = true;
89 m_maximumRetention = std::forward<MaximumRetentionT>(value);
90 }
91 template <typename MaximumRetentionT = RetentionPeriod>
92 SnaplockRetentionPeriod& WithMaximumRetention(MaximumRetentionT&& value) {
93 SetMaximumRetention(std::forward<MaximumRetentionT>(value));
94 return *this;
95 }
97 private:
98 RetentionPeriod m_defaultRetention;
99
100 RetentionPeriod m_minimumRetention;
101
102 RetentionPeriod m_maximumRetention;
103 bool m_defaultRetentionHasBeenSet = false;
104 bool m_minimumRetentionHasBeenSet = false;
105 bool m_maximumRetentionHasBeenSet = false;
106};
107
108} // namespace Model
109} // namespace FSx
110} // namespace Aws
SnaplockRetentionPeriod & WithDefaultRetention(DefaultRetentionT &&value)
SnaplockRetentionPeriod & WithMinimumRetention(MinimumRetentionT &&value)
void SetMinimumRetention(MinimumRetentionT &&value)
AWS_FSX_API SnaplockRetentionPeriod & operator=(Aws::Utils::Json::JsonView jsonValue)
const RetentionPeriod & GetMinimumRetention() const
AWS_FSX_API SnaplockRetentionPeriod(Aws::Utils::Json::JsonView jsonValue)
const RetentionPeriod & GetDefaultRetention() const
AWS_FSX_API SnaplockRetentionPeriod()=default
void SetMaximumRetention(MaximumRetentionT &&value)
AWS_FSX_API Aws::Utils::Json::JsonValue Jsonize() const
const RetentionPeriod & GetMaximumRetention() const
SnaplockRetentionPeriod & WithMaximumRetention(MaximumRetentionT &&value)
void SetDefaultRetention(DefaultRetentionT &&value)
Aws::Utils::Json::JsonValue JsonValue