1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/s3-crt/S3Crt_EXPORTS.h> 8 #include <aws/s3-crt/model/CSVInput.h> 9 #include <aws/s3-crt/model/CompressionType.h> 10 #include <aws/s3-crt/model/JSONInput.h> 11 #include <aws/s3-crt/model/ParquetInput.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Utils 17 { 18 namespace Xml 19 { 20 class XmlNode; 21 } // namespace Xml 22 } // namespace Utils 23 namespace S3Crt 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>Describes the serialization format of the object.</p><p><h3>See Also:</h3> 30 * <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InputSerialization">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_S3CRT_API InputSerialization 35 { 36 public: 37 InputSerialization(); 38 InputSerialization(const Aws::Utils::Xml::XmlNode& xmlNode); 39 InputSerialization& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); 40 41 void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; 42 43 44 /** 45 * <p>Describes the serialization of a CSV-encoded object.</p> 46 */ GetCSV()47 inline const CSVInput& GetCSV() const{ return m_cSV; } 48 49 /** 50 * <p>Describes the serialization of a CSV-encoded object.</p> 51 */ CSVHasBeenSet()52 inline bool CSVHasBeenSet() const { return m_cSVHasBeenSet; } 53 54 /** 55 * <p>Describes the serialization of a CSV-encoded object.</p> 56 */ SetCSV(const CSVInput & value)57 inline void SetCSV(const CSVInput& value) { m_cSVHasBeenSet = true; m_cSV = value; } 58 59 /** 60 * <p>Describes the serialization of a CSV-encoded object.</p> 61 */ SetCSV(CSVInput && value)62 inline void SetCSV(CSVInput&& value) { m_cSVHasBeenSet = true; m_cSV = std::move(value); } 63 64 /** 65 * <p>Describes the serialization of a CSV-encoded object.</p> 66 */ WithCSV(const CSVInput & value)67 inline InputSerialization& WithCSV(const CSVInput& value) { SetCSV(value); return *this;} 68 69 /** 70 * <p>Describes the serialization of a CSV-encoded object.</p> 71 */ WithCSV(CSVInput && value)72 inline InputSerialization& WithCSV(CSVInput&& value) { SetCSV(std::move(value)); return *this;} 73 74 75 /** 76 * <p>Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. 77 * Default Value: NONE.</p> 78 */ GetCompressionType()79 inline const CompressionType& GetCompressionType() const{ return m_compressionType; } 80 81 /** 82 * <p>Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. 83 * Default Value: NONE.</p> 84 */ CompressionTypeHasBeenSet()85 inline bool CompressionTypeHasBeenSet() const { return m_compressionTypeHasBeenSet; } 86 87 /** 88 * <p>Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. 89 * Default Value: NONE.</p> 90 */ SetCompressionType(const CompressionType & value)91 inline void SetCompressionType(const CompressionType& value) { m_compressionTypeHasBeenSet = true; m_compressionType = value; } 92 93 /** 94 * <p>Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. 95 * Default Value: NONE.</p> 96 */ SetCompressionType(CompressionType && value)97 inline void SetCompressionType(CompressionType&& value) { m_compressionTypeHasBeenSet = true; m_compressionType = std::move(value); } 98 99 /** 100 * <p>Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. 101 * Default Value: NONE.</p> 102 */ WithCompressionType(const CompressionType & value)103 inline InputSerialization& WithCompressionType(const CompressionType& value) { SetCompressionType(value); return *this;} 104 105 /** 106 * <p>Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. 107 * Default Value: NONE.</p> 108 */ WithCompressionType(CompressionType && value)109 inline InputSerialization& WithCompressionType(CompressionType&& value) { SetCompressionType(std::move(value)); return *this;} 110 111 112 /** 113 * <p>Specifies JSON as object's input serialization format.</p> 114 */ GetJSON()115 inline const JSONInput& GetJSON() const{ return m_jSON; } 116 117 /** 118 * <p>Specifies JSON as object's input serialization format.</p> 119 */ JSONHasBeenSet()120 inline bool JSONHasBeenSet() const { return m_jSONHasBeenSet; } 121 122 /** 123 * <p>Specifies JSON as object's input serialization format.</p> 124 */ SetJSON(const JSONInput & value)125 inline void SetJSON(const JSONInput& value) { m_jSONHasBeenSet = true; m_jSON = value; } 126 127 /** 128 * <p>Specifies JSON as object's input serialization format.</p> 129 */ SetJSON(JSONInput && value)130 inline void SetJSON(JSONInput&& value) { m_jSONHasBeenSet = true; m_jSON = std::move(value); } 131 132 /** 133 * <p>Specifies JSON as object's input serialization format.</p> 134 */ WithJSON(const JSONInput & value)135 inline InputSerialization& WithJSON(const JSONInput& value) { SetJSON(value); return *this;} 136 137 /** 138 * <p>Specifies JSON as object's input serialization format.</p> 139 */ WithJSON(JSONInput && value)140 inline InputSerialization& WithJSON(JSONInput&& value) { SetJSON(std::move(value)); return *this;} 141 142 143 /** 144 * <p>Specifies Parquet as object's input serialization format.</p> 145 */ GetParquet()146 inline const ParquetInput& GetParquet() const{ return m_parquet; } 147 148 /** 149 * <p>Specifies Parquet as object's input serialization format.</p> 150 */ ParquetHasBeenSet()151 inline bool ParquetHasBeenSet() const { return m_parquetHasBeenSet; } 152 153 /** 154 * <p>Specifies Parquet as object's input serialization format.</p> 155 */ SetParquet(const ParquetInput & value)156 inline void SetParquet(const ParquetInput& value) { m_parquetHasBeenSet = true; m_parquet = value; } 157 158 /** 159 * <p>Specifies Parquet as object's input serialization format.</p> 160 */ SetParquet(ParquetInput && value)161 inline void SetParquet(ParquetInput&& value) { m_parquetHasBeenSet = true; m_parquet = std::move(value); } 162 163 /** 164 * <p>Specifies Parquet as object's input serialization format.</p> 165 */ WithParquet(const ParquetInput & value)166 inline InputSerialization& WithParquet(const ParquetInput& value) { SetParquet(value); return *this;} 167 168 /** 169 * <p>Specifies Parquet as object's input serialization format.</p> 170 */ WithParquet(ParquetInput && value)171 inline InputSerialization& WithParquet(ParquetInput&& value) { SetParquet(std::move(value)); return *this;} 172 173 private: 174 175 CSVInput m_cSV; 176 bool m_cSVHasBeenSet; 177 178 CompressionType m_compressionType; 179 bool m_compressionTypeHasBeenSet; 180 181 JSONInput m_jSON; 182 bool m_jSONHasBeenSet; 183 184 ParquetInput m_parquet; 185 bool m_parquetHasBeenSet; 186 }; 187 188 } // namespace Model 189 } // namespace S3Crt 190 } // namespace Aws 191