AWS SDK for C++  1.8.95
AWS SDK for C++
ObjectLockRetention.h
Go to the documentation of this file.
1 
6 #pragma once
7 #include <aws/s3/S3_EXPORTS.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Xml
17 {
18  class XmlNode;
19 } // namespace Xml
20 } // namespace Utils
21 namespace S3
22 {
23 namespace Model
24 {
25 
32  {
33  public:
36  ObjectLockRetention& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
37 
38  void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
39 
40 
44  inline const ObjectLockRetentionMode& GetMode() const{ return m_mode; }
45 
49  inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; }
50 
54  inline void SetMode(const ObjectLockRetentionMode& value) { m_modeHasBeenSet = true; m_mode = value; }
55 
59  inline void SetMode(ObjectLockRetentionMode&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); }
60 
64  inline ObjectLockRetention& WithMode(const ObjectLockRetentionMode& value) { SetMode(value); return *this;}
65 
69  inline ObjectLockRetention& WithMode(ObjectLockRetentionMode&& value) { SetMode(std::move(value)); return *this;}
70 
71 
75  inline const Aws::Utils::DateTime& GetRetainUntilDate() const{ return m_retainUntilDate; }
76 
80  inline bool RetainUntilDateHasBeenSet() const { return m_retainUntilDateHasBeenSet; }
81 
85  inline void SetRetainUntilDate(const Aws::Utils::DateTime& value) { m_retainUntilDateHasBeenSet = true; m_retainUntilDate = value; }
86 
90  inline void SetRetainUntilDate(Aws::Utils::DateTime&& value) { m_retainUntilDateHasBeenSet = true; m_retainUntilDate = std::move(value); }
91 
95  inline ObjectLockRetention& WithRetainUntilDate(const Aws::Utils::DateTime& value) { SetRetainUntilDate(value); return *this;}
96 
100  inline ObjectLockRetention& WithRetainUntilDate(Aws::Utils::DateTime&& value) { SetRetainUntilDate(std::move(value)); return *this;}
101 
102  private:
103 
105  bool m_modeHasBeenSet;
106 
107  Aws::Utils::DateTime m_retainUntilDate;
108  bool m_retainUntilDateHasBeenSet;
109  };
110 
111 } // namespace Model
112 } // namespace S3
113 } // namespace Aws
void SetMode(ObjectLockRetentionMode &&value)
#define AWS_S3_API
Definition: S3_EXPORTS.h:28
ObjectLockRetention & WithRetainUntilDate(const Aws::Utils::DateTime &value)
ObjectLockRetention & WithMode(const ObjectLockRetentionMode &value)
void SetRetainUntilDate(const Aws::Utils::DateTime &value)
ObjectLockRetention & WithRetainUntilDate(Aws::Utils::DateTime &&value)
const ObjectLockRetentionMode & GetMode() const
void SetMode(const ObjectLockRetentionMode &value)
void SetRetainUntilDate(Aws::Utils::DateTime &&value)
const Aws::Utils::DateTime & GetRetainUntilDate() const
ObjectLockRetention & WithMode(ObjectLockRetentionMode &&value)