AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ObjectLockConfiguration.h
1
6#pragma once
7#include <aws/s3/S3_EXPORTS.h>
8#include <aws/s3/model/ObjectLockEnabled.h>
9#include <aws/s3/model/ObjectLockRule.h>
10#include <utility>
11
12namespace Aws
13{
14namespace Utils
15{
16namespace Xml
17{
18 class XmlNode;
19} // namespace Xml
20} // namespace Utils
21namespace S3
22{
23namespace Model
24{
25
33 {
34 public:
35 AWS_S3_API ObjectLockConfiguration() = default;
38
39 AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
40
41
43
48 inline ObjectLockEnabled GetObjectLockEnabled() const { return m_objectLockEnabled; }
49 inline bool ObjectLockEnabledHasBeenSet() const { return m_objectLockEnabledHasBeenSet; }
50 inline void SetObjectLockEnabled(ObjectLockEnabled value) { m_objectLockEnabledHasBeenSet = true; m_objectLockEnabled = value; }
53
55
62 inline const ObjectLockRule& GetRule() const { return m_rule; }
63 inline bool RuleHasBeenSet() const { return m_ruleHasBeenSet; }
64 template<typename RuleT = ObjectLockRule>
65 void SetRule(RuleT&& value) { m_ruleHasBeenSet = true; m_rule = std::forward<RuleT>(value); }
66 template<typename RuleT = ObjectLockRule>
67 ObjectLockConfiguration& WithRule(RuleT&& value) { SetRule(std::forward<RuleT>(value)); return *this;}
69 private:
70
72 bool m_objectLockEnabledHasBeenSet = false;
73
74 ObjectLockRule m_rule;
75 bool m_ruleHasBeenSet = false;
76 };
77
78} // namespace Model
79} // namespace S3
80} // namespace Aws
AWS_S3_API ObjectLockConfiguration & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
ObjectLockConfiguration & WithRule(RuleT &&value)
AWS_S3_API ObjectLockConfiguration(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
void SetObjectLockEnabled(ObjectLockEnabled value)
AWS_S3_API ObjectLockConfiguration()=default
ObjectLockConfiguration & WithObjectLockEnabled(ObjectLockEnabled value)