AWS SDK for C++

AWS SDK for C++ Version 1.11.682

Loading...
Searching...
No Matches
GovernedCatalogTarget.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/glue/Glue_EXPORTS.h>
10#include <aws/glue/model/CatalogSchemaChangePolicy.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace Glue {
22namespace Model {
23
31 public:
32 AWS_GLUE_API GovernedCatalogTarget() = default;
36
38
41 inline const Aws::String& GetName() const { return m_name; }
42 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
43 template <typename NameT = Aws::String>
44 void SetName(NameT&& value) {
45 m_nameHasBeenSet = true;
46 m_name = std::forward<NameT>(value);
47 }
48 template <typename NameT = Aws::String>
50 SetName(std::forward<NameT>(value));
51 return *this;
52 }
54
56
59 inline const Aws::Vector<Aws::String>& GetInputs() const { return m_inputs; }
60 inline bool InputsHasBeenSet() const { return m_inputsHasBeenSet; }
61 template <typename InputsT = Aws::Vector<Aws::String>>
62 void SetInputs(InputsT&& value) {
63 m_inputsHasBeenSet = true;
64 m_inputs = std::forward<InputsT>(value);
65 }
66 template <typename InputsT = Aws::Vector<Aws::String>>
68 SetInputs(std::forward<InputsT>(value));
69 return *this;
70 }
71 template <typename InputsT = Aws::String>
72 GovernedCatalogTarget& AddInputs(InputsT&& value) {
73 m_inputsHasBeenSet = true;
74 m_inputs.emplace_back(std::forward<InputsT>(value));
75 return *this;
76 }
78
80
83 inline const Aws::Vector<Aws::Vector<Aws::String>>& GetPartitionKeys() const { return m_partitionKeys; }
84 inline bool PartitionKeysHasBeenSet() const { return m_partitionKeysHasBeenSet; }
85 template <typename PartitionKeysT = Aws::Vector<Aws::Vector<Aws::String>>>
86 void SetPartitionKeys(PartitionKeysT&& value) {
87 m_partitionKeysHasBeenSet = true;
88 m_partitionKeys = std::forward<PartitionKeysT>(value);
89 }
90 template <typename PartitionKeysT = Aws::Vector<Aws::Vector<Aws::String>>>
91 GovernedCatalogTarget& WithPartitionKeys(PartitionKeysT&& value) {
92 SetPartitionKeys(std::forward<PartitionKeysT>(value));
93 return *this;
94 }
95 template <typename PartitionKeysT = Aws::Vector<Aws::String>>
96 GovernedCatalogTarget& AddPartitionKeys(PartitionKeysT&& value) {
97 m_partitionKeysHasBeenSet = true;
98 m_partitionKeys.emplace_back(std::forward<PartitionKeysT>(value));
99 return *this;
100 }
102
104
107 inline const Aws::String& GetTable() const { return m_table; }
108 inline bool TableHasBeenSet() const { return m_tableHasBeenSet; }
109 template <typename TableT = Aws::String>
110 void SetTable(TableT&& value) {
111 m_tableHasBeenSet = true;
112 m_table = std::forward<TableT>(value);
113 }
114 template <typename TableT = Aws::String>
116 SetTable(std::forward<TableT>(value));
117 return *this;
118 }
120
122
125 inline const Aws::String& GetDatabase() const { return m_database; }
126 inline bool DatabaseHasBeenSet() const { return m_databaseHasBeenSet; }
127 template <typename DatabaseT = Aws::String>
128 void SetDatabase(DatabaseT&& value) {
129 m_databaseHasBeenSet = true;
130 m_database = std::forward<DatabaseT>(value);
131 }
132 template <typename DatabaseT = Aws::String>
134 SetDatabase(std::forward<DatabaseT>(value));
135 return *this;
136 }
138
140
143 inline const CatalogSchemaChangePolicy& GetSchemaChangePolicy() const { return m_schemaChangePolicy; }
144 inline bool SchemaChangePolicyHasBeenSet() const { return m_schemaChangePolicyHasBeenSet; }
145 template <typename SchemaChangePolicyT = CatalogSchemaChangePolicy>
146 void SetSchemaChangePolicy(SchemaChangePolicyT&& value) {
147 m_schemaChangePolicyHasBeenSet = true;
148 m_schemaChangePolicy = std::forward<SchemaChangePolicyT>(value);
149 }
150 template <typename SchemaChangePolicyT = CatalogSchemaChangePolicy>
151 GovernedCatalogTarget& WithSchemaChangePolicy(SchemaChangePolicyT&& value) {
152 SetSchemaChangePolicy(std::forward<SchemaChangePolicyT>(value));
153 return *this;
154 }
156 private:
157 Aws::String m_name;
158 bool m_nameHasBeenSet = false;
159
161 bool m_inputsHasBeenSet = false;
162
164 bool m_partitionKeysHasBeenSet = false;
165
166 Aws::String m_table;
167 bool m_tableHasBeenSet = false;
168
169 Aws::String m_database;
170 bool m_databaseHasBeenSet = false;
171
172 CatalogSchemaChangePolicy m_schemaChangePolicy;
173 bool m_schemaChangePolicyHasBeenSet = false;
174};
175
176} // namespace Model
177} // namespace Glue
178} // namespace Aws
AWS_GLUE_API GovernedCatalogTarget & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_GLUE_API GovernedCatalogTarget()=default
AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const
void SetPartitionKeys(PartitionKeysT &&value)
GovernedCatalogTarget & WithTable(TableT &&value)
void SetSchemaChangePolicy(SchemaChangePolicyT &&value)
GovernedCatalogTarget & WithDatabase(DatabaseT &&value)
GovernedCatalogTarget & WithInputs(InputsT &&value)
GovernedCatalogTarget & AddInputs(InputsT &&value)
GovernedCatalogTarget & WithName(NameT &&value)
const Aws::Vector< Aws::String > & GetInputs() const
GovernedCatalogTarget & WithSchemaChangePolicy(SchemaChangePolicyT &&value)
GovernedCatalogTarget & AddPartitionKeys(PartitionKeysT &&value)
GovernedCatalogTarget & WithPartitionKeys(PartitionKeysT &&value)
const CatalogSchemaChangePolicy & GetSchemaChangePolicy() const
const Aws::Vector< Aws::Vector< Aws::String > > & GetPartitionKeys() const
AWS_GLUE_API GovernedCatalogTarget(Aws::Utils::Json::JsonView jsonValue)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue