AWS SDK for C++

AWS SDK for C++ Version 1.11.892

Loading...
Searching...
No Matches
DefaultRetention.h
1
6#pragma once
7#include <aws/s3-crt/S3Crt_EXPORTS.h>
8#include <aws/s3-crt/model/EventHoldDuration.h>
9#include <aws/s3-crt/model/ObjectLockRetentionMode.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Xml {
16class XmlNode;
17} // namespace Xml
18} // namespace Utils
19namespace S3Crt {
20namespace Model {
21
34 public:
35 AWS_S3CRT_API DefaultRetention() = default;
36 AWS_S3CRT_API DefaultRetention(const Aws::Utils::Xml::XmlNode& xmlNode);
37 AWS_S3CRT_API DefaultRetention& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
38
39 AWS_S3CRT_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
40
42
47 inline ObjectLockRetentionMode GetMode() const { return m_mode; }
48 inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; }
49 inline void SetMode(ObjectLockRetentionMode value) {
50 m_modeHasBeenSet = true;
51 m_mode = value;
52 }
54 SetMode(value);
55 return *this;
56 }
58
60
64 inline int GetDays() const { return m_days; }
65 inline bool DaysHasBeenSet() const { return m_daysHasBeenSet; }
66 inline void SetDays(int value) {
67 m_daysHasBeenSet = true;
68 m_days = value;
69 }
70 inline DefaultRetention& WithDays(int value) {
71 SetDays(value);
72 return *this;
73 }
75
77
81 inline int GetYears() const { return m_years; }
82 inline bool YearsHasBeenSet() const { return m_yearsHasBeenSet; }
83 inline void SetYears(int value) {
84 m_yearsHasBeenSet = true;
85 m_years = value;
86 }
87 inline DefaultRetention& WithYears(int value) {
88 SetYears(value);
89 return *this;
90 }
92
94
99 inline const EventHoldDuration& GetDefaultEventHold() const { return m_defaultEventHold; }
100 inline bool DefaultEventHoldHasBeenSet() const { return m_defaultEventHoldHasBeenSet; }
101 template <typename DefaultEventHoldT = EventHoldDuration>
102 void SetDefaultEventHold(DefaultEventHoldT&& value) {
103 m_defaultEventHoldHasBeenSet = true;
104 m_defaultEventHold = std::forward<DefaultEventHoldT>(value);
105 }
106 template <typename DefaultEventHoldT = EventHoldDuration>
107 DefaultRetention& WithDefaultEventHold(DefaultEventHoldT&& value) {
108 SetDefaultEventHold(std::forward<DefaultEventHoldT>(value));
109 return *this;
110 }
112 private:
114
115 int m_days{0};
116
117 int m_years{0};
118
119 EventHoldDuration m_defaultEventHold;
120 bool m_modeHasBeenSet = false;
121 bool m_daysHasBeenSet = false;
122 bool m_yearsHasBeenSet = false;
123 bool m_defaultEventHoldHasBeenSet = false;
124};
125
126} // namespace Model
127} // namespace S3Crt
128} // namespace Aws
DefaultRetention & WithYears(int value)
void SetMode(ObjectLockRetentionMode value)
AWS_S3CRT_API DefaultRetention()=default
DefaultRetention & WithDefaultEventHold(DefaultEventHoldT &&value)
DefaultRetention & WithMode(ObjectLockRetentionMode value)
const EventHoldDuration & GetDefaultEventHold() const
void SetDefaultEventHold(DefaultEventHoldT &&value)
AWS_S3CRT_API DefaultRetention(const Aws::Utils::Xml::XmlNode &xmlNode)
ObjectLockRetentionMode GetMode() const
DefaultRetention & WithDays(int value)
AWS_S3CRT_API DefaultRetention & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_S3CRT_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const