1 /**
2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 * SPDX-License-Identifier: Apache-2.0.
4 */
5
6 #include <aws/core/utils/Outcome.h>
7 #include <aws/core/auth/AWSAuthSigner.h>
8 #include <aws/core/client/CoreErrors.h>
9 #include <aws/core/client/RetryStrategy.h>
10 #include <aws/core/http/HttpClient.h>
11 #include <aws/core/http/HttpResponse.h>
12 #include <aws/core/http/HttpClientFactory.h>
13 #include <aws/core/auth/AWSCredentialsProviderChain.h>
14 #include <aws/core/utils/json/JsonSerializer.h>
15 #include <aws/core/utils/memory/stl/AWSStringStream.h>
16 #include <aws/core/utils/threading/Executor.h>
17 #include <aws/core/utils/DNS.h>
18 #include <aws/core/utils/logging/LogMacros.h>
19
20 #include <aws/appintegrations/AppIntegrationsServiceClient.h>
21 #include <aws/appintegrations/AppIntegrationsServiceEndpoint.h>
22 #include <aws/appintegrations/AppIntegrationsServiceErrorMarshaller.h>
23 #include <aws/appintegrations/model/CreateDataIntegrationRequest.h>
24 #include <aws/appintegrations/model/CreateEventIntegrationRequest.h>
25 #include <aws/appintegrations/model/DeleteDataIntegrationRequest.h>
26 #include <aws/appintegrations/model/DeleteEventIntegrationRequest.h>
27 #include <aws/appintegrations/model/GetDataIntegrationRequest.h>
28 #include <aws/appintegrations/model/GetEventIntegrationRequest.h>
29 #include <aws/appintegrations/model/ListDataIntegrationAssociationsRequest.h>
30 #include <aws/appintegrations/model/ListDataIntegrationsRequest.h>
31 #include <aws/appintegrations/model/ListEventIntegrationAssociationsRequest.h>
32 #include <aws/appintegrations/model/ListEventIntegrationsRequest.h>
33 #include <aws/appintegrations/model/ListTagsForResourceRequest.h>
34 #include <aws/appintegrations/model/TagResourceRequest.h>
35 #include <aws/appintegrations/model/UntagResourceRequest.h>
36 #include <aws/appintegrations/model/UpdateDataIntegrationRequest.h>
37 #include <aws/appintegrations/model/UpdateEventIntegrationRequest.h>
38
39 using namespace Aws;
40 using namespace Aws::Auth;
41 using namespace Aws::Client;
42 using namespace Aws::AppIntegrationsService;
43 using namespace Aws::AppIntegrationsService::Model;
44 using namespace Aws::Http;
45 using namespace Aws::Utils::Json;
46
47 static const char* SERVICE_NAME = "app-integrations";
48 static const char* ALLOCATION_TAG = "AppIntegrationsServiceClient";
49
50
AppIntegrationsServiceClient(const Client::ClientConfiguration & clientConfiguration)51 AppIntegrationsServiceClient::AppIntegrationsServiceClient(const Client::ClientConfiguration& clientConfiguration) :
52 BASECLASS(clientConfiguration,
53 Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<DefaultAWSCredentialsProviderChain>(ALLOCATION_TAG),
54 SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
55 Aws::MakeShared<AppIntegrationsServiceErrorMarshaller>(ALLOCATION_TAG)),
56 m_executor(clientConfiguration.executor)
57 {
58 init(clientConfiguration);
59 }
60
AppIntegrationsServiceClient(const AWSCredentials & credentials,const Client::ClientConfiguration & clientConfiguration)61 AppIntegrationsServiceClient::AppIntegrationsServiceClient(const AWSCredentials& credentials, const Client::ClientConfiguration& clientConfiguration) :
62 BASECLASS(clientConfiguration,
63 Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<SimpleAWSCredentialsProvider>(ALLOCATION_TAG, credentials),
64 SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
65 Aws::MakeShared<AppIntegrationsServiceErrorMarshaller>(ALLOCATION_TAG)),
66 m_executor(clientConfiguration.executor)
67 {
68 init(clientConfiguration);
69 }
70
AppIntegrationsServiceClient(const std::shared_ptr<AWSCredentialsProvider> & credentialsProvider,const Client::ClientConfiguration & clientConfiguration)71 AppIntegrationsServiceClient::AppIntegrationsServiceClient(const std::shared_ptr<AWSCredentialsProvider>& credentialsProvider,
72 const Client::ClientConfiguration& clientConfiguration) :
73 BASECLASS(clientConfiguration,
74 Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, credentialsProvider,
75 SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
76 Aws::MakeShared<AppIntegrationsServiceErrorMarshaller>(ALLOCATION_TAG)),
77 m_executor(clientConfiguration.executor)
78 {
79 init(clientConfiguration);
80 }
81
~AppIntegrationsServiceClient()82 AppIntegrationsServiceClient::~AppIntegrationsServiceClient()
83 {
84 }
85
init(const Client::ClientConfiguration & config)86 void AppIntegrationsServiceClient::init(const Client::ClientConfiguration& config)
87 {
88 SetServiceClientName("AppIntegrations");
89 m_configScheme = SchemeMapper::ToString(config.scheme);
90 if (config.endpointOverride.empty())
91 {
92 m_uri = m_configScheme + "://" + AppIntegrationsServiceEndpoint::ForRegion(config.region, config.useDualStack);
93 }
94 else
95 {
96 OverrideEndpoint(config.endpointOverride);
97 }
98 }
99
OverrideEndpoint(const Aws::String & endpoint)100 void AppIntegrationsServiceClient::OverrideEndpoint(const Aws::String& endpoint)
101 {
102 if (endpoint.compare(0, 7, "http://") == 0 || endpoint.compare(0, 8, "https://") == 0)
103 {
104 m_uri = endpoint;
105 }
106 else
107 {
108 m_uri = m_configScheme + "://" + endpoint;
109 }
110 }
111
CreateDataIntegration(const CreateDataIntegrationRequest & request) const112 CreateDataIntegrationOutcome AppIntegrationsServiceClient::CreateDataIntegration(const CreateDataIntegrationRequest& request) const
113 {
114 Aws::Http::URI uri = m_uri;
115 uri.AddPathSegments("/dataIntegrations");
116 return CreateDataIntegrationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
117 }
118
CreateDataIntegrationCallable(const CreateDataIntegrationRequest & request) const119 CreateDataIntegrationOutcomeCallable AppIntegrationsServiceClient::CreateDataIntegrationCallable(const CreateDataIntegrationRequest& request) const
120 {
121 auto task = Aws::MakeShared< std::packaged_task< CreateDataIntegrationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateDataIntegration(request); } );
122 auto packagedFunction = [task]() { (*task)(); };
123 m_executor->Submit(packagedFunction);
124 return task->get_future();
125 }
126
CreateDataIntegrationAsync(const CreateDataIntegrationRequest & request,const CreateDataIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const127 void AppIntegrationsServiceClient::CreateDataIntegrationAsync(const CreateDataIntegrationRequest& request, const CreateDataIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
128 {
129 m_executor->Submit( [this, request, handler, context](){ this->CreateDataIntegrationAsyncHelper( request, handler, context ); } );
130 }
131
CreateDataIntegrationAsyncHelper(const CreateDataIntegrationRequest & request,const CreateDataIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const132 void AppIntegrationsServiceClient::CreateDataIntegrationAsyncHelper(const CreateDataIntegrationRequest& request, const CreateDataIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
133 {
134 handler(this, request, CreateDataIntegration(request), context);
135 }
136
CreateEventIntegration(const CreateEventIntegrationRequest & request) const137 CreateEventIntegrationOutcome AppIntegrationsServiceClient::CreateEventIntegration(const CreateEventIntegrationRequest& request) const
138 {
139 Aws::Http::URI uri = m_uri;
140 uri.AddPathSegments("/eventIntegrations");
141 return CreateEventIntegrationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
142 }
143
CreateEventIntegrationCallable(const CreateEventIntegrationRequest & request) const144 CreateEventIntegrationOutcomeCallable AppIntegrationsServiceClient::CreateEventIntegrationCallable(const CreateEventIntegrationRequest& request) const
145 {
146 auto task = Aws::MakeShared< std::packaged_task< CreateEventIntegrationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateEventIntegration(request); } );
147 auto packagedFunction = [task]() { (*task)(); };
148 m_executor->Submit(packagedFunction);
149 return task->get_future();
150 }
151
CreateEventIntegrationAsync(const CreateEventIntegrationRequest & request,const CreateEventIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const152 void AppIntegrationsServiceClient::CreateEventIntegrationAsync(const CreateEventIntegrationRequest& request, const CreateEventIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
153 {
154 m_executor->Submit( [this, request, handler, context](){ this->CreateEventIntegrationAsyncHelper( request, handler, context ); } );
155 }
156
CreateEventIntegrationAsyncHelper(const CreateEventIntegrationRequest & request,const CreateEventIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const157 void AppIntegrationsServiceClient::CreateEventIntegrationAsyncHelper(const CreateEventIntegrationRequest& request, const CreateEventIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
158 {
159 handler(this, request, CreateEventIntegration(request), context);
160 }
161
DeleteDataIntegration(const DeleteDataIntegrationRequest & request) const162 DeleteDataIntegrationOutcome AppIntegrationsServiceClient::DeleteDataIntegration(const DeleteDataIntegrationRequest& request) const
163 {
164 if (!request.DataIntegrationIdentifierHasBeenSet())
165 {
166 AWS_LOGSTREAM_ERROR("DeleteDataIntegration", "Required field: DataIntegrationIdentifier, is not set");
167 return DeleteDataIntegrationOutcome(Aws::Client::AWSError<AppIntegrationsServiceErrors>(AppIntegrationsServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataIntegrationIdentifier]", false));
168 }
169 Aws::Http::URI uri = m_uri;
170 uri.AddPathSegments("/dataIntegrations/");
171 uri.AddPathSegment(request.GetDataIntegrationIdentifier());
172 return DeleteDataIntegrationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
173 }
174
DeleteDataIntegrationCallable(const DeleteDataIntegrationRequest & request) const175 DeleteDataIntegrationOutcomeCallable AppIntegrationsServiceClient::DeleteDataIntegrationCallable(const DeleteDataIntegrationRequest& request) const
176 {
177 auto task = Aws::MakeShared< std::packaged_task< DeleteDataIntegrationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteDataIntegration(request); } );
178 auto packagedFunction = [task]() { (*task)(); };
179 m_executor->Submit(packagedFunction);
180 return task->get_future();
181 }
182
DeleteDataIntegrationAsync(const DeleteDataIntegrationRequest & request,const DeleteDataIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const183 void AppIntegrationsServiceClient::DeleteDataIntegrationAsync(const DeleteDataIntegrationRequest& request, const DeleteDataIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
184 {
185 m_executor->Submit( [this, request, handler, context](){ this->DeleteDataIntegrationAsyncHelper( request, handler, context ); } );
186 }
187
DeleteDataIntegrationAsyncHelper(const DeleteDataIntegrationRequest & request,const DeleteDataIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const188 void AppIntegrationsServiceClient::DeleteDataIntegrationAsyncHelper(const DeleteDataIntegrationRequest& request, const DeleteDataIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
189 {
190 handler(this, request, DeleteDataIntegration(request), context);
191 }
192
DeleteEventIntegration(const DeleteEventIntegrationRequest & request) const193 DeleteEventIntegrationOutcome AppIntegrationsServiceClient::DeleteEventIntegration(const DeleteEventIntegrationRequest& request) const
194 {
195 if (!request.NameHasBeenSet())
196 {
197 AWS_LOGSTREAM_ERROR("DeleteEventIntegration", "Required field: Name, is not set");
198 return DeleteEventIntegrationOutcome(Aws::Client::AWSError<AppIntegrationsServiceErrors>(AppIntegrationsServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Name]", false));
199 }
200 Aws::Http::URI uri = m_uri;
201 uri.AddPathSegments("/eventIntegrations/");
202 uri.AddPathSegment(request.GetName());
203 return DeleteEventIntegrationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
204 }
205
DeleteEventIntegrationCallable(const DeleteEventIntegrationRequest & request) const206 DeleteEventIntegrationOutcomeCallable AppIntegrationsServiceClient::DeleteEventIntegrationCallable(const DeleteEventIntegrationRequest& request) const
207 {
208 auto task = Aws::MakeShared< std::packaged_task< DeleteEventIntegrationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteEventIntegration(request); } );
209 auto packagedFunction = [task]() { (*task)(); };
210 m_executor->Submit(packagedFunction);
211 return task->get_future();
212 }
213
DeleteEventIntegrationAsync(const DeleteEventIntegrationRequest & request,const DeleteEventIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const214 void AppIntegrationsServiceClient::DeleteEventIntegrationAsync(const DeleteEventIntegrationRequest& request, const DeleteEventIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
215 {
216 m_executor->Submit( [this, request, handler, context](){ this->DeleteEventIntegrationAsyncHelper( request, handler, context ); } );
217 }
218
DeleteEventIntegrationAsyncHelper(const DeleteEventIntegrationRequest & request,const DeleteEventIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const219 void AppIntegrationsServiceClient::DeleteEventIntegrationAsyncHelper(const DeleteEventIntegrationRequest& request, const DeleteEventIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
220 {
221 handler(this, request, DeleteEventIntegration(request), context);
222 }
223
GetDataIntegration(const GetDataIntegrationRequest & request) const224 GetDataIntegrationOutcome AppIntegrationsServiceClient::GetDataIntegration(const GetDataIntegrationRequest& request) const
225 {
226 if (!request.IdentifierHasBeenSet())
227 {
228 AWS_LOGSTREAM_ERROR("GetDataIntegration", "Required field: Identifier, is not set");
229 return GetDataIntegrationOutcome(Aws::Client::AWSError<AppIntegrationsServiceErrors>(AppIntegrationsServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Identifier]", false));
230 }
231 Aws::Http::URI uri = m_uri;
232 uri.AddPathSegments("/dataIntegrations/");
233 uri.AddPathSegment(request.GetIdentifier());
234 return GetDataIntegrationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
235 }
236
GetDataIntegrationCallable(const GetDataIntegrationRequest & request) const237 GetDataIntegrationOutcomeCallable AppIntegrationsServiceClient::GetDataIntegrationCallable(const GetDataIntegrationRequest& request) const
238 {
239 auto task = Aws::MakeShared< std::packaged_task< GetDataIntegrationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetDataIntegration(request); } );
240 auto packagedFunction = [task]() { (*task)(); };
241 m_executor->Submit(packagedFunction);
242 return task->get_future();
243 }
244
GetDataIntegrationAsync(const GetDataIntegrationRequest & request,const GetDataIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const245 void AppIntegrationsServiceClient::GetDataIntegrationAsync(const GetDataIntegrationRequest& request, const GetDataIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
246 {
247 m_executor->Submit( [this, request, handler, context](){ this->GetDataIntegrationAsyncHelper( request, handler, context ); } );
248 }
249
GetDataIntegrationAsyncHelper(const GetDataIntegrationRequest & request,const GetDataIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const250 void AppIntegrationsServiceClient::GetDataIntegrationAsyncHelper(const GetDataIntegrationRequest& request, const GetDataIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
251 {
252 handler(this, request, GetDataIntegration(request), context);
253 }
254
GetEventIntegration(const GetEventIntegrationRequest & request) const255 GetEventIntegrationOutcome AppIntegrationsServiceClient::GetEventIntegration(const GetEventIntegrationRequest& request) const
256 {
257 if (!request.NameHasBeenSet())
258 {
259 AWS_LOGSTREAM_ERROR("GetEventIntegration", "Required field: Name, is not set");
260 return GetEventIntegrationOutcome(Aws::Client::AWSError<AppIntegrationsServiceErrors>(AppIntegrationsServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Name]", false));
261 }
262 Aws::Http::URI uri = m_uri;
263 uri.AddPathSegments("/eventIntegrations/");
264 uri.AddPathSegment(request.GetName());
265 return GetEventIntegrationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
266 }
267
GetEventIntegrationCallable(const GetEventIntegrationRequest & request) const268 GetEventIntegrationOutcomeCallable AppIntegrationsServiceClient::GetEventIntegrationCallable(const GetEventIntegrationRequest& request) const
269 {
270 auto task = Aws::MakeShared< std::packaged_task< GetEventIntegrationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetEventIntegration(request); } );
271 auto packagedFunction = [task]() { (*task)(); };
272 m_executor->Submit(packagedFunction);
273 return task->get_future();
274 }
275
GetEventIntegrationAsync(const GetEventIntegrationRequest & request,const GetEventIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const276 void AppIntegrationsServiceClient::GetEventIntegrationAsync(const GetEventIntegrationRequest& request, const GetEventIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
277 {
278 m_executor->Submit( [this, request, handler, context](){ this->GetEventIntegrationAsyncHelper( request, handler, context ); } );
279 }
280
GetEventIntegrationAsyncHelper(const GetEventIntegrationRequest & request,const GetEventIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const281 void AppIntegrationsServiceClient::GetEventIntegrationAsyncHelper(const GetEventIntegrationRequest& request, const GetEventIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
282 {
283 handler(this, request, GetEventIntegration(request), context);
284 }
285
ListDataIntegrationAssociations(const ListDataIntegrationAssociationsRequest & request) const286 ListDataIntegrationAssociationsOutcome AppIntegrationsServiceClient::ListDataIntegrationAssociations(const ListDataIntegrationAssociationsRequest& request) const
287 {
288 if (!request.DataIntegrationIdentifierHasBeenSet())
289 {
290 AWS_LOGSTREAM_ERROR("ListDataIntegrationAssociations", "Required field: DataIntegrationIdentifier, is not set");
291 return ListDataIntegrationAssociationsOutcome(Aws::Client::AWSError<AppIntegrationsServiceErrors>(AppIntegrationsServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataIntegrationIdentifier]", false));
292 }
293 Aws::Http::URI uri = m_uri;
294 uri.AddPathSegments("/dataIntegrations/");
295 uri.AddPathSegment(request.GetDataIntegrationIdentifier());
296 uri.AddPathSegments("/associations");
297 return ListDataIntegrationAssociationsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
298 }
299
ListDataIntegrationAssociationsCallable(const ListDataIntegrationAssociationsRequest & request) const300 ListDataIntegrationAssociationsOutcomeCallable AppIntegrationsServiceClient::ListDataIntegrationAssociationsCallable(const ListDataIntegrationAssociationsRequest& request) const
301 {
302 auto task = Aws::MakeShared< std::packaged_task< ListDataIntegrationAssociationsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListDataIntegrationAssociations(request); } );
303 auto packagedFunction = [task]() { (*task)(); };
304 m_executor->Submit(packagedFunction);
305 return task->get_future();
306 }
307
ListDataIntegrationAssociationsAsync(const ListDataIntegrationAssociationsRequest & request,const ListDataIntegrationAssociationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const308 void AppIntegrationsServiceClient::ListDataIntegrationAssociationsAsync(const ListDataIntegrationAssociationsRequest& request, const ListDataIntegrationAssociationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
309 {
310 m_executor->Submit( [this, request, handler, context](){ this->ListDataIntegrationAssociationsAsyncHelper( request, handler, context ); } );
311 }
312
ListDataIntegrationAssociationsAsyncHelper(const ListDataIntegrationAssociationsRequest & request,const ListDataIntegrationAssociationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const313 void AppIntegrationsServiceClient::ListDataIntegrationAssociationsAsyncHelper(const ListDataIntegrationAssociationsRequest& request, const ListDataIntegrationAssociationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
314 {
315 handler(this, request, ListDataIntegrationAssociations(request), context);
316 }
317
ListDataIntegrations(const ListDataIntegrationsRequest & request) const318 ListDataIntegrationsOutcome AppIntegrationsServiceClient::ListDataIntegrations(const ListDataIntegrationsRequest& request) const
319 {
320 Aws::Http::URI uri = m_uri;
321 uri.AddPathSegments("/dataIntegrations");
322 return ListDataIntegrationsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
323 }
324
ListDataIntegrationsCallable(const ListDataIntegrationsRequest & request) const325 ListDataIntegrationsOutcomeCallable AppIntegrationsServiceClient::ListDataIntegrationsCallable(const ListDataIntegrationsRequest& request) const
326 {
327 auto task = Aws::MakeShared< std::packaged_task< ListDataIntegrationsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListDataIntegrations(request); } );
328 auto packagedFunction = [task]() { (*task)(); };
329 m_executor->Submit(packagedFunction);
330 return task->get_future();
331 }
332
ListDataIntegrationsAsync(const ListDataIntegrationsRequest & request,const ListDataIntegrationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const333 void AppIntegrationsServiceClient::ListDataIntegrationsAsync(const ListDataIntegrationsRequest& request, const ListDataIntegrationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
334 {
335 m_executor->Submit( [this, request, handler, context](){ this->ListDataIntegrationsAsyncHelper( request, handler, context ); } );
336 }
337
ListDataIntegrationsAsyncHelper(const ListDataIntegrationsRequest & request,const ListDataIntegrationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const338 void AppIntegrationsServiceClient::ListDataIntegrationsAsyncHelper(const ListDataIntegrationsRequest& request, const ListDataIntegrationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
339 {
340 handler(this, request, ListDataIntegrations(request), context);
341 }
342
ListEventIntegrationAssociations(const ListEventIntegrationAssociationsRequest & request) const343 ListEventIntegrationAssociationsOutcome AppIntegrationsServiceClient::ListEventIntegrationAssociations(const ListEventIntegrationAssociationsRequest& request) const
344 {
345 if (!request.EventIntegrationNameHasBeenSet())
346 {
347 AWS_LOGSTREAM_ERROR("ListEventIntegrationAssociations", "Required field: EventIntegrationName, is not set");
348 return ListEventIntegrationAssociationsOutcome(Aws::Client::AWSError<AppIntegrationsServiceErrors>(AppIntegrationsServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [EventIntegrationName]", false));
349 }
350 Aws::Http::URI uri = m_uri;
351 uri.AddPathSegments("/eventIntegrations/");
352 uri.AddPathSegment(request.GetEventIntegrationName());
353 uri.AddPathSegments("/associations");
354 return ListEventIntegrationAssociationsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
355 }
356
ListEventIntegrationAssociationsCallable(const ListEventIntegrationAssociationsRequest & request) const357 ListEventIntegrationAssociationsOutcomeCallable AppIntegrationsServiceClient::ListEventIntegrationAssociationsCallable(const ListEventIntegrationAssociationsRequest& request) const
358 {
359 auto task = Aws::MakeShared< std::packaged_task< ListEventIntegrationAssociationsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListEventIntegrationAssociations(request); } );
360 auto packagedFunction = [task]() { (*task)(); };
361 m_executor->Submit(packagedFunction);
362 return task->get_future();
363 }
364
ListEventIntegrationAssociationsAsync(const ListEventIntegrationAssociationsRequest & request,const ListEventIntegrationAssociationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const365 void AppIntegrationsServiceClient::ListEventIntegrationAssociationsAsync(const ListEventIntegrationAssociationsRequest& request, const ListEventIntegrationAssociationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
366 {
367 m_executor->Submit( [this, request, handler, context](){ this->ListEventIntegrationAssociationsAsyncHelper( request, handler, context ); } );
368 }
369
ListEventIntegrationAssociationsAsyncHelper(const ListEventIntegrationAssociationsRequest & request,const ListEventIntegrationAssociationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const370 void AppIntegrationsServiceClient::ListEventIntegrationAssociationsAsyncHelper(const ListEventIntegrationAssociationsRequest& request, const ListEventIntegrationAssociationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
371 {
372 handler(this, request, ListEventIntegrationAssociations(request), context);
373 }
374
ListEventIntegrations(const ListEventIntegrationsRequest & request) const375 ListEventIntegrationsOutcome AppIntegrationsServiceClient::ListEventIntegrations(const ListEventIntegrationsRequest& request) const
376 {
377 Aws::Http::URI uri = m_uri;
378 uri.AddPathSegments("/eventIntegrations");
379 return ListEventIntegrationsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
380 }
381
ListEventIntegrationsCallable(const ListEventIntegrationsRequest & request) const382 ListEventIntegrationsOutcomeCallable AppIntegrationsServiceClient::ListEventIntegrationsCallable(const ListEventIntegrationsRequest& request) const
383 {
384 auto task = Aws::MakeShared< std::packaged_task< ListEventIntegrationsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListEventIntegrations(request); } );
385 auto packagedFunction = [task]() { (*task)(); };
386 m_executor->Submit(packagedFunction);
387 return task->get_future();
388 }
389
ListEventIntegrationsAsync(const ListEventIntegrationsRequest & request,const ListEventIntegrationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const390 void AppIntegrationsServiceClient::ListEventIntegrationsAsync(const ListEventIntegrationsRequest& request, const ListEventIntegrationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
391 {
392 m_executor->Submit( [this, request, handler, context](){ this->ListEventIntegrationsAsyncHelper( request, handler, context ); } );
393 }
394
ListEventIntegrationsAsyncHelper(const ListEventIntegrationsRequest & request,const ListEventIntegrationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const395 void AppIntegrationsServiceClient::ListEventIntegrationsAsyncHelper(const ListEventIntegrationsRequest& request, const ListEventIntegrationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
396 {
397 handler(this, request, ListEventIntegrations(request), context);
398 }
399
ListTagsForResource(const ListTagsForResourceRequest & request) const400 ListTagsForResourceOutcome AppIntegrationsServiceClient::ListTagsForResource(const ListTagsForResourceRequest& request) const
401 {
402 if (!request.ResourceArnHasBeenSet())
403 {
404 AWS_LOGSTREAM_ERROR("ListTagsForResource", "Required field: ResourceArn, is not set");
405 return ListTagsForResourceOutcome(Aws::Client::AWSError<AppIntegrationsServiceErrors>(AppIntegrationsServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false));
406 }
407 Aws::Http::URI uri = m_uri;
408 uri.AddPathSegments("/tags/");
409 uri.AddPathSegment(request.GetResourceArn());
410 return ListTagsForResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
411 }
412
ListTagsForResourceCallable(const ListTagsForResourceRequest & request) const413 ListTagsForResourceOutcomeCallable AppIntegrationsServiceClient::ListTagsForResourceCallable(const ListTagsForResourceRequest& request) const
414 {
415 auto task = Aws::MakeShared< std::packaged_task< ListTagsForResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListTagsForResource(request); } );
416 auto packagedFunction = [task]() { (*task)(); };
417 m_executor->Submit(packagedFunction);
418 return task->get_future();
419 }
420
ListTagsForResourceAsync(const ListTagsForResourceRequest & request,const ListTagsForResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const421 void AppIntegrationsServiceClient::ListTagsForResourceAsync(const ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
422 {
423 m_executor->Submit( [this, request, handler, context](){ this->ListTagsForResourceAsyncHelper( request, handler, context ); } );
424 }
425
ListTagsForResourceAsyncHelper(const ListTagsForResourceRequest & request,const ListTagsForResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const426 void AppIntegrationsServiceClient::ListTagsForResourceAsyncHelper(const ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
427 {
428 handler(this, request, ListTagsForResource(request), context);
429 }
430
TagResource(const TagResourceRequest & request) const431 TagResourceOutcome AppIntegrationsServiceClient::TagResource(const TagResourceRequest& request) const
432 {
433 if (!request.ResourceArnHasBeenSet())
434 {
435 AWS_LOGSTREAM_ERROR("TagResource", "Required field: ResourceArn, is not set");
436 return TagResourceOutcome(Aws::Client::AWSError<AppIntegrationsServiceErrors>(AppIntegrationsServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false));
437 }
438 Aws::Http::URI uri = m_uri;
439 uri.AddPathSegments("/tags/");
440 uri.AddPathSegment(request.GetResourceArn());
441 return TagResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
442 }
443
TagResourceCallable(const TagResourceRequest & request) const444 TagResourceOutcomeCallable AppIntegrationsServiceClient::TagResourceCallable(const TagResourceRequest& request) const
445 {
446 auto task = Aws::MakeShared< std::packaged_task< TagResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->TagResource(request); } );
447 auto packagedFunction = [task]() { (*task)(); };
448 m_executor->Submit(packagedFunction);
449 return task->get_future();
450 }
451
TagResourceAsync(const TagResourceRequest & request,const TagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const452 void AppIntegrationsServiceClient::TagResourceAsync(const TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
453 {
454 m_executor->Submit( [this, request, handler, context](){ this->TagResourceAsyncHelper( request, handler, context ); } );
455 }
456
TagResourceAsyncHelper(const TagResourceRequest & request,const TagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const457 void AppIntegrationsServiceClient::TagResourceAsyncHelper(const TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
458 {
459 handler(this, request, TagResource(request), context);
460 }
461
UntagResource(const UntagResourceRequest & request) const462 UntagResourceOutcome AppIntegrationsServiceClient::UntagResource(const UntagResourceRequest& request) const
463 {
464 if (!request.ResourceArnHasBeenSet())
465 {
466 AWS_LOGSTREAM_ERROR("UntagResource", "Required field: ResourceArn, is not set");
467 return UntagResourceOutcome(Aws::Client::AWSError<AppIntegrationsServiceErrors>(AppIntegrationsServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false));
468 }
469 if (!request.TagKeysHasBeenSet())
470 {
471 AWS_LOGSTREAM_ERROR("UntagResource", "Required field: TagKeys, is not set");
472 return UntagResourceOutcome(Aws::Client::AWSError<AppIntegrationsServiceErrors>(AppIntegrationsServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TagKeys]", false));
473 }
474 Aws::Http::URI uri = m_uri;
475 uri.AddPathSegments("/tags/");
476 uri.AddPathSegment(request.GetResourceArn());
477 return UntagResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
478 }
479
UntagResourceCallable(const UntagResourceRequest & request) const480 UntagResourceOutcomeCallable AppIntegrationsServiceClient::UntagResourceCallable(const UntagResourceRequest& request) const
481 {
482 auto task = Aws::MakeShared< std::packaged_task< UntagResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UntagResource(request); } );
483 auto packagedFunction = [task]() { (*task)(); };
484 m_executor->Submit(packagedFunction);
485 return task->get_future();
486 }
487
UntagResourceAsync(const UntagResourceRequest & request,const UntagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const488 void AppIntegrationsServiceClient::UntagResourceAsync(const UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
489 {
490 m_executor->Submit( [this, request, handler, context](){ this->UntagResourceAsyncHelper( request, handler, context ); } );
491 }
492
UntagResourceAsyncHelper(const UntagResourceRequest & request,const UntagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const493 void AppIntegrationsServiceClient::UntagResourceAsyncHelper(const UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
494 {
495 handler(this, request, UntagResource(request), context);
496 }
497
UpdateDataIntegration(const UpdateDataIntegrationRequest & request) const498 UpdateDataIntegrationOutcome AppIntegrationsServiceClient::UpdateDataIntegration(const UpdateDataIntegrationRequest& request) const
499 {
500 if (!request.IdentifierHasBeenSet())
501 {
502 AWS_LOGSTREAM_ERROR("UpdateDataIntegration", "Required field: Identifier, is not set");
503 return UpdateDataIntegrationOutcome(Aws::Client::AWSError<AppIntegrationsServiceErrors>(AppIntegrationsServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Identifier]", false));
504 }
505 Aws::Http::URI uri = m_uri;
506 uri.AddPathSegments("/dataIntegrations/");
507 uri.AddPathSegment(request.GetIdentifier());
508 return UpdateDataIntegrationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER));
509 }
510
UpdateDataIntegrationCallable(const UpdateDataIntegrationRequest & request) const511 UpdateDataIntegrationOutcomeCallable AppIntegrationsServiceClient::UpdateDataIntegrationCallable(const UpdateDataIntegrationRequest& request) const
512 {
513 auto task = Aws::MakeShared< std::packaged_task< UpdateDataIntegrationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateDataIntegration(request); } );
514 auto packagedFunction = [task]() { (*task)(); };
515 m_executor->Submit(packagedFunction);
516 return task->get_future();
517 }
518
UpdateDataIntegrationAsync(const UpdateDataIntegrationRequest & request,const UpdateDataIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const519 void AppIntegrationsServiceClient::UpdateDataIntegrationAsync(const UpdateDataIntegrationRequest& request, const UpdateDataIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
520 {
521 m_executor->Submit( [this, request, handler, context](){ this->UpdateDataIntegrationAsyncHelper( request, handler, context ); } );
522 }
523
UpdateDataIntegrationAsyncHelper(const UpdateDataIntegrationRequest & request,const UpdateDataIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const524 void AppIntegrationsServiceClient::UpdateDataIntegrationAsyncHelper(const UpdateDataIntegrationRequest& request, const UpdateDataIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
525 {
526 handler(this, request, UpdateDataIntegration(request), context);
527 }
528
UpdateEventIntegration(const UpdateEventIntegrationRequest & request) const529 UpdateEventIntegrationOutcome AppIntegrationsServiceClient::UpdateEventIntegration(const UpdateEventIntegrationRequest& request) const
530 {
531 if (!request.NameHasBeenSet())
532 {
533 AWS_LOGSTREAM_ERROR("UpdateEventIntegration", "Required field: Name, is not set");
534 return UpdateEventIntegrationOutcome(Aws::Client::AWSError<AppIntegrationsServiceErrors>(AppIntegrationsServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Name]", false));
535 }
536 Aws::Http::URI uri = m_uri;
537 uri.AddPathSegments("/eventIntegrations/");
538 uri.AddPathSegment(request.GetName());
539 return UpdateEventIntegrationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER));
540 }
541
UpdateEventIntegrationCallable(const UpdateEventIntegrationRequest & request) const542 UpdateEventIntegrationOutcomeCallable AppIntegrationsServiceClient::UpdateEventIntegrationCallable(const UpdateEventIntegrationRequest& request) const
543 {
544 auto task = Aws::MakeShared< std::packaged_task< UpdateEventIntegrationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateEventIntegration(request); } );
545 auto packagedFunction = [task]() { (*task)(); };
546 m_executor->Submit(packagedFunction);
547 return task->get_future();
548 }
549
UpdateEventIntegrationAsync(const UpdateEventIntegrationRequest & request,const UpdateEventIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const550 void AppIntegrationsServiceClient::UpdateEventIntegrationAsync(const UpdateEventIntegrationRequest& request, const UpdateEventIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
551 {
552 m_executor->Submit( [this, request, handler, context](){ this->UpdateEventIntegrationAsyncHelper( request, handler, context ); } );
553 }
554
UpdateEventIntegrationAsyncHelper(const UpdateEventIntegrationRequest & request,const UpdateEventIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const555 void AppIntegrationsServiceClient::UpdateEventIntegrationAsyncHelper(const UpdateEventIntegrationRequest& request, const UpdateEventIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
556 {
557 handler(this, request, UpdateEventIntegration(request), context);
558 }
559
560