AWS SDK for C++

AWS SDK for C++ Version 1.11.607

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#include <utility>
10
11namespace Aws
12{
13namespace Utils
14{
15namespace Json
16{
17 class JsonValue;
18 class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace FSx
22{
23namespace Model
24{
25
36 {
37 public:
38 AWS_FSX_API SnaplockRetentionPeriod() = default;
42
43
45
52 inline const RetentionPeriod& GetDefaultRetention() const { return m_defaultRetention; }
53 inline bool DefaultRetentionHasBeenSet() const { return m_defaultRetentionHasBeenSet; }
54 template<typename DefaultRetentionT = RetentionPeriod>
55 void SetDefaultRetention(DefaultRetentionT&& value) { m_defaultRetentionHasBeenSet = true; m_defaultRetention = std::forward<DefaultRetentionT>(value); }
56 template<typename DefaultRetentionT = RetentionPeriod>
57 SnaplockRetentionPeriod& WithDefaultRetention(DefaultRetentionT&& value) { SetDefaultRetention(std::forward<DefaultRetentionT>(value)); return *this;}
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) { m_minimumRetentionHasBeenSet = true; m_minimumRetention = std::forward<MinimumRetentionT>(value); }
69 template<typename MinimumRetentionT = RetentionPeriod>
70 SnaplockRetentionPeriod& WithMinimumRetention(MinimumRetentionT&& value) { SetMinimumRetention(std::forward<MinimumRetentionT>(value)); return *this;}
72
74
78 inline const RetentionPeriod& GetMaximumRetention() const { return m_maximumRetention; }
79 inline bool MaximumRetentionHasBeenSet() const { return m_maximumRetentionHasBeenSet; }
80 template<typename MaximumRetentionT = RetentionPeriod>
81 void SetMaximumRetention(MaximumRetentionT&& value) { m_maximumRetentionHasBeenSet = true; m_maximumRetention = std::forward<MaximumRetentionT>(value); }
82 template<typename MaximumRetentionT = RetentionPeriod>
83 SnaplockRetentionPeriod& WithMaximumRetention(MaximumRetentionT&& value) { SetMaximumRetention(std::forward<MaximumRetentionT>(value)); return *this;}
85 private:
86
87 RetentionPeriod m_defaultRetention;
88 bool m_defaultRetentionHasBeenSet = false;
89
90 RetentionPeriod m_minimumRetention;
91 bool m_minimumRetentionHasBeenSet = false;
92
93 RetentionPeriod m_maximumRetention;
94 bool m_maximumRetentionHasBeenSet = false;
95 };
96
97} // namespace Model
98} // namespace FSx
99} // 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