AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
ObjectLockRetention.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/s3/S3_EXPORTS.h>
9#include <aws/s3/model/ObjectLockRetentionMode.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Xml {
16class XmlNode;
17} // namespace Xml
18} // namespace Utils
19namespace S3 {
20namespace Model {
21
28 public:
29 AWS_S3_API ObjectLockRetention() = default;
32
33 AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
34
36
39 inline ObjectLockRetentionMode GetMode() const { return m_mode; }
40 inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; }
41 inline void SetMode(ObjectLockRetentionMode value) {
42 m_modeHasBeenSet = true;
43 m_mode = value;
44 }
46 SetMode(value);
47 return *this;
48 }
50
52
55 inline const Aws::Utils::DateTime& GetRetainUntilDate() const { return m_retainUntilDate; }
56 inline bool RetainUntilDateHasBeenSet() const { return m_retainUntilDateHasBeenSet; }
57 template <typename RetainUntilDateT = Aws::Utils::DateTime>
58 void SetRetainUntilDate(RetainUntilDateT&& value) {
59 m_retainUntilDateHasBeenSet = true;
60 m_retainUntilDate = std::forward<RetainUntilDateT>(value);
61 }
62 template <typename RetainUntilDateT = Aws::Utils::DateTime>
63 ObjectLockRetention& WithRetainUntilDate(RetainUntilDateT&& value) {
64 SetRetainUntilDate(std::forward<RetainUntilDateT>(value));
65 return *this;
66 }
68 private:
70
71 Aws::Utils::DateTime m_retainUntilDate{};
72 bool m_modeHasBeenSet = false;
73 bool m_retainUntilDateHasBeenSet = false;
74};
75
76} // namespace Model
77} // namespace S3
78} // namespace Aws
void SetMode(ObjectLockRetentionMode value)
AWS_S3_API ObjectLockRetention()=default
void SetRetainUntilDate(RetainUntilDateT &&value)
AWS_S3_API ObjectLockRetention(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_S3_API ObjectLockRetention & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
ObjectLockRetention & WithRetainUntilDate(RetainUntilDateT &&value)
ObjectLockRetention & WithMode(ObjectLockRetentionMode value)
ObjectLockRetentionMode GetMode() const
const Aws::Utils::DateTime & GetRetainUntilDate() const