AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
TableMetadata.h
1
6#pragma once
7#include <aws/athena/Athena_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/core/utils/memory/stl/AWSMap.h>
12#include <aws/athena/model/Column.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace Athena
26{
27namespace Model
28{
29
36 {
37 public:
38 AWS_ATHENA_API TableMetadata() = default;
39 AWS_ATHENA_API TableMetadata(Aws::Utils::Json::JsonView jsonValue);
41 AWS_ATHENA_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
48 inline const Aws::String& GetName() const { return m_name; }
49 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
50 template<typename NameT = Aws::String>
51 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
52 template<typename NameT = Aws::String>
53 TableMetadata& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
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) { m_createTimeHasBeenSet = true; m_createTime = std::forward<CreateTimeT>(value); }
64 template<typename CreateTimeT = Aws::Utils::DateTime>
65 TableMetadata& WithCreateTime(CreateTimeT&& value) { SetCreateTime(std::forward<CreateTimeT>(value)); return *this;}
67
69
72 inline const Aws::Utils::DateTime& GetLastAccessTime() const { return m_lastAccessTime; }
73 inline bool LastAccessTimeHasBeenSet() const { return m_lastAccessTimeHasBeenSet; }
74 template<typename LastAccessTimeT = Aws::Utils::DateTime>
75 void SetLastAccessTime(LastAccessTimeT&& value) { m_lastAccessTimeHasBeenSet = true; m_lastAccessTime = std::forward<LastAccessTimeT>(value); }
76 template<typename LastAccessTimeT = Aws::Utils::DateTime>
77 TableMetadata& WithLastAccessTime(LastAccessTimeT&& value) { SetLastAccessTime(std::forward<LastAccessTimeT>(value)); return *this;}
79
81
85 inline const Aws::String& GetTableType() const { return m_tableType; }
86 inline bool TableTypeHasBeenSet() const { return m_tableTypeHasBeenSet; }
87 template<typename TableTypeT = Aws::String>
88 void SetTableType(TableTypeT&& value) { m_tableTypeHasBeenSet = true; m_tableType = std::forward<TableTypeT>(value); }
89 template<typename TableTypeT = Aws::String>
90 TableMetadata& WithTableType(TableTypeT&& value) { SetTableType(std::forward<TableTypeT>(value)); return *this;}
92
94
97 inline const Aws::Vector<Column>& GetColumns() const { return m_columns; }
98 inline bool ColumnsHasBeenSet() const { return m_columnsHasBeenSet; }
99 template<typename ColumnsT = Aws::Vector<Column>>
100 void SetColumns(ColumnsT&& value) { m_columnsHasBeenSet = true; m_columns = std::forward<ColumnsT>(value); }
101 template<typename ColumnsT = Aws::Vector<Column>>
102 TableMetadata& WithColumns(ColumnsT&& value) { SetColumns(std::forward<ColumnsT>(value)); return *this;}
103 template<typename ColumnsT = Column>
104 TableMetadata& AddColumns(ColumnsT&& value) { m_columnsHasBeenSet = true; m_columns.emplace_back(std::forward<ColumnsT>(value)); return *this; }
106
108
111 inline const Aws::Vector<Column>& GetPartitionKeys() const { return m_partitionKeys; }
112 inline bool PartitionKeysHasBeenSet() const { return m_partitionKeysHasBeenSet; }
113 template<typename PartitionKeysT = Aws::Vector<Column>>
114 void SetPartitionKeys(PartitionKeysT&& value) { m_partitionKeysHasBeenSet = true; m_partitionKeys = std::forward<PartitionKeysT>(value); }
115 template<typename PartitionKeysT = Aws::Vector<Column>>
116 TableMetadata& WithPartitionKeys(PartitionKeysT&& value) { SetPartitionKeys(std::forward<PartitionKeysT>(value)); return *this;}
117 template<typename PartitionKeysT = Column>
118 TableMetadata& AddPartitionKeys(PartitionKeysT&& value) { m_partitionKeysHasBeenSet = true; m_partitionKeys.emplace_back(std::forward<PartitionKeysT>(value)); return *this; }
120
122
125 inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const { return m_parameters; }
126 inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
127 template<typename ParametersT = Aws::Map<Aws::String, Aws::String>>
128 void SetParameters(ParametersT&& value) { m_parametersHasBeenSet = true; m_parameters = std::forward<ParametersT>(value); }
129 template<typename ParametersT = Aws::Map<Aws::String, Aws::String>>
130 TableMetadata& WithParameters(ParametersT&& value) { SetParameters(std::forward<ParametersT>(value)); return *this;}
131 template<typename ParametersKeyT = Aws::String, typename ParametersValueT = Aws::String>
132 TableMetadata& AddParameters(ParametersKeyT&& key, ParametersValueT&& value) {
133 m_parametersHasBeenSet = true; m_parameters.emplace(std::forward<ParametersKeyT>(key), std::forward<ParametersValueT>(value)); return *this;
134 }
136 private:
137
138 Aws::String m_name;
139 bool m_nameHasBeenSet = false;
140
141 Aws::Utils::DateTime m_createTime{};
142 bool m_createTimeHasBeenSet = false;
143
144 Aws::Utils::DateTime m_lastAccessTime{};
145 bool m_lastAccessTimeHasBeenSet = false;
146
147 Aws::String m_tableType;
148 bool m_tableTypeHasBeenSet = false;
149
150 Aws::Vector<Column> m_columns;
151 bool m_columnsHasBeenSet = false;
152
153 Aws::Vector<Column> m_partitionKeys;
154 bool m_partitionKeysHasBeenSet = false;
155
157 bool m_parametersHasBeenSet = false;
158 };
159
160} // namespace Model
161} // namespace Athena
162} // 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