AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
CatalogInput.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/glue/Glue_EXPORTS.h>
11#include <aws/glue/model/AllowFullTableExternalDataAccessEnum.h>
12#include <aws/glue/model/CatalogProperties.h>
13#include <aws/glue/model/FederatedCatalog.h>
14#include <aws/glue/model/PrincipalPermissions.h>
15#include <aws/glue/model/TargetRedshiftCatalog.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace Glue {
27namespace Model {
28
35 public:
36 AWS_GLUE_API CatalogInput() = default;
40
42
46 inline const Aws::String& GetDescription() const { return m_description; }
47 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
48 template <typename DescriptionT = Aws::String>
49 void SetDescription(DescriptionT&& value) {
50 m_descriptionHasBeenSet = true;
51 m_description = std::forward<DescriptionT>(value);
52 }
53 template <typename DescriptionT = Aws::String>
54 CatalogInput& WithDescription(DescriptionT&& value) {
55 SetDescription(std::forward<DescriptionT>(value));
56 return *this;
57 }
59
61
66 inline const FederatedCatalog& GetFederatedCatalog() const { return m_federatedCatalog; }
67 inline bool FederatedCatalogHasBeenSet() const { return m_federatedCatalogHasBeenSet; }
68 template <typename FederatedCatalogT = FederatedCatalog>
69 void SetFederatedCatalog(FederatedCatalogT&& value) {
70 m_federatedCatalogHasBeenSet = true;
71 m_federatedCatalog = std::forward<FederatedCatalogT>(value);
72 }
73 template <typename FederatedCatalogT = FederatedCatalog>
74 CatalogInput& WithFederatedCatalog(FederatedCatalogT&& value) {
75 SetFederatedCatalog(std::forward<FederatedCatalogT>(value));
76 return *this;
77 }
79
81
85 inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const { return m_parameters; }
86 inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
87 template <typename ParametersT = Aws::Map<Aws::String, Aws::String>>
88 void SetParameters(ParametersT&& value) {
89 m_parametersHasBeenSet = true;
90 m_parameters = std::forward<ParametersT>(value);
91 }
92 template <typename ParametersT = Aws::Map<Aws::String, Aws::String>>
93 CatalogInput& WithParameters(ParametersT&& value) {
94 SetParameters(std::forward<ParametersT>(value));
95 return *this;
96 }
97 template <typename ParametersKeyT = Aws::String, typename ParametersValueT = Aws::String>
98 CatalogInput& AddParameters(ParametersKeyT&& key, ParametersValueT&& value) {
99 m_parametersHasBeenSet = true;
100 m_parameters.emplace(std::forward<ParametersKeyT>(key), std::forward<ParametersValueT>(value));
101 return *this;
102 }
104
106
110 inline const TargetRedshiftCatalog& GetTargetRedshiftCatalog() const { return m_targetRedshiftCatalog; }
111 inline bool TargetRedshiftCatalogHasBeenSet() const { return m_targetRedshiftCatalogHasBeenSet; }
112 template <typename TargetRedshiftCatalogT = TargetRedshiftCatalog>
113 void SetTargetRedshiftCatalog(TargetRedshiftCatalogT&& value) {
114 m_targetRedshiftCatalogHasBeenSet = true;
115 m_targetRedshiftCatalog = std::forward<TargetRedshiftCatalogT>(value);
116 }
117 template <typename TargetRedshiftCatalogT = TargetRedshiftCatalog>
118 CatalogInput& WithTargetRedshiftCatalog(TargetRedshiftCatalogT&& value) {
119 SetTargetRedshiftCatalog(std::forward<TargetRedshiftCatalogT>(value));
120 return *this;
121 }
123
125
129 inline const CatalogProperties& GetCatalogProperties() const { return m_catalogProperties; }
130 inline bool CatalogPropertiesHasBeenSet() const { return m_catalogPropertiesHasBeenSet; }
131 template <typename CatalogPropertiesT = CatalogProperties>
132 void SetCatalogProperties(CatalogPropertiesT&& value) {
133 m_catalogPropertiesHasBeenSet = true;
134 m_catalogProperties = std::forward<CatalogPropertiesT>(value);
135 }
136 template <typename CatalogPropertiesT = CatalogProperties>
137 CatalogInput& WithCatalogProperties(CatalogPropertiesT&& value) {
138 SetCatalogProperties(std::forward<CatalogPropertiesT>(value));
139 return *this;
140 }
142
144
149 inline const Aws::Vector<PrincipalPermissions>& GetCreateTableDefaultPermissions() const { return m_createTableDefaultPermissions; }
150 inline bool CreateTableDefaultPermissionsHasBeenSet() const { return m_createTableDefaultPermissionsHasBeenSet; }
151 template <typename CreateTableDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
152 void SetCreateTableDefaultPermissions(CreateTableDefaultPermissionsT&& value) {
153 m_createTableDefaultPermissionsHasBeenSet = true;
154 m_createTableDefaultPermissions = std::forward<CreateTableDefaultPermissionsT>(value);
155 }
156 template <typename CreateTableDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
157 CatalogInput& WithCreateTableDefaultPermissions(CreateTableDefaultPermissionsT&& value) {
158 SetCreateTableDefaultPermissions(std::forward<CreateTableDefaultPermissionsT>(value));
159 return *this;
160 }
161 template <typename CreateTableDefaultPermissionsT = PrincipalPermissions>
162 CatalogInput& AddCreateTableDefaultPermissions(CreateTableDefaultPermissionsT&& value) {
163 m_createTableDefaultPermissionsHasBeenSet = true;
164 m_createTableDefaultPermissions.emplace_back(std::forward<CreateTableDefaultPermissionsT>(value));
165 return *this;
166 }
168
170
176 inline const Aws::Vector<PrincipalPermissions>& GetCreateDatabaseDefaultPermissions() const { return m_createDatabaseDefaultPermissions; }
177 inline bool CreateDatabaseDefaultPermissionsHasBeenSet() const { return m_createDatabaseDefaultPermissionsHasBeenSet; }
178 template <typename CreateDatabaseDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
179 void SetCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT&& value) {
180 m_createDatabaseDefaultPermissionsHasBeenSet = true;
181 m_createDatabaseDefaultPermissions = std::forward<CreateDatabaseDefaultPermissionsT>(value);
182 }
183 template <typename CreateDatabaseDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
184 CatalogInput& WithCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT&& value) {
185 SetCreateDatabaseDefaultPermissions(std::forward<CreateDatabaseDefaultPermissionsT>(value));
186 return *this;
187 }
188 template <typename CreateDatabaseDefaultPermissionsT = PrincipalPermissions>
189 CatalogInput& AddCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT&& value) {
190 m_createDatabaseDefaultPermissionsHasBeenSet = true;
191 m_createDatabaseDefaultPermissions.emplace_back(std::forward<CreateDatabaseDefaultPermissionsT>(value));
192 return *this;
193 }
195
197
201 inline AllowFullTableExternalDataAccessEnum GetAllowFullTableExternalDataAccess() const { return m_allowFullTableExternalDataAccess; }
202 inline bool AllowFullTableExternalDataAccessHasBeenSet() const { return m_allowFullTableExternalDataAccessHasBeenSet; }
204 m_allowFullTableExternalDataAccessHasBeenSet = true;
205 m_allowFullTableExternalDataAccess = value;
206 }
209 return *this;
210 }
212 private:
213 Aws::String m_description;
214
215 FederatedCatalog m_federatedCatalog;
216
218
219 TargetRedshiftCatalog m_targetRedshiftCatalog;
220
221 CatalogProperties m_catalogProperties;
222
223 Aws::Vector<PrincipalPermissions> m_createTableDefaultPermissions;
224
225 Aws::Vector<PrincipalPermissions> m_createDatabaseDefaultPermissions;
226
228 bool m_descriptionHasBeenSet = false;
229 bool m_federatedCatalogHasBeenSet = false;
230 bool m_parametersHasBeenSet = false;
231 bool m_targetRedshiftCatalogHasBeenSet = false;
232 bool m_catalogPropertiesHasBeenSet = false;
233 bool m_createTableDefaultPermissionsHasBeenSet = false;
234 bool m_createDatabaseDefaultPermissionsHasBeenSet = false;
235 bool m_allowFullTableExternalDataAccessHasBeenSet = false;
236};
237
238} // namespace Model
239} // namespace Glue
240} // namespace Aws
CatalogInput & WithCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT &&value)
AWS_GLUE_API CatalogInput & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Map< Aws::String, Aws::String > & GetParameters() const
AWS_GLUE_API CatalogInput()=default
CatalogInput & WithFederatedCatalog(FederatedCatalogT &&value)
bool CreateTableDefaultPermissionsHasBeenSet() const
void SetCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT &&value)
CatalogInput & WithCreateTableDefaultPermissions(CreateTableDefaultPermissionsT &&value)
bool AllowFullTableExternalDataAccessHasBeenSet() const
const Aws::String & GetDescription() const
const CatalogProperties & GetCatalogProperties() const
const Aws::Vector< PrincipalPermissions > & GetCreateDatabaseDefaultPermissions() const
AWS_GLUE_API CatalogInput(Aws::Utils::Json::JsonView jsonValue)
void SetCreateTableDefaultPermissions(CreateTableDefaultPermissionsT &&value)
bool FederatedCatalogHasBeenSet() const
void SetFederatedCatalog(FederatedCatalogT &&value)
CatalogInput & WithAllowFullTableExternalDataAccess(AllowFullTableExternalDataAccessEnum value)
void SetCatalogProperties(CatalogPropertiesT &&value)
CatalogInput & WithDescription(DescriptionT &&value)
AllowFullTableExternalDataAccessEnum GetAllowFullTableExternalDataAccess() const
void SetDescription(DescriptionT &&value)
CatalogInput & AddCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT &&value)
CatalogInput & WithCatalogProperties(CatalogPropertiesT &&value)
const FederatedCatalog & GetFederatedCatalog() const
CatalogInput & WithParameters(ParametersT &&value)
bool TargetRedshiftCatalogHasBeenSet() const
const TargetRedshiftCatalog & GetTargetRedshiftCatalog() const
void SetTargetRedshiftCatalog(TargetRedshiftCatalogT &&value)
bool CreateDatabaseDefaultPermissionsHasBeenSet() const
void SetAllowFullTableExternalDataAccess(AllowFullTableExternalDataAccessEnum value)
AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const
CatalogInput & WithTargetRedshiftCatalog(TargetRedshiftCatalogT &&value)
CatalogInput & AddCreateTableDefaultPermissions(CreateTableDefaultPermissionsT &&value)
CatalogInput & AddParameters(ParametersKeyT &&key, ParametersValueT &&value)
void SetParameters(ParametersT &&value)
const Aws::Vector< PrincipalPermissions > & GetCreateTableDefaultPermissions() const
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