AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ServerSideEncryptionConfiguration.h
1
6#pragma once
7#include <aws/s3/S3_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/s3/model/ServerSideEncryptionRule.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 ServerSideEncryptionConfiguration() = default;
38
39 AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
40
41
43
47 inline const Aws::Vector<ServerSideEncryptionRule>& GetRules() const { return m_rules; }
48 inline bool RulesHasBeenSet() const { return m_rulesHasBeenSet; }
49 template<typename RulesT = Aws::Vector<ServerSideEncryptionRule>>
50 void SetRules(RulesT&& value) { m_rulesHasBeenSet = true; m_rules = std::forward<RulesT>(value); }
51 template<typename RulesT = Aws::Vector<ServerSideEncryptionRule>>
52 ServerSideEncryptionConfiguration& WithRules(RulesT&& value) { SetRules(std::forward<RulesT>(value)); return *this;}
53 template<typename RulesT = ServerSideEncryptionRule>
54 ServerSideEncryptionConfiguration& AddRules(RulesT&& value) { m_rulesHasBeenSet = true; m_rules.emplace_back(std::forward<RulesT>(value)); return *this; }
56 private:
57
59 bool m_rulesHasBeenSet = false;
60 };
61
62} // namespace Model
63} // namespace S3
64} // namespace Aws
ServerSideEncryptionConfiguration & AddRules(RulesT &&value)
const Aws::Vector< ServerSideEncryptionRule > & GetRules() const
AWS_S3_API ServerSideEncryptionConfiguration & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
ServerSideEncryptionConfiguration & WithRules(RulesT &&value)
AWS_S3_API ServerSideEncryptionConfiguration(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
std::vector< T, Aws::Allocator< T > > Vector