AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
TableMetadata.h
1
6#pragma once
7#include <aws/athena/Athena_EXPORTS.h>
8#include <aws/athena/model/Column.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace Athena {
24namespace Model {
25
32 public:
33 AWS_ATHENA_API TableMetadata() = default;
34 AWS_ATHENA_API TableMetadata(Aws::Utils::Json::JsonView jsonValue);
36 AWS_ATHENA_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
42 inline const Aws::String& GetName() const { return m_name; }
43 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
44 template <typename NameT = Aws::String>
45 void SetName(NameT&& value) {
46 m_nameHasBeenSet = true;
47 m_name = std::forward<NameT>(value);
48 }
49 template <typename NameT = Aws::String>
50 TableMetadata& WithName(NameT&& value) {
51 SetName(std::forward<NameT>(value));
52 return *this;
53 }
55
57
60 inline const Aws::Utils::DateTime& GetCreateTime() const { return m_createTime; }
61 inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; }
62 template <typename CreateTimeT = Aws::Utils::DateTime>
63 void SetCreateTime(CreateTimeT&& value) {
64 m_createTimeHasBeenSet = true;
65 m_createTime = std::forward<CreateTimeT>(value);
66 }
67 template <typename CreateTimeT = Aws::Utils::DateTime>
68 TableMetadata& WithCreateTime(CreateTimeT&& value) {
69 SetCreateTime(std::forward<CreateTimeT>(value));
70 return *this;
71 }
73
75
78 inline const Aws::Utils::DateTime& GetLastAccessTime() const { return m_lastAccessTime; }
79 inline bool LastAccessTimeHasBeenSet() const { return m_lastAccessTimeHasBeenSet; }
80 template <typename LastAccessTimeT = Aws::Utils::DateTime>
81 void SetLastAccessTime(LastAccessTimeT&& value) {
82 m_lastAccessTimeHasBeenSet = true;
83 m_lastAccessTime = std::forward<LastAccessTimeT>(value);
84 }
85 template <typename LastAccessTimeT = Aws::Utils::DateTime>
86 TableMetadata& WithLastAccessTime(LastAccessTimeT&& value) {
87 SetLastAccessTime(std::forward<LastAccessTimeT>(value));
88 return *this;
89 }
91
93
97 inline const Aws::String& GetTableType() const { return m_tableType; }
98 inline bool TableTypeHasBeenSet() const { return m_tableTypeHasBeenSet; }
99 template <typename TableTypeT = Aws::String>
100 void SetTableType(TableTypeT&& value) {
101 m_tableTypeHasBeenSet = true;
102 m_tableType = std::forward<TableTypeT>(value);
103 }
104 template <typename TableTypeT = Aws::String>
105 TableMetadata& WithTableType(TableTypeT&& value) {
106 SetTableType(std::forward<TableTypeT>(value));
107 return *this;
108 }
110
112
115 inline const Aws::Vector<Column>& GetColumns() const { return m_columns; }
116 inline bool ColumnsHasBeenSet() const { return m_columnsHasBeenSet; }
117 template <typename ColumnsT = Aws::Vector<Column>>
118 void SetColumns(ColumnsT&& value) {
119 m_columnsHasBeenSet = true;
120 m_columns = std::forward<ColumnsT>(value);
121 }
122 template <typename ColumnsT = Aws::Vector<Column>>
123 TableMetadata& WithColumns(ColumnsT&& value) {
124 SetColumns(std::forward<ColumnsT>(value));
125 return *this;
126 }
127 template <typename ColumnsT = Column>
128 TableMetadata& AddColumns(ColumnsT&& value) {
129 m_columnsHasBeenSet = true;
130 m_columns.emplace_back(std::forward<ColumnsT>(value));
131 return *this;
132 }
134
136
139 inline const Aws::Vector<Column>& GetPartitionKeys() const { return m_partitionKeys; }
140 inline bool PartitionKeysHasBeenSet() const { return m_partitionKeysHasBeenSet; }
141 template <typename PartitionKeysT = Aws::Vector<Column>>
142 void SetPartitionKeys(PartitionKeysT&& value) {
143 m_partitionKeysHasBeenSet = true;
144 m_partitionKeys = std::forward<PartitionKeysT>(value);
145 }
146 template <typename PartitionKeysT = Aws::Vector<Column>>
147 TableMetadata& WithPartitionKeys(PartitionKeysT&& value) {
148 SetPartitionKeys(std::forward<PartitionKeysT>(value));
149 return *this;
150 }
151 template <typename PartitionKeysT = Column>
152 TableMetadata& AddPartitionKeys(PartitionKeysT&& value) {
153 m_partitionKeysHasBeenSet = true;
154 m_partitionKeys.emplace_back(std::forward<PartitionKeysT>(value));
155 return *this;
156 }
158
160
163 inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const { return m_parameters; }
164 inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
165 template <typename ParametersT = Aws::Map<Aws::String, Aws::String>>
166 void SetParameters(ParametersT&& value) {
167 m_parametersHasBeenSet = true;
168 m_parameters = std::forward<ParametersT>(value);
169 }
170 template <typename ParametersT = Aws::Map<Aws::String, Aws::String>>
171 TableMetadata& WithParameters(ParametersT&& value) {
172 SetParameters(std::forward<ParametersT>(value));
173 return *this;
174 }
175 template <typename ParametersKeyT = Aws::String, typename ParametersValueT = Aws::String>
176 TableMetadata& AddParameters(ParametersKeyT&& key, ParametersValueT&& value) {
177 m_parametersHasBeenSet = true;
178 m_parameters.emplace(std::forward<ParametersKeyT>(key), std::forward<ParametersValueT>(value));
179 return *this;
180 }
182 private:
183 Aws::String m_name;
184
185 Aws::Utils::DateTime m_createTime{};
186
187 Aws::Utils::DateTime m_lastAccessTime{};
188
189 Aws::String m_tableType;
190
191 Aws::Vector<Column> m_columns;
192
193 Aws::Vector<Column> m_partitionKeys;
194
196 bool m_nameHasBeenSet = false;
197 bool m_createTimeHasBeenSet = false;
198 bool m_lastAccessTimeHasBeenSet = false;
199 bool m_tableTypeHasBeenSet = false;
200 bool m_columnsHasBeenSet = false;
201 bool m_partitionKeysHasBeenSet = false;
202 bool m_parametersHasBeenSet = false;
203};
204
205} // namespace Model
206} // namespace Athena
207} // namespace Aws
TableMetadata & WithColumns(ColumnsT &&value)
void SetCreateTime(CreateTimeT &&value)
TableMetadata & WithLastAccessTime(LastAccessTimeT &&value)
TableMetadata & WithCreateTime(CreateTimeT &&value)
TableMetadata & WithTableType(TableTypeT &&value)
void SetLastAccessTime(LastAccessTimeT &&value)
const Aws::Utils::DateTime & GetLastAccessTime() const
const Aws::Utils::DateTime & GetCreateTime() const
const Aws::String & GetName() const
void SetParameters(ParametersT &&value)
TableMetadata & WithPartitionKeys(PartitionKeysT &&value)
void SetPartitionKeys(PartitionKeysT &&value)
TableMetadata & AddPartitionKeys(PartitionKeysT &&value)
const Aws::Map< Aws::String, Aws::String > & GetParameters() const
const Aws::Vector< Column > & GetColumns() const
const Aws::Vector< Column > & GetPartitionKeys() const
AWS_ATHENA_API TableMetadata(Aws::Utils::Json::JsonView jsonValue)
AWS_ATHENA_API TableMetadata()=default
void SetTableType(TableTypeT &&value)
AWS_ATHENA_API TableMetadata & operator=(Aws::Utils::Json::JsonView jsonValue)
TableMetadata & AddColumns(ColumnsT &&value)
AWS_ATHENA_API Aws::Utils::Json::JsonValue Jsonize() const
TableMetadata & WithParameters(ParametersT &&value)
const Aws::String & GetTableType() const
void SetColumns(ColumnsT &&value)
TableMetadata & WithName(NameT &&value)
TableMetadata & AddParameters(ParametersKeyT &&key, ParametersValueT &&value)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue