AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
ServerSideEncryptionRule.h
1
6#pragma once
7#include <aws/s3/S3_EXPORTS.h>
8#include <aws/s3/model/BlockedEncryptionTypes.h>
9#include <aws/s3/model/ServerSideEncryptionByDefault.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
38 public:
39 AWS_S3_API ServerSideEncryptionRule() = default;
42
43 AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
44
46
51 inline const ServerSideEncryptionByDefault& GetApplyServerSideEncryptionByDefault() const { return m_applyServerSideEncryptionByDefault; }
52 inline bool ApplyServerSideEncryptionByDefaultHasBeenSet() const { return m_applyServerSideEncryptionByDefaultHasBeenSet; }
53 template <typename ApplyServerSideEncryptionByDefaultT = ServerSideEncryptionByDefault>
54 void SetApplyServerSideEncryptionByDefault(ApplyServerSideEncryptionByDefaultT&& value) {
55 m_applyServerSideEncryptionByDefaultHasBeenSet = true;
56 m_applyServerSideEncryptionByDefault = std::forward<ApplyServerSideEncryptionByDefaultT>(value);
57 }
58 template <typename ApplyServerSideEncryptionByDefaultT = ServerSideEncryptionByDefault>
59 ServerSideEncryptionRule& WithApplyServerSideEncryptionByDefault(ApplyServerSideEncryptionByDefaultT&& value) {
60 SetApplyServerSideEncryptionByDefault(std::forward<ApplyServerSideEncryptionByDefaultT>(value));
61 return *this;
62 }
64
66
90 inline bool GetBucketKeyEnabled() const { return m_bucketKeyEnabled; }
91 inline bool BucketKeyEnabledHasBeenSet() const { return m_bucketKeyEnabledHasBeenSet; }
92 inline void SetBucketKeyEnabled(bool value) {
93 m_bucketKeyEnabledHasBeenSet = true;
94 m_bucketKeyEnabled = value;
95 }
98 return *this;
99 }
101
103
119 inline const BlockedEncryptionTypes& GetBlockedEncryptionTypes() const { return m_blockedEncryptionTypes; }
120 inline bool BlockedEncryptionTypesHasBeenSet() const { return m_blockedEncryptionTypesHasBeenSet; }
121 template <typename BlockedEncryptionTypesT = BlockedEncryptionTypes>
122 void SetBlockedEncryptionTypes(BlockedEncryptionTypesT&& value) {
123 m_blockedEncryptionTypesHasBeenSet = true;
124 m_blockedEncryptionTypes = std::forward<BlockedEncryptionTypesT>(value);
125 }
126 template <typename BlockedEncryptionTypesT = BlockedEncryptionTypes>
127 ServerSideEncryptionRule& WithBlockedEncryptionTypes(BlockedEncryptionTypesT&& value) {
128 SetBlockedEncryptionTypes(std::forward<BlockedEncryptionTypesT>(value));
129 return *this;
130 }
132 private:
133 ServerSideEncryptionByDefault m_applyServerSideEncryptionByDefault;
134
135 bool m_bucketKeyEnabled{false};
136
137 BlockedEncryptionTypes m_blockedEncryptionTypes;
138 bool m_applyServerSideEncryptionByDefaultHasBeenSet = false;
139 bool m_bucketKeyEnabledHasBeenSet = false;
140 bool m_blockedEncryptionTypesHasBeenSet = false;
141};
142
143} // namespace Model
144} // namespace S3
145} // namespace Aws
ServerSideEncryptionRule & WithApplyServerSideEncryptionByDefault(ApplyServerSideEncryptionByDefaultT &&value)
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
ServerSideEncryptionRule & WithBlockedEncryptionTypes(BlockedEncryptionTypesT &&value)
void SetApplyServerSideEncryptionByDefault(ApplyServerSideEncryptionByDefaultT &&value)
AWS_S3_API ServerSideEncryptionRule()=default
AWS_S3_API ServerSideEncryptionRule(const Aws::Utils::Xml::XmlNode &xmlNode)
const ServerSideEncryptionByDefault & GetApplyServerSideEncryptionByDefault() const
const BlockedEncryptionTypes & GetBlockedEncryptionTypes() const
AWS_S3_API ServerSideEncryptionRule & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
ServerSideEncryptionRule & WithBucketKeyEnabled(bool value)
void SetBlockedEncryptionTypes(BlockedEncryptionTypesT &&value)