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/customer-profiles/CustomerProfilesClient.h>
21 #include <aws/customer-profiles/CustomerProfilesEndpoint.h>
22 #include <aws/customer-profiles/CustomerProfilesErrorMarshaller.h>
23 #include <aws/customer-profiles/model/AddProfileKeyRequest.h>
24 #include <aws/customer-profiles/model/CreateDomainRequest.h>
25 #include <aws/customer-profiles/model/CreateProfileRequest.h>
26 #include <aws/customer-profiles/model/DeleteDomainRequest.h>
27 #include <aws/customer-profiles/model/DeleteIntegrationRequest.h>
28 #include <aws/customer-profiles/model/DeleteProfileRequest.h>
29 #include <aws/customer-profiles/model/DeleteProfileKeyRequest.h>
30 #include <aws/customer-profiles/model/DeleteProfileObjectRequest.h>
31 #include <aws/customer-profiles/model/DeleteProfileObjectTypeRequest.h>
32 #include <aws/customer-profiles/model/GetDomainRequest.h>
33 #include <aws/customer-profiles/model/GetIntegrationRequest.h>
34 #include <aws/customer-profiles/model/GetMatchesRequest.h>
35 #include <aws/customer-profiles/model/GetProfileObjectTypeRequest.h>
36 #include <aws/customer-profiles/model/GetProfileObjectTypeTemplateRequest.h>
37 #include <aws/customer-profiles/model/ListAccountIntegrationsRequest.h>
38 #include <aws/customer-profiles/model/ListDomainsRequest.h>
39 #include <aws/customer-profiles/model/ListIntegrationsRequest.h>
40 #include <aws/customer-profiles/model/ListProfileObjectTypeTemplatesRequest.h>
41 #include <aws/customer-profiles/model/ListProfileObjectTypesRequest.h>
42 #include <aws/customer-profiles/model/ListProfileObjectsRequest.h>
43 #include <aws/customer-profiles/model/ListTagsForResourceRequest.h>
44 #include <aws/customer-profiles/model/MergeProfilesRequest.h>
45 #include <aws/customer-profiles/model/PutIntegrationRequest.h>
46 #include <aws/customer-profiles/model/PutProfileObjectRequest.h>
47 #include <aws/customer-profiles/model/PutProfileObjectTypeRequest.h>
48 #include <aws/customer-profiles/model/SearchProfilesRequest.h>
49 #include <aws/customer-profiles/model/TagResourceRequest.h>
50 #include <aws/customer-profiles/model/UntagResourceRequest.h>
51 #include <aws/customer-profiles/model/UpdateDomainRequest.h>
52 #include <aws/customer-profiles/model/UpdateProfileRequest.h>
53
54 using namespace Aws;
55 using namespace Aws::Auth;
56 using namespace Aws::Client;
57 using namespace Aws::CustomerProfiles;
58 using namespace Aws::CustomerProfiles::Model;
59 using namespace Aws::Http;
60 using namespace Aws::Utils::Json;
61
62 static const char* SERVICE_NAME = "profile";
63 static const char* ALLOCATION_TAG = "CustomerProfilesClient";
64
65
CustomerProfilesClient(const Client::ClientConfiguration & clientConfiguration)66 CustomerProfilesClient::CustomerProfilesClient(const Client::ClientConfiguration& clientConfiguration) :
67 BASECLASS(clientConfiguration,
68 Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<DefaultAWSCredentialsProviderChain>(ALLOCATION_TAG),
69 SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
70 Aws::MakeShared<CustomerProfilesErrorMarshaller>(ALLOCATION_TAG)),
71 m_executor(clientConfiguration.executor)
72 {
73 init(clientConfiguration);
74 }
75
CustomerProfilesClient(const AWSCredentials & credentials,const Client::ClientConfiguration & clientConfiguration)76 CustomerProfilesClient::CustomerProfilesClient(const AWSCredentials& credentials, const Client::ClientConfiguration& clientConfiguration) :
77 BASECLASS(clientConfiguration,
78 Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<SimpleAWSCredentialsProvider>(ALLOCATION_TAG, credentials),
79 SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
80 Aws::MakeShared<CustomerProfilesErrorMarshaller>(ALLOCATION_TAG)),
81 m_executor(clientConfiguration.executor)
82 {
83 init(clientConfiguration);
84 }
85
CustomerProfilesClient(const std::shared_ptr<AWSCredentialsProvider> & credentialsProvider,const Client::ClientConfiguration & clientConfiguration)86 CustomerProfilesClient::CustomerProfilesClient(const std::shared_ptr<AWSCredentialsProvider>& credentialsProvider,
87 const Client::ClientConfiguration& clientConfiguration) :
88 BASECLASS(clientConfiguration,
89 Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, credentialsProvider,
90 SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
91 Aws::MakeShared<CustomerProfilesErrorMarshaller>(ALLOCATION_TAG)),
92 m_executor(clientConfiguration.executor)
93 {
94 init(clientConfiguration);
95 }
96
~CustomerProfilesClient()97 CustomerProfilesClient::~CustomerProfilesClient()
98 {
99 }
100
init(const Client::ClientConfiguration & config)101 void CustomerProfilesClient::init(const Client::ClientConfiguration& config)
102 {
103 SetServiceClientName("Customer Profiles");
104 m_configScheme = SchemeMapper::ToString(config.scheme);
105 if (config.endpointOverride.empty())
106 {
107 m_uri = m_configScheme + "://" + CustomerProfilesEndpoint::ForRegion(config.region, config.useDualStack);
108 }
109 else
110 {
111 OverrideEndpoint(config.endpointOverride);
112 }
113 }
114
OverrideEndpoint(const Aws::String & endpoint)115 void CustomerProfilesClient::OverrideEndpoint(const Aws::String& endpoint)
116 {
117 if (endpoint.compare(0, 7, "http://") == 0 || endpoint.compare(0, 8, "https://") == 0)
118 {
119 m_uri = endpoint;
120 }
121 else
122 {
123 m_uri = m_configScheme + "://" + endpoint;
124 }
125 }
126
AddProfileKey(const AddProfileKeyRequest & request) const127 AddProfileKeyOutcome CustomerProfilesClient::AddProfileKey(const AddProfileKeyRequest& request) const
128 {
129 if (!request.DomainNameHasBeenSet())
130 {
131 AWS_LOGSTREAM_ERROR("AddProfileKey", "Required field: DomainName, is not set");
132 return AddProfileKeyOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
133 }
134 Aws::Http::URI uri = m_uri;
135 uri.AddPathSegments("/domains/");
136 uri.AddPathSegment(request.GetDomainName());
137 uri.AddPathSegments("/profiles/keys");
138 return AddProfileKeyOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
139 }
140
AddProfileKeyCallable(const AddProfileKeyRequest & request) const141 AddProfileKeyOutcomeCallable CustomerProfilesClient::AddProfileKeyCallable(const AddProfileKeyRequest& request) const
142 {
143 auto task = Aws::MakeShared< std::packaged_task< AddProfileKeyOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->AddProfileKey(request); } );
144 auto packagedFunction = [task]() { (*task)(); };
145 m_executor->Submit(packagedFunction);
146 return task->get_future();
147 }
148
AddProfileKeyAsync(const AddProfileKeyRequest & request,const AddProfileKeyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const149 void CustomerProfilesClient::AddProfileKeyAsync(const AddProfileKeyRequest& request, const AddProfileKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
150 {
151 m_executor->Submit( [this, request, handler, context](){ this->AddProfileKeyAsyncHelper( request, handler, context ); } );
152 }
153
AddProfileKeyAsyncHelper(const AddProfileKeyRequest & request,const AddProfileKeyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const154 void CustomerProfilesClient::AddProfileKeyAsyncHelper(const AddProfileKeyRequest& request, const AddProfileKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
155 {
156 handler(this, request, AddProfileKey(request), context);
157 }
158
CreateDomain(const CreateDomainRequest & request) const159 CreateDomainOutcome CustomerProfilesClient::CreateDomain(const CreateDomainRequest& request) const
160 {
161 if (!request.DomainNameHasBeenSet())
162 {
163 AWS_LOGSTREAM_ERROR("CreateDomain", "Required field: DomainName, is not set");
164 return CreateDomainOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
165 }
166 Aws::Http::URI uri = m_uri;
167 uri.AddPathSegments("/domains/");
168 uri.AddPathSegment(request.GetDomainName());
169 return CreateDomainOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
170 }
171
CreateDomainCallable(const CreateDomainRequest & request) const172 CreateDomainOutcomeCallable CustomerProfilesClient::CreateDomainCallable(const CreateDomainRequest& request) const
173 {
174 auto task = Aws::MakeShared< std::packaged_task< CreateDomainOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateDomain(request); } );
175 auto packagedFunction = [task]() { (*task)(); };
176 m_executor->Submit(packagedFunction);
177 return task->get_future();
178 }
179
CreateDomainAsync(const CreateDomainRequest & request,const CreateDomainResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const180 void CustomerProfilesClient::CreateDomainAsync(const CreateDomainRequest& request, const CreateDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
181 {
182 m_executor->Submit( [this, request, handler, context](){ this->CreateDomainAsyncHelper( request, handler, context ); } );
183 }
184
CreateDomainAsyncHelper(const CreateDomainRequest & request,const CreateDomainResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const185 void CustomerProfilesClient::CreateDomainAsyncHelper(const CreateDomainRequest& request, const CreateDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
186 {
187 handler(this, request, CreateDomain(request), context);
188 }
189
CreateProfile(const CreateProfileRequest & request) const190 CreateProfileOutcome CustomerProfilesClient::CreateProfile(const CreateProfileRequest& request) const
191 {
192 if (!request.DomainNameHasBeenSet())
193 {
194 AWS_LOGSTREAM_ERROR("CreateProfile", "Required field: DomainName, is not set");
195 return CreateProfileOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
196 }
197 Aws::Http::URI uri = m_uri;
198 uri.AddPathSegments("/domains/");
199 uri.AddPathSegment(request.GetDomainName());
200 uri.AddPathSegments("/profiles");
201 return CreateProfileOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
202 }
203
CreateProfileCallable(const CreateProfileRequest & request) const204 CreateProfileOutcomeCallable CustomerProfilesClient::CreateProfileCallable(const CreateProfileRequest& request) const
205 {
206 auto task = Aws::MakeShared< std::packaged_task< CreateProfileOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateProfile(request); } );
207 auto packagedFunction = [task]() { (*task)(); };
208 m_executor->Submit(packagedFunction);
209 return task->get_future();
210 }
211
CreateProfileAsync(const CreateProfileRequest & request,const CreateProfileResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const212 void CustomerProfilesClient::CreateProfileAsync(const CreateProfileRequest& request, const CreateProfileResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
213 {
214 m_executor->Submit( [this, request, handler, context](){ this->CreateProfileAsyncHelper( request, handler, context ); } );
215 }
216
CreateProfileAsyncHelper(const CreateProfileRequest & request,const CreateProfileResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const217 void CustomerProfilesClient::CreateProfileAsyncHelper(const CreateProfileRequest& request, const CreateProfileResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
218 {
219 handler(this, request, CreateProfile(request), context);
220 }
221
DeleteDomain(const DeleteDomainRequest & request) const222 DeleteDomainOutcome CustomerProfilesClient::DeleteDomain(const DeleteDomainRequest& request) const
223 {
224 if (!request.DomainNameHasBeenSet())
225 {
226 AWS_LOGSTREAM_ERROR("DeleteDomain", "Required field: DomainName, is not set");
227 return DeleteDomainOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
228 }
229 Aws::Http::URI uri = m_uri;
230 uri.AddPathSegments("/domains/");
231 uri.AddPathSegment(request.GetDomainName());
232 return DeleteDomainOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
233 }
234
DeleteDomainCallable(const DeleteDomainRequest & request) const235 DeleteDomainOutcomeCallable CustomerProfilesClient::DeleteDomainCallable(const DeleteDomainRequest& request) const
236 {
237 auto task = Aws::MakeShared< std::packaged_task< DeleteDomainOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteDomain(request); } );
238 auto packagedFunction = [task]() { (*task)(); };
239 m_executor->Submit(packagedFunction);
240 return task->get_future();
241 }
242
DeleteDomainAsync(const DeleteDomainRequest & request,const DeleteDomainResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const243 void CustomerProfilesClient::DeleteDomainAsync(const DeleteDomainRequest& request, const DeleteDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
244 {
245 m_executor->Submit( [this, request, handler, context](){ this->DeleteDomainAsyncHelper( request, handler, context ); } );
246 }
247
DeleteDomainAsyncHelper(const DeleteDomainRequest & request,const DeleteDomainResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const248 void CustomerProfilesClient::DeleteDomainAsyncHelper(const DeleteDomainRequest& request, const DeleteDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
249 {
250 handler(this, request, DeleteDomain(request), context);
251 }
252
DeleteIntegration(const DeleteIntegrationRequest & request) const253 DeleteIntegrationOutcome CustomerProfilesClient::DeleteIntegration(const DeleteIntegrationRequest& request) const
254 {
255 if (!request.DomainNameHasBeenSet())
256 {
257 AWS_LOGSTREAM_ERROR("DeleteIntegration", "Required field: DomainName, is not set");
258 return DeleteIntegrationOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
259 }
260 Aws::Http::URI uri = m_uri;
261 uri.AddPathSegments("/domains/");
262 uri.AddPathSegment(request.GetDomainName());
263 uri.AddPathSegments("/integrations/delete");
264 return DeleteIntegrationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
265 }
266
DeleteIntegrationCallable(const DeleteIntegrationRequest & request) const267 DeleteIntegrationOutcomeCallable CustomerProfilesClient::DeleteIntegrationCallable(const DeleteIntegrationRequest& request) const
268 {
269 auto task = Aws::MakeShared< std::packaged_task< DeleteIntegrationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteIntegration(request); } );
270 auto packagedFunction = [task]() { (*task)(); };
271 m_executor->Submit(packagedFunction);
272 return task->get_future();
273 }
274
DeleteIntegrationAsync(const DeleteIntegrationRequest & request,const DeleteIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const275 void CustomerProfilesClient::DeleteIntegrationAsync(const DeleteIntegrationRequest& request, const DeleteIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
276 {
277 m_executor->Submit( [this, request, handler, context](){ this->DeleteIntegrationAsyncHelper( request, handler, context ); } );
278 }
279
DeleteIntegrationAsyncHelper(const DeleteIntegrationRequest & request,const DeleteIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const280 void CustomerProfilesClient::DeleteIntegrationAsyncHelper(const DeleteIntegrationRequest& request, const DeleteIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
281 {
282 handler(this, request, DeleteIntegration(request), context);
283 }
284
DeleteProfile(const DeleteProfileRequest & request) const285 DeleteProfileOutcome CustomerProfilesClient::DeleteProfile(const DeleteProfileRequest& request) const
286 {
287 if (!request.DomainNameHasBeenSet())
288 {
289 AWS_LOGSTREAM_ERROR("DeleteProfile", "Required field: DomainName, is not set");
290 return DeleteProfileOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
291 }
292 Aws::Http::URI uri = m_uri;
293 uri.AddPathSegments("/domains/");
294 uri.AddPathSegment(request.GetDomainName());
295 uri.AddPathSegments("/profiles/delete");
296 return DeleteProfileOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
297 }
298
DeleteProfileCallable(const DeleteProfileRequest & request) const299 DeleteProfileOutcomeCallable CustomerProfilesClient::DeleteProfileCallable(const DeleteProfileRequest& request) const
300 {
301 auto task = Aws::MakeShared< std::packaged_task< DeleteProfileOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteProfile(request); } );
302 auto packagedFunction = [task]() { (*task)(); };
303 m_executor->Submit(packagedFunction);
304 return task->get_future();
305 }
306
DeleteProfileAsync(const DeleteProfileRequest & request,const DeleteProfileResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const307 void CustomerProfilesClient::DeleteProfileAsync(const DeleteProfileRequest& request, const DeleteProfileResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
308 {
309 m_executor->Submit( [this, request, handler, context](){ this->DeleteProfileAsyncHelper( request, handler, context ); } );
310 }
311
DeleteProfileAsyncHelper(const DeleteProfileRequest & request,const DeleteProfileResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const312 void CustomerProfilesClient::DeleteProfileAsyncHelper(const DeleteProfileRequest& request, const DeleteProfileResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
313 {
314 handler(this, request, DeleteProfile(request), context);
315 }
316
DeleteProfileKey(const DeleteProfileKeyRequest & request) const317 DeleteProfileKeyOutcome CustomerProfilesClient::DeleteProfileKey(const DeleteProfileKeyRequest& request) const
318 {
319 if (!request.DomainNameHasBeenSet())
320 {
321 AWS_LOGSTREAM_ERROR("DeleteProfileKey", "Required field: DomainName, is not set");
322 return DeleteProfileKeyOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
323 }
324 Aws::Http::URI uri = m_uri;
325 uri.AddPathSegments("/domains/");
326 uri.AddPathSegment(request.GetDomainName());
327 uri.AddPathSegments("/profiles/keys/delete");
328 return DeleteProfileKeyOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
329 }
330
DeleteProfileKeyCallable(const DeleteProfileKeyRequest & request) const331 DeleteProfileKeyOutcomeCallable CustomerProfilesClient::DeleteProfileKeyCallable(const DeleteProfileKeyRequest& request) const
332 {
333 auto task = Aws::MakeShared< std::packaged_task< DeleteProfileKeyOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteProfileKey(request); } );
334 auto packagedFunction = [task]() { (*task)(); };
335 m_executor->Submit(packagedFunction);
336 return task->get_future();
337 }
338
DeleteProfileKeyAsync(const DeleteProfileKeyRequest & request,const DeleteProfileKeyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const339 void CustomerProfilesClient::DeleteProfileKeyAsync(const DeleteProfileKeyRequest& request, const DeleteProfileKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
340 {
341 m_executor->Submit( [this, request, handler, context](){ this->DeleteProfileKeyAsyncHelper( request, handler, context ); } );
342 }
343
DeleteProfileKeyAsyncHelper(const DeleteProfileKeyRequest & request,const DeleteProfileKeyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const344 void CustomerProfilesClient::DeleteProfileKeyAsyncHelper(const DeleteProfileKeyRequest& request, const DeleteProfileKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
345 {
346 handler(this, request, DeleteProfileKey(request), context);
347 }
348
DeleteProfileObject(const DeleteProfileObjectRequest & request) const349 DeleteProfileObjectOutcome CustomerProfilesClient::DeleteProfileObject(const DeleteProfileObjectRequest& request) const
350 {
351 if (!request.DomainNameHasBeenSet())
352 {
353 AWS_LOGSTREAM_ERROR("DeleteProfileObject", "Required field: DomainName, is not set");
354 return DeleteProfileObjectOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
355 }
356 Aws::Http::URI uri = m_uri;
357 uri.AddPathSegments("/domains/");
358 uri.AddPathSegment(request.GetDomainName());
359 uri.AddPathSegments("/profiles/objects/delete");
360 return DeleteProfileObjectOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
361 }
362
DeleteProfileObjectCallable(const DeleteProfileObjectRequest & request) const363 DeleteProfileObjectOutcomeCallable CustomerProfilesClient::DeleteProfileObjectCallable(const DeleteProfileObjectRequest& request) const
364 {
365 auto task = Aws::MakeShared< std::packaged_task< DeleteProfileObjectOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteProfileObject(request); } );
366 auto packagedFunction = [task]() { (*task)(); };
367 m_executor->Submit(packagedFunction);
368 return task->get_future();
369 }
370
DeleteProfileObjectAsync(const DeleteProfileObjectRequest & request,const DeleteProfileObjectResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const371 void CustomerProfilesClient::DeleteProfileObjectAsync(const DeleteProfileObjectRequest& request, const DeleteProfileObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
372 {
373 m_executor->Submit( [this, request, handler, context](){ this->DeleteProfileObjectAsyncHelper( request, handler, context ); } );
374 }
375
DeleteProfileObjectAsyncHelper(const DeleteProfileObjectRequest & request,const DeleteProfileObjectResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const376 void CustomerProfilesClient::DeleteProfileObjectAsyncHelper(const DeleteProfileObjectRequest& request, const DeleteProfileObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
377 {
378 handler(this, request, DeleteProfileObject(request), context);
379 }
380
DeleteProfileObjectType(const DeleteProfileObjectTypeRequest & request) const381 DeleteProfileObjectTypeOutcome CustomerProfilesClient::DeleteProfileObjectType(const DeleteProfileObjectTypeRequest& request) const
382 {
383 if (!request.DomainNameHasBeenSet())
384 {
385 AWS_LOGSTREAM_ERROR("DeleteProfileObjectType", "Required field: DomainName, is not set");
386 return DeleteProfileObjectTypeOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
387 }
388 if (!request.ObjectTypeNameHasBeenSet())
389 {
390 AWS_LOGSTREAM_ERROR("DeleteProfileObjectType", "Required field: ObjectTypeName, is not set");
391 return DeleteProfileObjectTypeOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ObjectTypeName]", false));
392 }
393 Aws::Http::URI uri = m_uri;
394 uri.AddPathSegments("/domains/");
395 uri.AddPathSegment(request.GetDomainName());
396 uri.AddPathSegments("/object-types/");
397 uri.AddPathSegment(request.GetObjectTypeName());
398 return DeleteProfileObjectTypeOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
399 }
400
DeleteProfileObjectTypeCallable(const DeleteProfileObjectTypeRequest & request) const401 DeleteProfileObjectTypeOutcomeCallable CustomerProfilesClient::DeleteProfileObjectTypeCallable(const DeleteProfileObjectTypeRequest& request) const
402 {
403 auto task = Aws::MakeShared< std::packaged_task< DeleteProfileObjectTypeOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteProfileObjectType(request); } );
404 auto packagedFunction = [task]() { (*task)(); };
405 m_executor->Submit(packagedFunction);
406 return task->get_future();
407 }
408
DeleteProfileObjectTypeAsync(const DeleteProfileObjectTypeRequest & request,const DeleteProfileObjectTypeResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const409 void CustomerProfilesClient::DeleteProfileObjectTypeAsync(const DeleteProfileObjectTypeRequest& request, const DeleteProfileObjectTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
410 {
411 m_executor->Submit( [this, request, handler, context](){ this->DeleteProfileObjectTypeAsyncHelper( request, handler, context ); } );
412 }
413
DeleteProfileObjectTypeAsyncHelper(const DeleteProfileObjectTypeRequest & request,const DeleteProfileObjectTypeResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const414 void CustomerProfilesClient::DeleteProfileObjectTypeAsyncHelper(const DeleteProfileObjectTypeRequest& request, const DeleteProfileObjectTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
415 {
416 handler(this, request, DeleteProfileObjectType(request), context);
417 }
418
GetDomain(const GetDomainRequest & request) const419 GetDomainOutcome CustomerProfilesClient::GetDomain(const GetDomainRequest& request) const
420 {
421 if (!request.DomainNameHasBeenSet())
422 {
423 AWS_LOGSTREAM_ERROR("GetDomain", "Required field: DomainName, is not set");
424 return GetDomainOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
425 }
426 Aws::Http::URI uri = m_uri;
427 uri.AddPathSegments("/domains/");
428 uri.AddPathSegment(request.GetDomainName());
429 return GetDomainOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
430 }
431
GetDomainCallable(const GetDomainRequest & request) const432 GetDomainOutcomeCallable CustomerProfilesClient::GetDomainCallable(const GetDomainRequest& request) const
433 {
434 auto task = Aws::MakeShared< std::packaged_task< GetDomainOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetDomain(request); } );
435 auto packagedFunction = [task]() { (*task)(); };
436 m_executor->Submit(packagedFunction);
437 return task->get_future();
438 }
439
GetDomainAsync(const GetDomainRequest & request,const GetDomainResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const440 void CustomerProfilesClient::GetDomainAsync(const GetDomainRequest& request, const GetDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
441 {
442 m_executor->Submit( [this, request, handler, context](){ this->GetDomainAsyncHelper( request, handler, context ); } );
443 }
444
GetDomainAsyncHelper(const GetDomainRequest & request,const GetDomainResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const445 void CustomerProfilesClient::GetDomainAsyncHelper(const GetDomainRequest& request, const GetDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
446 {
447 handler(this, request, GetDomain(request), context);
448 }
449
GetIntegration(const GetIntegrationRequest & request) const450 GetIntegrationOutcome CustomerProfilesClient::GetIntegration(const GetIntegrationRequest& request) const
451 {
452 if (!request.DomainNameHasBeenSet())
453 {
454 AWS_LOGSTREAM_ERROR("GetIntegration", "Required field: DomainName, is not set");
455 return GetIntegrationOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
456 }
457 Aws::Http::URI uri = m_uri;
458 uri.AddPathSegments("/domains/");
459 uri.AddPathSegment(request.GetDomainName());
460 uri.AddPathSegments("/integrations");
461 return GetIntegrationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
462 }
463
GetIntegrationCallable(const GetIntegrationRequest & request) const464 GetIntegrationOutcomeCallable CustomerProfilesClient::GetIntegrationCallable(const GetIntegrationRequest& request) const
465 {
466 auto task = Aws::MakeShared< std::packaged_task< GetIntegrationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetIntegration(request); } );
467 auto packagedFunction = [task]() { (*task)(); };
468 m_executor->Submit(packagedFunction);
469 return task->get_future();
470 }
471
GetIntegrationAsync(const GetIntegrationRequest & request,const GetIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const472 void CustomerProfilesClient::GetIntegrationAsync(const GetIntegrationRequest& request, const GetIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
473 {
474 m_executor->Submit( [this, request, handler, context](){ this->GetIntegrationAsyncHelper( request, handler, context ); } );
475 }
476
GetIntegrationAsyncHelper(const GetIntegrationRequest & request,const GetIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const477 void CustomerProfilesClient::GetIntegrationAsyncHelper(const GetIntegrationRequest& request, const GetIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
478 {
479 handler(this, request, GetIntegration(request), context);
480 }
481
GetMatches(const GetMatchesRequest & request) const482 GetMatchesOutcome CustomerProfilesClient::GetMatches(const GetMatchesRequest& request) const
483 {
484 if (!request.DomainNameHasBeenSet())
485 {
486 AWS_LOGSTREAM_ERROR("GetMatches", "Required field: DomainName, is not set");
487 return GetMatchesOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
488 }
489 Aws::Http::URI uri = m_uri;
490 uri.AddPathSegments("/domains/");
491 uri.AddPathSegment(request.GetDomainName());
492 uri.AddPathSegments("/matches");
493 return GetMatchesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
494 }
495
GetMatchesCallable(const GetMatchesRequest & request) const496 GetMatchesOutcomeCallable CustomerProfilesClient::GetMatchesCallable(const GetMatchesRequest& request) const
497 {
498 auto task = Aws::MakeShared< std::packaged_task< GetMatchesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetMatches(request); } );
499 auto packagedFunction = [task]() { (*task)(); };
500 m_executor->Submit(packagedFunction);
501 return task->get_future();
502 }
503
GetMatchesAsync(const GetMatchesRequest & request,const GetMatchesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const504 void CustomerProfilesClient::GetMatchesAsync(const GetMatchesRequest& request, const GetMatchesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
505 {
506 m_executor->Submit( [this, request, handler, context](){ this->GetMatchesAsyncHelper( request, handler, context ); } );
507 }
508
GetMatchesAsyncHelper(const GetMatchesRequest & request,const GetMatchesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const509 void CustomerProfilesClient::GetMatchesAsyncHelper(const GetMatchesRequest& request, const GetMatchesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
510 {
511 handler(this, request, GetMatches(request), context);
512 }
513
GetProfileObjectType(const GetProfileObjectTypeRequest & request) const514 GetProfileObjectTypeOutcome CustomerProfilesClient::GetProfileObjectType(const GetProfileObjectTypeRequest& request) const
515 {
516 if (!request.DomainNameHasBeenSet())
517 {
518 AWS_LOGSTREAM_ERROR("GetProfileObjectType", "Required field: DomainName, is not set");
519 return GetProfileObjectTypeOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
520 }
521 if (!request.ObjectTypeNameHasBeenSet())
522 {
523 AWS_LOGSTREAM_ERROR("GetProfileObjectType", "Required field: ObjectTypeName, is not set");
524 return GetProfileObjectTypeOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ObjectTypeName]", false));
525 }
526 Aws::Http::URI uri = m_uri;
527 uri.AddPathSegments("/domains/");
528 uri.AddPathSegment(request.GetDomainName());
529 uri.AddPathSegments("/object-types/");
530 uri.AddPathSegment(request.GetObjectTypeName());
531 return GetProfileObjectTypeOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
532 }
533
GetProfileObjectTypeCallable(const GetProfileObjectTypeRequest & request) const534 GetProfileObjectTypeOutcomeCallable CustomerProfilesClient::GetProfileObjectTypeCallable(const GetProfileObjectTypeRequest& request) const
535 {
536 auto task = Aws::MakeShared< std::packaged_task< GetProfileObjectTypeOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetProfileObjectType(request); } );
537 auto packagedFunction = [task]() { (*task)(); };
538 m_executor->Submit(packagedFunction);
539 return task->get_future();
540 }
541
GetProfileObjectTypeAsync(const GetProfileObjectTypeRequest & request,const GetProfileObjectTypeResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const542 void CustomerProfilesClient::GetProfileObjectTypeAsync(const GetProfileObjectTypeRequest& request, const GetProfileObjectTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
543 {
544 m_executor->Submit( [this, request, handler, context](){ this->GetProfileObjectTypeAsyncHelper( request, handler, context ); } );
545 }
546
GetProfileObjectTypeAsyncHelper(const GetProfileObjectTypeRequest & request,const GetProfileObjectTypeResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const547 void CustomerProfilesClient::GetProfileObjectTypeAsyncHelper(const GetProfileObjectTypeRequest& request, const GetProfileObjectTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
548 {
549 handler(this, request, GetProfileObjectType(request), context);
550 }
551
GetProfileObjectTypeTemplate(const GetProfileObjectTypeTemplateRequest & request) const552 GetProfileObjectTypeTemplateOutcome CustomerProfilesClient::GetProfileObjectTypeTemplate(const GetProfileObjectTypeTemplateRequest& request) const
553 {
554 if (!request.TemplateIdHasBeenSet())
555 {
556 AWS_LOGSTREAM_ERROR("GetProfileObjectTypeTemplate", "Required field: TemplateId, is not set");
557 return GetProfileObjectTypeTemplateOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TemplateId]", false));
558 }
559 Aws::Http::URI uri = m_uri;
560 uri.AddPathSegments("/templates/");
561 uri.AddPathSegment(request.GetTemplateId());
562 return GetProfileObjectTypeTemplateOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
563 }
564
GetProfileObjectTypeTemplateCallable(const GetProfileObjectTypeTemplateRequest & request) const565 GetProfileObjectTypeTemplateOutcomeCallable CustomerProfilesClient::GetProfileObjectTypeTemplateCallable(const GetProfileObjectTypeTemplateRequest& request) const
566 {
567 auto task = Aws::MakeShared< std::packaged_task< GetProfileObjectTypeTemplateOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetProfileObjectTypeTemplate(request); } );
568 auto packagedFunction = [task]() { (*task)(); };
569 m_executor->Submit(packagedFunction);
570 return task->get_future();
571 }
572
GetProfileObjectTypeTemplateAsync(const GetProfileObjectTypeTemplateRequest & request,const GetProfileObjectTypeTemplateResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const573 void CustomerProfilesClient::GetProfileObjectTypeTemplateAsync(const GetProfileObjectTypeTemplateRequest& request, const GetProfileObjectTypeTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
574 {
575 m_executor->Submit( [this, request, handler, context](){ this->GetProfileObjectTypeTemplateAsyncHelper( request, handler, context ); } );
576 }
577
GetProfileObjectTypeTemplateAsyncHelper(const GetProfileObjectTypeTemplateRequest & request,const GetProfileObjectTypeTemplateResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const578 void CustomerProfilesClient::GetProfileObjectTypeTemplateAsyncHelper(const GetProfileObjectTypeTemplateRequest& request, const GetProfileObjectTypeTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
579 {
580 handler(this, request, GetProfileObjectTypeTemplate(request), context);
581 }
582
ListAccountIntegrations(const ListAccountIntegrationsRequest & request) const583 ListAccountIntegrationsOutcome CustomerProfilesClient::ListAccountIntegrations(const ListAccountIntegrationsRequest& request) const
584 {
585 Aws::Http::URI uri = m_uri;
586 uri.AddPathSegments("/integrations");
587 return ListAccountIntegrationsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
588 }
589
ListAccountIntegrationsCallable(const ListAccountIntegrationsRequest & request) const590 ListAccountIntegrationsOutcomeCallable CustomerProfilesClient::ListAccountIntegrationsCallable(const ListAccountIntegrationsRequest& request) const
591 {
592 auto task = Aws::MakeShared< std::packaged_task< ListAccountIntegrationsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListAccountIntegrations(request); } );
593 auto packagedFunction = [task]() { (*task)(); };
594 m_executor->Submit(packagedFunction);
595 return task->get_future();
596 }
597
ListAccountIntegrationsAsync(const ListAccountIntegrationsRequest & request,const ListAccountIntegrationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const598 void CustomerProfilesClient::ListAccountIntegrationsAsync(const ListAccountIntegrationsRequest& request, const ListAccountIntegrationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
599 {
600 m_executor->Submit( [this, request, handler, context](){ this->ListAccountIntegrationsAsyncHelper( request, handler, context ); } );
601 }
602
ListAccountIntegrationsAsyncHelper(const ListAccountIntegrationsRequest & request,const ListAccountIntegrationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const603 void CustomerProfilesClient::ListAccountIntegrationsAsyncHelper(const ListAccountIntegrationsRequest& request, const ListAccountIntegrationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
604 {
605 handler(this, request, ListAccountIntegrations(request), context);
606 }
607
ListDomains(const ListDomainsRequest & request) const608 ListDomainsOutcome CustomerProfilesClient::ListDomains(const ListDomainsRequest& request) const
609 {
610 Aws::Http::URI uri = m_uri;
611 uri.AddPathSegments("/domains");
612 return ListDomainsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
613 }
614
ListDomainsCallable(const ListDomainsRequest & request) const615 ListDomainsOutcomeCallable CustomerProfilesClient::ListDomainsCallable(const ListDomainsRequest& request) const
616 {
617 auto task = Aws::MakeShared< std::packaged_task< ListDomainsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListDomains(request); } );
618 auto packagedFunction = [task]() { (*task)(); };
619 m_executor->Submit(packagedFunction);
620 return task->get_future();
621 }
622
ListDomainsAsync(const ListDomainsRequest & request,const ListDomainsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const623 void CustomerProfilesClient::ListDomainsAsync(const ListDomainsRequest& request, const ListDomainsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
624 {
625 m_executor->Submit( [this, request, handler, context](){ this->ListDomainsAsyncHelper( request, handler, context ); } );
626 }
627
ListDomainsAsyncHelper(const ListDomainsRequest & request,const ListDomainsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const628 void CustomerProfilesClient::ListDomainsAsyncHelper(const ListDomainsRequest& request, const ListDomainsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
629 {
630 handler(this, request, ListDomains(request), context);
631 }
632
ListIntegrations(const ListIntegrationsRequest & request) const633 ListIntegrationsOutcome CustomerProfilesClient::ListIntegrations(const ListIntegrationsRequest& request) const
634 {
635 if (!request.DomainNameHasBeenSet())
636 {
637 AWS_LOGSTREAM_ERROR("ListIntegrations", "Required field: DomainName, is not set");
638 return ListIntegrationsOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
639 }
640 Aws::Http::URI uri = m_uri;
641 uri.AddPathSegments("/domains/");
642 uri.AddPathSegment(request.GetDomainName());
643 uri.AddPathSegments("/integrations");
644 return ListIntegrationsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
645 }
646
ListIntegrationsCallable(const ListIntegrationsRequest & request) const647 ListIntegrationsOutcomeCallable CustomerProfilesClient::ListIntegrationsCallable(const ListIntegrationsRequest& request) const
648 {
649 auto task = Aws::MakeShared< std::packaged_task< ListIntegrationsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListIntegrations(request); } );
650 auto packagedFunction = [task]() { (*task)(); };
651 m_executor->Submit(packagedFunction);
652 return task->get_future();
653 }
654
ListIntegrationsAsync(const ListIntegrationsRequest & request,const ListIntegrationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const655 void CustomerProfilesClient::ListIntegrationsAsync(const ListIntegrationsRequest& request, const ListIntegrationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
656 {
657 m_executor->Submit( [this, request, handler, context](){ this->ListIntegrationsAsyncHelper( request, handler, context ); } );
658 }
659
ListIntegrationsAsyncHelper(const ListIntegrationsRequest & request,const ListIntegrationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const660 void CustomerProfilesClient::ListIntegrationsAsyncHelper(const ListIntegrationsRequest& request, const ListIntegrationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
661 {
662 handler(this, request, ListIntegrations(request), context);
663 }
664
ListProfileObjectTypeTemplates(const ListProfileObjectTypeTemplatesRequest & request) const665 ListProfileObjectTypeTemplatesOutcome CustomerProfilesClient::ListProfileObjectTypeTemplates(const ListProfileObjectTypeTemplatesRequest& request) const
666 {
667 Aws::Http::URI uri = m_uri;
668 uri.AddPathSegments("/templates");
669 return ListProfileObjectTypeTemplatesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
670 }
671
ListProfileObjectTypeTemplatesCallable(const ListProfileObjectTypeTemplatesRequest & request) const672 ListProfileObjectTypeTemplatesOutcomeCallable CustomerProfilesClient::ListProfileObjectTypeTemplatesCallable(const ListProfileObjectTypeTemplatesRequest& request) const
673 {
674 auto task = Aws::MakeShared< std::packaged_task< ListProfileObjectTypeTemplatesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListProfileObjectTypeTemplates(request); } );
675 auto packagedFunction = [task]() { (*task)(); };
676 m_executor->Submit(packagedFunction);
677 return task->get_future();
678 }
679
ListProfileObjectTypeTemplatesAsync(const ListProfileObjectTypeTemplatesRequest & request,const ListProfileObjectTypeTemplatesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const680 void CustomerProfilesClient::ListProfileObjectTypeTemplatesAsync(const ListProfileObjectTypeTemplatesRequest& request, const ListProfileObjectTypeTemplatesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
681 {
682 m_executor->Submit( [this, request, handler, context](){ this->ListProfileObjectTypeTemplatesAsyncHelper( request, handler, context ); } );
683 }
684
ListProfileObjectTypeTemplatesAsyncHelper(const ListProfileObjectTypeTemplatesRequest & request,const ListProfileObjectTypeTemplatesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const685 void CustomerProfilesClient::ListProfileObjectTypeTemplatesAsyncHelper(const ListProfileObjectTypeTemplatesRequest& request, const ListProfileObjectTypeTemplatesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
686 {
687 handler(this, request, ListProfileObjectTypeTemplates(request), context);
688 }
689
ListProfileObjectTypes(const ListProfileObjectTypesRequest & request) const690 ListProfileObjectTypesOutcome CustomerProfilesClient::ListProfileObjectTypes(const ListProfileObjectTypesRequest& request) const
691 {
692 if (!request.DomainNameHasBeenSet())
693 {
694 AWS_LOGSTREAM_ERROR("ListProfileObjectTypes", "Required field: DomainName, is not set");
695 return ListProfileObjectTypesOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
696 }
697 Aws::Http::URI uri = m_uri;
698 uri.AddPathSegments("/domains/");
699 uri.AddPathSegment(request.GetDomainName());
700 uri.AddPathSegments("/object-types");
701 return ListProfileObjectTypesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
702 }
703
ListProfileObjectTypesCallable(const ListProfileObjectTypesRequest & request) const704 ListProfileObjectTypesOutcomeCallable CustomerProfilesClient::ListProfileObjectTypesCallable(const ListProfileObjectTypesRequest& request) const
705 {
706 auto task = Aws::MakeShared< std::packaged_task< ListProfileObjectTypesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListProfileObjectTypes(request); } );
707 auto packagedFunction = [task]() { (*task)(); };
708 m_executor->Submit(packagedFunction);
709 return task->get_future();
710 }
711
ListProfileObjectTypesAsync(const ListProfileObjectTypesRequest & request,const ListProfileObjectTypesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const712 void CustomerProfilesClient::ListProfileObjectTypesAsync(const ListProfileObjectTypesRequest& request, const ListProfileObjectTypesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
713 {
714 m_executor->Submit( [this, request, handler, context](){ this->ListProfileObjectTypesAsyncHelper( request, handler, context ); } );
715 }
716
ListProfileObjectTypesAsyncHelper(const ListProfileObjectTypesRequest & request,const ListProfileObjectTypesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const717 void CustomerProfilesClient::ListProfileObjectTypesAsyncHelper(const ListProfileObjectTypesRequest& request, const ListProfileObjectTypesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
718 {
719 handler(this, request, ListProfileObjectTypes(request), context);
720 }
721
ListProfileObjects(const ListProfileObjectsRequest & request) const722 ListProfileObjectsOutcome CustomerProfilesClient::ListProfileObjects(const ListProfileObjectsRequest& request) const
723 {
724 if (!request.DomainNameHasBeenSet())
725 {
726 AWS_LOGSTREAM_ERROR("ListProfileObjects", "Required field: DomainName, is not set");
727 return ListProfileObjectsOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
728 }
729 Aws::Http::URI uri = m_uri;
730 uri.AddPathSegments("/domains/");
731 uri.AddPathSegment(request.GetDomainName());
732 uri.AddPathSegments("/profiles/objects");
733 return ListProfileObjectsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
734 }
735
ListProfileObjectsCallable(const ListProfileObjectsRequest & request) const736 ListProfileObjectsOutcomeCallable CustomerProfilesClient::ListProfileObjectsCallable(const ListProfileObjectsRequest& request) const
737 {
738 auto task = Aws::MakeShared< std::packaged_task< ListProfileObjectsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListProfileObjects(request); } );
739 auto packagedFunction = [task]() { (*task)(); };
740 m_executor->Submit(packagedFunction);
741 return task->get_future();
742 }
743
ListProfileObjectsAsync(const ListProfileObjectsRequest & request,const ListProfileObjectsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const744 void CustomerProfilesClient::ListProfileObjectsAsync(const ListProfileObjectsRequest& request, const ListProfileObjectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
745 {
746 m_executor->Submit( [this, request, handler, context](){ this->ListProfileObjectsAsyncHelper( request, handler, context ); } );
747 }
748
ListProfileObjectsAsyncHelper(const ListProfileObjectsRequest & request,const ListProfileObjectsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const749 void CustomerProfilesClient::ListProfileObjectsAsyncHelper(const ListProfileObjectsRequest& request, const ListProfileObjectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
750 {
751 handler(this, request, ListProfileObjects(request), context);
752 }
753
ListTagsForResource(const ListTagsForResourceRequest & request) const754 ListTagsForResourceOutcome CustomerProfilesClient::ListTagsForResource(const ListTagsForResourceRequest& request) const
755 {
756 if (!request.ResourceArnHasBeenSet())
757 {
758 AWS_LOGSTREAM_ERROR("ListTagsForResource", "Required field: ResourceArn, is not set");
759 return ListTagsForResourceOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false));
760 }
761 Aws::Http::URI uri = m_uri;
762 uri.AddPathSegments("/tags/");
763 uri.AddPathSegment(request.GetResourceArn());
764 return ListTagsForResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
765 }
766
ListTagsForResourceCallable(const ListTagsForResourceRequest & request) const767 ListTagsForResourceOutcomeCallable CustomerProfilesClient::ListTagsForResourceCallable(const ListTagsForResourceRequest& request) const
768 {
769 auto task = Aws::MakeShared< std::packaged_task< ListTagsForResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListTagsForResource(request); } );
770 auto packagedFunction = [task]() { (*task)(); };
771 m_executor->Submit(packagedFunction);
772 return task->get_future();
773 }
774
ListTagsForResourceAsync(const ListTagsForResourceRequest & request,const ListTagsForResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const775 void CustomerProfilesClient::ListTagsForResourceAsync(const ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
776 {
777 m_executor->Submit( [this, request, handler, context](){ this->ListTagsForResourceAsyncHelper( request, handler, context ); } );
778 }
779
ListTagsForResourceAsyncHelper(const ListTagsForResourceRequest & request,const ListTagsForResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const780 void CustomerProfilesClient::ListTagsForResourceAsyncHelper(const ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
781 {
782 handler(this, request, ListTagsForResource(request), context);
783 }
784
MergeProfiles(const MergeProfilesRequest & request) const785 MergeProfilesOutcome CustomerProfilesClient::MergeProfiles(const MergeProfilesRequest& request) const
786 {
787 if (!request.DomainNameHasBeenSet())
788 {
789 AWS_LOGSTREAM_ERROR("MergeProfiles", "Required field: DomainName, is not set");
790 return MergeProfilesOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
791 }
792 Aws::Http::URI uri = m_uri;
793 uri.AddPathSegments("/domains/");
794 uri.AddPathSegment(request.GetDomainName());
795 uri.AddPathSegments("/profiles/objects/merge");
796 return MergeProfilesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
797 }
798
MergeProfilesCallable(const MergeProfilesRequest & request) const799 MergeProfilesOutcomeCallable CustomerProfilesClient::MergeProfilesCallable(const MergeProfilesRequest& request) const
800 {
801 auto task = Aws::MakeShared< std::packaged_task< MergeProfilesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->MergeProfiles(request); } );
802 auto packagedFunction = [task]() { (*task)(); };
803 m_executor->Submit(packagedFunction);
804 return task->get_future();
805 }
806
MergeProfilesAsync(const MergeProfilesRequest & request,const MergeProfilesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const807 void CustomerProfilesClient::MergeProfilesAsync(const MergeProfilesRequest& request, const MergeProfilesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
808 {
809 m_executor->Submit( [this, request, handler, context](){ this->MergeProfilesAsyncHelper( request, handler, context ); } );
810 }
811
MergeProfilesAsyncHelper(const MergeProfilesRequest & request,const MergeProfilesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const812 void CustomerProfilesClient::MergeProfilesAsyncHelper(const MergeProfilesRequest& request, const MergeProfilesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
813 {
814 handler(this, request, MergeProfiles(request), context);
815 }
816
PutIntegration(const PutIntegrationRequest & request) const817 PutIntegrationOutcome CustomerProfilesClient::PutIntegration(const PutIntegrationRequest& request) const
818 {
819 if (!request.DomainNameHasBeenSet())
820 {
821 AWS_LOGSTREAM_ERROR("PutIntegration", "Required field: DomainName, is not set");
822 return PutIntegrationOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
823 }
824 Aws::Http::URI uri = m_uri;
825 uri.AddPathSegments("/domains/");
826 uri.AddPathSegment(request.GetDomainName());
827 uri.AddPathSegments("/integrations");
828 return PutIntegrationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
829 }
830
PutIntegrationCallable(const PutIntegrationRequest & request) const831 PutIntegrationOutcomeCallable CustomerProfilesClient::PutIntegrationCallable(const PutIntegrationRequest& request) const
832 {
833 auto task = Aws::MakeShared< std::packaged_task< PutIntegrationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutIntegration(request); } );
834 auto packagedFunction = [task]() { (*task)(); };
835 m_executor->Submit(packagedFunction);
836 return task->get_future();
837 }
838
PutIntegrationAsync(const PutIntegrationRequest & request,const PutIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const839 void CustomerProfilesClient::PutIntegrationAsync(const PutIntegrationRequest& request, const PutIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
840 {
841 m_executor->Submit( [this, request, handler, context](){ this->PutIntegrationAsyncHelper( request, handler, context ); } );
842 }
843
PutIntegrationAsyncHelper(const PutIntegrationRequest & request,const PutIntegrationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const844 void CustomerProfilesClient::PutIntegrationAsyncHelper(const PutIntegrationRequest& request, const PutIntegrationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
845 {
846 handler(this, request, PutIntegration(request), context);
847 }
848
PutProfileObject(const PutProfileObjectRequest & request) const849 PutProfileObjectOutcome CustomerProfilesClient::PutProfileObject(const PutProfileObjectRequest& request) const
850 {
851 if (!request.DomainNameHasBeenSet())
852 {
853 AWS_LOGSTREAM_ERROR("PutProfileObject", "Required field: DomainName, is not set");
854 return PutProfileObjectOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
855 }
856 Aws::Http::URI uri = m_uri;
857 uri.AddPathSegments("/domains/");
858 uri.AddPathSegment(request.GetDomainName());
859 uri.AddPathSegments("/profiles/objects");
860 return PutProfileObjectOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
861 }
862
PutProfileObjectCallable(const PutProfileObjectRequest & request) const863 PutProfileObjectOutcomeCallable CustomerProfilesClient::PutProfileObjectCallable(const PutProfileObjectRequest& request) const
864 {
865 auto task = Aws::MakeShared< std::packaged_task< PutProfileObjectOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutProfileObject(request); } );
866 auto packagedFunction = [task]() { (*task)(); };
867 m_executor->Submit(packagedFunction);
868 return task->get_future();
869 }
870
PutProfileObjectAsync(const PutProfileObjectRequest & request,const PutProfileObjectResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const871 void CustomerProfilesClient::PutProfileObjectAsync(const PutProfileObjectRequest& request, const PutProfileObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
872 {
873 m_executor->Submit( [this, request, handler, context](){ this->PutProfileObjectAsyncHelper( request, handler, context ); } );
874 }
875
PutProfileObjectAsyncHelper(const PutProfileObjectRequest & request,const PutProfileObjectResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const876 void CustomerProfilesClient::PutProfileObjectAsyncHelper(const PutProfileObjectRequest& request, const PutProfileObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
877 {
878 handler(this, request, PutProfileObject(request), context);
879 }
880
PutProfileObjectType(const PutProfileObjectTypeRequest & request) const881 PutProfileObjectTypeOutcome CustomerProfilesClient::PutProfileObjectType(const PutProfileObjectTypeRequest& request) const
882 {
883 if (!request.DomainNameHasBeenSet())
884 {
885 AWS_LOGSTREAM_ERROR("PutProfileObjectType", "Required field: DomainName, is not set");
886 return PutProfileObjectTypeOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
887 }
888 if (!request.ObjectTypeNameHasBeenSet())
889 {
890 AWS_LOGSTREAM_ERROR("PutProfileObjectType", "Required field: ObjectTypeName, is not set");
891 return PutProfileObjectTypeOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ObjectTypeName]", false));
892 }
893 Aws::Http::URI uri = m_uri;
894 uri.AddPathSegments("/domains/");
895 uri.AddPathSegment(request.GetDomainName());
896 uri.AddPathSegments("/object-types/");
897 uri.AddPathSegment(request.GetObjectTypeName());
898 return PutProfileObjectTypeOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
899 }
900
PutProfileObjectTypeCallable(const PutProfileObjectTypeRequest & request) const901 PutProfileObjectTypeOutcomeCallable CustomerProfilesClient::PutProfileObjectTypeCallable(const PutProfileObjectTypeRequest& request) const
902 {
903 auto task = Aws::MakeShared< std::packaged_task< PutProfileObjectTypeOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutProfileObjectType(request); } );
904 auto packagedFunction = [task]() { (*task)(); };
905 m_executor->Submit(packagedFunction);
906 return task->get_future();
907 }
908
PutProfileObjectTypeAsync(const PutProfileObjectTypeRequest & request,const PutProfileObjectTypeResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const909 void CustomerProfilesClient::PutProfileObjectTypeAsync(const PutProfileObjectTypeRequest& request, const PutProfileObjectTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
910 {
911 m_executor->Submit( [this, request, handler, context](){ this->PutProfileObjectTypeAsyncHelper( request, handler, context ); } );
912 }
913
PutProfileObjectTypeAsyncHelper(const PutProfileObjectTypeRequest & request,const PutProfileObjectTypeResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const914 void CustomerProfilesClient::PutProfileObjectTypeAsyncHelper(const PutProfileObjectTypeRequest& request, const PutProfileObjectTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
915 {
916 handler(this, request, PutProfileObjectType(request), context);
917 }
918
SearchProfiles(const SearchProfilesRequest & request) const919 SearchProfilesOutcome CustomerProfilesClient::SearchProfiles(const SearchProfilesRequest& request) const
920 {
921 if (!request.DomainNameHasBeenSet())
922 {
923 AWS_LOGSTREAM_ERROR("SearchProfiles", "Required field: DomainName, is not set");
924 return SearchProfilesOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
925 }
926 Aws::Http::URI uri = m_uri;
927 uri.AddPathSegments("/domains/");
928 uri.AddPathSegment(request.GetDomainName());
929 uri.AddPathSegments("/profiles/search");
930 return SearchProfilesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
931 }
932
SearchProfilesCallable(const SearchProfilesRequest & request) const933 SearchProfilesOutcomeCallable CustomerProfilesClient::SearchProfilesCallable(const SearchProfilesRequest& request) const
934 {
935 auto task = Aws::MakeShared< std::packaged_task< SearchProfilesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->SearchProfiles(request); } );
936 auto packagedFunction = [task]() { (*task)(); };
937 m_executor->Submit(packagedFunction);
938 return task->get_future();
939 }
940
SearchProfilesAsync(const SearchProfilesRequest & request,const SearchProfilesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const941 void CustomerProfilesClient::SearchProfilesAsync(const SearchProfilesRequest& request, const SearchProfilesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
942 {
943 m_executor->Submit( [this, request, handler, context](){ this->SearchProfilesAsyncHelper( request, handler, context ); } );
944 }
945
SearchProfilesAsyncHelper(const SearchProfilesRequest & request,const SearchProfilesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const946 void CustomerProfilesClient::SearchProfilesAsyncHelper(const SearchProfilesRequest& request, const SearchProfilesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
947 {
948 handler(this, request, SearchProfiles(request), context);
949 }
950
TagResource(const TagResourceRequest & request) const951 TagResourceOutcome CustomerProfilesClient::TagResource(const TagResourceRequest& request) const
952 {
953 if (!request.ResourceArnHasBeenSet())
954 {
955 AWS_LOGSTREAM_ERROR("TagResource", "Required field: ResourceArn, is not set");
956 return TagResourceOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false));
957 }
958 Aws::Http::URI uri = m_uri;
959 uri.AddPathSegments("/tags/");
960 uri.AddPathSegment(request.GetResourceArn());
961 return TagResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
962 }
963
TagResourceCallable(const TagResourceRequest & request) const964 TagResourceOutcomeCallable CustomerProfilesClient::TagResourceCallable(const TagResourceRequest& request) const
965 {
966 auto task = Aws::MakeShared< std::packaged_task< TagResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->TagResource(request); } );
967 auto packagedFunction = [task]() { (*task)(); };
968 m_executor->Submit(packagedFunction);
969 return task->get_future();
970 }
971
TagResourceAsync(const TagResourceRequest & request,const TagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const972 void CustomerProfilesClient::TagResourceAsync(const TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
973 {
974 m_executor->Submit( [this, request, handler, context](){ this->TagResourceAsyncHelper( request, handler, context ); } );
975 }
976
TagResourceAsyncHelper(const TagResourceRequest & request,const TagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const977 void CustomerProfilesClient::TagResourceAsyncHelper(const TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
978 {
979 handler(this, request, TagResource(request), context);
980 }
981
UntagResource(const UntagResourceRequest & request) const982 UntagResourceOutcome CustomerProfilesClient::UntagResource(const UntagResourceRequest& request) const
983 {
984 if (!request.ResourceArnHasBeenSet())
985 {
986 AWS_LOGSTREAM_ERROR("UntagResource", "Required field: ResourceArn, is not set");
987 return UntagResourceOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false));
988 }
989 if (!request.TagKeysHasBeenSet())
990 {
991 AWS_LOGSTREAM_ERROR("UntagResource", "Required field: TagKeys, is not set");
992 return UntagResourceOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TagKeys]", false));
993 }
994 Aws::Http::URI uri = m_uri;
995 uri.AddPathSegments("/tags/");
996 uri.AddPathSegment(request.GetResourceArn());
997 return UntagResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
998 }
999
UntagResourceCallable(const UntagResourceRequest & request) const1000 UntagResourceOutcomeCallable CustomerProfilesClient::UntagResourceCallable(const UntagResourceRequest& request) const
1001 {
1002 auto task = Aws::MakeShared< std::packaged_task< UntagResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UntagResource(request); } );
1003 auto packagedFunction = [task]() { (*task)(); };
1004 m_executor->Submit(packagedFunction);
1005 return task->get_future();
1006 }
1007
UntagResourceAsync(const UntagResourceRequest & request,const UntagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1008 void CustomerProfilesClient::UntagResourceAsync(const UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1009 {
1010 m_executor->Submit( [this, request, handler, context](){ this->UntagResourceAsyncHelper( request, handler, context ); } );
1011 }
1012
UntagResourceAsyncHelper(const UntagResourceRequest & request,const UntagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1013 void CustomerProfilesClient::UntagResourceAsyncHelper(const UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1014 {
1015 handler(this, request, UntagResource(request), context);
1016 }
1017
UpdateDomain(const UpdateDomainRequest & request) const1018 UpdateDomainOutcome CustomerProfilesClient::UpdateDomain(const UpdateDomainRequest& request) const
1019 {
1020 if (!request.DomainNameHasBeenSet())
1021 {
1022 AWS_LOGSTREAM_ERROR("UpdateDomain", "Required field: DomainName, is not set");
1023 return UpdateDomainOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
1024 }
1025 Aws::Http::URI uri = m_uri;
1026 uri.AddPathSegments("/domains/");
1027 uri.AddPathSegment(request.GetDomainName());
1028 return UpdateDomainOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
1029 }
1030
UpdateDomainCallable(const UpdateDomainRequest & request) const1031 UpdateDomainOutcomeCallable CustomerProfilesClient::UpdateDomainCallable(const UpdateDomainRequest& request) const
1032 {
1033 auto task = Aws::MakeShared< std::packaged_task< UpdateDomainOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateDomain(request); } );
1034 auto packagedFunction = [task]() { (*task)(); };
1035 m_executor->Submit(packagedFunction);
1036 return task->get_future();
1037 }
1038
UpdateDomainAsync(const UpdateDomainRequest & request,const UpdateDomainResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1039 void CustomerProfilesClient::UpdateDomainAsync(const UpdateDomainRequest& request, const UpdateDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1040 {
1041 m_executor->Submit( [this, request, handler, context](){ this->UpdateDomainAsyncHelper( request, handler, context ); } );
1042 }
1043
UpdateDomainAsyncHelper(const UpdateDomainRequest & request,const UpdateDomainResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1044 void CustomerProfilesClient::UpdateDomainAsyncHelper(const UpdateDomainRequest& request, const UpdateDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1045 {
1046 handler(this, request, UpdateDomain(request), context);
1047 }
1048
UpdateProfile(const UpdateProfileRequest & request) const1049 UpdateProfileOutcome CustomerProfilesClient::UpdateProfile(const UpdateProfileRequest& request) const
1050 {
1051 if (!request.DomainNameHasBeenSet())
1052 {
1053 AWS_LOGSTREAM_ERROR("UpdateProfile", "Required field: DomainName, is not set");
1054 return UpdateProfileOutcome(Aws::Client::AWSError<CustomerProfilesErrors>(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false));
1055 }
1056 Aws::Http::URI uri = m_uri;
1057 uri.AddPathSegments("/domains/");
1058 uri.AddPathSegment(request.GetDomainName());
1059 uri.AddPathSegments("/profiles");
1060 return UpdateProfileOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
1061 }
1062
UpdateProfileCallable(const UpdateProfileRequest & request) const1063 UpdateProfileOutcomeCallable CustomerProfilesClient::UpdateProfileCallable(const UpdateProfileRequest& request) const
1064 {
1065 auto task = Aws::MakeShared< std::packaged_task< UpdateProfileOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateProfile(request); } );
1066 auto packagedFunction = [task]() { (*task)(); };
1067 m_executor->Submit(packagedFunction);
1068 return task->get_future();
1069 }
1070
UpdateProfileAsync(const UpdateProfileRequest & request,const UpdateProfileResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1071 void CustomerProfilesClient::UpdateProfileAsync(const UpdateProfileRequest& request, const UpdateProfileResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1072 {
1073 m_executor->Submit( [this, request, handler, context](){ this->UpdateProfileAsyncHelper( request, handler, context ); } );
1074 }
1075
UpdateProfileAsyncHelper(const UpdateProfileRequest & request,const UpdateProfileResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1076 void CustomerProfilesClient::UpdateProfileAsyncHelper(const UpdateProfileRequest& request, const UpdateProfileResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1077 {
1078 handler(this, request, UpdateProfile(request), context);
1079 }
1080
1081