AWS SDK for C++

AWS SDK for C++ Version 1.11.779

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/OverwriteChildResourcePermissionsWithDefaultEnum.h>
15#include <aws/glue/model/PrincipalPermissions.h>
16#include <aws/glue/model/TargetRedshiftCatalog.h>
17
18#include <utility>
19
20namespace Aws {
21namespace Utils {
22namespace Json {
23class JsonValue;
24class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace Glue {
28namespace Model {
29
36 public:
37 AWS_GLUE_API CatalogInput() = default;
41
43
47 inline const Aws::String& GetDescription() const { return m_description; }
48 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
49 template <typename DescriptionT = Aws::String>
50 void SetDescription(DescriptionT&& value) {
51 m_descriptionHasBeenSet = true;
52 m_description = std::forward<DescriptionT>(value);
53 }
54 template <typename DescriptionT = Aws::String>
55 CatalogInput& WithDescription(DescriptionT&& value) {
56 SetDescription(std::forward<DescriptionT>(value));
57 return *this;
58 }
60
62
67 inline const FederatedCatalog& GetFederatedCatalog() const { return m_federatedCatalog; }
68 inline bool FederatedCatalogHasBeenSet() const { return m_federatedCatalogHasBeenSet; }
69 template <typename FederatedCatalogT = FederatedCatalog>
70 void SetFederatedCatalog(FederatedCatalogT&& value) {
71 m_federatedCatalogHasBeenSet = true;
72 m_federatedCatalog = std::forward<FederatedCatalogT>(value);
73 }
74 template <typename FederatedCatalogT = FederatedCatalog>
75 CatalogInput& WithFederatedCatalog(FederatedCatalogT&& value) {
76 SetFederatedCatalog(std::forward<FederatedCatalogT>(value));
77 return *this;
78 }
80
82
86 inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const { return m_parameters; }
87 inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
88 template <typename ParametersT = Aws::Map<Aws::String, Aws::String>>
89 void SetParameters(ParametersT&& value) {
90 m_parametersHasBeenSet = true;
91 m_parameters = std::forward<ParametersT>(value);
92 }
93 template <typename ParametersT = Aws::Map<Aws::String, Aws::String>>
94 CatalogInput& WithParameters(ParametersT&& value) {
95 SetParameters(std::forward<ParametersT>(value));
96 return *this;
97 }
98 template <typename ParametersKeyT = Aws::String, typename ParametersValueT = Aws::String>
99 CatalogInput& AddParameters(ParametersKeyT&& key, ParametersValueT&& value) {
100 m_parametersHasBeenSet = true;
101 m_parameters.emplace(std::forward<ParametersKeyT>(key), std::forward<ParametersValueT>(value));
102 return *this;
103 }
105
107
111 inline const TargetRedshiftCatalog& GetTargetRedshiftCatalog() const { return m_targetRedshiftCatalog; }
112 inline bool TargetRedshiftCatalogHasBeenSet() const { return m_targetRedshiftCatalogHasBeenSet; }
113 template <typename TargetRedshiftCatalogT = TargetRedshiftCatalog>
114 void SetTargetRedshiftCatalog(TargetRedshiftCatalogT&& value) {
115 m_targetRedshiftCatalogHasBeenSet = true;
116 m_targetRedshiftCatalog = std::forward<TargetRedshiftCatalogT>(value);
117 }
118 template <typename TargetRedshiftCatalogT = TargetRedshiftCatalog>
119 CatalogInput& WithTargetRedshiftCatalog(TargetRedshiftCatalogT&& value) {
120 SetTargetRedshiftCatalog(std::forward<TargetRedshiftCatalogT>(value));
121 return *this;
122 }
124
126
130 inline const CatalogProperties& GetCatalogProperties() const { return m_catalogProperties; }
131 inline bool CatalogPropertiesHasBeenSet() const { return m_catalogPropertiesHasBeenSet; }
132 template <typename CatalogPropertiesT = CatalogProperties>
133 void SetCatalogProperties(CatalogPropertiesT&& value) {
134 m_catalogPropertiesHasBeenSet = true;
135 m_catalogProperties = std::forward<CatalogPropertiesT>(value);
136 }
137 template <typename CatalogPropertiesT = CatalogProperties>
138 CatalogInput& WithCatalogProperties(CatalogPropertiesT&& value) {
139 SetCatalogProperties(std::forward<CatalogPropertiesT>(value));
140 return *this;
141 }
143
145
150 inline const Aws::Vector<PrincipalPermissions>& GetCreateTableDefaultPermissions() const { return m_createTableDefaultPermissions; }
151 inline bool CreateTableDefaultPermissionsHasBeenSet() const { return m_createTableDefaultPermissionsHasBeenSet; }
152 template <typename CreateTableDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
153 void SetCreateTableDefaultPermissions(CreateTableDefaultPermissionsT&& value) {
154 m_createTableDefaultPermissionsHasBeenSet = true;
155 m_createTableDefaultPermissions = std::forward<CreateTableDefaultPermissionsT>(value);
156 }
157 template <typename CreateTableDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
158 CatalogInput& WithCreateTableDefaultPermissions(CreateTableDefaultPermissionsT&& value) {
159 SetCreateTableDefaultPermissions(std::forward<CreateTableDefaultPermissionsT>(value));
160 return *this;
161 }
162 template <typename CreateTableDefaultPermissionsT = PrincipalPermissions>
163 CatalogInput& AddCreateTableDefaultPermissions(CreateTableDefaultPermissionsT&& value) {
164 m_createTableDefaultPermissionsHasBeenSet = true;
165 m_createTableDefaultPermissions.emplace_back(std::forward<CreateTableDefaultPermissionsT>(value));
166 return *this;
167 }
169
171
177 inline const Aws::Vector<PrincipalPermissions>& GetCreateDatabaseDefaultPermissions() const { return m_createDatabaseDefaultPermissions; }
178 inline bool CreateDatabaseDefaultPermissionsHasBeenSet() const { return m_createDatabaseDefaultPermissionsHasBeenSet; }
179 template <typename CreateDatabaseDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
180 void SetCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT&& value) {
181 m_createDatabaseDefaultPermissionsHasBeenSet = true;
182 m_createDatabaseDefaultPermissions = std::forward<CreateDatabaseDefaultPermissionsT>(value);
183 }
184 template <typename CreateDatabaseDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
185 CatalogInput& WithCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT&& value) {
186 SetCreateDatabaseDefaultPermissions(std::forward<CreateDatabaseDefaultPermissionsT>(value));
187 return *this;
188 }
189 template <typename CreateDatabaseDefaultPermissionsT = PrincipalPermissions>
190 CatalogInput& AddCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT&& value) {
191 m_createDatabaseDefaultPermissionsHasBeenSet = true;
192 m_createDatabaseDefaultPermissions.emplace_back(std::forward<CreateDatabaseDefaultPermissionsT>(value));
193 return *this;
194 }
196
198
202 inline AllowFullTableExternalDataAccessEnum GetAllowFullTableExternalDataAccess() const { return m_allowFullTableExternalDataAccess; }
203 inline bool AllowFullTableExternalDataAccessHasBeenSet() const { return m_allowFullTableExternalDataAccessHasBeenSet; }
205 m_allowFullTableExternalDataAccessHasBeenSet = true;
206 m_allowFullTableExternalDataAccess = value;
207 }
210 return *this;
211 }
213
215
222 return m_overwriteChildResourcePermissionsWithDefault;
223 }
225 return m_overwriteChildResourcePermissionsWithDefaultHasBeenSet;
226 }
228 m_overwriteChildResourcePermissionsWithDefaultHasBeenSet = true;
229 m_overwriteChildResourcePermissionsWithDefault = value;
230 }
233 return *this;
234 }
236 private:
237 Aws::String m_description;
238
239 FederatedCatalog m_federatedCatalog;
240
242
243 TargetRedshiftCatalog m_targetRedshiftCatalog;
244
245 CatalogProperties m_catalogProperties;
246
247 Aws::Vector<PrincipalPermissions> m_createTableDefaultPermissions;
248
249 Aws::Vector<PrincipalPermissions> m_createDatabaseDefaultPermissions;
250
252
253 OverwriteChildResourcePermissionsWithDefaultEnum m_overwriteChildResourcePermissionsWithDefault{
255 bool m_descriptionHasBeenSet = false;
256 bool m_federatedCatalogHasBeenSet = false;
257 bool m_parametersHasBeenSet = false;
258 bool m_targetRedshiftCatalogHasBeenSet = false;
259 bool m_catalogPropertiesHasBeenSet = false;
260 bool m_createTableDefaultPermissionsHasBeenSet = false;
261 bool m_createDatabaseDefaultPermissionsHasBeenSet = false;
262 bool m_allowFullTableExternalDataAccessHasBeenSet = false;
263 bool m_overwriteChildResourcePermissionsWithDefaultHasBeenSet = false;
264};
265
266} // namespace Model
267} // namespace Glue
268} // namespace Aws
CatalogInput & WithCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT &&value)
AWS_GLUE_API CatalogInput & operator=(Aws::Utils::Json::JsonView jsonValue)
bool OverwriteChildResourcePermissionsWithDefaultHasBeenSet() const
const Aws::Map< Aws::String, Aws::String > & GetParameters() const
void SetOverwriteChildResourcePermissionsWithDefault(OverwriteChildResourcePermissionsWithDefaultEnum value)
AWS_GLUE_API CatalogInput()=default
CatalogInput & WithFederatedCatalog(FederatedCatalogT &&value)
bool CreateTableDefaultPermissionsHasBeenSet() const
void SetCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT &&value)
CatalogInput & WithCreateTableDefaultPermissions(CreateTableDefaultPermissionsT &&value)
CatalogInput & WithOverwriteChildResourcePermissionsWithDefault(OverwriteChildResourcePermissionsWithDefaultEnum 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)
OverwriteChildResourcePermissionsWithDefaultEnum GetOverwriteChildResourcePermissionsWithDefault() const
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