AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
S3OutputFormatConfig.h
1
6#pragma once
7#include <aws/appflow/Appflow_EXPORTS.h>
8#include <aws/appflow/model/FileType.h>
9#include <aws/appflow/model/PrefixConfig.h>
10#include <aws/appflow/model/AggregationConfig.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace Appflow
24{
25namespace Model
26{
27
36 {
37 public:
38 AWS_APPFLOW_API S3OutputFormatConfig() = default;
41 AWS_APPFLOW_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
49 inline FileType GetFileType() const { return m_fileType; }
50 inline bool FileTypeHasBeenSet() const { return m_fileTypeHasBeenSet; }
51 inline void SetFileType(FileType value) { m_fileTypeHasBeenSet = true; m_fileType = value; }
52 inline S3OutputFormatConfig& WithFileType(FileType value) { SetFileType(value); return *this;}
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) { m_prefixConfigHasBeenSet = true; m_prefixConfig = std::forward<PrefixConfigT>(value); }
65 template<typename PrefixConfigT = PrefixConfig>
66 S3OutputFormatConfig& WithPrefixConfig(PrefixConfigT&& value) { SetPrefixConfig(std::forward<PrefixConfigT>(value)); return *this;}
68
70
71 inline const AggregationConfig& GetAggregationConfig() const { return m_aggregationConfig; }
72 inline bool AggregationConfigHasBeenSet() const { return m_aggregationConfigHasBeenSet; }
73 template<typename AggregationConfigT = AggregationConfig>
74 void SetAggregationConfig(AggregationConfigT&& value) { m_aggregationConfigHasBeenSet = true; m_aggregationConfig = std::forward<AggregationConfigT>(value); }
75 template<typename AggregationConfigT = AggregationConfig>
76 S3OutputFormatConfig& WithAggregationConfig(AggregationConfigT&& value) { SetAggregationConfig(std::forward<AggregationConfigT>(value)); return *this;}
78
80
91 inline bool GetPreserveSourceDataTyping() const { return m_preserveSourceDataTyping; }
92 inline bool PreserveSourceDataTypingHasBeenSet() const { return m_preserveSourceDataTypingHasBeenSet; }
93 inline void SetPreserveSourceDataTyping(bool value) { m_preserveSourceDataTypingHasBeenSet = true; m_preserveSourceDataTyping = value; }
96 private:
97
98 FileType m_fileType{FileType::NOT_SET};
99 bool m_fileTypeHasBeenSet = false;
100
101 PrefixConfig m_prefixConfig;
102 bool m_prefixConfigHasBeenSet = false;
103
104 AggregationConfig m_aggregationConfig;
105 bool m_aggregationConfigHasBeenSet = false;
106
107 bool m_preserveSourceDataTyping{false};
108 bool m_preserveSourceDataTypingHasBeenSet = false;
109 };
110
111} // namespace Model
112} // namespace Appflow
113} // 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