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/snow-device-management/SnowDeviceManagement_EXPORTS.h> 8 #include <aws/snow-device-management/SnowDeviceManagementErrors.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/snow-device-management/model/CancelTaskResult.h> 15 #include <aws/snow-device-management/model/CreateTaskResult.h> 16 #include <aws/snow-device-management/model/DescribeDeviceResult.h> 17 #include <aws/snow-device-management/model/DescribeDeviceEc2InstancesResult.h> 18 #include <aws/snow-device-management/model/DescribeExecutionResult.h> 19 #include <aws/snow-device-management/model/DescribeTaskResult.h> 20 #include <aws/snow-device-management/model/ListDeviceResourcesResult.h> 21 #include <aws/snow-device-management/model/ListDevicesResult.h> 22 #include <aws/snow-device-management/model/ListExecutionsResult.h> 23 #include <aws/snow-device-management/model/ListTagsForResourceResult.h> 24 #include <aws/snow-device-management/model/ListTasksResult.h> 25 #include <aws/core/NoResult.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 SnowDeviceManagement 61 { 62 63 namespace Model 64 { 65 class CancelTaskRequest; 66 class CreateTaskRequest; 67 class DescribeDeviceRequest; 68 class DescribeDeviceEc2InstancesRequest; 69 class DescribeExecutionRequest; 70 class DescribeTaskRequest; 71 class ListDeviceResourcesRequest; 72 class ListDevicesRequest; 73 class ListExecutionsRequest; 74 class ListTagsForResourceRequest; 75 class ListTasksRequest; 76 class TagResourceRequest; 77 class UntagResourceRequest; 78 79 typedef Aws::Utils::Outcome<CancelTaskResult, SnowDeviceManagementError> CancelTaskOutcome; 80 typedef Aws::Utils::Outcome<CreateTaskResult, SnowDeviceManagementError> CreateTaskOutcome; 81 typedef Aws::Utils::Outcome<DescribeDeviceResult, SnowDeviceManagementError> DescribeDeviceOutcome; 82 typedef Aws::Utils::Outcome<DescribeDeviceEc2InstancesResult, SnowDeviceManagementError> DescribeDeviceEc2InstancesOutcome; 83 typedef Aws::Utils::Outcome<DescribeExecutionResult, SnowDeviceManagementError> DescribeExecutionOutcome; 84 typedef Aws::Utils::Outcome<DescribeTaskResult, SnowDeviceManagementError> DescribeTaskOutcome; 85 typedef Aws::Utils::Outcome<ListDeviceResourcesResult, SnowDeviceManagementError> ListDeviceResourcesOutcome; 86 typedef Aws::Utils::Outcome<ListDevicesResult, SnowDeviceManagementError> ListDevicesOutcome; 87 typedef Aws::Utils::Outcome<ListExecutionsResult, SnowDeviceManagementError> ListExecutionsOutcome; 88 typedef Aws::Utils::Outcome<ListTagsForResourceResult, SnowDeviceManagementError> ListTagsForResourceOutcome; 89 typedef Aws::Utils::Outcome<ListTasksResult, SnowDeviceManagementError> ListTasksOutcome; 90 typedef Aws::Utils::Outcome<Aws::NoResult, SnowDeviceManagementError> TagResourceOutcome; 91 typedef Aws::Utils::Outcome<Aws::NoResult, SnowDeviceManagementError> UntagResourceOutcome; 92 93 typedef std::future<CancelTaskOutcome> CancelTaskOutcomeCallable; 94 typedef std::future<CreateTaskOutcome> CreateTaskOutcomeCallable; 95 typedef std::future<DescribeDeviceOutcome> DescribeDeviceOutcomeCallable; 96 typedef std::future<DescribeDeviceEc2InstancesOutcome> DescribeDeviceEc2InstancesOutcomeCallable; 97 typedef std::future<DescribeExecutionOutcome> DescribeExecutionOutcomeCallable; 98 typedef std::future<DescribeTaskOutcome> DescribeTaskOutcomeCallable; 99 typedef std::future<ListDeviceResourcesOutcome> ListDeviceResourcesOutcomeCallable; 100 typedef std::future<ListDevicesOutcome> ListDevicesOutcomeCallable; 101 typedef std::future<ListExecutionsOutcome> ListExecutionsOutcomeCallable; 102 typedef std::future<ListTagsForResourceOutcome> ListTagsForResourceOutcomeCallable; 103 typedef std::future<ListTasksOutcome> ListTasksOutcomeCallable; 104 typedef std::future<TagResourceOutcome> TagResourceOutcomeCallable; 105 typedef std::future<UntagResourceOutcome> UntagResourceOutcomeCallable; 106 } // namespace Model 107 108 class SnowDeviceManagementClient; 109 110 typedef std::function<void(const SnowDeviceManagementClient*, const Model::CancelTaskRequest&, const Model::CancelTaskOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CancelTaskResponseReceivedHandler; 111 typedef std::function<void(const SnowDeviceManagementClient*, const Model::CreateTaskRequest&, const Model::CreateTaskOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateTaskResponseReceivedHandler; 112 typedef std::function<void(const SnowDeviceManagementClient*, const Model::DescribeDeviceRequest&, const Model::DescribeDeviceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeDeviceResponseReceivedHandler; 113 typedef std::function<void(const SnowDeviceManagementClient*, const Model::DescribeDeviceEc2InstancesRequest&, const Model::DescribeDeviceEc2InstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeDeviceEc2InstancesResponseReceivedHandler; 114 typedef std::function<void(const SnowDeviceManagementClient*, const Model::DescribeExecutionRequest&, const Model::DescribeExecutionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeExecutionResponseReceivedHandler; 115 typedef std::function<void(const SnowDeviceManagementClient*, const Model::DescribeTaskRequest&, const Model::DescribeTaskOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeTaskResponseReceivedHandler; 116 typedef std::function<void(const SnowDeviceManagementClient*, const Model::ListDeviceResourcesRequest&, const Model::ListDeviceResourcesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListDeviceResourcesResponseReceivedHandler; 117 typedef std::function<void(const SnowDeviceManagementClient*, const Model::ListDevicesRequest&, const Model::ListDevicesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListDevicesResponseReceivedHandler; 118 typedef std::function<void(const SnowDeviceManagementClient*, const Model::ListExecutionsRequest&, const Model::ListExecutionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListExecutionsResponseReceivedHandler; 119 typedef std::function<void(const SnowDeviceManagementClient*, const Model::ListTagsForResourceRequest&, const Model::ListTagsForResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsForResourceResponseReceivedHandler; 120 typedef std::function<void(const SnowDeviceManagementClient*, const Model::ListTasksRequest&, const Model::ListTasksOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTasksResponseReceivedHandler; 121 typedef std::function<void(const SnowDeviceManagementClient*, const Model::TagResourceRequest&, const Model::TagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TagResourceResponseReceivedHandler; 122 typedef std::function<void(const SnowDeviceManagementClient*, const Model::UntagResourceRequest&, const Model::UntagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UntagResourceResponseReceivedHandler; 123 124 /** 125 * <p>Amazon Web Services Snow Device Management documentation.</p> 126 */ 127 class AWS_SNOWDEVICEMANAGEMENT_API SnowDeviceManagementClient : public Aws::Client::AWSJsonClient 128 { 129 public: 130 typedef Aws::Client::AWSJsonClient BASECLASS; 131 132 /** 133 * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config 134 * is not specified, it will be initialized to default values. 135 */ 136 SnowDeviceManagementClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 137 138 /** 139 * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config 140 * is not specified, it will be initialized to default values. 141 */ 142 SnowDeviceManagementClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 143 144 /** 145 * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, 146 * the default http client factory will be used 147 */ 148 SnowDeviceManagementClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider, 149 const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 150 151 virtual ~SnowDeviceManagementClient(); 152 153 154 /** 155 * <p>Sends a cancel request for a specified task. You can cancel a task only if 156 * it's still in a <code>QUEUED</code> state. Tasks that are already running can't 157 * be cancelled.</p> <p>A task might still run if it's processed from the 158 * queue before the <code>CancelTask</code> operation changes the task's state.</p> 159 * <p><h3>See Also:</h3> <a 160 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/CancelTask">AWS 161 * API Reference</a></p> 162 */ 163 virtual Model::CancelTaskOutcome CancelTask(const Model::CancelTaskRequest& request) const; 164 165 /** 166 * <p>Sends a cancel request for a specified task. You can cancel a task only if 167 * it's still in a <code>QUEUED</code> state. Tasks that are already running can't 168 * be cancelled.</p> <p>A task might still run if it's processed from the 169 * queue before the <code>CancelTask</code> operation changes the task's state.</p> 170 * <p><h3>See Also:</h3> <a 171 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/CancelTask">AWS 172 * API Reference</a></p> 173 * 174 * returns a future to the operation so that it can be executed in parallel to other requests. 175 */ 176 virtual Model::CancelTaskOutcomeCallable CancelTaskCallable(const Model::CancelTaskRequest& request) const; 177 178 /** 179 * <p>Sends a cancel request for a specified task. You can cancel a task only if 180 * it's still in a <code>QUEUED</code> state. Tasks that are already running can't 181 * be cancelled.</p> <p>A task might still run if it's processed from the 182 * queue before the <code>CancelTask</code> operation changes the task's state.</p> 183 * <p><h3>See Also:</h3> <a 184 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/CancelTask">AWS 185 * API Reference</a></p> 186 * 187 * Queues the request into a thread executor and triggers associated callback when operation has finished. 188 */ 189 virtual void CancelTaskAsync(const Model::CancelTaskRequest& request, const CancelTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 190 191 /** 192 * <p>Instructs one or more devices to start a task, such as unlocking or 193 * rebooting.</p><p><h3>See Also:</h3> <a 194 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/CreateTask">AWS 195 * API Reference</a></p> 196 */ 197 virtual Model::CreateTaskOutcome CreateTask(const Model::CreateTaskRequest& request) const; 198 199 /** 200 * <p>Instructs one or more devices to start a task, such as unlocking or 201 * rebooting.</p><p><h3>See Also:</h3> <a 202 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/CreateTask">AWS 203 * API Reference</a></p> 204 * 205 * returns a future to the operation so that it can be executed in parallel to other requests. 206 */ 207 virtual Model::CreateTaskOutcomeCallable CreateTaskCallable(const Model::CreateTaskRequest& request) const; 208 209 /** 210 * <p>Instructs one or more devices to start a task, such as unlocking or 211 * rebooting.</p><p><h3>See Also:</h3> <a 212 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/CreateTask">AWS 213 * API Reference</a></p> 214 * 215 * Queues the request into a thread executor and triggers associated callback when operation has finished. 216 */ 217 virtual void CreateTaskAsync(const Model::CreateTaskRequest& request, const CreateTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 218 219 /** 220 * <p>Checks device-specific information, such as the device type, software 221 * version, IP addresses, and lock status.</p><p><h3>See Also:</h3> <a 222 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeDevice">AWS 223 * API Reference</a></p> 224 */ 225 virtual Model::DescribeDeviceOutcome DescribeDevice(const Model::DescribeDeviceRequest& request) const; 226 227 /** 228 * <p>Checks device-specific information, such as the device type, software 229 * version, IP addresses, and lock status.</p><p><h3>See Also:</h3> <a 230 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeDevice">AWS 231 * API Reference</a></p> 232 * 233 * returns a future to the operation so that it can be executed in parallel to other requests. 234 */ 235 virtual Model::DescribeDeviceOutcomeCallable DescribeDeviceCallable(const Model::DescribeDeviceRequest& request) const; 236 237 /** 238 * <p>Checks device-specific information, such as the device type, software 239 * version, IP addresses, and lock status.</p><p><h3>See Also:</h3> <a 240 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeDevice">AWS 241 * API Reference</a></p> 242 * 243 * Queues the request into a thread executor and triggers associated callback when operation has finished. 244 */ 245 virtual void DescribeDeviceAsync(const Model::DescribeDeviceRequest& request, const DescribeDeviceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 246 247 /** 248 * <p>Checks the current state of the Amazon EC2 instances. The output is similar 249 * to <code>describeDevice</code>, but the results are sourced from the device 250 * cache in the Amazon Web Services Cloud and include a subset of the available 251 * fields. </p><p><h3>See Also:</h3> <a 252 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeDeviceEc2Instances">AWS 253 * API Reference</a></p> 254 */ 255 virtual Model::DescribeDeviceEc2InstancesOutcome DescribeDeviceEc2Instances(const Model::DescribeDeviceEc2InstancesRequest& request) const; 256 257 /** 258 * <p>Checks the current state of the Amazon EC2 instances. The output is similar 259 * to <code>describeDevice</code>, but the results are sourced from the device 260 * cache in the Amazon Web Services Cloud and include a subset of the available 261 * fields. </p><p><h3>See Also:</h3> <a 262 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeDeviceEc2Instances">AWS 263 * API Reference</a></p> 264 * 265 * returns a future to the operation so that it can be executed in parallel to other requests. 266 */ 267 virtual Model::DescribeDeviceEc2InstancesOutcomeCallable DescribeDeviceEc2InstancesCallable(const Model::DescribeDeviceEc2InstancesRequest& request) const; 268 269 /** 270 * <p>Checks the current state of the Amazon EC2 instances. The output is similar 271 * to <code>describeDevice</code>, but the results are sourced from the device 272 * cache in the Amazon Web Services Cloud and include a subset of the available 273 * fields. </p><p><h3>See Also:</h3> <a 274 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeDeviceEc2Instances">AWS 275 * API Reference</a></p> 276 * 277 * Queues the request into a thread executor and triggers associated callback when operation has finished. 278 */ 279 virtual void DescribeDeviceEc2InstancesAsync(const Model::DescribeDeviceEc2InstancesRequest& request, const DescribeDeviceEc2InstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 280 281 /** 282 * <p>Checks the status of a remote task running on one or more target 283 * devices.</p><p><h3>See Also:</h3> <a 284 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeExecution">AWS 285 * API Reference</a></p> 286 */ 287 virtual Model::DescribeExecutionOutcome DescribeExecution(const Model::DescribeExecutionRequest& request) const; 288 289 /** 290 * <p>Checks the status of a remote task running on one or more target 291 * devices.</p><p><h3>See Also:</h3> <a 292 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeExecution">AWS 293 * API Reference</a></p> 294 * 295 * returns a future to the operation so that it can be executed in parallel to other requests. 296 */ 297 virtual Model::DescribeExecutionOutcomeCallable DescribeExecutionCallable(const Model::DescribeExecutionRequest& request) const; 298 299 /** 300 * <p>Checks the status of a remote task running on one or more target 301 * devices.</p><p><h3>See Also:</h3> <a 302 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeExecution">AWS 303 * API Reference</a></p> 304 * 305 * Queues the request into a thread executor and triggers associated callback when operation has finished. 306 */ 307 virtual void DescribeExecutionAsync(const Model::DescribeExecutionRequest& request, const DescribeExecutionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 308 309 /** 310 * <p>Checks the metadata for a given task on a device. </p><p><h3>See Also:</h3> 311 * <a 312 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeTask">AWS 313 * API Reference</a></p> 314 */ 315 virtual Model::DescribeTaskOutcome DescribeTask(const Model::DescribeTaskRequest& request) const; 316 317 /** 318 * <p>Checks the metadata for a given task on a device. </p><p><h3>See Also:</h3> 319 * <a 320 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeTask">AWS 321 * API Reference</a></p> 322 * 323 * returns a future to the operation so that it can be executed in parallel to other requests. 324 */ 325 virtual Model::DescribeTaskOutcomeCallable DescribeTaskCallable(const Model::DescribeTaskRequest& request) const; 326 327 /** 328 * <p>Checks the metadata for a given task on a device. </p><p><h3>See Also:</h3> 329 * <a 330 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeTask">AWS 331 * API Reference</a></p> 332 * 333 * Queues the request into a thread executor and triggers associated callback when operation has finished. 334 */ 335 virtual void DescribeTaskAsync(const Model::DescribeTaskRequest& request, const DescribeTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 336 337 /** 338 * <p>Returns a list of the Amazon Web Services resources available for a device. 339 * Currently, Amazon EC2 instances are the only supported resource 340 * type.</p><p><h3>See Also:</h3> <a 341 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListDeviceResources">AWS 342 * API Reference</a></p> 343 */ 344 virtual Model::ListDeviceResourcesOutcome ListDeviceResources(const Model::ListDeviceResourcesRequest& request) const; 345 346 /** 347 * <p>Returns a list of the Amazon Web Services resources available for a device. 348 * Currently, Amazon EC2 instances are the only supported resource 349 * type.</p><p><h3>See Also:</h3> <a 350 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListDeviceResources">AWS 351 * API Reference</a></p> 352 * 353 * returns a future to the operation so that it can be executed in parallel to other requests. 354 */ 355 virtual Model::ListDeviceResourcesOutcomeCallable ListDeviceResourcesCallable(const Model::ListDeviceResourcesRequest& request) const; 356 357 /** 358 * <p>Returns a list of the Amazon Web Services resources available for a device. 359 * Currently, Amazon EC2 instances are the only supported resource 360 * type.</p><p><h3>See Also:</h3> <a 361 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListDeviceResources">AWS 362 * API Reference</a></p> 363 * 364 * Queues the request into a thread executor and triggers associated callback when operation has finished. 365 */ 366 virtual void ListDeviceResourcesAsync(const Model::ListDeviceResourcesRequest& request, const ListDeviceResourcesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 367 368 /** 369 * <p>Returns a list of all devices on your Amazon Web Services account that have 370 * Amazon Web Services Snow Device Management enabled in the Amazon Web Services 371 * Region where the command is run.</p><p><h3>See Also:</h3> <a 372 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListDevices">AWS 373 * API Reference</a></p> 374 */ 375 virtual Model::ListDevicesOutcome ListDevices(const Model::ListDevicesRequest& request) const; 376 377 /** 378 * <p>Returns a list of all devices on your Amazon Web Services account that have 379 * Amazon Web Services Snow Device Management enabled in the Amazon Web Services 380 * Region where the command is run.</p><p><h3>See Also:</h3> <a 381 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListDevices">AWS 382 * API Reference</a></p> 383 * 384 * returns a future to the operation so that it can be executed in parallel to other requests. 385 */ 386 virtual Model::ListDevicesOutcomeCallable ListDevicesCallable(const Model::ListDevicesRequest& request) const; 387 388 /** 389 * <p>Returns a list of all devices on your Amazon Web Services account that have 390 * Amazon Web Services Snow Device Management enabled in the Amazon Web Services 391 * Region where the command is run.</p><p><h3>See Also:</h3> <a 392 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListDevices">AWS 393 * API Reference</a></p> 394 * 395 * Queues the request into a thread executor and triggers associated callback when operation has finished. 396 */ 397 virtual void ListDevicesAsync(const Model::ListDevicesRequest& request, const ListDevicesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 398 399 /** 400 * <p>Returns the status of tasks for one or more target devices.</p><p><h3>See 401 * Also:</h3> <a 402 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListExecutions">AWS 403 * API Reference</a></p> 404 */ 405 virtual Model::ListExecutionsOutcome ListExecutions(const Model::ListExecutionsRequest& request) const; 406 407 /** 408 * <p>Returns the status of tasks for one or more target devices.</p><p><h3>See 409 * Also:</h3> <a 410 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListExecutions">AWS 411 * API Reference</a></p> 412 * 413 * returns a future to the operation so that it can be executed in parallel to other requests. 414 */ 415 virtual Model::ListExecutionsOutcomeCallable ListExecutionsCallable(const Model::ListExecutionsRequest& request) const; 416 417 /** 418 * <p>Returns the status of tasks for one or more target devices.</p><p><h3>See 419 * Also:</h3> <a 420 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListExecutions">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 ListExecutionsAsync(const Model::ListExecutionsRequest& request, const ListExecutionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 426 427 /** 428 * <p>Returns a list of tags for a managed device or task.</p><p><h3>See Also:</h3> 429 * <a 430 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListTagsForResource">AWS 431 * API Reference</a></p> 432 */ 433 virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; 434 435 /** 436 * <p>Returns a list of tags for a managed device or task.</p><p><h3>See Also:</h3> 437 * <a 438 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListTagsForResource">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::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; 444 445 /** 446 * <p>Returns a list of tags for a managed device or task.</p><p><h3>See Also:</h3> 447 * <a 448 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListTagsForResource">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 ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 454 455 /** 456 * <p>Returns a list of tasks that can be filtered by state.</p><p><h3>See 457 * Also:</h3> <a 458 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListTasks">AWS 459 * API Reference</a></p> 460 */ 461 virtual Model::ListTasksOutcome ListTasks(const Model::ListTasksRequest& request) const; 462 463 /** 464 * <p>Returns a list of tasks that can be filtered by state.</p><p><h3>See 465 * Also:</h3> <a 466 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListTasks">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::ListTasksOutcomeCallable ListTasksCallable(const Model::ListTasksRequest& request) const; 472 473 /** 474 * <p>Returns a list of tasks that can be filtered by state.</p><p><h3>See 475 * Also:</h3> <a 476 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListTasks">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 ListTasksAsync(const Model::ListTasksRequest& request, const ListTasksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 482 483 /** 484 * <p>Adds or replaces tags on a device or task.</p><p><h3>See Also:</h3> <a 485 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/TagResource">AWS 486 * API Reference</a></p> 487 */ 488 virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; 489 490 /** 491 * <p>Adds or replaces tags on a device or task.</p><p><h3>See Also:</h3> <a 492 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/TagResource">AWS 493 * API Reference</a></p> 494 * 495 * returns a future to the operation so that it can be executed in parallel to other requests. 496 */ 497 virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; 498 499 /** 500 * <p>Adds or replaces tags on a device or task.</p><p><h3>See Also:</h3> <a 501 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/TagResource">AWS 502 * API Reference</a></p> 503 * 504 * Queues the request into a thread executor and triggers associated callback when operation has finished. 505 */ 506 virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 507 508 /** 509 * <p>Removes a tag from a device or task.</p><p><h3>See Also:</h3> <a 510 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/UntagResource">AWS 511 * API Reference</a></p> 512 */ 513 virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; 514 515 /** 516 * <p>Removes a tag from a device or task.</p><p><h3>See Also:</h3> <a 517 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/UntagResource">AWS 518 * API Reference</a></p> 519 * 520 * returns a future to the operation so that it can be executed in parallel to other requests. 521 */ 522 virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const; 523 524 /** 525 * <p>Removes a tag from a device or task.</p><p><h3>See Also:</h3> <a 526 * href="http://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/UntagResource">AWS 527 * API Reference</a></p> 528 * 529 * Queues the request into a thread executor and triggers associated callback when operation has finished. 530 */ 531 virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 532 533 534 void OverrideEndpoint(const Aws::String& endpoint); 535 private: 536 void init(const Aws::Client::ClientConfiguration& clientConfiguration); 537 void CancelTaskAsyncHelper(const Model::CancelTaskRequest& request, const CancelTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 538 void CreateTaskAsyncHelper(const Model::CreateTaskRequest& request, const CreateTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 539 void DescribeDeviceAsyncHelper(const Model::DescribeDeviceRequest& request, const DescribeDeviceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 540 void DescribeDeviceEc2InstancesAsyncHelper(const Model::DescribeDeviceEc2InstancesRequest& request, const DescribeDeviceEc2InstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 541 void DescribeExecutionAsyncHelper(const Model::DescribeExecutionRequest& request, const DescribeExecutionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 542 void DescribeTaskAsyncHelper(const Model::DescribeTaskRequest& request, const DescribeTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 543 void ListDeviceResourcesAsyncHelper(const Model::ListDeviceResourcesRequest& request, const ListDeviceResourcesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 544 void ListDevicesAsyncHelper(const Model::ListDevicesRequest& request, const ListDevicesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 545 void ListExecutionsAsyncHelper(const Model::ListExecutionsRequest& request, const ListExecutionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 546 void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 547 void ListTasksAsyncHelper(const Model::ListTasksRequest& request, const ListTasksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 548 void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 549 void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 550 551 Aws::String m_uri; 552 Aws::String m_configScheme; 553 std::shared_ptr<Aws::Utils::Threading::Executor> m_executor; 554 }; 555 556 } // namespace SnowDeviceManagement 557 } // namespace Aws 558