AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
S3OutputFormatConfig.h
1
6#pragma once
7#include <aws/appflow/Appflow_EXPORTS.h>
8#include <aws/appflow/model/AggregationConfig.h>
9#include <aws/appflow/model/FileType.h>
10#include <aws/appflow/model/PrefixConfig.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace Appflow {
22namespace Model {
23
32 public:
33 AWS_APPFLOW_API S3OutputFormatConfig() = default;
36 AWS_APPFLOW_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
43 inline FileType GetFileType() const { return m_fileType; }
44 inline bool FileTypeHasBeenSet() const { return m_fileTypeHasBeenSet; }
45 inline void SetFileType(FileType value) {
46 m_fileTypeHasBeenSet = true;
47 m_fileType = value;
48 }
50 SetFileType(value);
51 return *this;
52 }
54
56
61 inline const PrefixConfig& GetPrefixConfig() const { return m_prefixConfig; }
62 inline bool PrefixConfigHasBeenSet() const { return m_prefixConfigHasBeenSet; }
63 template <typename PrefixConfigT = PrefixConfig>
64 void SetPrefixConfig(PrefixConfigT&& value) {
65 m_prefixConfigHasBeenSet = true;
66 m_prefixConfig = std::forward<PrefixConfigT>(value);
67 }
68 template <typename PrefixConfigT = PrefixConfig>
69 S3OutputFormatConfig& WithPrefixConfig(PrefixConfigT&& value) {
70 SetPrefixConfig(std::forward<PrefixConfigT>(value));
71 return *this;
72 }
74
76
77 inline const AggregationConfig& GetAggregationConfig() const { return m_aggregationConfig; }
78 inline bool AggregationConfigHasBeenSet() const { return m_aggregationConfigHasBeenSet; }
79 template <typename AggregationConfigT = AggregationConfig>
80 void SetAggregationConfig(AggregationConfigT&& value) {
81 m_aggregationConfigHasBeenSet = true;
82 m_aggregationConfig = std::forward<AggregationConfigT>(value);
83 }
84 template <typename AggregationConfigT = AggregationConfig>
85 S3OutputFormatConfig& WithAggregationConfig(AggregationConfigT&& value) {
86 SetAggregationConfig(std::forward<AggregationConfigT>(value));
87 return *this;
88 }
90
92
103 inline bool GetPreserveSourceDataTyping() const { return m_preserveSourceDataTyping; }
104 inline bool PreserveSourceDataTypingHasBeenSet() const { return m_preserveSourceDataTypingHasBeenSet; }
105 inline void SetPreserveSourceDataTyping(bool value) {
106 m_preserveSourceDataTypingHasBeenSet = true;
107 m_preserveSourceDataTyping = value;
108 }
111 return *this;
112 }
114 private:
115 FileType m_fileType{FileType::NOT_SET};
116
117 PrefixConfig m_prefixConfig;
118
119 AggregationConfig m_aggregationConfig;
120
121 bool m_preserveSourceDataTyping{false};
122 bool m_fileTypeHasBeenSet = false;
123 bool m_prefixConfigHasBeenSet = false;
124 bool m_aggregationConfigHasBeenSet = false;
125 bool m_preserveSourceDataTypingHasBeenSet = false;
126};
127
128} // namespace Model
129} // namespace Appflow
130} // namespace Aws
AWS_APPFLOW_API S3OutputFormatConfig & operator=(Aws::Utils::Json::JsonView jsonValue)
S3OutputFormatConfig & WithFileType(FileType value)
AWS_APPFLOW_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_APPFLOW_API S3OutputFormatConfig(Aws::Utils::Json::JsonView jsonValue)
S3OutputFormatConfig & WithAggregationConfig(AggregationConfigT &&value)
const AggregationConfig & GetAggregationConfig() const
S3OutputFormatConfig & WithPreserveSourceDataTyping(bool value)
S3OutputFormatConfig & WithPrefixConfig(PrefixConfigT &&value)
void SetAggregationConfig(AggregationConfigT &&value)
AWS_APPFLOW_API S3OutputFormatConfig()=default
Aws::Utils::Json::JsonValue JsonValue