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