AWS SDK for C++

AWS SDK for C++ Version 1.11.695

Loading...
Searching...
No Matches
JournalTableConfiguration.h
1
6#pragma once
7#include <aws/s3-crt/S3Crt_EXPORTS.h>
8#include <aws/s3-crt/model/MetadataTableEncryptionConfiguration.h>
9#include <aws/s3-crt/model/RecordExpiration.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Xml {
16class XmlNode;
17} // namespace Xml
18} // namespace Utils
19namespace S3Crt {
20namespace Model {
21
29 public:
30 AWS_S3CRT_API JournalTableConfiguration() = default;
33
34 AWS_S3CRT_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
35
37
40 inline const RecordExpiration& GetRecordExpiration() const { return m_recordExpiration; }
41 inline bool RecordExpirationHasBeenSet() const { return m_recordExpirationHasBeenSet; }
42 template <typename RecordExpirationT = RecordExpiration>
43 void SetRecordExpiration(RecordExpirationT&& value) {
44 m_recordExpirationHasBeenSet = true;
45 m_recordExpiration = std::forward<RecordExpirationT>(value);
46 }
47 template <typename RecordExpirationT = RecordExpiration>
48 JournalTableConfiguration& WithRecordExpiration(RecordExpirationT&& value) {
49 SetRecordExpiration(std::forward<RecordExpirationT>(value));
50 return *this;
51 }
53
55
58 inline const MetadataTableEncryptionConfiguration& GetEncryptionConfiguration() const { return m_encryptionConfiguration; }
59 inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; }
60 template <typename EncryptionConfigurationT = MetadataTableEncryptionConfiguration>
61 void SetEncryptionConfiguration(EncryptionConfigurationT&& value) {
62 m_encryptionConfigurationHasBeenSet = true;
63 m_encryptionConfiguration = std::forward<EncryptionConfigurationT>(value);
64 }
65 template <typename EncryptionConfigurationT = MetadataTableEncryptionConfiguration>
66 JournalTableConfiguration& WithEncryptionConfiguration(EncryptionConfigurationT&& value) {
67 SetEncryptionConfiguration(std::forward<EncryptionConfigurationT>(value));
68 return *this;
69 }
71 private:
72 RecordExpiration m_recordExpiration;
73 bool m_recordExpirationHasBeenSet = false;
74
75 MetadataTableEncryptionConfiguration m_encryptionConfiguration;
76 bool m_encryptionConfigurationHasBeenSet = false;
77};
78
79} // namespace Model
80} // namespace S3Crt
81} // namespace Aws
JournalTableConfiguration & WithRecordExpiration(RecordExpirationT &&value)
AWS_S3CRT_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
AWS_S3CRT_API JournalTableConfiguration()=default
AWS_S3CRT_API JournalTableConfiguration(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetEncryptionConfiguration(EncryptionConfigurationT &&value)
AWS_S3CRT_API JournalTableConfiguration & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
JournalTableConfiguration & WithEncryptionConfiguration(EncryptionConfigurationT &&value)
const MetadataTableEncryptionConfiguration & GetEncryptionConfiguration() const