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/honeycode/Honeycode_EXPORTS.h> 8 #include <aws/honeycode/HoneycodeErrors.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/honeycode/model/BatchCreateTableRowsResult.h> 15 #include <aws/honeycode/model/BatchDeleteTableRowsResult.h> 16 #include <aws/honeycode/model/BatchUpdateTableRowsResult.h> 17 #include <aws/honeycode/model/BatchUpsertTableRowsResult.h> 18 #include <aws/honeycode/model/DescribeTableDataImportJobResult.h> 19 #include <aws/honeycode/model/GetScreenDataResult.h> 20 #include <aws/honeycode/model/InvokeScreenAutomationResult.h> 21 #include <aws/honeycode/model/ListTableColumnsResult.h> 22 #include <aws/honeycode/model/ListTableRowsResult.h> 23 #include <aws/honeycode/model/ListTablesResult.h> 24 #include <aws/honeycode/model/QueryTableRowsResult.h> 25 #include <aws/honeycode/model/StartTableDataImportJobResult.h> 26 #include <aws/core/client/AsyncCallerContext.h> 27 #include <aws/core/http/HttpTypes.h> 28 #include <future> 29 #include <functional> 30 31 namespace Aws 32 { 33 34 namespace Http 35 { 36 class HttpClient; 37 class HttpClientFactory; 38 } // namespace Http 39 40 namespace Utils 41 { 42 template< typename R, typename E> class Outcome; 43 namespace Threading 44 { 45 class Executor; 46 } // namespace Threading 47 } // namespace Utils 48 49 namespace Auth 50 { 51 class AWSCredentials; 52 class AWSCredentialsProvider; 53 } // namespace Auth 54 55 namespace Client 56 { 57 class RetryStrategy; 58 } // namespace Client 59 60 namespace Honeycode 61 { 62 63 namespace Model 64 { 65 class BatchCreateTableRowsRequest; 66 class BatchDeleteTableRowsRequest; 67 class BatchUpdateTableRowsRequest; 68 class BatchUpsertTableRowsRequest; 69 class DescribeTableDataImportJobRequest; 70 class GetScreenDataRequest; 71 class InvokeScreenAutomationRequest; 72 class ListTableColumnsRequest; 73 class ListTableRowsRequest; 74 class ListTablesRequest; 75 class QueryTableRowsRequest; 76 class StartTableDataImportJobRequest; 77 78 typedef Aws::Utils::Outcome<BatchCreateTableRowsResult, HoneycodeError> BatchCreateTableRowsOutcome; 79 typedef Aws::Utils::Outcome<BatchDeleteTableRowsResult, HoneycodeError> BatchDeleteTableRowsOutcome; 80 typedef Aws::Utils::Outcome<BatchUpdateTableRowsResult, HoneycodeError> BatchUpdateTableRowsOutcome; 81 typedef Aws::Utils::Outcome<BatchUpsertTableRowsResult, HoneycodeError> BatchUpsertTableRowsOutcome; 82 typedef Aws::Utils::Outcome<DescribeTableDataImportJobResult, HoneycodeError> DescribeTableDataImportJobOutcome; 83 typedef Aws::Utils::Outcome<GetScreenDataResult, HoneycodeError> GetScreenDataOutcome; 84 typedef Aws::Utils::Outcome<InvokeScreenAutomationResult, HoneycodeError> InvokeScreenAutomationOutcome; 85 typedef Aws::Utils::Outcome<ListTableColumnsResult, HoneycodeError> ListTableColumnsOutcome; 86 typedef Aws::Utils::Outcome<ListTableRowsResult, HoneycodeError> ListTableRowsOutcome; 87 typedef Aws::Utils::Outcome<ListTablesResult, HoneycodeError> ListTablesOutcome; 88 typedef Aws::Utils::Outcome<QueryTableRowsResult, HoneycodeError> QueryTableRowsOutcome; 89 typedef Aws::Utils::Outcome<StartTableDataImportJobResult, HoneycodeError> StartTableDataImportJobOutcome; 90 91 typedef std::future<BatchCreateTableRowsOutcome> BatchCreateTableRowsOutcomeCallable; 92 typedef std::future<BatchDeleteTableRowsOutcome> BatchDeleteTableRowsOutcomeCallable; 93 typedef std::future<BatchUpdateTableRowsOutcome> BatchUpdateTableRowsOutcomeCallable; 94 typedef std::future<BatchUpsertTableRowsOutcome> BatchUpsertTableRowsOutcomeCallable; 95 typedef std::future<DescribeTableDataImportJobOutcome> DescribeTableDataImportJobOutcomeCallable; 96 typedef std::future<GetScreenDataOutcome> GetScreenDataOutcomeCallable; 97 typedef std::future<InvokeScreenAutomationOutcome> InvokeScreenAutomationOutcomeCallable; 98 typedef std::future<ListTableColumnsOutcome> ListTableColumnsOutcomeCallable; 99 typedef std::future<ListTableRowsOutcome> ListTableRowsOutcomeCallable; 100 typedef std::future<ListTablesOutcome> ListTablesOutcomeCallable; 101 typedef std::future<QueryTableRowsOutcome> QueryTableRowsOutcomeCallable; 102 typedef std::future<StartTableDataImportJobOutcome> StartTableDataImportJobOutcomeCallable; 103 } // namespace Model 104 105 class HoneycodeClient; 106 107 typedef std::function<void(const HoneycodeClient*, const Model::BatchCreateTableRowsRequest&, const Model::BatchCreateTableRowsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > BatchCreateTableRowsResponseReceivedHandler; 108 typedef std::function<void(const HoneycodeClient*, const Model::BatchDeleteTableRowsRequest&, const Model::BatchDeleteTableRowsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > BatchDeleteTableRowsResponseReceivedHandler; 109 typedef std::function<void(const HoneycodeClient*, const Model::BatchUpdateTableRowsRequest&, const Model::BatchUpdateTableRowsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > BatchUpdateTableRowsResponseReceivedHandler; 110 typedef std::function<void(const HoneycodeClient*, const Model::BatchUpsertTableRowsRequest&, const Model::BatchUpsertTableRowsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > BatchUpsertTableRowsResponseReceivedHandler; 111 typedef std::function<void(const HoneycodeClient*, const Model::DescribeTableDataImportJobRequest&, const Model::DescribeTableDataImportJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeTableDataImportJobResponseReceivedHandler; 112 typedef std::function<void(const HoneycodeClient*, const Model::GetScreenDataRequest&, const Model::GetScreenDataOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetScreenDataResponseReceivedHandler; 113 typedef std::function<void(const HoneycodeClient*, const Model::InvokeScreenAutomationRequest&, const Model::InvokeScreenAutomationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > InvokeScreenAutomationResponseReceivedHandler; 114 typedef std::function<void(const HoneycodeClient*, const Model::ListTableColumnsRequest&, const Model::ListTableColumnsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTableColumnsResponseReceivedHandler; 115 typedef std::function<void(const HoneycodeClient*, const Model::ListTableRowsRequest&, const Model::ListTableRowsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTableRowsResponseReceivedHandler; 116 typedef std::function<void(const HoneycodeClient*, const Model::ListTablesRequest&, const Model::ListTablesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTablesResponseReceivedHandler; 117 typedef std::function<void(const HoneycodeClient*, const Model::QueryTableRowsRequest&, const Model::QueryTableRowsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > QueryTableRowsResponseReceivedHandler; 118 typedef std::function<void(const HoneycodeClient*, const Model::StartTableDataImportJobRequest&, const Model::StartTableDataImportJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartTableDataImportJobResponseReceivedHandler; 119 120 /** 121 * <p> Amazon Honeycode is a fully managed service that allows you to quickly build 122 * mobile and web apps for teams—without programming. Build Honeycode apps for 123 * managing almost anything, like projects, customers, operations, approvals, 124 * resources, and even your team. </p> 125 */ 126 class AWS_HONEYCODE_API HoneycodeClient : public Aws::Client::AWSJsonClient 127 { 128 public: 129 typedef Aws::Client::AWSJsonClient BASECLASS; 130 131 /** 132 * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config 133 * is not specified, it will be initialized to default values. 134 */ 135 HoneycodeClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 136 137 /** 138 * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config 139 * is not specified, it will be initialized to default values. 140 */ 141 HoneycodeClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 142 143 /** 144 * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, 145 * the default http client factory will be used 146 */ 147 HoneycodeClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider, 148 const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 149 150 virtual ~HoneycodeClient(); 151 152 153 /** 154 * <p> The BatchCreateTableRows API allows you to create one or more rows at the 155 * end of a table in a workbook. The API allows you to specify the values to set in 156 * some or all of the columns in the new rows. </p> <p> If a column is not 157 * explicitly set in a specific row, then the column level formula specified in the 158 * table will be applied to the new row. If there is no column level formula but 159 * the last row of the table has a formula, then that formula will be copied down 160 * to the new row. If there is no column level formula and no formula in the last 161 * row of the table, then that column will be left blank for the new rows. 162 * </p><p><h3>See Also:</h3> <a 163 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/BatchCreateTableRows">AWS 164 * API Reference</a></p> 165 */ 166 virtual Model::BatchCreateTableRowsOutcome BatchCreateTableRows(const Model::BatchCreateTableRowsRequest& request) const; 167 168 /** 169 * <p> The BatchCreateTableRows API allows you to create one or more rows at the 170 * end of a table in a workbook. The API allows you to specify the values to set in 171 * some or all of the columns in the new rows. </p> <p> If a column is not 172 * explicitly set in a specific row, then the column level formula specified in the 173 * table will be applied to the new row. If there is no column level formula but 174 * the last row of the table has a formula, then that formula will be copied down 175 * to the new row. If there is no column level formula and no formula in the last 176 * row of the table, then that column will be left blank for the new rows. 177 * </p><p><h3>See Also:</h3> <a 178 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/BatchCreateTableRows">AWS 179 * API Reference</a></p> 180 * 181 * returns a future to the operation so that it can be executed in parallel to other requests. 182 */ 183 virtual Model::BatchCreateTableRowsOutcomeCallable BatchCreateTableRowsCallable(const Model::BatchCreateTableRowsRequest& request) const; 184 185 /** 186 * <p> The BatchCreateTableRows API allows you to create one or more rows at the 187 * end of a table in a workbook. The API allows you to specify the values to set in 188 * some or all of the columns in the new rows. </p> <p> If a column is not 189 * explicitly set in a specific row, then the column level formula specified in the 190 * table will be applied to the new row. If there is no column level formula but 191 * the last row of the table has a formula, then that formula will be copied down 192 * to the new row. If there is no column level formula and no formula in the last 193 * row of the table, then that column will be left blank for the new rows. 194 * </p><p><h3>See Also:</h3> <a 195 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/BatchCreateTableRows">AWS 196 * API Reference</a></p> 197 * 198 * Queues the request into a thread executor and triggers associated callback when operation has finished. 199 */ 200 virtual void BatchCreateTableRowsAsync(const Model::BatchCreateTableRowsRequest& request, const BatchCreateTableRowsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 201 202 /** 203 * <p> The BatchDeleteTableRows API allows you to delete one or more rows from a 204 * table in a workbook. You need to specify the ids of the rows that you want to 205 * delete from the table. </p><p><h3>See Also:</h3> <a 206 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/BatchDeleteTableRows">AWS 207 * API Reference</a></p> 208 */ 209 virtual Model::BatchDeleteTableRowsOutcome BatchDeleteTableRows(const Model::BatchDeleteTableRowsRequest& request) const; 210 211 /** 212 * <p> The BatchDeleteTableRows API allows you to delete one or more rows from a 213 * table in a workbook. You need to specify the ids of the rows that you want to 214 * delete from the table. </p><p><h3>See Also:</h3> <a 215 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/BatchDeleteTableRows">AWS 216 * API Reference</a></p> 217 * 218 * returns a future to the operation so that it can be executed in parallel to other requests. 219 */ 220 virtual Model::BatchDeleteTableRowsOutcomeCallable BatchDeleteTableRowsCallable(const Model::BatchDeleteTableRowsRequest& request) const; 221 222 /** 223 * <p> The BatchDeleteTableRows API allows you to delete one or more rows from a 224 * table in a workbook. You need to specify the ids of the rows that you want to 225 * delete from the table. </p><p><h3>See Also:</h3> <a 226 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/BatchDeleteTableRows">AWS 227 * API Reference</a></p> 228 * 229 * Queues the request into a thread executor and triggers associated callback when operation has finished. 230 */ 231 virtual void BatchDeleteTableRowsAsync(const Model::BatchDeleteTableRowsRequest& request, const BatchDeleteTableRowsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 232 233 /** 234 * <p> The BatchUpdateTableRows API allows you to update one or more rows in a 235 * table in a workbook. </p> <p> You can specify the values to set in some or all 236 * of the columns in the table for the specified rows. If a column is not 237 * explicitly specified in a particular row, then that column will not be updated 238 * for that row. To clear out the data in a specific cell, you need to set the 239 * value as an empty string (""). </p><p><h3>See Also:</h3> <a 240 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/BatchUpdateTableRows">AWS 241 * API Reference</a></p> 242 */ 243 virtual Model::BatchUpdateTableRowsOutcome BatchUpdateTableRows(const Model::BatchUpdateTableRowsRequest& request) const; 244 245 /** 246 * <p> The BatchUpdateTableRows API allows you to update one or more rows in a 247 * table in a workbook. </p> <p> You can specify the values to set in some or all 248 * of the columns in the table for the specified rows. If a column is not 249 * explicitly specified in a particular row, then that column will not be updated 250 * for that row. To clear out the data in a specific cell, you need to set the 251 * value as an empty string (""). </p><p><h3>See Also:</h3> <a 252 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/BatchUpdateTableRows">AWS 253 * API Reference</a></p> 254 * 255 * returns a future to the operation so that it can be executed in parallel to other requests. 256 */ 257 virtual Model::BatchUpdateTableRowsOutcomeCallable BatchUpdateTableRowsCallable(const Model::BatchUpdateTableRowsRequest& request) const; 258 259 /** 260 * <p> The BatchUpdateTableRows API allows you to update one or more rows in a 261 * table in a workbook. </p> <p> You can specify the values to set in some or all 262 * of the columns in the table for the specified rows. If a column is not 263 * explicitly specified in a particular row, then that column will not be updated 264 * for that row. To clear out the data in a specific cell, you need to set the 265 * value as an empty string (""). </p><p><h3>See Also:</h3> <a 266 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/BatchUpdateTableRows">AWS 267 * API Reference</a></p> 268 * 269 * Queues the request into a thread executor and triggers associated callback when operation has finished. 270 */ 271 virtual void BatchUpdateTableRowsAsync(const Model::BatchUpdateTableRowsRequest& request, const BatchUpdateTableRowsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 272 273 /** 274 * <p> The BatchUpsertTableRows API allows you to upsert one or more rows in a 275 * table. The upsert operation takes a filter expression as input and evaluates it 276 * to find matching rows on the destination table. If matching rows are found, it 277 * will update the cells in the matching rows to new values specified in the 278 * request. If no matching rows are found, a new row is added at the end of the 279 * table and the cells in that row are set to the new values specified in the 280 * request. </p> <p> You can specify the values to set in some or all of the 281 * columns in the table for the matching or newly appended rows. If a column is not 282 * explicitly specified for a particular row, then that column will not be updated 283 * for that row. To clear out the data in a specific cell, you need to set the 284 * value as an empty string (""). </p><p><h3>See Also:</h3> <a 285 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/BatchUpsertTableRows">AWS 286 * API Reference</a></p> 287 */ 288 virtual Model::BatchUpsertTableRowsOutcome BatchUpsertTableRows(const Model::BatchUpsertTableRowsRequest& request) const; 289 290 /** 291 * <p> The BatchUpsertTableRows API allows you to upsert one or more rows in a 292 * table. The upsert operation takes a filter expression as input and evaluates it 293 * to find matching rows on the destination table. If matching rows are found, it 294 * will update the cells in the matching rows to new values specified in the 295 * request. If no matching rows are found, a new row is added at the end of the 296 * table and the cells in that row are set to the new values specified in the 297 * request. </p> <p> You can specify the values to set in some or all of the 298 * columns in the table for the matching or newly appended rows. If a column is not 299 * explicitly specified for a particular row, then that column will not be updated 300 * for that row. To clear out the data in a specific cell, you need to set the 301 * value as an empty string (""). </p><p><h3>See Also:</h3> <a 302 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/BatchUpsertTableRows">AWS 303 * API Reference</a></p> 304 * 305 * returns a future to the operation so that it can be executed in parallel to other requests. 306 */ 307 virtual Model::BatchUpsertTableRowsOutcomeCallable BatchUpsertTableRowsCallable(const Model::BatchUpsertTableRowsRequest& request) const; 308 309 /** 310 * <p> The BatchUpsertTableRows API allows you to upsert one or more rows in a 311 * table. The upsert operation takes a filter expression as input and evaluates it 312 * to find matching rows on the destination table. If matching rows are found, it 313 * will update the cells in the matching rows to new values specified in the 314 * request. If no matching rows are found, a new row is added at the end of the 315 * table and the cells in that row are set to the new values specified in the 316 * request. </p> <p> You can specify the values to set in some or all of the 317 * columns in the table for the matching or newly appended rows. If a column is not 318 * explicitly specified for a particular row, then that column will not be updated 319 * for that row. To clear out the data in a specific cell, you need to set the 320 * value as an empty string (""). </p><p><h3>See Also:</h3> <a 321 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/BatchUpsertTableRows">AWS 322 * API Reference</a></p> 323 * 324 * Queues the request into a thread executor and triggers associated callback when operation has finished. 325 */ 326 virtual void BatchUpsertTableRowsAsync(const Model::BatchUpsertTableRowsRequest& request, const BatchUpsertTableRowsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 327 328 /** 329 * <p> The DescribeTableDataImportJob API allows you to retrieve the status and 330 * details of a table data import job. </p><p><h3>See Also:</h3> <a 331 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/DescribeTableDataImportJob">AWS 332 * API Reference</a></p> 333 */ 334 virtual Model::DescribeTableDataImportJobOutcome DescribeTableDataImportJob(const Model::DescribeTableDataImportJobRequest& request) const; 335 336 /** 337 * <p> The DescribeTableDataImportJob API allows you to retrieve the status and 338 * details of a table data import job. </p><p><h3>See Also:</h3> <a 339 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/DescribeTableDataImportJob">AWS 340 * API Reference</a></p> 341 * 342 * returns a future to the operation so that it can be executed in parallel to other requests. 343 */ 344 virtual Model::DescribeTableDataImportJobOutcomeCallable DescribeTableDataImportJobCallable(const Model::DescribeTableDataImportJobRequest& request) const; 345 346 /** 347 * <p> The DescribeTableDataImportJob API allows you to retrieve the status and 348 * details of a table data import job. </p><p><h3>See Also:</h3> <a 349 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/DescribeTableDataImportJob">AWS 350 * API Reference</a></p> 351 * 352 * Queues the request into a thread executor and triggers associated callback when operation has finished. 353 */ 354 virtual void DescribeTableDataImportJobAsync(const Model::DescribeTableDataImportJobRequest& request, const DescribeTableDataImportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 355 356 /** 357 * <p> The GetScreenData API allows retrieval of data from a screen in a Honeycode 358 * app. The API allows setting local variables in the screen to filter, sort or 359 * otherwise affect what will be displayed on the screen. </p><p><h3>See Also:</h3> 360 * <a 361 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/GetScreenData">AWS 362 * API Reference</a></p> 363 */ 364 virtual Model::GetScreenDataOutcome GetScreenData(const Model::GetScreenDataRequest& request) const; 365 366 /** 367 * <p> The GetScreenData API allows retrieval of data from a screen in a Honeycode 368 * app. The API allows setting local variables in the screen to filter, sort or 369 * otherwise affect what will be displayed on the screen. </p><p><h3>See Also:</h3> 370 * <a 371 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/GetScreenData">AWS 372 * API Reference</a></p> 373 * 374 * returns a future to the operation so that it can be executed in parallel to other requests. 375 */ 376 virtual Model::GetScreenDataOutcomeCallable GetScreenDataCallable(const Model::GetScreenDataRequest& request) const; 377 378 /** 379 * <p> The GetScreenData API allows retrieval of data from a screen in a Honeycode 380 * app. The API allows setting local variables in the screen to filter, sort or 381 * otherwise affect what will be displayed on the screen. </p><p><h3>See Also:</h3> 382 * <a 383 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/GetScreenData">AWS 384 * API Reference</a></p> 385 * 386 * Queues the request into a thread executor and triggers associated callback when operation has finished. 387 */ 388 virtual void GetScreenDataAsync(const Model::GetScreenDataRequest& request, const GetScreenDataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 389 390 /** 391 * <p> The InvokeScreenAutomation API allows invoking an action defined in a screen 392 * in a Honeycode app. The API allows setting local variables, which can then be 393 * used in the automation being invoked. This allows automating the Honeycode app 394 * interactions to write, update or delete data in the workbook. </p><p><h3>See 395 * Also:</h3> <a 396 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/InvokeScreenAutomation">AWS 397 * API Reference</a></p> 398 */ 399 virtual Model::InvokeScreenAutomationOutcome InvokeScreenAutomation(const Model::InvokeScreenAutomationRequest& request) const; 400 401 /** 402 * <p> The InvokeScreenAutomation API allows invoking an action defined in a screen 403 * in a Honeycode app. The API allows setting local variables, which can then be 404 * used in the automation being invoked. This allows automating the Honeycode app 405 * interactions to write, update or delete data in the workbook. </p><p><h3>See 406 * Also:</h3> <a 407 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/InvokeScreenAutomation">AWS 408 * API Reference</a></p> 409 * 410 * returns a future to the operation so that it can be executed in parallel to other requests. 411 */ 412 virtual Model::InvokeScreenAutomationOutcomeCallable InvokeScreenAutomationCallable(const Model::InvokeScreenAutomationRequest& request) const; 413 414 /** 415 * <p> The InvokeScreenAutomation API allows invoking an action defined in a screen 416 * in a Honeycode app. The API allows setting local variables, which can then be 417 * used in the automation being invoked. This allows automating the Honeycode app 418 * interactions to write, update or delete data in the workbook. </p><p><h3>See 419 * Also:</h3> <a 420 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/InvokeScreenAutomation">AWS 421 * API Reference</a></p> 422 * 423 * Queues the request into a thread executor and triggers associated callback when operation has finished. 424 */ 425 virtual void InvokeScreenAutomationAsync(const Model::InvokeScreenAutomationRequest& request, const InvokeScreenAutomationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 426 427 /** 428 * <p> The ListTableColumns API allows you to retrieve a list of all the columns in 429 * a table in a workbook. </p><p><h3>See Also:</h3> <a 430 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/ListTableColumns">AWS 431 * API Reference</a></p> 432 */ 433 virtual Model::ListTableColumnsOutcome ListTableColumns(const Model::ListTableColumnsRequest& request) const; 434 435 /** 436 * <p> The ListTableColumns API allows you to retrieve a list of all the columns in 437 * a table in a workbook. </p><p><h3>See Also:</h3> <a 438 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/ListTableColumns">AWS 439 * API Reference</a></p> 440 * 441 * returns a future to the operation so that it can be executed in parallel to other requests. 442 */ 443 virtual Model::ListTableColumnsOutcomeCallable ListTableColumnsCallable(const Model::ListTableColumnsRequest& request) const; 444 445 /** 446 * <p> The ListTableColumns API allows you to retrieve a list of all the columns in 447 * a table in a workbook. </p><p><h3>See Also:</h3> <a 448 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/ListTableColumns">AWS 449 * API Reference</a></p> 450 * 451 * Queues the request into a thread executor and triggers associated callback when operation has finished. 452 */ 453 virtual void ListTableColumnsAsync(const Model::ListTableColumnsRequest& request, const ListTableColumnsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 454 455 /** 456 * <p> The ListTableRows API allows you to retrieve a list of all the rows in a 457 * table in a workbook. </p><p><h3>See Also:</h3> <a 458 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/ListTableRows">AWS 459 * API Reference</a></p> 460 */ 461 virtual Model::ListTableRowsOutcome ListTableRows(const Model::ListTableRowsRequest& request) const; 462 463 /** 464 * <p> The ListTableRows API allows you to retrieve a list of all the rows in a 465 * table in a workbook. </p><p><h3>See Also:</h3> <a 466 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/ListTableRows">AWS 467 * API Reference</a></p> 468 * 469 * returns a future to the operation so that it can be executed in parallel to other requests. 470 */ 471 virtual Model::ListTableRowsOutcomeCallable ListTableRowsCallable(const Model::ListTableRowsRequest& request) const; 472 473 /** 474 * <p> The ListTableRows API allows you to retrieve a list of all the rows in a 475 * table in a workbook. </p><p><h3>See Also:</h3> <a 476 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/ListTableRows">AWS 477 * API Reference</a></p> 478 * 479 * Queues the request into a thread executor and triggers associated callback when operation has finished. 480 */ 481 virtual void ListTableRowsAsync(const Model::ListTableRowsRequest& request, const ListTableRowsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 482 483 /** 484 * <p> The ListTables API allows you to retrieve a list of all the tables in a 485 * workbook. </p><p><h3>See Also:</h3> <a 486 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/ListTables">AWS 487 * API Reference</a></p> 488 */ 489 virtual Model::ListTablesOutcome ListTables(const Model::ListTablesRequest& request) const; 490 491 /** 492 * <p> The ListTables API allows you to retrieve a list of all the tables in a 493 * workbook. </p><p><h3>See Also:</h3> <a 494 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/ListTables">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::ListTablesOutcomeCallable ListTablesCallable(const Model::ListTablesRequest& request) const; 500 501 /** 502 * <p> The ListTables API allows you to retrieve a list of all the tables in a 503 * workbook. </p><p><h3>See Also:</h3> <a 504 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/ListTables">AWS 505 * API Reference</a></p> 506 * 507 * Queues the request into a thread executor and triggers associated callback when operation has finished. 508 */ 509 virtual void ListTablesAsync(const Model::ListTablesRequest& request, const ListTablesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 510 511 /** 512 * <p> The QueryTableRows API allows you to use a filter formula to query for 513 * specific rows in a table. </p><p><h3>See Also:</h3> <a 514 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/QueryTableRows">AWS 515 * API Reference</a></p> 516 */ 517 virtual Model::QueryTableRowsOutcome QueryTableRows(const Model::QueryTableRowsRequest& request) const; 518 519 /** 520 * <p> The QueryTableRows API allows you to use a filter formula to query for 521 * specific rows in a table. </p><p><h3>See Also:</h3> <a 522 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/QueryTableRows">AWS 523 * API Reference</a></p> 524 * 525 * returns a future to the operation so that it can be executed in parallel to other requests. 526 */ 527 virtual Model::QueryTableRowsOutcomeCallable QueryTableRowsCallable(const Model::QueryTableRowsRequest& request) const; 528 529 /** 530 * <p> The QueryTableRows API allows you to use a filter formula to query for 531 * specific rows in a table. </p><p><h3>See Also:</h3> <a 532 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/QueryTableRows">AWS 533 * API Reference</a></p> 534 * 535 * Queues the request into a thread executor and triggers associated callback when operation has finished. 536 */ 537 virtual void QueryTableRowsAsync(const Model::QueryTableRowsRequest& request, const QueryTableRowsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 538 539 /** 540 * <p> The StartTableDataImportJob API allows you to start an import job on a 541 * table. This API will only return the id of the job that was started. To find out 542 * the status of the import request, you need to call the 543 * DescribeTableDataImportJob API. </p><p><h3>See Also:</h3> <a 544 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/StartTableDataImportJob">AWS 545 * API Reference</a></p> 546 */ 547 virtual Model::StartTableDataImportJobOutcome StartTableDataImportJob(const Model::StartTableDataImportJobRequest& request) const; 548 549 /** 550 * <p> The StartTableDataImportJob API allows you to start an import job on a 551 * table. This API will only return the id of the job that was started. To find out 552 * the status of the import request, you need to call the 553 * DescribeTableDataImportJob API. </p><p><h3>See Also:</h3> <a 554 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/StartTableDataImportJob">AWS 555 * API Reference</a></p> 556 * 557 * returns a future to the operation so that it can be executed in parallel to other requests. 558 */ 559 virtual Model::StartTableDataImportJobOutcomeCallable StartTableDataImportJobCallable(const Model::StartTableDataImportJobRequest& request) const; 560 561 /** 562 * <p> The StartTableDataImportJob API allows you to start an import job on a 563 * table. This API will only return the id of the job that was started. To find out 564 * the status of the import request, you need to call the 565 * DescribeTableDataImportJob API. </p><p><h3>See Also:</h3> <a 566 * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/StartTableDataImportJob">AWS 567 * API Reference</a></p> 568 * 569 * Queues the request into a thread executor and triggers associated callback when operation has finished. 570 */ 571 virtual void StartTableDataImportJobAsync(const Model::StartTableDataImportJobRequest& request, const StartTableDataImportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 572 573 574 void OverrideEndpoint(const Aws::String& endpoint); 575 private: 576 void init(const Aws::Client::ClientConfiguration& clientConfiguration); 577 void BatchCreateTableRowsAsyncHelper(const Model::BatchCreateTableRowsRequest& request, const BatchCreateTableRowsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 578 void BatchDeleteTableRowsAsyncHelper(const Model::BatchDeleteTableRowsRequest& request, const BatchDeleteTableRowsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 579 void BatchUpdateTableRowsAsyncHelper(const Model::BatchUpdateTableRowsRequest& request, const BatchUpdateTableRowsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 580 void BatchUpsertTableRowsAsyncHelper(const Model::BatchUpsertTableRowsRequest& request, const BatchUpsertTableRowsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 581 void DescribeTableDataImportJobAsyncHelper(const Model::DescribeTableDataImportJobRequest& request, const DescribeTableDataImportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 582 void GetScreenDataAsyncHelper(const Model::GetScreenDataRequest& request, const GetScreenDataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 583 void InvokeScreenAutomationAsyncHelper(const Model::InvokeScreenAutomationRequest& request, const InvokeScreenAutomationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 584 void ListTableColumnsAsyncHelper(const Model::ListTableColumnsRequest& request, const ListTableColumnsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 585 void ListTableRowsAsyncHelper(const Model::ListTableRowsRequest& request, const ListTableRowsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 586 void ListTablesAsyncHelper(const Model::ListTablesRequest& request, const ListTablesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 587 void QueryTableRowsAsyncHelper(const Model::QueryTableRowsRequest& request, const QueryTableRowsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 588 void StartTableDataImportJobAsyncHelper(const Model::StartTableDataImportJobRequest& request, const StartTableDataImportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 589 590 Aws::String m_uri; 591 Aws::String m_configScheme; 592 std::shared_ptr<Aws::Utils::Threading::Executor> m_executor; 593 }; 594 595 } // namespace Honeycode 596 } // namespace Aws 597