1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/personalize/Personalize_EXPORTS.h>
8 #include <aws/personalize/PersonalizeErrors.h>
9 #include <aws/core/client/AWSError.h>
10 #include <aws/core/client/ClientConfiguration.h>
11 #include <aws/core/client/AWSClient.h>
12 #include <aws/core/utils/memory/stl/AWSString.h>
13 #include <aws/core/utils/json/JsonSerializer.h>
14 #include <aws/personalize/model/CreateBatchInferenceJobResult.h>
15 #include <aws/personalize/model/CreateCampaignResult.h>
16 #include <aws/personalize/model/CreateDatasetResult.h>
17 #include <aws/personalize/model/CreateDatasetExportJobResult.h>
18 #include <aws/personalize/model/CreateDatasetGroupResult.h>
19 #include <aws/personalize/model/CreateDatasetImportJobResult.h>
20 #include <aws/personalize/model/CreateEventTrackerResult.h>
21 #include <aws/personalize/model/CreateFilterResult.h>
22 #include <aws/personalize/model/CreateSchemaResult.h>
23 #include <aws/personalize/model/CreateSolutionResult.h>
24 #include <aws/personalize/model/CreateSolutionVersionResult.h>
25 #include <aws/personalize/model/DescribeAlgorithmResult.h>
26 #include <aws/personalize/model/DescribeBatchInferenceJobResult.h>
27 #include <aws/personalize/model/DescribeCampaignResult.h>
28 #include <aws/personalize/model/DescribeDatasetResult.h>
29 #include <aws/personalize/model/DescribeDatasetExportJobResult.h>
30 #include <aws/personalize/model/DescribeDatasetGroupResult.h>
31 #include <aws/personalize/model/DescribeDatasetImportJobResult.h>
32 #include <aws/personalize/model/DescribeEventTrackerResult.h>
33 #include <aws/personalize/model/DescribeFeatureTransformationResult.h>
34 #include <aws/personalize/model/DescribeFilterResult.h>
35 #include <aws/personalize/model/DescribeRecipeResult.h>
36 #include <aws/personalize/model/DescribeSchemaResult.h>
37 #include <aws/personalize/model/DescribeSolutionResult.h>
38 #include <aws/personalize/model/DescribeSolutionVersionResult.h>
39 #include <aws/personalize/model/GetSolutionMetricsResult.h>
40 #include <aws/personalize/model/ListBatchInferenceJobsResult.h>
41 #include <aws/personalize/model/ListCampaignsResult.h>
42 #include <aws/personalize/model/ListDatasetExportJobsResult.h>
43 #include <aws/personalize/model/ListDatasetGroupsResult.h>
44 #include <aws/personalize/model/ListDatasetImportJobsResult.h>
45 #include <aws/personalize/model/ListDatasetsResult.h>
46 #include <aws/personalize/model/ListEventTrackersResult.h>
47 #include <aws/personalize/model/ListFiltersResult.h>
48 #include <aws/personalize/model/ListRecipesResult.h>
49 #include <aws/personalize/model/ListSchemasResult.h>
50 #include <aws/personalize/model/ListSolutionVersionsResult.h>
51 #include <aws/personalize/model/ListSolutionsResult.h>
52 #include <aws/personalize/model/UpdateCampaignResult.h>
53 #include <aws/core/NoResult.h>
54 #include <aws/core/client/AsyncCallerContext.h>
55 #include <aws/core/http/HttpTypes.h>
56 #include <future>
57 #include <functional>
58 
59 namespace Aws
60 {
61 
62 namespace Http
63 {
64   class HttpClient;
65   class HttpClientFactory;
66 } // namespace Http
67 
68 namespace Utils
69 {
70   template< typename R, typename E> class Outcome;
71 namespace Threading
72 {
73   class Executor;
74 } // namespace Threading
75 } // namespace Utils
76 
77 namespace Auth
78 {
79   class AWSCredentials;
80   class AWSCredentialsProvider;
81 } // namespace Auth
82 
83 namespace Client
84 {
85   class RetryStrategy;
86 } // namespace Client
87 
88 namespace Personalize
89 {
90 
91 namespace Model
92 {
93         class CreateBatchInferenceJobRequest;
94         class CreateCampaignRequest;
95         class CreateDatasetRequest;
96         class CreateDatasetExportJobRequest;
97         class CreateDatasetGroupRequest;
98         class CreateDatasetImportJobRequest;
99         class CreateEventTrackerRequest;
100         class CreateFilterRequest;
101         class CreateSchemaRequest;
102         class CreateSolutionRequest;
103         class CreateSolutionVersionRequest;
104         class DeleteCampaignRequest;
105         class DeleteDatasetRequest;
106         class DeleteDatasetGroupRequest;
107         class DeleteEventTrackerRequest;
108         class DeleteFilterRequest;
109         class DeleteSchemaRequest;
110         class DeleteSolutionRequest;
111         class DescribeAlgorithmRequest;
112         class DescribeBatchInferenceJobRequest;
113         class DescribeCampaignRequest;
114         class DescribeDatasetRequest;
115         class DescribeDatasetExportJobRequest;
116         class DescribeDatasetGroupRequest;
117         class DescribeDatasetImportJobRequest;
118         class DescribeEventTrackerRequest;
119         class DescribeFeatureTransformationRequest;
120         class DescribeFilterRequest;
121         class DescribeRecipeRequest;
122         class DescribeSchemaRequest;
123         class DescribeSolutionRequest;
124         class DescribeSolutionVersionRequest;
125         class GetSolutionMetricsRequest;
126         class ListBatchInferenceJobsRequest;
127         class ListCampaignsRequest;
128         class ListDatasetExportJobsRequest;
129         class ListDatasetGroupsRequest;
130         class ListDatasetImportJobsRequest;
131         class ListDatasetsRequest;
132         class ListEventTrackersRequest;
133         class ListFiltersRequest;
134         class ListRecipesRequest;
135         class ListSchemasRequest;
136         class ListSolutionVersionsRequest;
137         class ListSolutionsRequest;
138         class StopSolutionVersionCreationRequest;
139         class UpdateCampaignRequest;
140 
141         typedef Aws::Utils::Outcome<CreateBatchInferenceJobResult, PersonalizeError> CreateBatchInferenceJobOutcome;
142         typedef Aws::Utils::Outcome<CreateCampaignResult, PersonalizeError> CreateCampaignOutcome;
143         typedef Aws::Utils::Outcome<CreateDatasetResult, PersonalizeError> CreateDatasetOutcome;
144         typedef Aws::Utils::Outcome<CreateDatasetExportJobResult, PersonalizeError> CreateDatasetExportJobOutcome;
145         typedef Aws::Utils::Outcome<CreateDatasetGroupResult, PersonalizeError> CreateDatasetGroupOutcome;
146         typedef Aws::Utils::Outcome<CreateDatasetImportJobResult, PersonalizeError> CreateDatasetImportJobOutcome;
147         typedef Aws::Utils::Outcome<CreateEventTrackerResult, PersonalizeError> CreateEventTrackerOutcome;
148         typedef Aws::Utils::Outcome<CreateFilterResult, PersonalizeError> CreateFilterOutcome;
149         typedef Aws::Utils::Outcome<CreateSchemaResult, PersonalizeError> CreateSchemaOutcome;
150         typedef Aws::Utils::Outcome<CreateSolutionResult, PersonalizeError> CreateSolutionOutcome;
151         typedef Aws::Utils::Outcome<CreateSolutionVersionResult, PersonalizeError> CreateSolutionVersionOutcome;
152         typedef Aws::Utils::Outcome<Aws::NoResult, PersonalizeError> DeleteCampaignOutcome;
153         typedef Aws::Utils::Outcome<Aws::NoResult, PersonalizeError> DeleteDatasetOutcome;
154         typedef Aws::Utils::Outcome<Aws::NoResult, PersonalizeError> DeleteDatasetGroupOutcome;
155         typedef Aws::Utils::Outcome<Aws::NoResult, PersonalizeError> DeleteEventTrackerOutcome;
156         typedef Aws::Utils::Outcome<Aws::NoResult, PersonalizeError> DeleteFilterOutcome;
157         typedef Aws::Utils::Outcome<Aws::NoResult, PersonalizeError> DeleteSchemaOutcome;
158         typedef Aws::Utils::Outcome<Aws::NoResult, PersonalizeError> DeleteSolutionOutcome;
159         typedef Aws::Utils::Outcome<DescribeAlgorithmResult, PersonalizeError> DescribeAlgorithmOutcome;
160         typedef Aws::Utils::Outcome<DescribeBatchInferenceJobResult, PersonalizeError> DescribeBatchInferenceJobOutcome;
161         typedef Aws::Utils::Outcome<DescribeCampaignResult, PersonalizeError> DescribeCampaignOutcome;
162         typedef Aws::Utils::Outcome<DescribeDatasetResult, PersonalizeError> DescribeDatasetOutcome;
163         typedef Aws::Utils::Outcome<DescribeDatasetExportJobResult, PersonalizeError> DescribeDatasetExportJobOutcome;
164         typedef Aws::Utils::Outcome<DescribeDatasetGroupResult, PersonalizeError> DescribeDatasetGroupOutcome;
165         typedef Aws::Utils::Outcome<DescribeDatasetImportJobResult, PersonalizeError> DescribeDatasetImportJobOutcome;
166         typedef Aws::Utils::Outcome<DescribeEventTrackerResult, PersonalizeError> DescribeEventTrackerOutcome;
167         typedef Aws::Utils::Outcome<DescribeFeatureTransformationResult, PersonalizeError> DescribeFeatureTransformationOutcome;
168         typedef Aws::Utils::Outcome<DescribeFilterResult, PersonalizeError> DescribeFilterOutcome;
169         typedef Aws::Utils::Outcome<DescribeRecipeResult, PersonalizeError> DescribeRecipeOutcome;
170         typedef Aws::Utils::Outcome<DescribeSchemaResult, PersonalizeError> DescribeSchemaOutcome;
171         typedef Aws::Utils::Outcome<DescribeSolutionResult, PersonalizeError> DescribeSolutionOutcome;
172         typedef Aws::Utils::Outcome<DescribeSolutionVersionResult, PersonalizeError> DescribeSolutionVersionOutcome;
173         typedef Aws::Utils::Outcome<GetSolutionMetricsResult, PersonalizeError> GetSolutionMetricsOutcome;
174         typedef Aws::Utils::Outcome<ListBatchInferenceJobsResult, PersonalizeError> ListBatchInferenceJobsOutcome;
175         typedef Aws::Utils::Outcome<ListCampaignsResult, PersonalizeError> ListCampaignsOutcome;
176         typedef Aws::Utils::Outcome<ListDatasetExportJobsResult, PersonalizeError> ListDatasetExportJobsOutcome;
177         typedef Aws::Utils::Outcome<ListDatasetGroupsResult, PersonalizeError> ListDatasetGroupsOutcome;
178         typedef Aws::Utils::Outcome<ListDatasetImportJobsResult, PersonalizeError> ListDatasetImportJobsOutcome;
179         typedef Aws::Utils::Outcome<ListDatasetsResult, PersonalizeError> ListDatasetsOutcome;
180         typedef Aws::Utils::Outcome<ListEventTrackersResult, PersonalizeError> ListEventTrackersOutcome;
181         typedef Aws::Utils::Outcome<ListFiltersResult, PersonalizeError> ListFiltersOutcome;
182         typedef Aws::Utils::Outcome<ListRecipesResult, PersonalizeError> ListRecipesOutcome;
183         typedef Aws::Utils::Outcome<ListSchemasResult, PersonalizeError> ListSchemasOutcome;
184         typedef Aws::Utils::Outcome<ListSolutionVersionsResult, PersonalizeError> ListSolutionVersionsOutcome;
185         typedef Aws::Utils::Outcome<ListSolutionsResult, PersonalizeError> ListSolutionsOutcome;
186         typedef Aws::Utils::Outcome<Aws::NoResult, PersonalizeError> StopSolutionVersionCreationOutcome;
187         typedef Aws::Utils::Outcome<UpdateCampaignResult, PersonalizeError> UpdateCampaignOutcome;
188 
189         typedef std::future<CreateBatchInferenceJobOutcome> CreateBatchInferenceJobOutcomeCallable;
190         typedef std::future<CreateCampaignOutcome> CreateCampaignOutcomeCallable;
191         typedef std::future<CreateDatasetOutcome> CreateDatasetOutcomeCallable;
192         typedef std::future<CreateDatasetExportJobOutcome> CreateDatasetExportJobOutcomeCallable;
193         typedef std::future<CreateDatasetGroupOutcome> CreateDatasetGroupOutcomeCallable;
194         typedef std::future<CreateDatasetImportJobOutcome> CreateDatasetImportJobOutcomeCallable;
195         typedef std::future<CreateEventTrackerOutcome> CreateEventTrackerOutcomeCallable;
196         typedef std::future<CreateFilterOutcome> CreateFilterOutcomeCallable;
197         typedef std::future<CreateSchemaOutcome> CreateSchemaOutcomeCallable;
198         typedef std::future<CreateSolutionOutcome> CreateSolutionOutcomeCallable;
199         typedef std::future<CreateSolutionVersionOutcome> CreateSolutionVersionOutcomeCallable;
200         typedef std::future<DeleteCampaignOutcome> DeleteCampaignOutcomeCallable;
201         typedef std::future<DeleteDatasetOutcome> DeleteDatasetOutcomeCallable;
202         typedef std::future<DeleteDatasetGroupOutcome> DeleteDatasetGroupOutcomeCallable;
203         typedef std::future<DeleteEventTrackerOutcome> DeleteEventTrackerOutcomeCallable;
204         typedef std::future<DeleteFilterOutcome> DeleteFilterOutcomeCallable;
205         typedef std::future<DeleteSchemaOutcome> DeleteSchemaOutcomeCallable;
206         typedef std::future<DeleteSolutionOutcome> DeleteSolutionOutcomeCallable;
207         typedef std::future<DescribeAlgorithmOutcome> DescribeAlgorithmOutcomeCallable;
208         typedef std::future<DescribeBatchInferenceJobOutcome> DescribeBatchInferenceJobOutcomeCallable;
209         typedef std::future<DescribeCampaignOutcome> DescribeCampaignOutcomeCallable;
210         typedef std::future<DescribeDatasetOutcome> DescribeDatasetOutcomeCallable;
211         typedef std::future<DescribeDatasetExportJobOutcome> DescribeDatasetExportJobOutcomeCallable;
212         typedef std::future<DescribeDatasetGroupOutcome> DescribeDatasetGroupOutcomeCallable;
213         typedef std::future<DescribeDatasetImportJobOutcome> DescribeDatasetImportJobOutcomeCallable;
214         typedef std::future<DescribeEventTrackerOutcome> DescribeEventTrackerOutcomeCallable;
215         typedef std::future<DescribeFeatureTransformationOutcome> DescribeFeatureTransformationOutcomeCallable;
216         typedef std::future<DescribeFilterOutcome> DescribeFilterOutcomeCallable;
217         typedef std::future<DescribeRecipeOutcome> DescribeRecipeOutcomeCallable;
218         typedef std::future<DescribeSchemaOutcome> DescribeSchemaOutcomeCallable;
219         typedef std::future<DescribeSolutionOutcome> DescribeSolutionOutcomeCallable;
220         typedef std::future<DescribeSolutionVersionOutcome> DescribeSolutionVersionOutcomeCallable;
221         typedef std::future<GetSolutionMetricsOutcome> GetSolutionMetricsOutcomeCallable;
222         typedef std::future<ListBatchInferenceJobsOutcome> ListBatchInferenceJobsOutcomeCallable;
223         typedef std::future<ListCampaignsOutcome> ListCampaignsOutcomeCallable;
224         typedef std::future<ListDatasetExportJobsOutcome> ListDatasetExportJobsOutcomeCallable;
225         typedef std::future<ListDatasetGroupsOutcome> ListDatasetGroupsOutcomeCallable;
226         typedef std::future<ListDatasetImportJobsOutcome> ListDatasetImportJobsOutcomeCallable;
227         typedef std::future<ListDatasetsOutcome> ListDatasetsOutcomeCallable;
228         typedef std::future<ListEventTrackersOutcome> ListEventTrackersOutcomeCallable;
229         typedef std::future<ListFiltersOutcome> ListFiltersOutcomeCallable;
230         typedef std::future<ListRecipesOutcome> ListRecipesOutcomeCallable;
231         typedef std::future<ListSchemasOutcome> ListSchemasOutcomeCallable;
232         typedef std::future<ListSolutionVersionsOutcome> ListSolutionVersionsOutcomeCallable;
233         typedef std::future<ListSolutionsOutcome> ListSolutionsOutcomeCallable;
234         typedef std::future<StopSolutionVersionCreationOutcome> StopSolutionVersionCreationOutcomeCallable;
235         typedef std::future<UpdateCampaignOutcome> UpdateCampaignOutcomeCallable;
236 } // namespace Model
237 
238   class PersonalizeClient;
239 
240     typedef std::function<void(const PersonalizeClient*, const Model::CreateBatchInferenceJobRequest&, const Model::CreateBatchInferenceJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateBatchInferenceJobResponseReceivedHandler;
241     typedef std::function<void(const PersonalizeClient*, const Model::CreateCampaignRequest&, const Model::CreateCampaignOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateCampaignResponseReceivedHandler;
242     typedef std::function<void(const PersonalizeClient*, const Model::CreateDatasetRequest&, const Model::CreateDatasetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateDatasetResponseReceivedHandler;
243     typedef std::function<void(const PersonalizeClient*, const Model::CreateDatasetExportJobRequest&, const Model::CreateDatasetExportJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateDatasetExportJobResponseReceivedHandler;
244     typedef std::function<void(const PersonalizeClient*, const Model::CreateDatasetGroupRequest&, const Model::CreateDatasetGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateDatasetGroupResponseReceivedHandler;
245     typedef std::function<void(const PersonalizeClient*, const Model::CreateDatasetImportJobRequest&, const Model::CreateDatasetImportJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateDatasetImportJobResponseReceivedHandler;
246     typedef std::function<void(const PersonalizeClient*, const Model::CreateEventTrackerRequest&, const Model::CreateEventTrackerOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateEventTrackerResponseReceivedHandler;
247     typedef std::function<void(const PersonalizeClient*, const Model::CreateFilterRequest&, const Model::CreateFilterOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateFilterResponseReceivedHandler;
248     typedef std::function<void(const PersonalizeClient*, const Model::CreateSchemaRequest&, const Model::CreateSchemaOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateSchemaResponseReceivedHandler;
249     typedef std::function<void(const PersonalizeClient*, const Model::CreateSolutionRequest&, const Model::CreateSolutionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateSolutionResponseReceivedHandler;
250     typedef std::function<void(const PersonalizeClient*, const Model::CreateSolutionVersionRequest&, const Model::CreateSolutionVersionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateSolutionVersionResponseReceivedHandler;
251     typedef std::function<void(const PersonalizeClient*, const Model::DeleteCampaignRequest&, const Model::DeleteCampaignOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteCampaignResponseReceivedHandler;
252     typedef std::function<void(const PersonalizeClient*, const Model::DeleteDatasetRequest&, const Model::DeleteDatasetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteDatasetResponseReceivedHandler;
253     typedef std::function<void(const PersonalizeClient*, const Model::DeleteDatasetGroupRequest&, const Model::DeleteDatasetGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteDatasetGroupResponseReceivedHandler;
254     typedef std::function<void(const PersonalizeClient*, const Model::DeleteEventTrackerRequest&, const Model::DeleteEventTrackerOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteEventTrackerResponseReceivedHandler;
255     typedef std::function<void(const PersonalizeClient*, const Model::DeleteFilterRequest&, const Model::DeleteFilterOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteFilterResponseReceivedHandler;
256     typedef std::function<void(const PersonalizeClient*, const Model::DeleteSchemaRequest&, const Model::DeleteSchemaOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteSchemaResponseReceivedHandler;
257     typedef std::function<void(const PersonalizeClient*, const Model::DeleteSolutionRequest&, const Model::DeleteSolutionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteSolutionResponseReceivedHandler;
258     typedef std::function<void(const PersonalizeClient*, const Model::DescribeAlgorithmRequest&, const Model::DescribeAlgorithmOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeAlgorithmResponseReceivedHandler;
259     typedef std::function<void(const PersonalizeClient*, const Model::DescribeBatchInferenceJobRequest&, const Model::DescribeBatchInferenceJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeBatchInferenceJobResponseReceivedHandler;
260     typedef std::function<void(const PersonalizeClient*, const Model::DescribeCampaignRequest&, const Model::DescribeCampaignOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeCampaignResponseReceivedHandler;
261     typedef std::function<void(const PersonalizeClient*, const Model::DescribeDatasetRequest&, const Model::DescribeDatasetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeDatasetResponseReceivedHandler;
262     typedef std::function<void(const PersonalizeClient*, const Model::DescribeDatasetExportJobRequest&, const Model::DescribeDatasetExportJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeDatasetExportJobResponseReceivedHandler;
263     typedef std::function<void(const PersonalizeClient*, const Model::DescribeDatasetGroupRequest&, const Model::DescribeDatasetGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeDatasetGroupResponseReceivedHandler;
264     typedef std::function<void(const PersonalizeClient*, const Model::DescribeDatasetImportJobRequest&, const Model::DescribeDatasetImportJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeDatasetImportJobResponseReceivedHandler;
265     typedef std::function<void(const PersonalizeClient*, const Model::DescribeEventTrackerRequest&, const Model::DescribeEventTrackerOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeEventTrackerResponseReceivedHandler;
266     typedef std::function<void(const PersonalizeClient*, const Model::DescribeFeatureTransformationRequest&, const Model::DescribeFeatureTransformationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeFeatureTransformationResponseReceivedHandler;
267     typedef std::function<void(const PersonalizeClient*, const Model::DescribeFilterRequest&, const Model::DescribeFilterOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeFilterResponseReceivedHandler;
268     typedef std::function<void(const PersonalizeClient*, const Model::DescribeRecipeRequest&, const Model::DescribeRecipeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeRecipeResponseReceivedHandler;
269     typedef std::function<void(const PersonalizeClient*, const Model::DescribeSchemaRequest&, const Model::DescribeSchemaOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeSchemaResponseReceivedHandler;
270     typedef std::function<void(const PersonalizeClient*, const Model::DescribeSolutionRequest&, const Model::DescribeSolutionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeSolutionResponseReceivedHandler;
271     typedef std::function<void(const PersonalizeClient*, const Model::DescribeSolutionVersionRequest&, const Model::DescribeSolutionVersionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeSolutionVersionResponseReceivedHandler;
272     typedef std::function<void(const PersonalizeClient*, const Model::GetSolutionMetricsRequest&, const Model::GetSolutionMetricsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetSolutionMetricsResponseReceivedHandler;
273     typedef std::function<void(const PersonalizeClient*, const Model::ListBatchInferenceJobsRequest&, const Model::ListBatchInferenceJobsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBatchInferenceJobsResponseReceivedHandler;
274     typedef std::function<void(const PersonalizeClient*, const Model::ListCampaignsRequest&, const Model::ListCampaignsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListCampaignsResponseReceivedHandler;
275     typedef std::function<void(const PersonalizeClient*, const Model::ListDatasetExportJobsRequest&, const Model::ListDatasetExportJobsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListDatasetExportJobsResponseReceivedHandler;
276     typedef std::function<void(const PersonalizeClient*, const Model::ListDatasetGroupsRequest&, const Model::ListDatasetGroupsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListDatasetGroupsResponseReceivedHandler;
277     typedef std::function<void(const PersonalizeClient*, const Model::ListDatasetImportJobsRequest&, const Model::ListDatasetImportJobsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListDatasetImportJobsResponseReceivedHandler;
278     typedef std::function<void(const PersonalizeClient*, const Model::ListDatasetsRequest&, const Model::ListDatasetsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListDatasetsResponseReceivedHandler;
279     typedef std::function<void(const PersonalizeClient*, const Model::ListEventTrackersRequest&, const Model::ListEventTrackersOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListEventTrackersResponseReceivedHandler;
280     typedef std::function<void(const PersonalizeClient*, const Model::ListFiltersRequest&, const Model::ListFiltersOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListFiltersResponseReceivedHandler;
281     typedef std::function<void(const PersonalizeClient*, const Model::ListRecipesRequest&, const Model::ListRecipesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListRecipesResponseReceivedHandler;
282     typedef std::function<void(const PersonalizeClient*, const Model::ListSchemasRequest&, const Model::ListSchemasOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListSchemasResponseReceivedHandler;
283     typedef std::function<void(const PersonalizeClient*, const Model::ListSolutionVersionsRequest&, const Model::ListSolutionVersionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListSolutionVersionsResponseReceivedHandler;
284     typedef std::function<void(const PersonalizeClient*, const Model::ListSolutionsRequest&, const Model::ListSolutionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListSolutionsResponseReceivedHandler;
285     typedef std::function<void(const PersonalizeClient*, const Model::StopSolutionVersionCreationRequest&, const Model::StopSolutionVersionCreationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StopSolutionVersionCreationResponseReceivedHandler;
286     typedef std::function<void(const PersonalizeClient*, const Model::UpdateCampaignRequest&, const Model::UpdateCampaignOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateCampaignResponseReceivedHandler;
287 
288   /**
289    * <p>Amazon Personalize is a machine learning service that makes it easy to add
290    * individualized recommendations to customers.</p>
291    */
292   class AWS_PERSONALIZE_API PersonalizeClient : public Aws::Client::AWSJsonClient
293   {
294     public:
295       typedef Aws::Client::AWSJsonClient BASECLASS;
296 
297        /**
298         * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
299         * is not specified, it will be initialized to default values.
300         */
301         PersonalizeClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
302 
303        /**
304         * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
305         * is not specified, it will be initialized to default values.
306         */
307         PersonalizeClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
308 
309        /**
310         * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
311         * the default http client factory will be used
312         */
313         PersonalizeClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
314             const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
315 
316         virtual ~PersonalizeClient();
317 
318 
319         /**
320          * <p>Creates a batch inference job. The operation can handle up to 50 million
321          * records and the input file must be in JSON format. For more information, see
322          * <a>recommendations-batch</a>.</p><p><h3>See Also:</h3>   <a
323          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateBatchInferenceJob">AWS
324          * API Reference</a></p>
325          */
326         virtual Model::CreateBatchInferenceJobOutcome CreateBatchInferenceJob(const Model::CreateBatchInferenceJobRequest& request) const;
327 
328         /**
329          * <p>Creates a batch inference job. The operation can handle up to 50 million
330          * records and the input file must be in JSON format. For more information, see
331          * <a>recommendations-batch</a>.</p><p><h3>See Also:</h3>   <a
332          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateBatchInferenceJob">AWS
333          * API Reference</a></p>
334          *
335          * returns a future to the operation so that it can be executed in parallel to other requests.
336          */
337         virtual Model::CreateBatchInferenceJobOutcomeCallable CreateBatchInferenceJobCallable(const Model::CreateBatchInferenceJobRequest& request) const;
338 
339         /**
340          * <p>Creates a batch inference job. The operation can handle up to 50 million
341          * records and the input file must be in JSON format. For more information, see
342          * <a>recommendations-batch</a>.</p><p><h3>See Also:</h3>   <a
343          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateBatchInferenceJob">AWS
344          * API Reference</a></p>
345          *
346          * Queues the request into a thread executor and triggers associated callback when operation has finished.
347          */
348         virtual void CreateBatchInferenceJobAsync(const Model::CreateBatchInferenceJobRequest& request, const CreateBatchInferenceJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
349 
350         /**
351          * <p>Creates a campaign by deploying a solution version. When a client calls the
352          * <a
353          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html">GetRecommendations</a>
354          * and <a
355          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetPersonalizedRanking.html">GetPersonalizedRanking</a>
356          * APIs, a campaign is specified in the request.</p> <p> <b>Minimum Provisioned TPS
357          * and Auto-Scaling</b> </p> <p>A transaction is a single
358          * <code>GetRecommendations</code> or <code>GetPersonalizedRanking</code> call.
359          * Transactions per second (TPS) is the throughput and unit of billing for Amazon
360          * Personalize. The minimum provisioned TPS (<code>minProvisionedTPS</code>)
361          * specifies the baseline throughput provisioned by Amazon Personalize, and thus,
362          * the minimum billing charge. </p> <p> If your TPS increases beyond
363          * <code>minProvisionedTPS</code>, Amazon Personalize auto-scales the provisioned
364          * capacity up and down, but never below <code>minProvisionedTPS</code>. There's a
365          * short time delay while the capacity is increased that might cause loss of
366          * transactions.</p> <p>The actual TPS used is calculated as the average
367          * requests/second within a 5-minute window. You pay for maximum of either the
368          * minimum provisioned TPS or the actual TPS. We recommend starting with a low
369          * <code>minProvisionedTPS</code>, track your usage using Amazon CloudWatch
370          * metrics, and then increase the <code>minProvisionedTPS</code> as necessary.</p>
371          * <p> <b>Status</b> </p> <p>A campaign can be in one of the following states:</p>
372          * <ul> <li> <p>CREATE PENDING &gt; CREATE IN_PROGRESS &gt; ACTIVE -or- CREATE
373          * FAILED</p> </li> <li> <p>DELETE PENDING &gt; DELETE IN_PROGRESS</p> </li> </ul>
374          * <p>To get the campaign status, call <a>DescribeCampaign</a>.</p>  <p>Wait
375          * until the <code>status</code> of the campaign is <code>ACTIVE</code> before
376          * asking the campaign for recommendations.</p>  <p class="title">
377          * <b>Related APIs</b> </p> <ul> <li> <p> <a>ListCampaigns</a> </p> </li> <li> <p>
378          * <a>DescribeCampaign</a> </p> </li> <li> <p> <a>UpdateCampaign</a> </p> </li>
379          * <li> <p> <a>DeleteCampaign</a> </p> </li> </ul><p><h3>See Also:</h3>   <a
380          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateCampaign">AWS
381          * API Reference</a></p>
382          */
383         virtual Model::CreateCampaignOutcome CreateCampaign(const Model::CreateCampaignRequest& request) const;
384 
385         /**
386          * <p>Creates a campaign by deploying a solution version. When a client calls the
387          * <a
388          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html">GetRecommendations</a>
389          * and <a
390          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetPersonalizedRanking.html">GetPersonalizedRanking</a>
391          * APIs, a campaign is specified in the request.</p> <p> <b>Minimum Provisioned TPS
392          * and Auto-Scaling</b> </p> <p>A transaction is a single
393          * <code>GetRecommendations</code> or <code>GetPersonalizedRanking</code> call.
394          * Transactions per second (TPS) is the throughput and unit of billing for Amazon
395          * Personalize. The minimum provisioned TPS (<code>minProvisionedTPS</code>)
396          * specifies the baseline throughput provisioned by Amazon Personalize, and thus,
397          * the minimum billing charge. </p> <p> If your TPS increases beyond
398          * <code>minProvisionedTPS</code>, Amazon Personalize auto-scales the provisioned
399          * capacity up and down, but never below <code>minProvisionedTPS</code>. There's a
400          * short time delay while the capacity is increased that might cause loss of
401          * transactions.</p> <p>The actual TPS used is calculated as the average
402          * requests/second within a 5-minute window. You pay for maximum of either the
403          * minimum provisioned TPS or the actual TPS. We recommend starting with a low
404          * <code>minProvisionedTPS</code>, track your usage using Amazon CloudWatch
405          * metrics, and then increase the <code>minProvisionedTPS</code> as necessary.</p>
406          * <p> <b>Status</b> </p> <p>A campaign can be in one of the following states:</p>
407          * <ul> <li> <p>CREATE PENDING &gt; CREATE IN_PROGRESS &gt; ACTIVE -or- CREATE
408          * FAILED</p> </li> <li> <p>DELETE PENDING &gt; DELETE IN_PROGRESS</p> </li> </ul>
409          * <p>To get the campaign status, call <a>DescribeCampaign</a>.</p>  <p>Wait
410          * until the <code>status</code> of the campaign is <code>ACTIVE</code> before
411          * asking the campaign for recommendations.</p>  <p class="title">
412          * <b>Related APIs</b> </p> <ul> <li> <p> <a>ListCampaigns</a> </p> </li> <li> <p>
413          * <a>DescribeCampaign</a> </p> </li> <li> <p> <a>UpdateCampaign</a> </p> </li>
414          * <li> <p> <a>DeleteCampaign</a> </p> </li> </ul><p><h3>See Also:</h3>   <a
415          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateCampaign">AWS
416          * API Reference</a></p>
417          *
418          * returns a future to the operation so that it can be executed in parallel to other requests.
419          */
420         virtual Model::CreateCampaignOutcomeCallable CreateCampaignCallable(const Model::CreateCampaignRequest& request) const;
421 
422         /**
423          * <p>Creates a campaign by deploying a solution version. When a client calls the
424          * <a
425          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html">GetRecommendations</a>
426          * and <a
427          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetPersonalizedRanking.html">GetPersonalizedRanking</a>
428          * APIs, a campaign is specified in the request.</p> <p> <b>Minimum Provisioned TPS
429          * and Auto-Scaling</b> </p> <p>A transaction is a single
430          * <code>GetRecommendations</code> or <code>GetPersonalizedRanking</code> call.
431          * Transactions per second (TPS) is the throughput and unit of billing for Amazon
432          * Personalize. The minimum provisioned TPS (<code>minProvisionedTPS</code>)
433          * specifies the baseline throughput provisioned by Amazon Personalize, and thus,
434          * the minimum billing charge. </p> <p> If your TPS increases beyond
435          * <code>minProvisionedTPS</code>, Amazon Personalize auto-scales the provisioned
436          * capacity up and down, but never below <code>minProvisionedTPS</code>. There's a
437          * short time delay while the capacity is increased that might cause loss of
438          * transactions.</p> <p>The actual TPS used is calculated as the average
439          * requests/second within a 5-minute window. You pay for maximum of either the
440          * minimum provisioned TPS or the actual TPS. We recommend starting with a low
441          * <code>minProvisionedTPS</code>, track your usage using Amazon CloudWatch
442          * metrics, and then increase the <code>minProvisionedTPS</code> as necessary.</p>
443          * <p> <b>Status</b> </p> <p>A campaign can be in one of the following states:</p>
444          * <ul> <li> <p>CREATE PENDING &gt; CREATE IN_PROGRESS &gt; ACTIVE -or- CREATE
445          * FAILED</p> </li> <li> <p>DELETE PENDING &gt; DELETE IN_PROGRESS</p> </li> </ul>
446          * <p>To get the campaign status, call <a>DescribeCampaign</a>.</p>  <p>Wait
447          * until the <code>status</code> of the campaign is <code>ACTIVE</code> before
448          * asking the campaign for recommendations.</p>  <p class="title">
449          * <b>Related APIs</b> </p> <ul> <li> <p> <a>ListCampaigns</a> </p> </li> <li> <p>
450          * <a>DescribeCampaign</a> </p> </li> <li> <p> <a>UpdateCampaign</a> </p> </li>
451          * <li> <p> <a>DeleteCampaign</a> </p> </li> </ul><p><h3>See Also:</h3>   <a
452          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateCampaign">AWS
453          * API Reference</a></p>
454          *
455          * Queues the request into a thread executor and triggers associated callback when operation has finished.
456          */
457         virtual void CreateCampaignAsync(const Model::CreateCampaignRequest& request, const CreateCampaignResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
458 
459         /**
460          * <p>Creates an empty dataset and adds it to the specified dataset group. Use
461          * <a>CreateDatasetImportJob</a> to import your training data to a dataset.</p>
462          * <p>There are three types of datasets:</p> <ul> <li> <p>Interactions</p> </li>
463          * <li> <p>Items</p> </li> <li> <p>Users</p> </li> </ul> <p>Each dataset type has
464          * an associated schema with required field types. Only the
465          * <code>Interactions</code> dataset is required in order to train a model (also
466          * referred to as creating a solution).</p> <p>A dataset can be in one of the
467          * following states:</p> <ul> <li> <p>CREATE PENDING &gt; CREATE IN_PROGRESS &gt;
468          * ACTIVE -or- CREATE FAILED</p> </li> <li> <p>DELETE PENDING &gt; DELETE
469          * IN_PROGRESS</p> </li> </ul> <p>To get the status of the dataset, call
470          * <a>DescribeDataset</a>.</p> <p class="title"> <b>Related APIs</b> </p> <ul> <li>
471          * <p> <a>CreateDatasetGroup</a> </p> </li> <li> <p> <a>ListDatasets</a> </p> </li>
472          * <li> <p> <a>DescribeDataset</a> </p> </li> <li> <p> <a>DeleteDataset</a> </p>
473          * </li> </ul><p><h3>See Also:</h3>   <a
474          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDataset">AWS
475          * API Reference</a></p>
476          */
477         virtual Model::CreateDatasetOutcome CreateDataset(const Model::CreateDatasetRequest& request) const;
478 
479         /**
480          * <p>Creates an empty dataset and adds it to the specified dataset group. Use
481          * <a>CreateDatasetImportJob</a> to import your training data to a dataset.</p>
482          * <p>There are three types of datasets:</p> <ul> <li> <p>Interactions</p> </li>
483          * <li> <p>Items</p> </li> <li> <p>Users</p> </li> </ul> <p>Each dataset type has
484          * an associated schema with required field types. Only the
485          * <code>Interactions</code> dataset is required in order to train a model (also
486          * referred to as creating a solution).</p> <p>A dataset can be in one of the
487          * following states:</p> <ul> <li> <p>CREATE PENDING &gt; CREATE IN_PROGRESS &gt;
488          * ACTIVE -or- CREATE FAILED</p> </li> <li> <p>DELETE PENDING &gt; DELETE
489          * IN_PROGRESS</p> </li> </ul> <p>To get the status of the dataset, call
490          * <a>DescribeDataset</a>.</p> <p class="title"> <b>Related APIs</b> </p> <ul> <li>
491          * <p> <a>CreateDatasetGroup</a> </p> </li> <li> <p> <a>ListDatasets</a> </p> </li>
492          * <li> <p> <a>DescribeDataset</a> </p> </li> <li> <p> <a>DeleteDataset</a> </p>
493          * </li> </ul><p><h3>See Also:</h3>   <a
494          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDataset">AWS
495          * API Reference</a></p>
496          *
497          * returns a future to the operation so that it can be executed in parallel to other requests.
498          */
499         virtual Model::CreateDatasetOutcomeCallable CreateDatasetCallable(const Model::CreateDatasetRequest& request) const;
500 
501         /**
502          * <p>Creates an empty dataset and adds it to the specified dataset group. Use
503          * <a>CreateDatasetImportJob</a> to import your training data to a dataset.</p>
504          * <p>There are three types of datasets:</p> <ul> <li> <p>Interactions</p> </li>
505          * <li> <p>Items</p> </li> <li> <p>Users</p> </li> </ul> <p>Each dataset type has
506          * an associated schema with required field types. Only the
507          * <code>Interactions</code> dataset is required in order to train a model (also
508          * referred to as creating a solution).</p> <p>A dataset can be in one of the
509          * following states:</p> <ul> <li> <p>CREATE PENDING &gt; CREATE IN_PROGRESS &gt;
510          * ACTIVE -or- CREATE FAILED</p> </li> <li> <p>DELETE PENDING &gt; DELETE
511          * IN_PROGRESS</p> </li> </ul> <p>To get the status of the dataset, call
512          * <a>DescribeDataset</a>.</p> <p class="title"> <b>Related APIs</b> </p> <ul> <li>
513          * <p> <a>CreateDatasetGroup</a> </p> </li> <li> <p> <a>ListDatasets</a> </p> </li>
514          * <li> <p> <a>DescribeDataset</a> </p> </li> <li> <p> <a>DeleteDataset</a> </p>
515          * </li> </ul><p><h3>See Also:</h3>   <a
516          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDataset">AWS
517          * API Reference</a></p>
518          *
519          * Queues the request into a thread executor and triggers associated callback when operation has finished.
520          */
521         virtual void CreateDatasetAsync(const Model::CreateDatasetRequest& request, const CreateDatasetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
522 
523         /**
524          * <p> Creates a job that exports data from your dataset to an Amazon S3 bucket. To
525          * allow Amazon Personalize to export the training data, you must specify an
526          * service-linked IAM role that gives Amazon Personalize <code>PutObject</code>
527          * permissions for your Amazon S3 bucket. For information, see <a
528          * href="https://docs.aws.amazon.com/personalize/latest/dg/export-data.html">Exporting
529          * a dataset</a> in the Amazon Personalize developer guide. </p> <p> <b>Status</b>
530          * </p> <p>A dataset export job can be in one of the following states:</p> <ul>
531          * <li> <p>CREATE PENDING &gt; CREATE IN_PROGRESS &gt; ACTIVE -or- CREATE
532          * FAILED</p> </li> </ul> <p> To get the status of the export job, call
533          * <a>DescribeDatasetExportJob</a>, and specify the Amazon Resource Name (ARN) of
534          * the dataset export job. The dataset export is complete when the status shows as
535          * ACTIVE. If the status shows as CREATE FAILED, the response includes a
536          * <code>failureReason</code> key, which describes why the job failed.
537          * </p><p><h3>See Also:</h3>   <a
538          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetExportJob">AWS
539          * API Reference</a></p>
540          */
541         virtual Model::CreateDatasetExportJobOutcome CreateDatasetExportJob(const Model::CreateDatasetExportJobRequest& request) const;
542 
543         /**
544          * <p> Creates a job that exports data from your dataset to an Amazon S3 bucket. To
545          * allow Amazon Personalize to export the training data, you must specify an
546          * service-linked IAM role that gives Amazon Personalize <code>PutObject</code>
547          * permissions for your Amazon S3 bucket. For information, see <a
548          * href="https://docs.aws.amazon.com/personalize/latest/dg/export-data.html">Exporting
549          * a dataset</a> in the Amazon Personalize developer guide. </p> <p> <b>Status</b>
550          * </p> <p>A dataset export job can be in one of the following states:</p> <ul>
551          * <li> <p>CREATE PENDING &gt; CREATE IN_PROGRESS &gt; ACTIVE -or- CREATE
552          * FAILED</p> </li> </ul> <p> To get the status of the export job, call
553          * <a>DescribeDatasetExportJob</a>, and specify the Amazon Resource Name (ARN) of
554          * the dataset export job. The dataset export is complete when the status shows as
555          * ACTIVE. If the status shows as CREATE FAILED, the response includes a
556          * <code>failureReason</code> key, which describes why the job failed.
557          * </p><p><h3>See Also:</h3>   <a
558          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetExportJob">AWS
559          * API Reference</a></p>
560          *
561          * returns a future to the operation so that it can be executed in parallel to other requests.
562          */
563         virtual Model::CreateDatasetExportJobOutcomeCallable CreateDatasetExportJobCallable(const Model::CreateDatasetExportJobRequest& request) const;
564 
565         /**
566          * <p> Creates a job that exports data from your dataset to an Amazon S3 bucket. To
567          * allow Amazon Personalize to export the training data, you must specify an
568          * service-linked IAM role that gives Amazon Personalize <code>PutObject</code>
569          * permissions for your Amazon S3 bucket. For information, see <a
570          * href="https://docs.aws.amazon.com/personalize/latest/dg/export-data.html">Exporting
571          * a dataset</a> in the Amazon Personalize developer guide. </p> <p> <b>Status</b>
572          * </p> <p>A dataset export job can be in one of the following states:</p> <ul>
573          * <li> <p>CREATE PENDING &gt; CREATE IN_PROGRESS &gt; ACTIVE -or- CREATE
574          * FAILED</p> </li> </ul> <p> To get the status of the export job, call
575          * <a>DescribeDatasetExportJob</a>, and specify the Amazon Resource Name (ARN) of
576          * the dataset export job. The dataset export is complete when the status shows as
577          * ACTIVE. If the status shows as CREATE FAILED, the response includes a
578          * <code>failureReason</code> key, which describes why the job failed.
579          * </p><p><h3>See Also:</h3>   <a
580          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetExportJob">AWS
581          * API Reference</a></p>
582          *
583          * Queues the request into a thread executor and triggers associated callback when operation has finished.
584          */
585         virtual void CreateDatasetExportJobAsync(const Model::CreateDatasetExportJobRequest& request, const CreateDatasetExportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
586 
587         /**
588          * <p>Creates an empty dataset group. A dataset group contains related datasets
589          * that supply data for training a model. A dataset group can contain at most three
590          * datasets, one for each type of dataset:</p> <ul> <li> <p>Interactions</p> </li>
591          * <li> <p>Items</p> </li> <li> <p>Users</p> </li> </ul> <p>To train a model
592          * (create a solution), a dataset group that contains an <code>Interactions</code>
593          * dataset is required. Call <a>CreateDataset</a> to add a dataset to the
594          * group.</p> <p>A dataset group can be in one of the following states:</p> <ul>
595          * <li> <p>CREATE PENDING &gt; CREATE IN_PROGRESS &gt; ACTIVE -or- CREATE
596          * FAILED</p> </li> <li> <p>DELETE PENDING</p> </li> </ul> <p>To get the status of
597          * the dataset group, call <a>DescribeDatasetGroup</a>. If the status shows as
598          * CREATE FAILED, the response includes a <code>failureReason</code> key, which
599          * describes why the creation failed.</p>  <p>You must wait until the
600          * <code>status</code> of the dataset group is <code>ACTIVE</code> before adding a
601          * dataset to the group.</p>  <p>You can specify an Key Management Service
602          * (KMS) key to encrypt the datasets in the group. If you specify a KMS key, you
603          * must also include an Identity and Access Management (IAM) role that has
604          * permission to access the key.</p> <p class="title"> <b>APIs that require a
605          * dataset group ARN in the request</b> </p> <ul> <li> <p> <a>CreateDataset</a>
606          * </p> </li> <li> <p> <a>CreateEventTracker</a> </p> </li> <li> <p>
607          * <a>CreateSolution</a> </p> </li> </ul> <p class="title"> <b>Related APIs</b>
608          * </p> <ul> <li> <p> <a>ListDatasetGroups</a> </p> </li> <li> <p>
609          * <a>DescribeDatasetGroup</a> </p> </li> <li> <p> <a>DeleteDatasetGroup</a> </p>
610          * </li> </ul><p><h3>See Also:</h3>   <a
611          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetGroup">AWS
612          * API Reference</a></p>
613          */
614         virtual Model::CreateDatasetGroupOutcome CreateDatasetGroup(const Model::CreateDatasetGroupRequest& request) const;
615 
616         /**
617          * <p>Creates an empty dataset group. A dataset group contains related datasets
618          * that supply data for training a model. A dataset group can contain at most three
619          * datasets, one for each type of dataset:</p> <ul> <li> <p>Interactions</p> </li>
620          * <li> <p>Items</p> </li> <li> <p>Users</p> </li> </ul> <p>To train a model
621          * (create a solution), a dataset group that contains an <code>Interactions</code>
622          * dataset is required. Call <a>CreateDataset</a> to add a dataset to the
623          * group.</p> <p>A dataset group can be in one of the following states:</p> <ul>
624          * <li> <p>CREATE PENDING &gt; CREATE IN_PROGRESS &gt; ACTIVE -or- CREATE
625          * FAILED</p> </li> <li> <p>DELETE PENDING</p> </li> </ul> <p>To get the status of
626          * the dataset group, call <a>DescribeDatasetGroup</a>. If the status shows as
627          * CREATE FAILED, the response includes a <code>failureReason</code> key, which
628          * describes why the creation failed.</p>  <p>You must wait until the
629          * <code>status</code> of the dataset group is <code>ACTIVE</code> before adding a
630          * dataset to the group.</p>  <p>You can specify an Key Management Service
631          * (KMS) key to encrypt the datasets in the group. If you specify a KMS key, you
632          * must also include an Identity and Access Management (IAM) role that has
633          * permission to access the key.</p> <p class="title"> <b>APIs that require a
634          * dataset group ARN in the request</b> </p> <ul> <li> <p> <a>CreateDataset</a>
635          * </p> </li> <li> <p> <a>CreateEventTracker</a> </p> </li> <li> <p>
636          * <a>CreateSolution</a> </p> </li> </ul> <p class="title"> <b>Related APIs</b>
637          * </p> <ul> <li> <p> <a>ListDatasetGroups</a> </p> </li> <li> <p>
638          * <a>DescribeDatasetGroup</a> </p> </li> <li> <p> <a>DeleteDatasetGroup</a> </p>
639          * </li> </ul><p><h3>See Also:</h3>   <a
640          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetGroup">AWS
641          * API Reference</a></p>
642          *
643          * returns a future to the operation so that it can be executed in parallel to other requests.
644          */
645         virtual Model::CreateDatasetGroupOutcomeCallable CreateDatasetGroupCallable(const Model::CreateDatasetGroupRequest& request) const;
646 
647         /**
648          * <p>Creates an empty dataset group. A dataset group contains related datasets
649          * that supply data for training a model. A dataset group can contain at most three
650          * datasets, one for each type of dataset:</p> <ul> <li> <p>Interactions</p> </li>
651          * <li> <p>Items</p> </li> <li> <p>Users</p> </li> </ul> <p>To train a model
652          * (create a solution), a dataset group that contains an <code>Interactions</code>
653          * dataset is required. Call <a>CreateDataset</a> to add a dataset to the
654          * group.</p> <p>A dataset group can be in one of the following states:</p> <ul>
655          * <li> <p>CREATE PENDING &gt; CREATE IN_PROGRESS &gt; ACTIVE -or- CREATE
656          * FAILED</p> </li> <li> <p>DELETE PENDING</p> </li> </ul> <p>To get the status of
657          * the dataset group, call <a>DescribeDatasetGroup</a>. If the status shows as
658          * CREATE FAILED, the response includes a <code>failureReason</code> key, which
659          * describes why the creation failed.</p>  <p>You must wait until the
660          * <code>status</code> of the dataset group is <code>ACTIVE</code> before adding a
661          * dataset to the group.</p>  <p>You can specify an Key Management Service
662          * (KMS) key to encrypt the datasets in the group. If you specify a KMS key, you
663          * must also include an Identity and Access Management (IAM) role that has
664          * permission to access the key.</p> <p class="title"> <b>APIs that require a
665          * dataset group ARN in the request</b> </p> <ul> <li> <p> <a>CreateDataset</a>
666          * </p> </li> <li> <p> <a>CreateEventTracker</a> </p> </li> <li> <p>
667          * <a>CreateSolution</a> </p> </li> </ul> <p class="title"> <b>Related APIs</b>
668          * </p> <ul> <li> <p> <a>ListDatasetGroups</a> </p> </li> <li> <p>
669          * <a>DescribeDatasetGroup</a> </p> </li> <li> <p> <a>DeleteDatasetGroup</a> </p>
670          * </li> </ul><p><h3>See Also:</h3>   <a
671          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetGroup">AWS
672          * API Reference</a></p>
673          *
674          * Queues the request into a thread executor and triggers associated callback when operation has finished.
675          */
676         virtual void CreateDatasetGroupAsync(const Model::CreateDatasetGroupRequest& request, const CreateDatasetGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
677 
678         /**
679          * <p>Creates a job that imports training data from your data source (an Amazon S3
680          * bucket) to an Amazon Personalize dataset. To allow Amazon Personalize to import
681          * the training data, you must specify an IAM service role that has permission to
682          * read from the data source, as Amazon Personalize makes a copy of your data and
683          * processes it internally. For information on granting access to your Amazon S3
684          * bucket, see <a
685          * href="https://docs.aws.amazon.com/personalize/latest/dg/granting-personalize-s3-access.html">Giving
686          * Amazon Personalize Access to Amazon S3 Resources</a>. </p>  <p>The
687          * dataset import job replaces any existing data in the dataset that you imported
688          * in bulk.</p>  <p> <b>Status</b> </p> <p>A dataset import job can be
689          * in one of the following states:</p> <ul> <li> <p>CREATE PENDING &gt; CREATE
690          * IN_PROGRESS &gt; ACTIVE -or- CREATE FAILED</p> </li> </ul> <p>To get the status
691          * of the import job, call <a>DescribeDatasetImportJob</a>, providing the Amazon
692          * Resource Name (ARN) of the dataset import job. The dataset import is complete
693          * when the status shows as ACTIVE. If the status shows as CREATE FAILED, the
694          * response includes a <code>failureReason</code> key, which describes why the job
695          * failed.</p>  <p>Importing takes time. You must wait until the status shows
696          * as ACTIVE before training a model using the dataset.</p>  <p
697          * class="title"> <b>Related APIs</b> </p> <ul> <li> <p>
698          * <a>ListDatasetImportJobs</a> </p> </li> <li> <p> <a>DescribeDatasetImportJob</a>
699          * </p> </li> </ul><p><h3>See Also:</h3>   <a
700          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetImportJob">AWS
701          * API Reference</a></p>
702          */
703         virtual Model::CreateDatasetImportJobOutcome CreateDatasetImportJob(const Model::CreateDatasetImportJobRequest& request) const;
704 
705         /**
706          * <p>Creates a job that imports training data from your data source (an Amazon S3
707          * bucket) to an Amazon Personalize dataset. To allow Amazon Personalize to import
708          * the training data, you must specify an IAM service role that has permission to
709          * read from the data source, as Amazon Personalize makes a copy of your data and
710          * processes it internally. For information on granting access to your Amazon S3
711          * bucket, see <a
712          * href="https://docs.aws.amazon.com/personalize/latest/dg/granting-personalize-s3-access.html">Giving
713          * Amazon Personalize Access to Amazon S3 Resources</a>. </p>  <p>The
714          * dataset import job replaces any existing data in the dataset that you imported
715          * in bulk.</p>  <p> <b>Status</b> </p> <p>A dataset import job can be
716          * in one of the following states:</p> <ul> <li> <p>CREATE PENDING &gt; CREATE
717          * IN_PROGRESS &gt; ACTIVE -or- CREATE FAILED</p> </li> </ul> <p>To get the status
718          * of the import job, call <a>DescribeDatasetImportJob</a>, providing the Amazon
719          * Resource Name (ARN) of the dataset import job. The dataset import is complete
720          * when the status shows as ACTIVE. If the status shows as CREATE FAILED, the
721          * response includes a <code>failureReason</code> key, which describes why the job
722          * failed.</p>  <p>Importing takes time. You must wait until the status shows
723          * as ACTIVE before training a model using the dataset.</p>  <p
724          * class="title"> <b>Related APIs</b> </p> <ul> <li> <p>
725          * <a>ListDatasetImportJobs</a> </p> </li> <li> <p> <a>DescribeDatasetImportJob</a>
726          * </p> </li> </ul><p><h3>See Also:</h3>   <a
727          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetImportJob">AWS
728          * API Reference</a></p>
729          *
730          * returns a future to the operation so that it can be executed in parallel to other requests.
731          */
732         virtual Model::CreateDatasetImportJobOutcomeCallable CreateDatasetImportJobCallable(const Model::CreateDatasetImportJobRequest& request) const;
733 
734         /**
735          * <p>Creates a job that imports training data from your data source (an Amazon S3
736          * bucket) to an Amazon Personalize dataset. To allow Amazon Personalize to import
737          * the training data, you must specify an IAM service role that has permission to
738          * read from the data source, as Amazon Personalize makes a copy of your data and
739          * processes it internally. For information on granting access to your Amazon S3
740          * bucket, see <a
741          * href="https://docs.aws.amazon.com/personalize/latest/dg/granting-personalize-s3-access.html">Giving
742          * Amazon Personalize Access to Amazon S3 Resources</a>. </p>  <p>The
743          * dataset import job replaces any existing data in the dataset that you imported
744          * in bulk.</p>  <p> <b>Status</b> </p> <p>A dataset import job can be
745          * in one of the following states:</p> <ul> <li> <p>CREATE PENDING &gt; CREATE
746          * IN_PROGRESS &gt; ACTIVE -or- CREATE FAILED</p> </li> </ul> <p>To get the status
747          * of the import job, call <a>DescribeDatasetImportJob</a>, providing the Amazon
748          * Resource Name (ARN) of the dataset import job. The dataset import is complete
749          * when the status shows as ACTIVE. If the status shows as CREATE FAILED, the
750          * response includes a <code>failureReason</code> key, which describes why the job
751          * failed.</p>  <p>Importing takes time. You must wait until the status shows
752          * as ACTIVE before training a model using the dataset.</p>  <p
753          * class="title"> <b>Related APIs</b> </p> <ul> <li> <p>
754          * <a>ListDatasetImportJobs</a> </p> </li> <li> <p> <a>DescribeDatasetImportJob</a>
755          * </p> </li> </ul><p><h3>See Also:</h3>   <a
756          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDatasetImportJob">AWS
757          * API Reference</a></p>
758          *
759          * Queues the request into a thread executor and triggers associated callback when operation has finished.
760          */
761         virtual void CreateDatasetImportJobAsync(const Model::CreateDatasetImportJobRequest& request, const CreateDatasetImportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
762 
763         /**
764          * <p>Creates an event tracker that you use when adding event data to a specified
765          * dataset group using the <a
766          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutEvents.html">PutEvents</a>
767          * API.</p>  <p>Only one event tracker can be associated with a dataset
768          * group. You will get an error if you call <code>CreateEventTracker</code> using
769          * the same dataset group as an existing event tracker.</p>  <p>When you
770          * create an event tracker, the response includes a tracking ID, which you pass as
771          * a parameter when you use the <a
772          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutEvents.html">PutEvents</a>
773          * operation. Amazon Personalize then appends the event data to the Interactions
774          * dataset of the dataset group you specify in your event tracker. </p> <p>The
775          * event tracker can be in one of the following states:</p> <ul> <li> <p>CREATE
776          * PENDING &gt; CREATE IN_PROGRESS &gt; ACTIVE -or- CREATE FAILED</p> </li> <li>
777          * <p>DELETE PENDING &gt; DELETE IN_PROGRESS</p> </li> </ul> <p>To get the status
778          * of the event tracker, call <a>DescribeEventTracker</a>.</p>  <p>The event
779          * tracker must be in the ACTIVE state before using the tracking ID.</p>  <p
780          * class="title"> <b>Related APIs</b> </p> <ul> <li> <p> <a>ListEventTrackers</a>
781          * </p> </li> <li> <p> <a>DescribeEventTracker</a> </p> </li> <li> <p>
782          * <a>DeleteEventTracker</a> </p> </li> </ul><p><h3>See Also:</h3>   <a
783          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateEventTracker">AWS
784          * API Reference</a></p>
785          */
786         virtual Model::CreateEventTrackerOutcome CreateEventTracker(const Model::CreateEventTrackerRequest& request) const;
787 
788         /**
789          * <p>Creates an event tracker that you use when adding event data to a specified
790          * dataset group using the <a
791          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutEvents.html">PutEvents</a>
792          * API.</p>  <p>Only one event tracker can be associated with a dataset
793          * group. You will get an error if you call <code>CreateEventTracker</code> using
794          * the same dataset group as an existing event tracker.</p>  <p>When you
795          * create an event tracker, the response includes a tracking ID, which you pass as
796          * a parameter when you use the <a
797          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutEvents.html">PutEvents</a>
798          * operation. Amazon Personalize then appends the event data to the Interactions
799          * dataset of the dataset group you specify in your event tracker. </p> <p>The
800          * event tracker can be in one of the following states:</p> <ul> <li> <p>CREATE
801          * PENDING &gt; CREATE IN_PROGRESS &gt; ACTIVE -or- CREATE FAILED</p> </li> <li>
802          * <p>DELETE PENDING &gt; DELETE IN_PROGRESS</p> </li> </ul> <p>To get the status
803          * of the event tracker, call <a>DescribeEventTracker</a>.</p>  <p>The event
804          * tracker must be in the ACTIVE state before using the tracking ID.</p>  <p
805          * class="title"> <b>Related APIs</b> </p> <ul> <li> <p> <a>ListEventTrackers</a>
806          * </p> </li> <li> <p> <a>DescribeEventTracker</a> </p> </li> <li> <p>
807          * <a>DeleteEventTracker</a> </p> </li> </ul><p><h3>See Also:</h3>   <a
808          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateEventTracker">AWS
809          * API Reference</a></p>
810          *
811          * returns a future to the operation so that it can be executed in parallel to other requests.
812          */
813         virtual Model::CreateEventTrackerOutcomeCallable CreateEventTrackerCallable(const Model::CreateEventTrackerRequest& request) const;
814 
815         /**
816          * <p>Creates an event tracker that you use when adding event data to a specified
817          * dataset group using the <a
818          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutEvents.html">PutEvents</a>
819          * API.</p>  <p>Only one event tracker can be associated with a dataset
820          * group. You will get an error if you call <code>CreateEventTracker</code> using
821          * the same dataset group as an existing event tracker.</p>  <p>When you
822          * create an event tracker, the response includes a tracking ID, which you pass as
823          * a parameter when you use the <a
824          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutEvents.html">PutEvents</a>
825          * operation. Amazon Personalize then appends the event data to the Interactions
826          * dataset of the dataset group you specify in your event tracker. </p> <p>The
827          * event tracker can be in one of the following states:</p> <ul> <li> <p>CREATE
828          * PENDING &gt; CREATE IN_PROGRESS &gt; ACTIVE -or- CREATE FAILED</p> </li> <li>
829          * <p>DELETE PENDING &gt; DELETE IN_PROGRESS</p> </li> </ul> <p>To get the status
830          * of the event tracker, call <a>DescribeEventTracker</a>.</p>  <p>The event
831          * tracker must be in the ACTIVE state before using the tracking ID.</p>  <p
832          * class="title"> <b>Related APIs</b> </p> <ul> <li> <p> <a>ListEventTrackers</a>
833          * </p> </li> <li> <p> <a>DescribeEventTracker</a> </p> </li> <li> <p>
834          * <a>DeleteEventTracker</a> </p> </li> </ul><p><h3>See Also:</h3>   <a
835          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateEventTracker">AWS
836          * API Reference</a></p>
837          *
838          * Queues the request into a thread executor and triggers associated callback when operation has finished.
839          */
840         virtual void CreateEventTrackerAsync(const Model::CreateEventTrackerRequest& request, const CreateEventTrackerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
841 
842         /**
843          * <p>Creates a recommendation filter. For more information, see
844          * <a>filter</a>.</p><p><h3>See Also:</h3>   <a
845          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateFilter">AWS
846          * API Reference</a></p>
847          */
848         virtual Model::CreateFilterOutcome CreateFilter(const Model::CreateFilterRequest& request) const;
849 
850         /**
851          * <p>Creates a recommendation filter. For more information, see
852          * <a>filter</a>.</p><p><h3>See Also:</h3>   <a
853          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateFilter">AWS
854          * API Reference</a></p>
855          *
856          * returns a future to the operation so that it can be executed in parallel to other requests.
857          */
858         virtual Model::CreateFilterOutcomeCallable CreateFilterCallable(const Model::CreateFilterRequest& request) const;
859 
860         /**
861          * <p>Creates a recommendation filter. For more information, see
862          * <a>filter</a>.</p><p><h3>See Also:</h3>   <a
863          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateFilter">AWS
864          * API Reference</a></p>
865          *
866          * Queues the request into a thread executor and triggers associated callback when operation has finished.
867          */
868         virtual void CreateFilterAsync(const Model::CreateFilterRequest& request, const CreateFilterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
869 
870         /**
871          * <p>Creates an Amazon Personalize schema from the specified schema string. The
872          * schema you create must be in Avro JSON format.</p> <p>Amazon Personalize
873          * recognizes three schema variants. Each schema is associated with a dataset type
874          * and has a set of required field and keywords. You specify a schema when you call
875          * <a>CreateDataset</a>.</p> <p class="title"> <b>Related APIs</b> </p> <ul> <li>
876          * <p> <a>ListSchemas</a> </p> </li> <li> <p> <a>DescribeSchema</a> </p> </li> <li>
877          * <p> <a>DeleteSchema</a> </p> </li> </ul><p><h3>See Also:</h3>   <a
878          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSchema">AWS
879          * API Reference</a></p>
880          */
881         virtual Model::CreateSchemaOutcome CreateSchema(const Model::CreateSchemaRequest& request) const;
882 
883         /**
884          * <p>Creates an Amazon Personalize schema from the specified schema string. The
885          * schema you create must be in Avro JSON format.</p> <p>Amazon Personalize
886          * recognizes three schema variants. Each schema is associated with a dataset type
887          * and has a set of required field and keywords. You specify a schema when you call
888          * <a>CreateDataset</a>.</p> <p class="title"> <b>Related APIs</b> </p> <ul> <li>
889          * <p> <a>ListSchemas</a> </p> </li> <li> <p> <a>DescribeSchema</a> </p> </li> <li>
890          * <p> <a>DeleteSchema</a> </p> </li> </ul><p><h3>See Also:</h3>   <a
891          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSchema">AWS
892          * API Reference</a></p>
893          *
894          * returns a future to the operation so that it can be executed in parallel to other requests.
895          */
896         virtual Model::CreateSchemaOutcomeCallable CreateSchemaCallable(const Model::CreateSchemaRequest& request) const;
897 
898         /**
899          * <p>Creates an Amazon Personalize schema from the specified schema string. The
900          * schema you create must be in Avro JSON format.</p> <p>Amazon Personalize
901          * recognizes three schema variants. Each schema is associated with a dataset type
902          * and has a set of required field and keywords. You specify a schema when you call
903          * <a>CreateDataset</a>.</p> <p class="title"> <b>Related APIs</b> </p> <ul> <li>
904          * <p> <a>ListSchemas</a> </p> </li> <li> <p> <a>DescribeSchema</a> </p> </li> <li>
905          * <p> <a>DeleteSchema</a> </p> </li> </ul><p><h3>See Also:</h3>   <a
906          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSchema">AWS
907          * API Reference</a></p>
908          *
909          * Queues the request into a thread executor and triggers associated callback when operation has finished.
910          */
911         virtual void CreateSchemaAsync(const Model::CreateSchemaRequest& request, const CreateSchemaResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
912 
913         /**
914          * <p>Creates the configuration for training a model. A trained model is known as a
915          * solution. After the configuration is created, you train the model (create a
916          * solution) by calling the <a>CreateSolutionVersion</a> operation. Every time you
917          * call <code>CreateSolutionVersion</code>, a new version of the solution is
918          * created.</p> <p>After creating a solution version, you check its accuracy by
919          * calling <a>GetSolutionMetrics</a>. When you are satisfied with the version, you
920          * deploy it using <a>CreateCampaign</a>. The campaign provides recommendations to
921          * a client through the <a
922          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html">GetRecommendations</a>
923          * API.</p> <p>To train a model, Amazon Personalize requires training data and a
924          * recipe. The training data comes from the dataset group that you provide in the
925          * request. A recipe specifies the training algorithm and a feature transformation.
926          * You can specify one of the predefined recipes provided by Amazon Personalize.
927          * Alternatively, you can specify <code>performAutoML</code> and Amazon Personalize
928          * will analyze your data and select the optimum USER_PERSONALIZATION recipe for
929          * you.</p>  <p>Amazon Personalize doesn't support configuring the
930          * <code>hpoObjective</code> for solution hyperparameter optimization at this
931          * time.</p>  <p> <b>Status</b> </p> <p>A solution can be in one of the
932          * following states:</p> <ul> <li> <p>CREATE PENDING &gt; CREATE IN_PROGRESS &gt;
933          * ACTIVE -or- CREATE FAILED</p> </li> <li> <p>DELETE PENDING &gt; DELETE
934          * IN_PROGRESS</p> </li> </ul> <p>To get the status of the solution, call
935          * <a>DescribeSolution</a>. Wait until the status shows as ACTIVE before calling
936          * <code>CreateSolutionVersion</code>.</p> <p class="title"> <b>Related APIs</b>
937          * </p> <ul> <li> <p> <a>ListSolutions</a> </p> </li> <li> <p>
938          * <a>CreateSolutionVersion</a> </p> </li> <li> <p> <a>DescribeSolution</a> </p>
939          * </li> <li> <p> <a>DeleteSolution</a> </p> </li> </ul> <ul> <li> <p>
940          * <a>ListSolutionVersions</a> </p> </li> <li> <p> <a>DescribeSolutionVersion</a>
941          * </p> </li> </ul><p><h3>See Also:</h3>   <a
942          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSolution">AWS
943          * API Reference</a></p>
944          */
945         virtual Model::CreateSolutionOutcome CreateSolution(const Model::CreateSolutionRequest& request) const;
946 
947         /**
948          * <p>Creates the configuration for training a model. A trained model is known as a
949          * solution. After the configuration is created, you train the model (create a
950          * solution) by calling the <a>CreateSolutionVersion</a> operation. Every time you
951          * call <code>CreateSolutionVersion</code>, a new version of the solution is
952          * created.</p> <p>After creating a solution version, you check its accuracy by
953          * calling <a>GetSolutionMetrics</a>. When you are satisfied with the version, you
954          * deploy it using <a>CreateCampaign</a>. The campaign provides recommendations to
955          * a client through the <a
956          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html">GetRecommendations</a>
957          * API.</p> <p>To train a model, Amazon Personalize requires training data and a
958          * recipe. The training data comes from the dataset group that you provide in the
959          * request. A recipe specifies the training algorithm and a feature transformation.
960          * You can specify one of the predefined recipes provided by Amazon Personalize.
961          * Alternatively, you can specify <code>performAutoML</code> and Amazon Personalize
962          * will analyze your data and select the optimum USER_PERSONALIZATION recipe for
963          * you.</p>  <p>Amazon Personalize doesn't support configuring the
964          * <code>hpoObjective</code> for solution hyperparameter optimization at this
965          * time.</p>  <p> <b>Status</b> </p> <p>A solution can be in one of the
966          * following states:</p> <ul> <li> <p>CREATE PENDING &gt; CREATE IN_PROGRESS &gt;
967          * ACTIVE -or- CREATE FAILED</p> </li> <li> <p>DELETE PENDING &gt; DELETE
968          * IN_PROGRESS</p> </li> </ul> <p>To get the status of the solution, call
969          * <a>DescribeSolution</a>. Wait until the status shows as ACTIVE before calling
970          * <code>CreateSolutionVersion</code>.</p> <p class="title"> <b>Related APIs</b>
971          * </p> <ul> <li> <p> <a>ListSolutions</a> </p> </li> <li> <p>
972          * <a>CreateSolutionVersion</a> </p> </li> <li> <p> <a>DescribeSolution</a> </p>
973          * </li> <li> <p> <a>DeleteSolution</a> </p> </li> </ul> <ul> <li> <p>
974          * <a>ListSolutionVersions</a> </p> </li> <li> <p> <a>DescribeSolutionVersion</a>
975          * </p> </li> </ul><p><h3>See Also:</h3>   <a
976          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSolution">AWS
977          * API Reference</a></p>
978          *
979          * returns a future to the operation so that it can be executed in parallel to other requests.
980          */
981         virtual Model::CreateSolutionOutcomeCallable CreateSolutionCallable(const Model::CreateSolutionRequest& request) const;
982 
983         /**
984          * <p>Creates the configuration for training a model. A trained model is known as a
985          * solution. After the configuration is created, you train the model (create a
986          * solution) by calling the <a>CreateSolutionVersion</a> operation. Every time you
987          * call <code>CreateSolutionVersion</code>, a new version of the solution is
988          * created.</p> <p>After creating a solution version, you check its accuracy by
989          * calling <a>GetSolutionMetrics</a>. When you are satisfied with the version, you
990          * deploy it using <a>CreateCampaign</a>. The campaign provides recommendations to
991          * a client through the <a
992          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html">GetRecommendations</a>
993          * API.</p> <p>To train a model, Amazon Personalize requires training data and a
994          * recipe. The training data comes from the dataset group that you provide in the
995          * request. A recipe specifies the training algorithm and a feature transformation.
996          * You can specify one of the predefined recipes provided by Amazon Personalize.
997          * Alternatively, you can specify <code>performAutoML</code> and Amazon Personalize
998          * will analyze your data and select the optimum USER_PERSONALIZATION recipe for
999          * you.</p>  <p>Amazon Personalize doesn't support configuring the
1000          * <code>hpoObjective</code> for solution hyperparameter optimization at this
1001          * time.</p>  <p> <b>Status</b> </p> <p>A solution can be in one of the
1002          * following states:</p> <ul> <li> <p>CREATE PENDING &gt; CREATE IN_PROGRESS &gt;
1003          * ACTIVE -or- CREATE FAILED</p> </li> <li> <p>DELETE PENDING &gt; DELETE
1004          * IN_PROGRESS</p> </li> </ul> <p>To get the status of the solution, call
1005          * <a>DescribeSolution</a>. Wait until the status shows as ACTIVE before calling
1006          * <code>CreateSolutionVersion</code>.</p> <p class="title"> <b>Related APIs</b>
1007          * </p> <ul> <li> <p> <a>ListSolutions</a> </p> </li> <li> <p>
1008          * <a>CreateSolutionVersion</a> </p> </li> <li> <p> <a>DescribeSolution</a> </p>
1009          * </li> <li> <p> <a>DeleteSolution</a> </p> </li> </ul> <ul> <li> <p>
1010          * <a>ListSolutionVersions</a> </p> </li> <li> <p> <a>DescribeSolutionVersion</a>
1011          * </p> </li> </ul><p><h3>See Also:</h3>   <a
1012          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSolution">AWS
1013          * API Reference</a></p>
1014          *
1015          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1016          */
1017         virtual void CreateSolutionAsync(const Model::CreateSolutionRequest& request, const CreateSolutionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1018 
1019         /**
1020          * <p>Trains or retrains an active solution. A solution is created using the
1021          * <a>CreateSolution</a> operation and must be in the ACTIVE state before calling
1022          * <code>CreateSolutionVersion</code>. A new version of the solution is created
1023          * every time you call this operation.</p> <p> <b>Status</b> </p> <p>A solution
1024          * version can be in one of the following states:</p> <ul> <li> <p>CREATE
1025          * PENDING</p> </li> <li> <p>CREATE IN_PROGRESS</p> </li> <li> <p>ACTIVE</p> </li>
1026          * <li> <p>CREATE FAILED</p> </li> <li> <p>CREATE STOPPING</p> </li> <li> <p>CREATE
1027          * STOPPED</p> </li> </ul> <p>To get the status of the version, call
1028          * <a>DescribeSolutionVersion</a>. Wait until the status shows as ACTIVE before
1029          * calling <code>CreateCampaign</code>.</p> <p>If the status shows as CREATE
1030          * FAILED, the response includes a <code>failureReason</code> key, which describes
1031          * why the job failed.</p> <p class="title"> <b>Related APIs</b> </p> <ul> <li> <p>
1032          * <a>ListSolutionVersions</a> </p> </li> <li> <p> <a>DescribeSolutionVersion</a>
1033          * </p> </li> </ul> <ul> <li> <p> <a>ListSolutions</a> </p> </li> <li> <p>
1034          * <a>CreateSolution</a> </p> </li> <li> <p> <a>DescribeSolution</a> </p> </li>
1035          * <li> <p> <a>DeleteSolution</a> </p> </li> </ul><p><h3>See Also:</h3>   <a
1036          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSolutionVersion">AWS
1037          * API Reference</a></p>
1038          */
1039         virtual Model::CreateSolutionVersionOutcome CreateSolutionVersion(const Model::CreateSolutionVersionRequest& request) const;
1040 
1041         /**
1042          * <p>Trains or retrains an active solution. A solution is created using the
1043          * <a>CreateSolution</a> operation and must be in the ACTIVE state before calling
1044          * <code>CreateSolutionVersion</code>. A new version of the solution is created
1045          * every time you call this operation.</p> <p> <b>Status</b> </p> <p>A solution
1046          * version can be in one of the following states:</p> <ul> <li> <p>CREATE
1047          * PENDING</p> </li> <li> <p>CREATE IN_PROGRESS</p> </li> <li> <p>ACTIVE</p> </li>
1048          * <li> <p>CREATE FAILED</p> </li> <li> <p>CREATE STOPPING</p> </li> <li> <p>CREATE
1049          * STOPPED</p> </li> </ul> <p>To get the status of the version, call
1050          * <a>DescribeSolutionVersion</a>. Wait until the status shows as ACTIVE before
1051          * calling <code>CreateCampaign</code>.</p> <p>If the status shows as CREATE
1052          * FAILED, the response includes a <code>failureReason</code> key, which describes
1053          * why the job failed.</p> <p class="title"> <b>Related APIs</b> </p> <ul> <li> <p>
1054          * <a>ListSolutionVersions</a> </p> </li> <li> <p> <a>DescribeSolutionVersion</a>
1055          * </p> </li> </ul> <ul> <li> <p> <a>ListSolutions</a> </p> </li> <li> <p>
1056          * <a>CreateSolution</a> </p> </li> <li> <p> <a>DescribeSolution</a> </p> </li>
1057          * <li> <p> <a>DeleteSolution</a> </p> </li> </ul><p><h3>See Also:</h3>   <a
1058          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSolutionVersion">AWS
1059          * API Reference</a></p>
1060          *
1061          * returns a future to the operation so that it can be executed in parallel to other requests.
1062          */
1063         virtual Model::CreateSolutionVersionOutcomeCallable CreateSolutionVersionCallable(const Model::CreateSolutionVersionRequest& request) const;
1064 
1065         /**
1066          * <p>Trains or retrains an active solution. A solution is created using the
1067          * <a>CreateSolution</a> operation and must be in the ACTIVE state before calling
1068          * <code>CreateSolutionVersion</code>. A new version of the solution is created
1069          * every time you call this operation.</p> <p> <b>Status</b> </p> <p>A solution
1070          * version can be in one of the following states:</p> <ul> <li> <p>CREATE
1071          * PENDING</p> </li> <li> <p>CREATE IN_PROGRESS</p> </li> <li> <p>ACTIVE</p> </li>
1072          * <li> <p>CREATE FAILED</p> </li> <li> <p>CREATE STOPPING</p> </li> <li> <p>CREATE
1073          * STOPPED</p> </li> </ul> <p>To get the status of the version, call
1074          * <a>DescribeSolutionVersion</a>. Wait until the status shows as ACTIVE before
1075          * calling <code>CreateCampaign</code>.</p> <p>If the status shows as CREATE
1076          * FAILED, the response includes a <code>failureReason</code> key, which describes
1077          * why the job failed.</p> <p class="title"> <b>Related APIs</b> </p> <ul> <li> <p>
1078          * <a>ListSolutionVersions</a> </p> </li> <li> <p> <a>DescribeSolutionVersion</a>
1079          * </p> </li> </ul> <ul> <li> <p> <a>ListSolutions</a> </p> </li> <li> <p>
1080          * <a>CreateSolution</a> </p> </li> <li> <p> <a>DescribeSolution</a> </p> </li>
1081          * <li> <p> <a>DeleteSolution</a> </p> </li> </ul><p><h3>See Also:</h3>   <a
1082          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSolutionVersion">AWS
1083          * API Reference</a></p>
1084          *
1085          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1086          */
1087         virtual void CreateSolutionVersionAsync(const Model::CreateSolutionVersionRequest& request, const CreateSolutionVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1088 
1089         /**
1090          * <p>Removes a campaign by deleting the solution deployment. The solution that the
1091          * campaign is based on is not deleted and can be redeployed when needed. A deleted
1092          * campaign can no longer be specified in a <a
1093          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html">GetRecommendations</a>
1094          * request. For more information on campaigns, see
1095          * <a>CreateCampaign</a>.</p><p><h3>See Also:</h3>   <a
1096          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteCampaign">AWS
1097          * API Reference</a></p>
1098          */
1099         virtual Model::DeleteCampaignOutcome DeleteCampaign(const Model::DeleteCampaignRequest& request) const;
1100 
1101         /**
1102          * <p>Removes a campaign by deleting the solution deployment. The solution that the
1103          * campaign is based on is not deleted and can be redeployed when needed. A deleted
1104          * campaign can no longer be specified in a <a
1105          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html">GetRecommendations</a>
1106          * request. For more information on campaigns, see
1107          * <a>CreateCampaign</a>.</p><p><h3>See Also:</h3>   <a
1108          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteCampaign">AWS
1109          * API Reference</a></p>
1110          *
1111          * returns a future to the operation so that it can be executed in parallel to other requests.
1112          */
1113         virtual Model::DeleteCampaignOutcomeCallable DeleteCampaignCallable(const Model::DeleteCampaignRequest& request) const;
1114 
1115         /**
1116          * <p>Removes a campaign by deleting the solution deployment. The solution that the
1117          * campaign is based on is not deleted and can be redeployed when needed. A deleted
1118          * campaign can no longer be specified in a <a
1119          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html">GetRecommendations</a>
1120          * request. For more information on campaigns, see
1121          * <a>CreateCampaign</a>.</p><p><h3>See Also:</h3>   <a
1122          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteCampaign">AWS
1123          * API Reference</a></p>
1124          *
1125          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1126          */
1127         virtual void DeleteCampaignAsync(const Model::DeleteCampaignRequest& request, const DeleteCampaignResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1128 
1129         /**
1130          * <p>Deletes a dataset. You can't delete a dataset if an associated
1131          * <code>DatasetImportJob</code> or <code>SolutionVersion</code> is in the CREATE
1132          * PENDING or IN PROGRESS state. For more information on datasets, see
1133          * <a>CreateDataset</a>.</p><p><h3>See Also:</h3>   <a
1134          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteDataset">AWS
1135          * API Reference</a></p>
1136          */
1137         virtual Model::DeleteDatasetOutcome DeleteDataset(const Model::DeleteDatasetRequest& request) const;
1138 
1139         /**
1140          * <p>Deletes a dataset. You can't delete a dataset if an associated
1141          * <code>DatasetImportJob</code> or <code>SolutionVersion</code> is in the CREATE
1142          * PENDING or IN PROGRESS state. For more information on datasets, see
1143          * <a>CreateDataset</a>.</p><p><h3>See Also:</h3>   <a
1144          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteDataset">AWS
1145          * API Reference</a></p>
1146          *
1147          * returns a future to the operation so that it can be executed in parallel to other requests.
1148          */
1149         virtual Model::DeleteDatasetOutcomeCallable DeleteDatasetCallable(const Model::DeleteDatasetRequest& request) const;
1150 
1151         /**
1152          * <p>Deletes a dataset. You can't delete a dataset if an associated
1153          * <code>DatasetImportJob</code> or <code>SolutionVersion</code> is in the CREATE
1154          * PENDING or IN PROGRESS state. For more information on datasets, see
1155          * <a>CreateDataset</a>.</p><p><h3>See Also:</h3>   <a
1156          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteDataset">AWS
1157          * API Reference</a></p>
1158          *
1159          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1160          */
1161         virtual void DeleteDatasetAsync(const Model::DeleteDatasetRequest& request, const DeleteDatasetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1162 
1163         /**
1164          * <p>Deletes a dataset group. Before you delete a dataset group, you must delete
1165          * the following:</p> <ul> <li> <p>All associated event trackers.</p> </li> <li>
1166          * <p>All associated solutions.</p> </li> <li> <p>All datasets in the dataset
1167          * group.</p> </li> </ul><p><h3>See Also:</h3>   <a
1168          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteDatasetGroup">AWS
1169          * API Reference</a></p>
1170          */
1171         virtual Model::DeleteDatasetGroupOutcome DeleteDatasetGroup(const Model::DeleteDatasetGroupRequest& request) const;
1172 
1173         /**
1174          * <p>Deletes a dataset group. Before you delete a dataset group, you must delete
1175          * the following:</p> <ul> <li> <p>All associated event trackers.</p> </li> <li>
1176          * <p>All associated solutions.</p> </li> <li> <p>All datasets in the dataset
1177          * group.</p> </li> </ul><p><h3>See Also:</h3>   <a
1178          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteDatasetGroup">AWS
1179          * API Reference</a></p>
1180          *
1181          * returns a future to the operation so that it can be executed in parallel to other requests.
1182          */
1183         virtual Model::DeleteDatasetGroupOutcomeCallable DeleteDatasetGroupCallable(const Model::DeleteDatasetGroupRequest& request) const;
1184 
1185         /**
1186          * <p>Deletes a dataset group. Before you delete a dataset group, you must delete
1187          * the following:</p> <ul> <li> <p>All associated event trackers.</p> </li> <li>
1188          * <p>All associated solutions.</p> </li> <li> <p>All datasets in the dataset
1189          * group.</p> </li> </ul><p><h3>See Also:</h3>   <a
1190          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteDatasetGroup">AWS
1191          * API Reference</a></p>
1192          *
1193          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1194          */
1195         virtual void DeleteDatasetGroupAsync(const Model::DeleteDatasetGroupRequest& request, const DeleteDatasetGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1196 
1197         /**
1198          * <p>Deletes the event tracker. Does not delete the event-interactions dataset
1199          * from the associated dataset group. For more information on event trackers, see
1200          * <a>CreateEventTracker</a>.</p><p><h3>See Also:</h3>   <a
1201          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteEventTracker">AWS
1202          * API Reference</a></p>
1203          */
1204         virtual Model::DeleteEventTrackerOutcome DeleteEventTracker(const Model::DeleteEventTrackerRequest& request) const;
1205 
1206         /**
1207          * <p>Deletes the event tracker. Does not delete the event-interactions dataset
1208          * from the associated dataset group. For more information on event trackers, see
1209          * <a>CreateEventTracker</a>.</p><p><h3>See Also:</h3>   <a
1210          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteEventTracker">AWS
1211          * API Reference</a></p>
1212          *
1213          * returns a future to the operation so that it can be executed in parallel to other requests.
1214          */
1215         virtual Model::DeleteEventTrackerOutcomeCallable DeleteEventTrackerCallable(const Model::DeleteEventTrackerRequest& request) const;
1216 
1217         /**
1218          * <p>Deletes the event tracker. Does not delete the event-interactions dataset
1219          * from the associated dataset group. For more information on event trackers, see
1220          * <a>CreateEventTracker</a>.</p><p><h3>See Also:</h3>   <a
1221          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteEventTracker">AWS
1222          * API Reference</a></p>
1223          *
1224          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1225          */
1226         virtual void DeleteEventTrackerAsync(const Model::DeleteEventTrackerRequest& request, const DeleteEventTrackerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1227 
1228         /**
1229          * <p>Deletes a filter.</p><p><h3>See Also:</h3>   <a
1230          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteFilter">AWS
1231          * API Reference</a></p>
1232          */
1233         virtual Model::DeleteFilterOutcome DeleteFilter(const Model::DeleteFilterRequest& request) const;
1234 
1235         /**
1236          * <p>Deletes a filter.</p><p><h3>See Also:</h3>   <a
1237          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteFilter">AWS
1238          * API Reference</a></p>
1239          *
1240          * returns a future to the operation so that it can be executed in parallel to other requests.
1241          */
1242         virtual Model::DeleteFilterOutcomeCallable DeleteFilterCallable(const Model::DeleteFilterRequest& request) const;
1243 
1244         /**
1245          * <p>Deletes a filter.</p><p><h3>See Also:</h3>   <a
1246          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteFilter">AWS
1247          * API Reference</a></p>
1248          *
1249          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1250          */
1251         virtual void DeleteFilterAsync(const Model::DeleteFilterRequest& request, const DeleteFilterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1252 
1253         /**
1254          * <p>Deletes a schema. Before deleting a schema, you must delete all datasets
1255          * referencing the schema. For more information on schemas, see
1256          * <a>CreateSchema</a>.</p><p><h3>See Also:</h3>   <a
1257          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteSchema">AWS
1258          * API Reference</a></p>
1259          */
1260         virtual Model::DeleteSchemaOutcome DeleteSchema(const Model::DeleteSchemaRequest& request) const;
1261 
1262         /**
1263          * <p>Deletes a schema. Before deleting a schema, you must delete all datasets
1264          * referencing the schema. For more information on schemas, see
1265          * <a>CreateSchema</a>.</p><p><h3>See Also:</h3>   <a
1266          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteSchema">AWS
1267          * API Reference</a></p>
1268          *
1269          * returns a future to the operation so that it can be executed in parallel to other requests.
1270          */
1271         virtual Model::DeleteSchemaOutcomeCallable DeleteSchemaCallable(const Model::DeleteSchemaRequest& request) const;
1272 
1273         /**
1274          * <p>Deletes a schema. Before deleting a schema, you must delete all datasets
1275          * referencing the schema. For more information on schemas, see
1276          * <a>CreateSchema</a>.</p><p><h3>See Also:</h3>   <a
1277          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteSchema">AWS
1278          * API Reference</a></p>
1279          *
1280          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1281          */
1282         virtual void DeleteSchemaAsync(const Model::DeleteSchemaRequest& request, const DeleteSchemaResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1283 
1284         /**
1285          * <p>Deletes all versions of a solution and the <code>Solution</code> object
1286          * itself. Before deleting a solution, you must delete all campaigns based on the
1287          * solution. To determine what campaigns are using the solution, call
1288          * <a>ListCampaigns</a> and supply the Amazon Resource Name (ARN) of the solution.
1289          * You can't delete a solution if an associated <code>SolutionVersion</code> is in
1290          * the CREATE PENDING or IN PROGRESS state. For more information on solutions, see
1291          * <a>CreateSolution</a>.</p><p><h3>See Also:</h3>   <a
1292          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteSolution">AWS
1293          * API Reference</a></p>
1294          */
1295         virtual Model::DeleteSolutionOutcome DeleteSolution(const Model::DeleteSolutionRequest& request) const;
1296 
1297         /**
1298          * <p>Deletes all versions of a solution and the <code>Solution</code> object
1299          * itself. Before deleting a solution, you must delete all campaigns based on the
1300          * solution. To determine what campaigns are using the solution, call
1301          * <a>ListCampaigns</a> and supply the Amazon Resource Name (ARN) of the solution.
1302          * You can't delete a solution if an associated <code>SolutionVersion</code> is in
1303          * the CREATE PENDING or IN PROGRESS state. For more information on solutions, see
1304          * <a>CreateSolution</a>.</p><p><h3>See Also:</h3>   <a
1305          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteSolution">AWS
1306          * API Reference</a></p>
1307          *
1308          * returns a future to the operation so that it can be executed in parallel to other requests.
1309          */
1310         virtual Model::DeleteSolutionOutcomeCallable DeleteSolutionCallable(const Model::DeleteSolutionRequest& request) const;
1311 
1312         /**
1313          * <p>Deletes all versions of a solution and the <code>Solution</code> object
1314          * itself. Before deleting a solution, you must delete all campaigns based on the
1315          * solution. To determine what campaigns are using the solution, call
1316          * <a>ListCampaigns</a> and supply the Amazon Resource Name (ARN) of the solution.
1317          * You can't delete a solution if an associated <code>SolutionVersion</code> is in
1318          * the CREATE PENDING or IN PROGRESS state. For more information on solutions, see
1319          * <a>CreateSolution</a>.</p><p><h3>See Also:</h3>   <a
1320          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteSolution">AWS
1321          * API Reference</a></p>
1322          *
1323          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1324          */
1325         virtual void DeleteSolutionAsync(const Model::DeleteSolutionRequest& request, const DeleteSolutionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1326 
1327         /**
1328          * <p>Describes the given algorithm.</p><p><h3>See Also:</h3>   <a
1329          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeAlgorithm">AWS
1330          * API Reference</a></p>
1331          */
1332         virtual Model::DescribeAlgorithmOutcome DescribeAlgorithm(const Model::DescribeAlgorithmRequest& request) const;
1333 
1334         /**
1335          * <p>Describes the given algorithm.</p><p><h3>See Also:</h3>   <a
1336          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeAlgorithm">AWS
1337          * API Reference</a></p>
1338          *
1339          * returns a future to the operation so that it can be executed in parallel to other requests.
1340          */
1341         virtual Model::DescribeAlgorithmOutcomeCallable DescribeAlgorithmCallable(const Model::DescribeAlgorithmRequest& request) const;
1342 
1343         /**
1344          * <p>Describes the given algorithm.</p><p><h3>See Also:</h3>   <a
1345          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeAlgorithm">AWS
1346          * API Reference</a></p>
1347          *
1348          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1349          */
1350         virtual void DescribeAlgorithmAsync(const Model::DescribeAlgorithmRequest& request, const DescribeAlgorithmResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1351 
1352         /**
1353          * <p>Gets the properties of a batch inference job including name, Amazon Resource
1354          * Name (ARN), status, input and output configurations, and the ARN of the solution
1355          * version used to generate the recommendations.</p><p><h3>See Also:</h3>   <a
1356          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeBatchInferenceJob">AWS
1357          * API Reference</a></p>
1358          */
1359         virtual Model::DescribeBatchInferenceJobOutcome DescribeBatchInferenceJob(const Model::DescribeBatchInferenceJobRequest& request) const;
1360 
1361         /**
1362          * <p>Gets the properties of a batch inference job including name, Amazon Resource
1363          * Name (ARN), status, input and output configurations, and the ARN of the solution
1364          * version used to generate the recommendations.</p><p><h3>See Also:</h3>   <a
1365          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeBatchInferenceJob">AWS
1366          * API Reference</a></p>
1367          *
1368          * returns a future to the operation so that it can be executed in parallel to other requests.
1369          */
1370         virtual Model::DescribeBatchInferenceJobOutcomeCallable DescribeBatchInferenceJobCallable(const Model::DescribeBatchInferenceJobRequest& request) const;
1371 
1372         /**
1373          * <p>Gets the properties of a batch inference job including name, Amazon Resource
1374          * Name (ARN), status, input and output configurations, and the ARN of the solution
1375          * version used to generate the recommendations.</p><p><h3>See Also:</h3>   <a
1376          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeBatchInferenceJob">AWS
1377          * API Reference</a></p>
1378          *
1379          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1380          */
1381         virtual void DescribeBatchInferenceJobAsync(const Model::DescribeBatchInferenceJobRequest& request, const DescribeBatchInferenceJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1382 
1383         /**
1384          * <p>Describes the given campaign, including its status.</p> <p>A campaign can be
1385          * in one of the following states:</p> <ul> <li> <p>CREATE PENDING &gt; CREATE
1386          * IN_PROGRESS &gt; ACTIVE -or- CREATE FAILED</p> </li> <li> <p>DELETE PENDING &gt;
1387          * DELETE IN_PROGRESS</p> </li> </ul> <p>When the <code>status</code> is
1388          * <code>CREATE FAILED</code>, the response includes the <code>failureReason</code>
1389          * key, which describes why.</p> <p>For more information on campaigns, see
1390          * <a>CreateCampaign</a>.</p><p><h3>See Also:</h3>   <a
1391          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeCampaign">AWS
1392          * API Reference</a></p>
1393          */
1394         virtual Model::DescribeCampaignOutcome DescribeCampaign(const Model::DescribeCampaignRequest& request) const;
1395 
1396         /**
1397          * <p>Describes the given campaign, including its status.</p> <p>A campaign can be
1398          * in one of the following states:</p> <ul> <li> <p>CREATE PENDING &gt; CREATE
1399          * IN_PROGRESS &gt; ACTIVE -or- CREATE FAILED</p> </li> <li> <p>DELETE PENDING &gt;
1400          * DELETE IN_PROGRESS</p> </li> </ul> <p>When the <code>status</code> is
1401          * <code>CREATE FAILED</code>, the response includes the <code>failureReason</code>
1402          * key, which describes why.</p> <p>For more information on campaigns, see
1403          * <a>CreateCampaign</a>.</p><p><h3>See Also:</h3>   <a
1404          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeCampaign">AWS
1405          * API Reference</a></p>
1406          *
1407          * returns a future to the operation so that it can be executed in parallel to other requests.
1408          */
1409         virtual Model::DescribeCampaignOutcomeCallable DescribeCampaignCallable(const Model::DescribeCampaignRequest& request) const;
1410 
1411         /**
1412          * <p>Describes the given campaign, including its status.</p> <p>A campaign can be
1413          * in one of the following states:</p> <ul> <li> <p>CREATE PENDING &gt; CREATE
1414          * IN_PROGRESS &gt; ACTIVE -or- CREATE FAILED</p> </li> <li> <p>DELETE PENDING &gt;
1415          * DELETE IN_PROGRESS</p> </li> </ul> <p>When the <code>status</code> is
1416          * <code>CREATE FAILED</code>, the response includes the <code>failureReason</code>
1417          * key, which describes why.</p> <p>For more information on campaigns, see
1418          * <a>CreateCampaign</a>.</p><p><h3>See Also:</h3>   <a
1419          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeCampaign">AWS
1420          * API Reference</a></p>
1421          *
1422          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1423          */
1424         virtual void DescribeCampaignAsync(const Model::DescribeCampaignRequest& request, const DescribeCampaignResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1425 
1426         /**
1427          * <p>Describes the given dataset. For more information on datasets, see
1428          * <a>CreateDataset</a>.</p><p><h3>See Also:</h3>   <a
1429          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDataset">AWS
1430          * API Reference</a></p>
1431          */
1432         virtual Model::DescribeDatasetOutcome DescribeDataset(const Model::DescribeDatasetRequest& request) const;
1433 
1434         /**
1435          * <p>Describes the given dataset. For more information on datasets, see
1436          * <a>CreateDataset</a>.</p><p><h3>See Also:</h3>   <a
1437          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDataset">AWS
1438          * API Reference</a></p>
1439          *
1440          * returns a future to the operation so that it can be executed in parallel to other requests.
1441          */
1442         virtual Model::DescribeDatasetOutcomeCallable DescribeDatasetCallable(const Model::DescribeDatasetRequest& request) const;
1443 
1444         /**
1445          * <p>Describes the given dataset. For more information on datasets, see
1446          * <a>CreateDataset</a>.</p><p><h3>See Also:</h3>   <a
1447          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDataset">AWS
1448          * API Reference</a></p>
1449          *
1450          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1451          */
1452         virtual void DescribeDatasetAsync(const Model::DescribeDatasetRequest& request, const DescribeDatasetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1453 
1454         /**
1455          * <p>Describes the dataset export job created by <a>CreateDatasetExportJob</a>,
1456          * including the export job status.</p><p><h3>See Also:</h3>   <a
1457          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetExportJob">AWS
1458          * API Reference</a></p>
1459          */
1460         virtual Model::DescribeDatasetExportJobOutcome DescribeDatasetExportJob(const Model::DescribeDatasetExportJobRequest& request) const;
1461 
1462         /**
1463          * <p>Describes the dataset export job created by <a>CreateDatasetExportJob</a>,
1464          * including the export job status.</p><p><h3>See Also:</h3>   <a
1465          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetExportJob">AWS
1466          * API Reference</a></p>
1467          *
1468          * returns a future to the operation so that it can be executed in parallel to other requests.
1469          */
1470         virtual Model::DescribeDatasetExportJobOutcomeCallable DescribeDatasetExportJobCallable(const Model::DescribeDatasetExportJobRequest& request) const;
1471 
1472         /**
1473          * <p>Describes the dataset export job created by <a>CreateDatasetExportJob</a>,
1474          * including the export job status.</p><p><h3>See Also:</h3>   <a
1475          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetExportJob">AWS
1476          * API Reference</a></p>
1477          *
1478          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1479          */
1480         virtual void DescribeDatasetExportJobAsync(const Model::DescribeDatasetExportJobRequest& request, const DescribeDatasetExportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1481 
1482         /**
1483          * <p>Describes the given dataset group. For more information on dataset groups,
1484          * see <a>CreateDatasetGroup</a>.</p><p><h3>See Also:</h3>   <a
1485          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetGroup">AWS
1486          * API Reference</a></p>
1487          */
1488         virtual Model::DescribeDatasetGroupOutcome DescribeDatasetGroup(const Model::DescribeDatasetGroupRequest& request) const;
1489 
1490         /**
1491          * <p>Describes the given dataset group. For more information on dataset groups,
1492          * see <a>CreateDatasetGroup</a>.</p><p><h3>See Also:</h3>   <a
1493          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetGroup">AWS
1494          * API Reference</a></p>
1495          *
1496          * returns a future to the operation so that it can be executed in parallel to other requests.
1497          */
1498         virtual Model::DescribeDatasetGroupOutcomeCallable DescribeDatasetGroupCallable(const Model::DescribeDatasetGroupRequest& request) const;
1499 
1500         /**
1501          * <p>Describes the given dataset group. For more information on dataset groups,
1502          * see <a>CreateDatasetGroup</a>.</p><p><h3>See Also:</h3>   <a
1503          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetGroup">AWS
1504          * API Reference</a></p>
1505          *
1506          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1507          */
1508         virtual void DescribeDatasetGroupAsync(const Model::DescribeDatasetGroupRequest& request, const DescribeDatasetGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1509 
1510         /**
1511          * <p>Describes the dataset import job created by <a>CreateDatasetImportJob</a>,
1512          * including the import job status.</p><p><h3>See Also:</h3>   <a
1513          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetImportJob">AWS
1514          * API Reference</a></p>
1515          */
1516         virtual Model::DescribeDatasetImportJobOutcome DescribeDatasetImportJob(const Model::DescribeDatasetImportJobRequest& request) const;
1517 
1518         /**
1519          * <p>Describes the dataset import job created by <a>CreateDatasetImportJob</a>,
1520          * including the import job status.</p><p><h3>See Also:</h3>   <a
1521          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetImportJob">AWS
1522          * API Reference</a></p>
1523          *
1524          * returns a future to the operation so that it can be executed in parallel to other requests.
1525          */
1526         virtual Model::DescribeDatasetImportJobOutcomeCallable DescribeDatasetImportJobCallable(const Model::DescribeDatasetImportJobRequest& request) const;
1527 
1528         /**
1529          * <p>Describes the dataset import job created by <a>CreateDatasetImportJob</a>,
1530          * including the import job status.</p><p><h3>See Also:</h3>   <a
1531          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDatasetImportJob">AWS
1532          * API Reference</a></p>
1533          *
1534          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1535          */
1536         virtual void DescribeDatasetImportJobAsync(const Model::DescribeDatasetImportJobRequest& request, const DescribeDatasetImportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1537 
1538         /**
1539          * <p>Describes an event tracker. The response includes the <code>trackingId</code>
1540          * and <code>status</code> of the event tracker. For more information on event
1541          * trackers, see <a>CreateEventTracker</a>.</p><p><h3>See Also:</h3>   <a
1542          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeEventTracker">AWS
1543          * API Reference</a></p>
1544          */
1545         virtual Model::DescribeEventTrackerOutcome DescribeEventTracker(const Model::DescribeEventTrackerRequest& request) const;
1546 
1547         /**
1548          * <p>Describes an event tracker. The response includes the <code>trackingId</code>
1549          * and <code>status</code> of the event tracker. For more information on event
1550          * trackers, see <a>CreateEventTracker</a>.</p><p><h3>See Also:</h3>   <a
1551          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeEventTracker">AWS
1552          * API Reference</a></p>
1553          *
1554          * returns a future to the operation so that it can be executed in parallel to other requests.
1555          */
1556         virtual Model::DescribeEventTrackerOutcomeCallable DescribeEventTrackerCallable(const Model::DescribeEventTrackerRequest& request) const;
1557 
1558         /**
1559          * <p>Describes an event tracker. The response includes the <code>trackingId</code>
1560          * and <code>status</code> of the event tracker. For more information on event
1561          * trackers, see <a>CreateEventTracker</a>.</p><p><h3>See Also:</h3>   <a
1562          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeEventTracker">AWS
1563          * API Reference</a></p>
1564          *
1565          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1566          */
1567         virtual void DescribeEventTrackerAsync(const Model::DescribeEventTrackerRequest& request, const DescribeEventTrackerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1568 
1569         /**
1570          * <p>Describes the given feature transformation.</p><p><h3>See Also:</h3>   <a
1571          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeFeatureTransformation">AWS
1572          * API Reference</a></p>
1573          */
1574         virtual Model::DescribeFeatureTransformationOutcome DescribeFeatureTransformation(const Model::DescribeFeatureTransformationRequest& request) const;
1575 
1576         /**
1577          * <p>Describes the given feature transformation.</p><p><h3>See Also:</h3>   <a
1578          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeFeatureTransformation">AWS
1579          * API Reference</a></p>
1580          *
1581          * returns a future to the operation so that it can be executed in parallel to other requests.
1582          */
1583         virtual Model::DescribeFeatureTransformationOutcomeCallable DescribeFeatureTransformationCallable(const Model::DescribeFeatureTransformationRequest& request) const;
1584 
1585         /**
1586          * <p>Describes the given feature transformation.</p><p><h3>See Also:</h3>   <a
1587          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeFeatureTransformation">AWS
1588          * API Reference</a></p>
1589          *
1590          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1591          */
1592         virtual void DescribeFeatureTransformationAsync(const Model::DescribeFeatureTransformationRequest& request, const DescribeFeatureTransformationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1593 
1594         /**
1595          * <p>Describes a filter's properties.</p><p><h3>See Also:</h3>   <a
1596          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeFilter">AWS
1597          * API Reference</a></p>
1598          */
1599         virtual Model::DescribeFilterOutcome DescribeFilter(const Model::DescribeFilterRequest& request) const;
1600 
1601         /**
1602          * <p>Describes a filter's properties.</p><p><h3>See Also:</h3>   <a
1603          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeFilter">AWS
1604          * API Reference</a></p>
1605          *
1606          * returns a future to the operation so that it can be executed in parallel to other requests.
1607          */
1608         virtual Model::DescribeFilterOutcomeCallable DescribeFilterCallable(const Model::DescribeFilterRequest& request) const;
1609 
1610         /**
1611          * <p>Describes a filter's properties.</p><p><h3>See Also:</h3>   <a
1612          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeFilter">AWS
1613          * API Reference</a></p>
1614          *
1615          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1616          */
1617         virtual void DescribeFilterAsync(const Model::DescribeFilterRequest& request, const DescribeFilterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1618 
1619         /**
1620          * <p>Describes a recipe.</p> <p>A recipe contains three items:</p> <ul> <li> <p>An
1621          * algorithm that trains a model.</p> </li> <li> <p>Hyperparameters that govern the
1622          * training.</p> </li> <li> <p>Feature transformation information for modifying the
1623          * input data before training.</p> </li> </ul> <p>Amazon Personalize provides a set
1624          * of predefined recipes. You specify a recipe when you create a solution with the
1625          * <a>CreateSolution</a> API. <code>CreateSolution</code> trains a model by using
1626          * the algorithm in the specified recipe and a training dataset. The solution, when
1627          * deployed as a campaign, can provide recommendations using the <a
1628          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html">GetRecommendations</a>
1629          * API.</p><p><h3>See Also:</h3>   <a
1630          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeRecipe">AWS
1631          * API Reference</a></p>
1632          */
1633         virtual Model::DescribeRecipeOutcome DescribeRecipe(const Model::DescribeRecipeRequest& request) const;
1634 
1635         /**
1636          * <p>Describes a recipe.</p> <p>A recipe contains three items:</p> <ul> <li> <p>An
1637          * algorithm that trains a model.</p> </li> <li> <p>Hyperparameters that govern the
1638          * training.</p> </li> <li> <p>Feature transformation information for modifying the
1639          * input data before training.</p> </li> </ul> <p>Amazon Personalize provides a set
1640          * of predefined recipes. You specify a recipe when you create a solution with the
1641          * <a>CreateSolution</a> API. <code>CreateSolution</code> trains a model by using
1642          * the algorithm in the specified recipe and a training dataset. The solution, when
1643          * deployed as a campaign, can provide recommendations using the <a
1644          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html">GetRecommendations</a>
1645          * API.</p><p><h3>See Also:</h3>   <a
1646          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeRecipe">AWS
1647          * API Reference</a></p>
1648          *
1649          * returns a future to the operation so that it can be executed in parallel to other requests.
1650          */
1651         virtual Model::DescribeRecipeOutcomeCallable DescribeRecipeCallable(const Model::DescribeRecipeRequest& request) const;
1652 
1653         /**
1654          * <p>Describes a recipe.</p> <p>A recipe contains three items:</p> <ul> <li> <p>An
1655          * algorithm that trains a model.</p> </li> <li> <p>Hyperparameters that govern the
1656          * training.</p> </li> <li> <p>Feature transformation information for modifying the
1657          * input data before training.</p> </li> </ul> <p>Amazon Personalize provides a set
1658          * of predefined recipes. You specify a recipe when you create a solution with the
1659          * <a>CreateSolution</a> API. <code>CreateSolution</code> trains a model by using
1660          * the algorithm in the specified recipe and a training dataset. The solution, when
1661          * deployed as a campaign, can provide recommendations using the <a
1662          * href="https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html">GetRecommendations</a>
1663          * API.</p><p><h3>See Also:</h3>   <a
1664          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeRecipe">AWS
1665          * API Reference</a></p>
1666          *
1667          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1668          */
1669         virtual void DescribeRecipeAsync(const Model::DescribeRecipeRequest& request, const DescribeRecipeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1670 
1671         /**
1672          * <p>Describes a schema. For more information on schemas, see
1673          * <a>CreateSchema</a>.</p><p><h3>See Also:</h3>   <a
1674          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSchema">AWS
1675          * API Reference</a></p>
1676          */
1677         virtual Model::DescribeSchemaOutcome DescribeSchema(const Model::DescribeSchemaRequest& request) const;
1678 
1679         /**
1680          * <p>Describes a schema. For more information on schemas, see
1681          * <a>CreateSchema</a>.</p><p><h3>See Also:</h3>   <a
1682          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSchema">AWS
1683          * API Reference</a></p>
1684          *
1685          * returns a future to the operation so that it can be executed in parallel to other requests.
1686          */
1687         virtual Model::DescribeSchemaOutcomeCallable DescribeSchemaCallable(const Model::DescribeSchemaRequest& request) const;
1688 
1689         /**
1690          * <p>Describes a schema. For more information on schemas, see
1691          * <a>CreateSchema</a>.</p><p><h3>See Also:</h3>   <a
1692          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSchema">AWS
1693          * API Reference</a></p>
1694          *
1695          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1696          */
1697         virtual void DescribeSchemaAsync(const Model::DescribeSchemaRequest& request, const DescribeSchemaResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1698 
1699         /**
1700          * <p>Describes a solution. For more information on solutions, see
1701          * <a>CreateSolution</a>.</p><p><h3>See Also:</h3>   <a
1702          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSolution">AWS
1703          * API Reference</a></p>
1704          */
1705         virtual Model::DescribeSolutionOutcome DescribeSolution(const Model::DescribeSolutionRequest& request) const;
1706 
1707         /**
1708          * <p>Describes a solution. For more information on solutions, see
1709          * <a>CreateSolution</a>.</p><p><h3>See Also:</h3>   <a
1710          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSolution">AWS
1711          * API Reference</a></p>
1712          *
1713          * returns a future to the operation so that it can be executed in parallel to other requests.
1714          */
1715         virtual Model::DescribeSolutionOutcomeCallable DescribeSolutionCallable(const Model::DescribeSolutionRequest& request) const;
1716 
1717         /**
1718          * <p>Describes a solution. For more information on solutions, see
1719          * <a>CreateSolution</a>.</p><p><h3>See Also:</h3>   <a
1720          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSolution">AWS
1721          * API Reference</a></p>
1722          *
1723          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1724          */
1725         virtual void DescribeSolutionAsync(const Model::DescribeSolutionRequest& request, const DescribeSolutionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1726 
1727         /**
1728          * <p>Describes a specific version of a solution. For more information on
1729          * solutions, see <a>CreateSolution</a>.</p><p><h3>See Also:</h3>   <a
1730          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSolutionVersion">AWS
1731          * API Reference</a></p>
1732          */
1733         virtual Model::DescribeSolutionVersionOutcome DescribeSolutionVersion(const Model::DescribeSolutionVersionRequest& request) const;
1734 
1735         /**
1736          * <p>Describes a specific version of a solution. For more information on
1737          * solutions, see <a>CreateSolution</a>.</p><p><h3>See Also:</h3>   <a
1738          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSolutionVersion">AWS
1739          * API Reference</a></p>
1740          *
1741          * returns a future to the operation so that it can be executed in parallel to other requests.
1742          */
1743         virtual Model::DescribeSolutionVersionOutcomeCallable DescribeSolutionVersionCallable(const Model::DescribeSolutionVersionRequest& request) const;
1744 
1745         /**
1746          * <p>Describes a specific version of a solution. For more information on
1747          * solutions, see <a>CreateSolution</a>.</p><p><h3>See Also:</h3>   <a
1748          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeSolutionVersion">AWS
1749          * API Reference</a></p>
1750          *
1751          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1752          */
1753         virtual void DescribeSolutionVersionAsync(const Model::DescribeSolutionVersionRequest& request, const DescribeSolutionVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1754 
1755         /**
1756          * <p>Gets the metrics for the specified solution version.</p><p><h3>See Also:</h3>
1757          * <a
1758          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/GetSolutionMetrics">AWS
1759          * API Reference</a></p>
1760          */
1761         virtual Model::GetSolutionMetricsOutcome GetSolutionMetrics(const Model::GetSolutionMetricsRequest& request) const;
1762 
1763         /**
1764          * <p>Gets the metrics for the specified solution version.</p><p><h3>See Also:</h3>
1765          * <a
1766          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/GetSolutionMetrics">AWS
1767          * API Reference</a></p>
1768          *
1769          * returns a future to the operation so that it can be executed in parallel to other requests.
1770          */
1771         virtual Model::GetSolutionMetricsOutcomeCallable GetSolutionMetricsCallable(const Model::GetSolutionMetricsRequest& request) const;
1772 
1773         /**
1774          * <p>Gets the metrics for the specified solution version.</p><p><h3>See Also:</h3>
1775          * <a
1776          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/GetSolutionMetrics">AWS
1777          * API Reference</a></p>
1778          *
1779          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1780          */
1781         virtual void GetSolutionMetricsAsync(const Model::GetSolutionMetricsRequest& request, const GetSolutionMetricsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1782 
1783         /**
1784          * <p>Gets a list of the batch inference jobs that have been performed off of a
1785          * solution version.</p><p><h3>See Also:</h3>   <a
1786          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListBatchInferenceJobs">AWS
1787          * API Reference</a></p>
1788          */
1789         virtual Model::ListBatchInferenceJobsOutcome ListBatchInferenceJobs(const Model::ListBatchInferenceJobsRequest& request) const;
1790 
1791         /**
1792          * <p>Gets a list of the batch inference jobs that have been performed off of a
1793          * solution version.</p><p><h3>See Also:</h3>   <a
1794          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListBatchInferenceJobs">AWS
1795          * API Reference</a></p>
1796          *
1797          * returns a future to the operation so that it can be executed in parallel to other requests.
1798          */
1799         virtual Model::ListBatchInferenceJobsOutcomeCallable ListBatchInferenceJobsCallable(const Model::ListBatchInferenceJobsRequest& request) const;
1800 
1801         /**
1802          * <p>Gets a list of the batch inference jobs that have been performed off of a
1803          * solution version.</p><p><h3>See Also:</h3>   <a
1804          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListBatchInferenceJobs">AWS
1805          * API Reference</a></p>
1806          *
1807          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1808          */
1809         virtual void ListBatchInferenceJobsAsync(const Model::ListBatchInferenceJobsRequest& request, const ListBatchInferenceJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1810 
1811         /**
1812          * <p>Returns a list of campaigns that use the given solution. When a solution is
1813          * not specified, all the campaigns associated with the account are listed. The
1814          * response provides the properties for each campaign, including the Amazon
1815          * Resource Name (ARN). For more information on campaigns, see
1816          * <a>CreateCampaign</a>.</p><p><h3>See Also:</h3>   <a
1817          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListCampaigns">AWS
1818          * API Reference</a></p>
1819          */
1820         virtual Model::ListCampaignsOutcome ListCampaigns(const Model::ListCampaignsRequest& request) const;
1821 
1822         /**
1823          * <p>Returns a list of campaigns that use the given solution. When a solution is
1824          * not specified, all the campaigns associated with the account are listed. The
1825          * response provides the properties for each campaign, including the Amazon
1826          * Resource Name (ARN). For more information on campaigns, see
1827          * <a>CreateCampaign</a>.</p><p><h3>See Also:</h3>   <a
1828          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListCampaigns">AWS
1829          * API Reference</a></p>
1830          *
1831          * returns a future to the operation so that it can be executed in parallel to other requests.
1832          */
1833         virtual Model::ListCampaignsOutcomeCallable ListCampaignsCallable(const Model::ListCampaignsRequest& request) const;
1834 
1835         /**
1836          * <p>Returns a list of campaigns that use the given solution. When a solution is
1837          * not specified, all the campaigns associated with the account are listed. The
1838          * response provides the properties for each campaign, including the Amazon
1839          * Resource Name (ARN). For more information on campaigns, see
1840          * <a>CreateCampaign</a>.</p><p><h3>See Also:</h3>   <a
1841          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListCampaigns">AWS
1842          * API Reference</a></p>
1843          *
1844          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1845          */
1846         virtual void ListCampaignsAsync(const Model::ListCampaignsRequest& request, const ListCampaignsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1847 
1848         /**
1849          * <p>Returns a list of dataset export jobs that use the given dataset. When a
1850          * dataset is not specified, all the dataset export jobs associated with the
1851          * account are listed. The response provides the properties for each dataset export
1852          * job, including the Amazon Resource Name (ARN). For more information on dataset
1853          * export jobs, see <a>CreateDatasetExportJob</a>. For more information on
1854          * datasets, see <a>CreateDataset</a>.</p><p><h3>See Also:</h3>   <a
1855          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetExportJobs">AWS
1856          * API Reference</a></p>
1857          */
1858         virtual Model::ListDatasetExportJobsOutcome ListDatasetExportJobs(const Model::ListDatasetExportJobsRequest& request) const;
1859 
1860         /**
1861          * <p>Returns a list of dataset export jobs that use the given dataset. When a
1862          * dataset is not specified, all the dataset export jobs associated with the
1863          * account are listed. The response provides the properties for each dataset export
1864          * job, including the Amazon Resource Name (ARN). For more information on dataset
1865          * export jobs, see <a>CreateDatasetExportJob</a>. For more information on
1866          * datasets, see <a>CreateDataset</a>.</p><p><h3>See Also:</h3>   <a
1867          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetExportJobs">AWS
1868          * API Reference</a></p>
1869          *
1870          * returns a future to the operation so that it can be executed in parallel to other requests.
1871          */
1872         virtual Model::ListDatasetExportJobsOutcomeCallable ListDatasetExportJobsCallable(const Model::ListDatasetExportJobsRequest& request) const;
1873 
1874         /**
1875          * <p>Returns a list of dataset export jobs that use the given dataset. When a
1876          * dataset is not specified, all the dataset export jobs associated with the
1877          * account are listed. The response provides the properties for each dataset export
1878          * job, including the Amazon Resource Name (ARN). For more information on dataset
1879          * export jobs, see <a>CreateDatasetExportJob</a>. For more information on
1880          * datasets, see <a>CreateDataset</a>.</p><p><h3>See Also:</h3>   <a
1881          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetExportJobs">AWS
1882          * API Reference</a></p>
1883          *
1884          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1885          */
1886         virtual void ListDatasetExportJobsAsync(const Model::ListDatasetExportJobsRequest& request, const ListDatasetExportJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1887 
1888         /**
1889          * <p>Returns a list of dataset groups. The response provides the properties for
1890          * each dataset group, including the Amazon Resource Name (ARN). For more
1891          * information on dataset groups, see <a>CreateDatasetGroup</a>.</p><p><h3>See
1892          * Also:</h3>   <a
1893          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetGroups">AWS
1894          * API Reference</a></p>
1895          */
1896         virtual Model::ListDatasetGroupsOutcome ListDatasetGroups(const Model::ListDatasetGroupsRequest& request) const;
1897 
1898         /**
1899          * <p>Returns a list of dataset groups. The response provides the properties for
1900          * each dataset group, including the Amazon Resource Name (ARN). For more
1901          * information on dataset groups, see <a>CreateDatasetGroup</a>.</p><p><h3>See
1902          * Also:</h3>   <a
1903          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetGroups">AWS
1904          * API Reference</a></p>
1905          *
1906          * returns a future to the operation so that it can be executed in parallel to other requests.
1907          */
1908         virtual Model::ListDatasetGroupsOutcomeCallable ListDatasetGroupsCallable(const Model::ListDatasetGroupsRequest& request) const;
1909 
1910         /**
1911          * <p>Returns a list of dataset groups. The response provides the properties for
1912          * each dataset group, including the Amazon Resource Name (ARN). For more
1913          * information on dataset groups, see <a>CreateDatasetGroup</a>.</p><p><h3>See
1914          * Also:</h3>   <a
1915          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetGroups">AWS
1916          * API Reference</a></p>
1917          *
1918          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1919          */
1920         virtual void ListDatasetGroupsAsync(const Model::ListDatasetGroupsRequest& request, const ListDatasetGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1921 
1922         /**
1923          * <p>Returns a list of dataset import jobs that use the given dataset. When a
1924          * dataset is not specified, all the dataset import jobs associated with the
1925          * account are listed. The response provides the properties for each dataset import
1926          * job, including the Amazon Resource Name (ARN). For more information on dataset
1927          * import jobs, see <a>CreateDatasetImportJob</a>. For more information on
1928          * datasets, see <a>CreateDataset</a>.</p><p><h3>See Also:</h3>   <a
1929          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetImportJobs">AWS
1930          * API Reference</a></p>
1931          */
1932         virtual Model::ListDatasetImportJobsOutcome ListDatasetImportJobs(const Model::ListDatasetImportJobsRequest& request) const;
1933 
1934         /**
1935          * <p>Returns a list of dataset import jobs that use the given dataset. When a
1936          * dataset is not specified, all the dataset import jobs associated with the
1937          * account are listed. The response provides the properties for each dataset import
1938          * job, including the Amazon Resource Name (ARN). For more information on dataset
1939          * import jobs, see <a>CreateDatasetImportJob</a>. For more information on
1940          * datasets, see <a>CreateDataset</a>.</p><p><h3>See Also:</h3>   <a
1941          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetImportJobs">AWS
1942          * API Reference</a></p>
1943          *
1944          * returns a future to the operation so that it can be executed in parallel to other requests.
1945          */
1946         virtual Model::ListDatasetImportJobsOutcomeCallable ListDatasetImportJobsCallable(const Model::ListDatasetImportJobsRequest& request) const;
1947 
1948         /**
1949          * <p>Returns a list of dataset import jobs that use the given dataset. When a
1950          * dataset is not specified, all the dataset import jobs associated with the
1951          * account are listed. The response provides the properties for each dataset import
1952          * job, including the Amazon Resource Name (ARN). For more information on dataset
1953          * import jobs, see <a>CreateDatasetImportJob</a>. For more information on
1954          * datasets, see <a>CreateDataset</a>.</p><p><h3>See Also:</h3>   <a
1955          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasetImportJobs">AWS
1956          * API Reference</a></p>
1957          *
1958          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1959          */
1960         virtual void ListDatasetImportJobsAsync(const Model::ListDatasetImportJobsRequest& request, const ListDatasetImportJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1961 
1962         /**
1963          * <p>Returns the list of datasets contained in the given dataset group. The
1964          * response provides the properties for each dataset, including the Amazon Resource
1965          * Name (ARN). For more information on datasets, see
1966          * <a>CreateDataset</a>.</p><p><h3>See Also:</h3>   <a
1967          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasets">AWS
1968          * API Reference</a></p>
1969          */
1970         virtual Model::ListDatasetsOutcome ListDatasets(const Model::ListDatasetsRequest& request) const;
1971 
1972         /**
1973          * <p>Returns the list of datasets contained in the given dataset group. The
1974          * response provides the properties for each dataset, including the Amazon Resource
1975          * Name (ARN). For more information on datasets, see
1976          * <a>CreateDataset</a>.</p><p><h3>See Also:</h3>   <a
1977          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasets">AWS
1978          * API Reference</a></p>
1979          *
1980          * returns a future to the operation so that it can be executed in parallel to other requests.
1981          */
1982         virtual Model::ListDatasetsOutcomeCallable ListDatasetsCallable(const Model::ListDatasetsRequest& request) const;
1983 
1984         /**
1985          * <p>Returns the list of datasets contained in the given dataset group. The
1986          * response provides the properties for each dataset, including the Amazon Resource
1987          * Name (ARN). For more information on datasets, see
1988          * <a>CreateDataset</a>.</p><p><h3>See Also:</h3>   <a
1989          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDatasets">AWS
1990          * API Reference</a></p>
1991          *
1992          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1993          */
1994         virtual void ListDatasetsAsync(const Model::ListDatasetsRequest& request, const ListDatasetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1995 
1996         /**
1997          * <p>Returns the list of event trackers associated with the account. The response
1998          * provides the properties for each event tracker, including the Amazon Resource
1999          * Name (ARN) and tracking ID. For more information on event trackers, see
2000          * <a>CreateEventTracker</a>.</p><p><h3>See Also:</h3>   <a
2001          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListEventTrackers">AWS
2002          * API Reference</a></p>
2003          */
2004         virtual Model::ListEventTrackersOutcome ListEventTrackers(const Model::ListEventTrackersRequest& request) const;
2005 
2006         /**
2007          * <p>Returns the list of event trackers associated with the account. The response
2008          * provides the properties for each event tracker, including the Amazon Resource
2009          * Name (ARN) and tracking ID. For more information on event trackers, see
2010          * <a>CreateEventTracker</a>.</p><p><h3>See Also:</h3>   <a
2011          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListEventTrackers">AWS
2012          * API Reference</a></p>
2013          *
2014          * returns a future to the operation so that it can be executed in parallel to other requests.
2015          */
2016         virtual Model::ListEventTrackersOutcomeCallable ListEventTrackersCallable(const Model::ListEventTrackersRequest& request) const;
2017 
2018         /**
2019          * <p>Returns the list of event trackers associated with the account. The response
2020          * provides the properties for each event tracker, including the Amazon Resource
2021          * Name (ARN) and tracking ID. For more information on event trackers, see
2022          * <a>CreateEventTracker</a>.</p><p><h3>See Also:</h3>   <a
2023          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListEventTrackers">AWS
2024          * API Reference</a></p>
2025          *
2026          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2027          */
2028         virtual void ListEventTrackersAsync(const Model::ListEventTrackersRequest& request, const ListEventTrackersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2029 
2030         /**
2031          * <p>Lists all filters that belong to a given dataset group.</p><p><h3>See
2032          * Also:</h3>   <a
2033          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListFilters">AWS
2034          * API Reference</a></p>
2035          */
2036         virtual Model::ListFiltersOutcome ListFilters(const Model::ListFiltersRequest& request) const;
2037 
2038         /**
2039          * <p>Lists all filters that belong to a given dataset group.</p><p><h3>See
2040          * Also:</h3>   <a
2041          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListFilters">AWS
2042          * API Reference</a></p>
2043          *
2044          * returns a future to the operation so that it can be executed in parallel to other requests.
2045          */
2046         virtual Model::ListFiltersOutcomeCallable ListFiltersCallable(const Model::ListFiltersRequest& request) const;
2047 
2048         /**
2049          * <p>Lists all filters that belong to a given dataset group.</p><p><h3>See
2050          * Also:</h3>   <a
2051          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListFilters">AWS
2052          * API Reference</a></p>
2053          *
2054          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2055          */
2056         virtual void ListFiltersAsync(const Model::ListFiltersRequest& request, const ListFiltersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2057 
2058         /**
2059          * <p>Returns a list of available recipes. The response provides the properties for
2060          * each recipe, including the recipe's Amazon Resource Name (ARN).</p><p><h3>See
2061          * Also:</h3>   <a
2062          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListRecipes">AWS
2063          * API Reference</a></p>
2064          */
2065         virtual Model::ListRecipesOutcome ListRecipes(const Model::ListRecipesRequest& request) const;
2066 
2067         /**
2068          * <p>Returns a list of available recipes. The response provides the properties for
2069          * each recipe, including the recipe's Amazon Resource Name (ARN).</p><p><h3>See
2070          * Also:</h3>   <a
2071          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListRecipes">AWS
2072          * API Reference</a></p>
2073          *
2074          * returns a future to the operation so that it can be executed in parallel to other requests.
2075          */
2076         virtual Model::ListRecipesOutcomeCallable ListRecipesCallable(const Model::ListRecipesRequest& request) const;
2077 
2078         /**
2079          * <p>Returns a list of available recipes. The response provides the properties for
2080          * each recipe, including the recipe's Amazon Resource Name (ARN).</p><p><h3>See
2081          * Also:</h3>   <a
2082          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListRecipes">AWS
2083          * API Reference</a></p>
2084          *
2085          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2086          */
2087         virtual void ListRecipesAsync(const Model::ListRecipesRequest& request, const ListRecipesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2088 
2089         /**
2090          * <p>Returns the list of schemas associated with the account. The response
2091          * provides the properties for each schema, including the Amazon Resource Name
2092          * (ARN). For more information on schemas, see <a>CreateSchema</a>.</p><p><h3>See
2093          * Also:</h3>   <a
2094          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSchemas">AWS
2095          * API Reference</a></p>
2096          */
2097         virtual Model::ListSchemasOutcome ListSchemas(const Model::ListSchemasRequest& request) const;
2098 
2099         /**
2100          * <p>Returns the list of schemas associated with the account. The response
2101          * provides the properties for each schema, including the Amazon Resource Name
2102          * (ARN). For more information on schemas, see <a>CreateSchema</a>.</p><p><h3>See
2103          * Also:</h3>   <a
2104          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSchemas">AWS
2105          * API Reference</a></p>
2106          *
2107          * returns a future to the operation so that it can be executed in parallel to other requests.
2108          */
2109         virtual Model::ListSchemasOutcomeCallable ListSchemasCallable(const Model::ListSchemasRequest& request) const;
2110 
2111         /**
2112          * <p>Returns the list of schemas associated with the account. The response
2113          * provides the properties for each schema, including the Amazon Resource Name
2114          * (ARN). For more information on schemas, see <a>CreateSchema</a>.</p><p><h3>See
2115          * Also:</h3>   <a
2116          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSchemas">AWS
2117          * API Reference</a></p>
2118          *
2119          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2120          */
2121         virtual void ListSchemasAsync(const Model::ListSchemasRequest& request, const ListSchemasResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2122 
2123         /**
2124          * <p>Returns a list of solution versions for the given solution. When a solution
2125          * is not specified, all the solution versions associated with the account are
2126          * listed. The response provides the properties for each solution version,
2127          * including the Amazon Resource Name (ARN). For more information on solutions, see
2128          * <a>CreateSolution</a>.</p><p><h3>See Also:</h3>   <a
2129          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSolutionVersions">AWS
2130          * API Reference</a></p>
2131          */
2132         virtual Model::ListSolutionVersionsOutcome ListSolutionVersions(const Model::ListSolutionVersionsRequest& request) const;
2133 
2134         /**
2135          * <p>Returns a list of solution versions for the given solution. When a solution
2136          * is not specified, all the solution versions associated with the account are
2137          * listed. The response provides the properties for each solution version,
2138          * including the Amazon Resource Name (ARN). For more information on solutions, see
2139          * <a>CreateSolution</a>.</p><p><h3>See Also:</h3>   <a
2140          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSolutionVersions">AWS
2141          * API Reference</a></p>
2142          *
2143          * returns a future to the operation so that it can be executed in parallel to other requests.
2144          */
2145         virtual Model::ListSolutionVersionsOutcomeCallable ListSolutionVersionsCallable(const Model::ListSolutionVersionsRequest& request) const;
2146 
2147         /**
2148          * <p>Returns a list of solution versions for the given solution. When a solution
2149          * is not specified, all the solution versions associated with the account are
2150          * listed. The response provides the properties for each solution version,
2151          * including the Amazon Resource Name (ARN). For more information on solutions, see
2152          * <a>CreateSolution</a>.</p><p><h3>See Also:</h3>   <a
2153          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSolutionVersions">AWS
2154          * API Reference</a></p>
2155          *
2156          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2157          */
2158         virtual void ListSolutionVersionsAsync(const Model::ListSolutionVersionsRequest& request, const ListSolutionVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2159 
2160         /**
2161          * <p>Returns a list of solutions that use the given dataset group. When a dataset
2162          * group is not specified, all the solutions associated with the account are
2163          * listed. The response provides the properties for each solution, including the
2164          * Amazon Resource Name (ARN). For more information on solutions, see
2165          * <a>CreateSolution</a>.</p><p><h3>See Also:</h3>   <a
2166          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSolutions">AWS
2167          * API Reference</a></p>
2168          */
2169         virtual Model::ListSolutionsOutcome ListSolutions(const Model::ListSolutionsRequest& request) const;
2170 
2171         /**
2172          * <p>Returns a list of solutions that use the given dataset group. When a dataset
2173          * group is not specified, all the solutions associated with the account are
2174          * listed. The response provides the properties for each solution, including the
2175          * Amazon Resource Name (ARN). For more information on solutions, see
2176          * <a>CreateSolution</a>.</p><p><h3>See Also:</h3>   <a
2177          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSolutions">AWS
2178          * API Reference</a></p>
2179          *
2180          * returns a future to the operation so that it can be executed in parallel to other requests.
2181          */
2182         virtual Model::ListSolutionsOutcomeCallable ListSolutionsCallable(const Model::ListSolutionsRequest& request) const;
2183 
2184         /**
2185          * <p>Returns a list of solutions that use the given dataset group. When a dataset
2186          * group is not specified, all the solutions associated with the account are
2187          * listed. The response provides the properties for each solution, including the
2188          * Amazon Resource Name (ARN). For more information on solutions, see
2189          * <a>CreateSolution</a>.</p><p><h3>See Also:</h3>   <a
2190          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListSolutions">AWS
2191          * API Reference</a></p>
2192          *
2193          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2194          */
2195         virtual void ListSolutionsAsync(const Model::ListSolutionsRequest& request, const ListSolutionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2196 
2197         /**
2198          * <p>Stops creating a solution version that is in a state of CREATE_PENDING or
2199          * CREATE IN_PROGRESS. </p> <p>Depending on the current state of the solution
2200          * version, the solution version state changes as follows:</p> <ul> <li>
2201          * <p>CREATE_PENDING &gt; CREATE_STOPPED</p> <p>or</p> </li> <li>
2202          * <p>CREATE_IN_PROGRESS &gt; CREATE_STOPPING &gt; CREATE_STOPPED</p> </li> </ul>
2203          * <p>You are billed for all of the training completed up until you stop the
2204          * solution version creation. You cannot resume creating a solution version once it
2205          * has been stopped.</p><p><h3>See Also:</h3>   <a
2206          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/StopSolutionVersionCreation">AWS
2207          * API Reference</a></p>
2208          */
2209         virtual Model::StopSolutionVersionCreationOutcome StopSolutionVersionCreation(const Model::StopSolutionVersionCreationRequest& request) const;
2210 
2211         /**
2212          * <p>Stops creating a solution version that is in a state of CREATE_PENDING or
2213          * CREATE IN_PROGRESS. </p> <p>Depending on the current state of the solution
2214          * version, the solution version state changes as follows:</p> <ul> <li>
2215          * <p>CREATE_PENDING &gt; CREATE_STOPPED</p> <p>or</p> </li> <li>
2216          * <p>CREATE_IN_PROGRESS &gt; CREATE_STOPPING &gt; CREATE_STOPPED</p> </li> </ul>
2217          * <p>You are billed for all of the training completed up until you stop the
2218          * solution version creation. You cannot resume creating a solution version once it
2219          * has been stopped.</p><p><h3>See Also:</h3>   <a
2220          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/StopSolutionVersionCreation">AWS
2221          * API Reference</a></p>
2222          *
2223          * returns a future to the operation so that it can be executed in parallel to other requests.
2224          */
2225         virtual Model::StopSolutionVersionCreationOutcomeCallable StopSolutionVersionCreationCallable(const Model::StopSolutionVersionCreationRequest& request) const;
2226 
2227         /**
2228          * <p>Stops creating a solution version that is in a state of CREATE_PENDING or
2229          * CREATE IN_PROGRESS. </p> <p>Depending on the current state of the solution
2230          * version, the solution version state changes as follows:</p> <ul> <li>
2231          * <p>CREATE_PENDING &gt; CREATE_STOPPED</p> <p>or</p> </li> <li>
2232          * <p>CREATE_IN_PROGRESS &gt; CREATE_STOPPING &gt; CREATE_STOPPED</p> </li> </ul>
2233          * <p>You are billed for all of the training completed up until you stop the
2234          * solution version creation. You cannot resume creating a solution version once it
2235          * has been stopped.</p><p><h3>See Also:</h3>   <a
2236          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/StopSolutionVersionCreation">AWS
2237          * API Reference</a></p>
2238          *
2239          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2240          */
2241         virtual void StopSolutionVersionCreationAsync(const Model::StopSolutionVersionCreationRequest& request, const StopSolutionVersionCreationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2242 
2243         /**
2244          * <p>Updates a campaign by either deploying a new solution or changing the value
2245          * of the campaign's <code>minProvisionedTPS</code> parameter.</p> <p>To update a
2246          * campaign, the campaign status must be ACTIVE or CREATE FAILED. Check the
2247          * campaign status using the <a>DescribeCampaign</a> API.</p>  <p>You must
2248          * wait until the <code>status</code> of the updated campaign is
2249          * <code>ACTIVE</code> before asking the campaign for recommendations.</p>
2250          * <p>For more information on campaigns, see <a>CreateCampaign</a>.</p><p><h3>See
2251          * Also:</h3>   <a
2252          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/UpdateCampaign">AWS
2253          * API Reference</a></p>
2254          */
2255         virtual Model::UpdateCampaignOutcome UpdateCampaign(const Model::UpdateCampaignRequest& request) const;
2256 
2257         /**
2258          * <p>Updates a campaign by either deploying a new solution or changing the value
2259          * of the campaign's <code>minProvisionedTPS</code> parameter.</p> <p>To update a
2260          * campaign, the campaign status must be ACTIVE or CREATE FAILED. Check the
2261          * campaign status using the <a>DescribeCampaign</a> API.</p>  <p>You must
2262          * wait until the <code>status</code> of the updated campaign is
2263          * <code>ACTIVE</code> before asking the campaign for recommendations.</p>
2264          * <p>For more information on campaigns, see <a>CreateCampaign</a>.</p><p><h3>See
2265          * Also:</h3>   <a
2266          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/UpdateCampaign">AWS
2267          * API Reference</a></p>
2268          *
2269          * returns a future to the operation so that it can be executed in parallel to other requests.
2270          */
2271         virtual Model::UpdateCampaignOutcomeCallable UpdateCampaignCallable(const Model::UpdateCampaignRequest& request) const;
2272 
2273         /**
2274          * <p>Updates a campaign by either deploying a new solution or changing the value
2275          * of the campaign's <code>minProvisionedTPS</code> parameter.</p> <p>To update a
2276          * campaign, the campaign status must be ACTIVE or CREATE FAILED. Check the
2277          * campaign status using the <a>DescribeCampaign</a> API.</p>  <p>You must
2278          * wait until the <code>status</code> of the updated campaign is
2279          * <code>ACTIVE</code> before asking the campaign for recommendations.</p>
2280          * <p>For more information on campaigns, see <a>CreateCampaign</a>.</p><p><h3>See
2281          * Also:</h3>   <a
2282          * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/UpdateCampaign">AWS
2283          * API Reference</a></p>
2284          *
2285          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2286          */
2287         virtual void UpdateCampaignAsync(const Model::UpdateCampaignRequest& request, const UpdateCampaignResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2288 
2289 
2290       void OverrideEndpoint(const Aws::String& endpoint);
2291     private:
2292       void init(const Aws::Client::ClientConfiguration& clientConfiguration);
2293         void CreateBatchInferenceJobAsyncHelper(const Model::CreateBatchInferenceJobRequest& request, const CreateBatchInferenceJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2294         void CreateCampaignAsyncHelper(const Model::CreateCampaignRequest& request, const CreateCampaignResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2295         void CreateDatasetAsyncHelper(const Model::CreateDatasetRequest& request, const CreateDatasetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2296         void CreateDatasetExportJobAsyncHelper(const Model::CreateDatasetExportJobRequest& request, const CreateDatasetExportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2297         void CreateDatasetGroupAsyncHelper(const Model::CreateDatasetGroupRequest& request, const CreateDatasetGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2298         void CreateDatasetImportJobAsyncHelper(const Model::CreateDatasetImportJobRequest& request, const CreateDatasetImportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2299         void CreateEventTrackerAsyncHelper(const Model::CreateEventTrackerRequest& request, const CreateEventTrackerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2300         void CreateFilterAsyncHelper(const Model::CreateFilterRequest& request, const CreateFilterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2301         void CreateSchemaAsyncHelper(const Model::CreateSchemaRequest& request, const CreateSchemaResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2302         void CreateSolutionAsyncHelper(const Model::CreateSolutionRequest& request, const CreateSolutionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2303         void CreateSolutionVersionAsyncHelper(const Model::CreateSolutionVersionRequest& request, const CreateSolutionVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2304         void DeleteCampaignAsyncHelper(const Model::DeleteCampaignRequest& request, const DeleteCampaignResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2305         void DeleteDatasetAsyncHelper(const Model::DeleteDatasetRequest& request, const DeleteDatasetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2306         void DeleteDatasetGroupAsyncHelper(const Model::DeleteDatasetGroupRequest& request, const DeleteDatasetGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2307         void DeleteEventTrackerAsyncHelper(const Model::DeleteEventTrackerRequest& request, const DeleteEventTrackerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2308         void DeleteFilterAsyncHelper(const Model::DeleteFilterRequest& request, const DeleteFilterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2309         void DeleteSchemaAsyncHelper(const Model::DeleteSchemaRequest& request, const DeleteSchemaResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2310         void DeleteSolutionAsyncHelper(const Model::DeleteSolutionRequest& request, const DeleteSolutionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2311         void DescribeAlgorithmAsyncHelper(const Model::DescribeAlgorithmRequest& request, const DescribeAlgorithmResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2312         void DescribeBatchInferenceJobAsyncHelper(const Model::DescribeBatchInferenceJobRequest& request, const DescribeBatchInferenceJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2313         void DescribeCampaignAsyncHelper(const Model::DescribeCampaignRequest& request, const DescribeCampaignResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2314         void DescribeDatasetAsyncHelper(const Model::DescribeDatasetRequest& request, const DescribeDatasetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2315         void DescribeDatasetExportJobAsyncHelper(const Model::DescribeDatasetExportJobRequest& request, const DescribeDatasetExportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2316         void DescribeDatasetGroupAsyncHelper(const Model::DescribeDatasetGroupRequest& request, const DescribeDatasetGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2317         void DescribeDatasetImportJobAsyncHelper(const Model::DescribeDatasetImportJobRequest& request, const DescribeDatasetImportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2318         void DescribeEventTrackerAsyncHelper(const Model::DescribeEventTrackerRequest& request, const DescribeEventTrackerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2319         void DescribeFeatureTransformationAsyncHelper(const Model::DescribeFeatureTransformationRequest& request, const DescribeFeatureTransformationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2320         void DescribeFilterAsyncHelper(const Model::DescribeFilterRequest& request, const DescribeFilterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2321         void DescribeRecipeAsyncHelper(const Model::DescribeRecipeRequest& request, const DescribeRecipeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2322         void DescribeSchemaAsyncHelper(const Model::DescribeSchemaRequest& request, const DescribeSchemaResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2323         void DescribeSolutionAsyncHelper(const Model::DescribeSolutionRequest& request, const DescribeSolutionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2324         void DescribeSolutionVersionAsyncHelper(const Model::DescribeSolutionVersionRequest& request, const DescribeSolutionVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2325         void GetSolutionMetricsAsyncHelper(const Model::GetSolutionMetricsRequest& request, const GetSolutionMetricsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2326         void ListBatchInferenceJobsAsyncHelper(const Model::ListBatchInferenceJobsRequest& request, const ListBatchInferenceJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2327         void ListCampaignsAsyncHelper(const Model::ListCampaignsRequest& request, const ListCampaignsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2328         void ListDatasetExportJobsAsyncHelper(const Model::ListDatasetExportJobsRequest& request, const ListDatasetExportJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2329         void ListDatasetGroupsAsyncHelper(const Model::ListDatasetGroupsRequest& request, const ListDatasetGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2330         void ListDatasetImportJobsAsyncHelper(const Model::ListDatasetImportJobsRequest& request, const ListDatasetImportJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2331         void ListDatasetsAsyncHelper(const Model::ListDatasetsRequest& request, const ListDatasetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2332         void ListEventTrackersAsyncHelper(const Model::ListEventTrackersRequest& request, const ListEventTrackersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2333         void ListFiltersAsyncHelper(const Model::ListFiltersRequest& request, const ListFiltersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2334         void ListRecipesAsyncHelper(const Model::ListRecipesRequest& request, const ListRecipesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2335         void ListSchemasAsyncHelper(const Model::ListSchemasRequest& request, const ListSchemasResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2336         void ListSolutionVersionsAsyncHelper(const Model::ListSolutionVersionsRequest& request, const ListSolutionVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2337         void ListSolutionsAsyncHelper(const Model::ListSolutionsRequest& request, const ListSolutionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2338         void StopSolutionVersionCreationAsyncHelper(const Model::StopSolutionVersionCreationRequest& request, const StopSolutionVersionCreationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2339         void UpdateCampaignAsyncHelper(const Model::UpdateCampaignRequest& request, const UpdateCampaignResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2340 
2341       Aws::String m_uri;
2342       Aws::String m_configScheme;
2343       std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
2344   };
2345 
2346 } // namespace Personalize
2347 } // namespace Aws
2348