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/greengrassv2/GreengrassV2_EXPORTS.h> 8 #include <aws/greengrassv2/GreengrassV2Errors.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/greengrassv2/model/BatchAssociateClientDeviceWithCoreDeviceResult.h> 15 #include <aws/greengrassv2/model/BatchDisassociateClientDeviceFromCoreDeviceResult.h> 16 #include <aws/greengrassv2/model/CancelDeploymentResult.h> 17 #include <aws/greengrassv2/model/CreateComponentVersionResult.h> 18 #include <aws/greengrassv2/model/CreateDeploymentResult.h> 19 #include <aws/greengrassv2/model/DescribeComponentResult.h> 20 #include <aws/greengrassv2/model/GetComponentResult.h> 21 #include <aws/greengrassv2/model/GetComponentVersionArtifactResult.h> 22 #include <aws/greengrassv2/model/GetCoreDeviceResult.h> 23 #include <aws/greengrassv2/model/GetDeploymentResult.h> 24 #include <aws/greengrassv2/model/ListClientDevicesAssociatedWithCoreDeviceResult.h> 25 #include <aws/greengrassv2/model/ListComponentVersionsResult.h> 26 #include <aws/greengrassv2/model/ListComponentsResult.h> 27 #include <aws/greengrassv2/model/ListCoreDevicesResult.h> 28 #include <aws/greengrassv2/model/ListDeploymentsResult.h> 29 #include <aws/greengrassv2/model/ListEffectiveDeploymentsResult.h> 30 #include <aws/greengrassv2/model/ListInstalledComponentsResult.h> 31 #include <aws/greengrassv2/model/ListTagsForResourceResult.h> 32 #include <aws/greengrassv2/model/ResolveComponentCandidatesResult.h> 33 #include <aws/greengrassv2/model/TagResourceResult.h> 34 #include <aws/greengrassv2/model/UntagResourceResult.h> 35 #include <aws/core/NoResult.h> 36 #include <aws/core/client/AsyncCallerContext.h> 37 #include <aws/core/http/HttpTypes.h> 38 #include <future> 39 #include <functional> 40 41 namespace Aws 42 { 43 44 namespace Http 45 { 46 class HttpClient; 47 class HttpClientFactory; 48 } // namespace Http 49 50 namespace Utils 51 { 52 template< typename R, typename E> class Outcome; 53 namespace Threading 54 { 55 class Executor; 56 } // namespace Threading 57 } // namespace Utils 58 59 namespace Auth 60 { 61 class AWSCredentials; 62 class AWSCredentialsProvider; 63 } // namespace Auth 64 65 namespace Client 66 { 67 class RetryStrategy; 68 } // namespace Client 69 70 namespace GreengrassV2 71 { 72 73 namespace Model 74 { 75 class BatchAssociateClientDeviceWithCoreDeviceRequest; 76 class BatchDisassociateClientDeviceFromCoreDeviceRequest; 77 class CancelDeploymentRequest; 78 class CreateComponentVersionRequest; 79 class CreateDeploymentRequest; 80 class DeleteComponentRequest; 81 class DeleteCoreDeviceRequest; 82 class DescribeComponentRequest; 83 class GetComponentRequest; 84 class GetComponentVersionArtifactRequest; 85 class GetCoreDeviceRequest; 86 class GetDeploymentRequest; 87 class ListClientDevicesAssociatedWithCoreDeviceRequest; 88 class ListComponentVersionsRequest; 89 class ListComponentsRequest; 90 class ListCoreDevicesRequest; 91 class ListDeploymentsRequest; 92 class ListEffectiveDeploymentsRequest; 93 class ListInstalledComponentsRequest; 94 class ListTagsForResourceRequest; 95 class ResolveComponentCandidatesRequest; 96 class TagResourceRequest; 97 class UntagResourceRequest; 98 99 typedef Aws::Utils::Outcome<BatchAssociateClientDeviceWithCoreDeviceResult, GreengrassV2Error> BatchAssociateClientDeviceWithCoreDeviceOutcome; 100 typedef Aws::Utils::Outcome<BatchDisassociateClientDeviceFromCoreDeviceResult, GreengrassV2Error> BatchDisassociateClientDeviceFromCoreDeviceOutcome; 101 typedef Aws::Utils::Outcome<CancelDeploymentResult, GreengrassV2Error> CancelDeploymentOutcome; 102 typedef Aws::Utils::Outcome<CreateComponentVersionResult, GreengrassV2Error> CreateComponentVersionOutcome; 103 typedef Aws::Utils::Outcome<CreateDeploymentResult, GreengrassV2Error> CreateDeploymentOutcome; 104 typedef Aws::Utils::Outcome<Aws::NoResult, GreengrassV2Error> DeleteComponentOutcome; 105 typedef Aws::Utils::Outcome<Aws::NoResult, GreengrassV2Error> DeleteCoreDeviceOutcome; 106 typedef Aws::Utils::Outcome<DescribeComponentResult, GreengrassV2Error> DescribeComponentOutcome; 107 typedef Aws::Utils::Outcome<GetComponentResult, GreengrassV2Error> GetComponentOutcome; 108 typedef Aws::Utils::Outcome<GetComponentVersionArtifactResult, GreengrassV2Error> GetComponentVersionArtifactOutcome; 109 typedef Aws::Utils::Outcome<GetCoreDeviceResult, GreengrassV2Error> GetCoreDeviceOutcome; 110 typedef Aws::Utils::Outcome<GetDeploymentResult, GreengrassV2Error> GetDeploymentOutcome; 111 typedef Aws::Utils::Outcome<ListClientDevicesAssociatedWithCoreDeviceResult, GreengrassV2Error> ListClientDevicesAssociatedWithCoreDeviceOutcome; 112 typedef Aws::Utils::Outcome<ListComponentVersionsResult, GreengrassV2Error> ListComponentVersionsOutcome; 113 typedef Aws::Utils::Outcome<ListComponentsResult, GreengrassV2Error> ListComponentsOutcome; 114 typedef Aws::Utils::Outcome<ListCoreDevicesResult, GreengrassV2Error> ListCoreDevicesOutcome; 115 typedef Aws::Utils::Outcome<ListDeploymentsResult, GreengrassV2Error> ListDeploymentsOutcome; 116 typedef Aws::Utils::Outcome<ListEffectiveDeploymentsResult, GreengrassV2Error> ListEffectiveDeploymentsOutcome; 117 typedef Aws::Utils::Outcome<ListInstalledComponentsResult, GreengrassV2Error> ListInstalledComponentsOutcome; 118 typedef Aws::Utils::Outcome<ListTagsForResourceResult, GreengrassV2Error> ListTagsForResourceOutcome; 119 typedef Aws::Utils::Outcome<ResolveComponentCandidatesResult, GreengrassV2Error> ResolveComponentCandidatesOutcome; 120 typedef Aws::Utils::Outcome<TagResourceResult, GreengrassV2Error> TagResourceOutcome; 121 typedef Aws::Utils::Outcome<UntagResourceResult, GreengrassV2Error> UntagResourceOutcome; 122 123 typedef std::future<BatchAssociateClientDeviceWithCoreDeviceOutcome> BatchAssociateClientDeviceWithCoreDeviceOutcomeCallable; 124 typedef std::future<BatchDisassociateClientDeviceFromCoreDeviceOutcome> BatchDisassociateClientDeviceFromCoreDeviceOutcomeCallable; 125 typedef std::future<CancelDeploymentOutcome> CancelDeploymentOutcomeCallable; 126 typedef std::future<CreateComponentVersionOutcome> CreateComponentVersionOutcomeCallable; 127 typedef std::future<CreateDeploymentOutcome> CreateDeploymentOutcomeCallable; 128 typedef std::future<DeleteComponentOutcome> DeleteComponentOutcomeCallable; 129 typedef std::future<DeleteCoreDeviceOutcome> DeleteCoreDeviceOutcomeCallable; 130 typedef std::future<DescribeComponentOutcome> DescribeComponentOutcomeCallable; 131 typedef std::future<GetComponentOutcome> GetComponentOutcomeCallable; 132 typedef std::future<GetComponentVersionArtifactOutcome> GetComponentVersionArtifactOutcomeCallable; 133 typedef std::future<GetCoreDeviceOutcome> GetCoreDeviceOutcomeCallable; 134 typedef std::future<GetDeploymentOutcome> GetDeploymentOutcomeCallable; 135 typedef std::future<ListClientDevicesAssociatedWithCoreDeviceOutcome> ListClientDevicesAssociatedWithCoreDeviceOutcomeCallable; 136 typedef std::future<ListComponentVersionsOutcome> ListComponentVersionsOutcomeCallable; 137 typedef std::future<ListComponentsOutcome> ListComponentsOutcomeCallable; 138 typedef std::future<ListCoreDevicesOutcome> ListCoreDevicesOutcomeCallable; 139 typedef std::future<ListDeploymentsOutcome> ListDeploymentsOutcomeCallable; 140 typedef std::future<ListEffectiveDeploymentsOutcome> ListEffectiveDeploymentsOutcomeCallable; 141 typedef std::future<ListInstalledComponentsOutcome> ListInstalledComponentsOutcomeCallable; 142 typedef std::future<ListTagsForResourceOutcome> ListTagsForResourceOutcomeCallable; 143 typedef std::future<ResolveComponentCandidatesOutcome> ResolveComponentCandidatesOutcomeCallable; 144 typedef std::future<TagResourceOutcome> TagResourceOutcomeCallable; 145 typedef std::future<UntagResourceOutcome> UntagResourceOutcomeCallable; 146 } // namespace Model 147 148 class GreengrassV2Client; 149 150 typedef std::function<void(const GreengrassV2Client*, const Model::BatchAssociateClientDeviceWithCoreDeviceRequest&, const Model::BatchAssociateClientDeviceWithCoreDeviceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > BatchAssociateClientDeviceWithCoreDeviceResponseReceivedHandler; 151 typedef std::function<void(const GreengrassV2Client*, const Model::BatchDisassociateClientDeviceFromCoreDeviceRequest&, const Model::BatchDisassociateClientDeviceFromCoreDeviceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > BatchDisassociateClientDeviceFromCoreDeviceResponseReceivedHandler; 152 typedef std::function<void(const GreengrassV2Client*, const Model::CancelDeploymentRequest&, const Model::CancelDeploymentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CancelDeploymentResponseReceivedHandler; 153 typedef std::function<void(const GreengrassV2Client*, const Model::CreateComponentVersionRequest&, const Model::CreateComponentVersionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateComponentVersionResponseReceivedHandler; 154 typedef std::function<void(const GreengrassV2Client*, const Model::CreateDeploymentRequest&, const Model::CreateDeploymentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateDeploymentResponseReceivedHandler; 155 typedef std::function<void(const GreengrassV2Client*, const Model::DeleteComponentRequest&, const Model::DeleteComponentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteComponentResponseReceivedHandler; 156 typedef std::function<void(const GreengrassV2Client*, const Model::DeleteCoreDeviceRequest&, const Model::DeleteCoreDeviceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteCoreDeviceResponseReceivedHandler; 157 typedef std::function<void(const GreengrassV2Client*, const Model::DescribeComponentRequest&, const Model::DescribeComponentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeComponentResponseReceivedHandler; 158 typedef std::function<void(const GreengrassV2Client*, const Model::GetComponentRequest&, const Model::GetComponentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetComponentResponseReceivedHandler; 159 typedef std::function<void(const GreengrassV2Client*, const Model::GetComponentVersionArtifactRequest&, const Model::GetComponentVersionArtifactOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetComponentVersionArtifactResponseReceivedHandler; 160 typedef std::function<void(const GreengrassV2Client*, const Model::GetCoreDeviceRequest&, const Model::GetCoreDeviceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetCoreDeviceResponseReceivedHandler; 161 typedef std::function<void(const GreengrassV2Client*, const Model::GetDeploymentRequest&, const Model::GetDeploymentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetDeploymentResponseReceivedHandler; 162 typedef std::function<void(const GreengrassV2Client*, const Model::ListClientDevicesAssociatedWithCoreDeviceRequest&, const Model::ListClientDevicesAssociatedWithCoreDeviceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListClientDevicesAssociatedWithCoreDeviceResponseReceivedHandler; 163 typedef std::function<void(const GreengrassV2Client*, const Model::ListComponentVersionsRequest&, const Model::ListComponentVersionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListComponentVersionsResponseReceivedHandler; 164 typedef std::function<void(const GreengrassV2Client*, const Model::ListComponentsRequest&, const Model::ListComponentsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListComponentsResponseReceivedHandler; 165 typedef std::function<void(const GreengrassV2Client*, const Model::ListCoreDevicesRequest&, const Model::ListCoreDevicesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListCoreDevicesResponseReceivedHandler; 166 typedef std::function<void(const GreengrassV2Client*, const Model::ListDeploymentsRequest&, const Model::ListDeploymentsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListDeploymentsResponseReceivedHandler; 167 typedef std::function<void(const GreengrassV2Client*, const Model::ListEffectiveDeploymentsRequest&, const Model::ListEffectiveDeploymentsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListEffectiveDeploymentsResponseReceivedHandler; 168 typedef std::function<void(const GreengrassV2Client*, const Model::ListInstalledComponentsRequest&, const Model::ListInstalledComponentsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListInstalledComponentsResponseReceivedHandler; 169 typedef std::function<void(const GreengrassV2Client*, const Model::ListTagsForResourceRequest&, const Model::ListTagsForResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsForResourceResponseReceivedHandler; 170 typedef std::function<void(const GreengrassV2Client*, const Model::ResolveComponentCandidatesRequest&, const Model::ResolveComponentCandidatesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ResolveComponentCandidatesResponseReceivedHandler; 171 typedef std::function<void(const GreengrassV2Client*, const Model::TagResourceRequest&, const Model::TagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TagResourceResponseReceivedHandler; 172 typedef std::function<void(const GreengrassV2Client*, const Model::UntagResourceRequest&, const Model::UntagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UntagResourceResponseReceivedHandler; 173 174 /** 175 * <p>IoT Greengrass brings local compute, messaging, data management, sync, and ML 176 * inference capabilities to edge devices. This enables devices to collect and 177 * analyze data closer to the source of information, react autonomously to local 178 * events, and communicate securely with each other on local networks. Local 179 * devices can also communicate securely with Amazon Web Services IoT Core and 180 * export IoT data to the Amazon Web Services Cloud. IoT Greengrass developers can 181 * use Lambda functions and components to create and deploy applications to fleets 182 * of edge devices for local operation.</p> <p>IoT Greengrass Version 2 provides a 183 * new major version of the IoT Greengrass Core software, new APIs, and a new 184 * console. Use this API reference to learn how to use the IoT Greengrass V2 API 185 * operations to manage components, manage deployments, and core devices.</p> 186 * <p>For more information, see <a 187 * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/what-is-iot-greengrass.html">What 188 * is IoT Greengrass?</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p> 189 */ 190 class AWS_GREENGRASSV2_API GreengrassV2Client : public Aws::Client::AWSJsonClient 191 { 192 public: 193 typedef Aws::Client::AWSJsonClient BASECLASS; 194 195 /** 196 * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config 197 * is not specified, it will be initialized to default values. 198 */ 199 GreengrassV2Client(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 200 201 /** 202 * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config 203 * is not specified, it will be initialized to default values. 204 */ 205 GreengrassV2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 206 207 /** 208 * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, 209 * the default http client factory will be used 210 */ 211 GreengrassV2Client(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider, 212 const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 213 214 virtual ~GreengrassV2Client(); 215 216 217 /** 218 * <p>Associate a list of client devices with a core device. Use this API operation 219 * to specify which client devices can discover a core device through cloud 220 * discovery. With cloud discovery, client devices connect to IoT Greengrass to 221 * retrieve associated core devices' connectivity information and certificates. For 222 * more information, see <a 223 * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-cloud-discovery.html">Configure 224 * cloud discovery</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p> 225 * <p>Client devices are local IoT devices that connect to and communicate with an 226 * IoT Greengrass core device over MQTT. You can connect client devices to a core 227 * device to sync MQTT messages and data to Amazon Web Services IoT Core and 228 * interact with client devices in Greengrass components. For more information, see 229 * <a 230 * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/interact-with-local-iot-devices.html">Interact 231 * with local IoT devices</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p> 232 * <p><h3>See Also:</h3> <a 233 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchAssociateClientDeviceWithCoreDevice">AWS 234 * API Reference</a></p> 235 */ 236 virtual Model::BatchAssociateClientDeviceWithCoreDeviceOutcome BatchAssociateClientDeviceWithCoreDevice(const Model::BatchAssociateClientDeviceWithCoreDeviceRequest& request) const; 237 238 /** 239 * <p>Associate a list of client devices with a core device. Use this API operation 240 * to specify which client devices can discover a core device through cloud 241 * discovery. With cloud discovery, client devices connect to IoT Greengrass to 242 * retrieve associated core devices' connectivity information and certificates. For 243 * more information, see <a 244 * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-cloud-discovery.html">Configure 245 * cloud discovery</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p> 246 * <p>Client devices are local IoT devices that connect to and communicate with an 247 * IoT Greengrass core device over MQTT. You can connect client devices to a core 248 * device to sync MQTT messages and data to Amazon Web Services IoT Core and 249 * interact with client devices in Greengrass components. For more information, see 250 * <a 251 * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/interact-with-local-iot-devices.html">Interact 252 * with local IoT devices</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p> 253 * <p><h3>See Also:</h3> <a 254 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchAssociateClientDeviceWithCoreDevice">AWS 255 * API Reference</a></p> 256 * 257 * returns a future to the operation so that it can be executed in parallel to other requests. 258 */ 259 virtual Model::BatchAssociateClientDeviceWithCoreDeviceOutcomeCallable BatchAssociateClientDeviceWithCoreDeviceCallable(const Model::BatchAssociateClientDeviceWithCoreDeviceRequest& request) const; 260 261 /** 262 * <p>Associate a list of client devices with a core device. Use this API operation 263 * to specify which client devices can discover a core device through cloud 264 * discovery. With cloud discovery, client devices connect to IoT Greengrass to 265 * retrieve associated core devices' connectivity information and certificates. For 266 * more information, see <a 267 * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-cloud-discovery.html">Configure 268 * cloud discovery</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p> 269 * <p>Client devices are local IoT devices that connect to and communicate with an 270 * IoT Greengrass core device over MQTT. You can connect client devices to a core 271 * device to sync MQTT messages and data to Amazon Web Services IoT Core and 272 * interact with client devices in Greengrass components. For more information, see 273 * <a 274 * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/interact-with-local-iot-devices.html">Interact 275 * with local IoT devices</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p> 276 * <p><h3>See Also:</h3> <a 277 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchAssociateClientDeviceWithCoreDevice">AWS 278 * API Reference</a></p> 279 * 280 * Queues the request into a thread executor and triggers associated callback when operation has finished. 281 */ 282 virtual void BatchAssociateClientDeviceWithCoreDeviceAsync(const Model::BatchAssociateClientDeviceWithCoreDeviceRequest& request, const BatchAssociateClientDeviceWithCoreDeviceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 283 284 /** 285 * <p>Disassociate a list of client devices from a core device. After you 286 * disassociate a client device from a core device, the client device won't be able 287 * to use cloud discovery to retrieve the core device's connectivity information 288 * and certificates.</p><p><h3>See Also:</h3> <a 289 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchDisassociateClientDeviceFromCoreDevice">AWS 290 * API Reference</a></p> 291 */ 292 virtual Model::BatchDisassociateClientDeviceFromCoreDeviceOutcome BatchDisassociateClientDeviceFromCoreDevice(const Model::BatchDisassociateClientDeviceFromCoreDeviceRequest& request) const; 293 294 /** 295 * <p>Disassociate a list of client devices from a core device. After you 296 * disassociate a client device from a core device, the client device won't be able 297 * to use cloud discovery to retrieve the core device's connectivity information 298 * and certificates.</p><p><h3>See Also:</h3> <a 299 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchDisassociateClientDeviceFromCoreDevice">AWS 300 * API Reference</a></p> 301 * 302 * returns a future to the operation so that it can be executed in parallel to other requests. 303 */ 304 virtual Model::BatchDisassociateClientDeviceFromCoreDeviceOutcomeCallable BatchDisassociateClientDeviceFromCoreDeviceCallable(const Model::BatchDisassociateClientDeviceFromCoreDeviceRequest& request) const; 305 306 /** 307 * <p>Disassociate a list of client devices from a core device. After you 308 * disassociate a client device from a core device, the client device won't be able 309 * to use cloud discovery to retrieve the core device's connectivity information 310 * and certificates.</p><p><h3>See Also:</h3> <a 311 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchDisassociateClientDeviceFromCoreDevice">AWS 312 * API Reference</a></p> 313 * 314 * Queues the request into a thread executor and triggers associated callback when operation has finished. 315 */ 316 virtual void BatchDisassociateClientDeviceFromCoreDeviceAsync(const Model::BatchDisassociateClientDeviceFromCoreDeviceRequest& request, const BatchDisassociateClientDeviceFromCoreDeviceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 317 318 /** 319 * <p>Cancels a deployment. This operation cancels the deployment for devices that 320 * haven't yet received it. If a device already received the deployment, this 321 * operation doesn't change anything for that device.</p><p><h3>See Also:</h3> <a 322 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CancelDeployment">AWS 323 * API Reference</a></p> 324 */ 325 virtual Model::CancelDeploymentOutcome CancelDeployment(const Model::CancelDeploymentRequest& request) const; 326 327 /** 328 * <p>Cancels a deployment. This operation cancels the deployment for devices that 329 * haven't yet received it. If a device already received the deployment, this 330 * operation doesn't change anything for that device.</p><p><h3>See Also:</h3> <a 331 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CancelDeployment">AWS 332 * API Reference</a></p> 333 * 334 * returns a future to the operation so that it can be executed in parallel to other requests. 335 */ 336 virtual Model::CancelDeploymentOutcomeCallable CancelDeploymentCallable(const Model::CancelDeploymentRequest& request) const; 337 338 /** 339 * <p>Cancels a deployment. This operation cancels the deployment for devices that 340 * haven't yet received it. If a device already received the deployment, this 341 * operation doesn't change anything for that device.</p><p><h3>See Also:</h3> <a 342 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CancelDeployment">AWS 343 * API Reference</a></p> 344 * 345 * Queues the request into a thread executor and triggers associated callback when operation has finished. 346 */ 347 virtual void CancelDeploymentAsync(const Model::CancelDeploymentRequest& request, const CancelDeploymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 348 349 /** 350 * <p>Creates a component. Components are software that run on Greengrass core 351 * devices. After you develop and test a component on your core device, you can use 352 * this operation to upload your component to IoT Greengrass. Then, you can deploy 353 * the component to other core devices.</p> <p>You can use this operation to do the 354 * following:</p> <ul> <li> <p> <b>Create components from recipes</b> </p> 355 * <p>Create a component from a recipe, which is a file that defines the 356 * component's metadata, parameters, dependencies, lifecycle, artifacts, and 357 * platform capability. For more information, see <a 358 * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/component-recipe-reference.html">IoT 359 * Greengrass component recipe reference</a> in the <i>IoT Greengrass V2 Developer 360 * Guide</i>.</p> <p>To create a component from a recipe, specify 361 * <code>inlineRecipe</code> when you call this operation.</p> </li> <li> <p> 362 * <b>Create components from Lambda functions</b> </p> <p>Create a component from 363 * an Lambda function that runs on IoT Greengrass. This creates a recipe and 364 * artifacts from the Lambda function's deployment package. You can use this 365 * operation to migrate Lambda functions from IoT Greengrass V1 to IoT Greengrass 366 * V2.</p> <p>This function only accepts Lambda functions that use the following 367 * runtimes:</p> <ul> <li> <p>Python 2.7 – <code>python2.7</code> </p> </li> <li> 368 * <p>Python 3.7 – <code>python3.7</code> </p> </li> <li> <p>Python 3.8 – 369 * <code>python3.8</code> </p> </li> <li> <p>Java 8 – <code>java8</code> </p> </li> 370 * <li> <p>Node.js 10 – <code>nodejs10.x</code> </p> </li> <li> <p>Node.js 12 – 371 * <code>nodejs12.x</code> </p> </li> </ul> <p>To create a component from a Lambda 372 * function, specify <code>lambdaFunction</code> when you call this operation.</p> 373 * </li> </ul><p><h3>See Also:</h3> <a 374 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateComponentVersion">AWS 375 * API Reference</a></p> 376 */ 377 virtual Model::CreateComponentVersionOutcome CreateComponentVersion(const Model::CreateComponentVersionRequest& request) const; 378 379 /** 380 * <p>Creates a component. Components are software that run on Greengrass core 381 * devices. After you develop and test a component on your core device, you can use 382 * this operation to upload your component to IoT Greengrass. Then, you can deploy 383 * the component to other core devices.</p> <p>You can use this operation to do the 384 * following:</p> <ul> <li> <p> <b>Create components from recipes</b> </p> 385 * <p>Create a component from a recipe, which is a file that defines the 386 * component's metadata, parameters, dependencies, lifecycle, artifacts, and 387 * platform capability. For more information, see <a 388 * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/component-recipe-reference.html">IoT 389 * Greengrass component recipe reference</a> in the <i>IoT Greengrass V2 Developer 390 * Guide</i>.</p> <p>To create a component from a recipe, specify 391 * <code>inlineRecipe</code> when you call this operation.</p> </li> <li> <p> 392 * <b>Create components from Lambda functions</b> </p> <p>Create a component from 393 * an Lambda function that runs on IoT Greengrass. This creates a recipe and 394 * artifacts from the Lambda function's deployment package. You can use this 395 * operation to migrate Lambda functions from IoT Greengrass V1 to IoT Greengrass 396 * V2.</p> <p>This function only accepts Lambda functions that use the following 397 * runtimes:</p> <ul> <li> <p>Python 2.7 – <code>python2.7</code> </p> </li> <li> 398 * <p>Python 3.7 – <code>python3.7</code> </p> </li> <li> <p>Python 3.8 – 399 * <code>python3.8</code> </p> </li> <li> <p>Java 8 – <code>java8</code> </p> </li> 400 * <li> <p>Node.js 10 – <code>nodejs10.x</code> </p> </li> <li> <p>Node.js 12 – 401 * <code>nodejs12.x</code> </p> </li> </ul> <p>To create a component from a Lambda 402 * function, specify <code>lambdaFunction</code> when you call this operation.</p> 403 * </li> </ul><p><h3>See Also:</h3> <a 404 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateComponentVersion">AWS 405 * API Reference</a></p> 406 * 407 * returns a future to the operation so that it can be executed in parallel to other requests. 408 */ 409 virtual Model::CreateComponentVersionOutcomeCallable CreateComponentVersionCallable(const Model::CreateComponentVersionRequest& request) const; 410 411 /** 412 * <p>Creates a component. Components are software that run on Greengrass core 413 * devices. After you develop and test a component on your core device, you can use 414 * this operation to upload your component to IoT Greengrass. Then, you can deploy 415 * the component to other core devices.</p> <p>You can use this operation to do the 416 * following:</p> <ul> <li> <p> <b>Create components from recipes</b> </p> 417 * <p>Create a component from a recipe, which is a file that defines the 418 * component's metadata, parameters, dependencies, lifecycle, artifacts, and 419 * platform capability. For more information, see <a 420 * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/component-recipe-reference.html">IoT 421 * Greengrass component recipe reference</a> in the <i>IoT Greengrass V2 Developer 422 * Guide</i>.</p> <p>To create a component from a recipe, specify 423 * <code>inlineRecipe</code> when you call this operation.</p> </li> <li> <p> 424 * <b>Create components from Lambda functions</b> </p> <p>Create a component from 425 * an Lambda function that runs on IoT Greengrass. This creates a recipe and 426 * artifacts from the Lambda function's deployment package. You can use this 427 * operation to migrate Lambda functions from IoT Greengrass V1 to IoT Greengrass 428 * V2.</p> <p>This function only accepts Lambda functions that use the following 429 * runtimes:</p> <ul> <li> <p>Python 2.7 – <code>python2.7</code> </p> </li> <li> 430 * <p>Python 3.7 – <code>python3.7</code> </p> </li> <li> <p>Python 3.8 – 431 * <code>python3.8</code> </p> </li> <li> <p>Java 8 – <code>java8</code> </p> </li> 432 * <li> <p>Node.js 10 – <code>nodejs10.x</code> </p> </li> <li> <p>Node.js 12 – 433 * <code>nodejs12.x</code> </p> </li> </ul> <p>To create a component from a Lambda 434 * function, specify <code>lambdaFunction</code> when you call this operation.</p> 435 * </li> </ul><p><h3>See Also:</h3> <a 436 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateComponentVersion">AWS 437 * API Reference</a></p> 438 * 439 * Queues the request into a thread executor and triggers associated callback when operation has finished. 440 */ 441 virtual void CreateComponentVersionAsync(const Model::CreateComponentVersionRequest& request, const CreateComponentVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 442 443 /** 444 * <p>Creates a continuous deployment for a target, which is a Greengrass core 445 * device or group of core devices. When you add a new core device to a group of 446 * core devices that has a deployment, IoT Greengrass deploys that group's 447 * deployment to the new device.</p> <p>You can define one deployment for each 448 * target. When you create a new deployment for a target that has an existing 449 * deployment, you replace the previous deployment. IoT Greengrass applies the new 450 * deployment to the target devices.</p> <p>Every deployment has a revision number 451 * that indicates how many deployment revisions you define for a target. Use this 452 * operation to create a new revision of an existing deployment. This operation 453 * returns the revision number of the new deployment when you create it.</p> <p>For 454 * more information, see the <a 455 * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/create-deployments.html">Create 456 * deployments</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p><p><h3>See 457 * Also:</h3> <a 458 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateDeployment">AWS 459 * API Reference</a></p> 460 */ 461 virtual Model::CreateDeploymentOutcome CreateDeployment(const Model::CreateDeploymentRequest& request) const; 462 463 /** 464 * <p>Creates a continuous deployment for a target, which is a Greengrass core 465 * device or group of core devices. When you add a new core device to a group of 466 * core devices that has a deployment, IoT Greengrass deploys that group's 467 * deployment to the new device.</p> <p>You can define one deployment for each 468 * target. When you create a new deployment for a target that has an existing 469 * deployment, you replace the previous deployment. IoT Greengrass applies the new 470 * deployment to the target devices.</p> <p>Every deployment has a revision number 471 * that indicates how many deployment revisions you define for a target. Use this 472 * operation to create a new revision of an existing deployment. This operation 473 * returns the revision number of the new deployment when you create it.</p> <p>For 474 * more information, see the <a 475 * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/create-deployments.html">Create 476 * deployments</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p><p><h3>See 477 * Also:</h3> <a 478 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateDeployment">AWS 479 * API Reference</a></p> 480 * 481 * returns a future to the operation so that it can be executed in parallel to other requests. 482 */ 483 virtual Model::CreateDeploymentOutcomeCallable CreateDeploymentCallable(const Model::CreateDeploymentRequest& request) const; 484 485 /** 486 * <p>Creates a continuous deployment for a target, which is a Greengrass core 487 * device or group of core devices. When you add a new core device to a group of 488 * core devices that has a deployment, IoT Greengrass deploys that group's 489 * deployment to the new device.</p> <p>You can define one deployment for each 490 * target. When you create a new deployment for a target that has an existing 491 * deployment, you replace the previous deployment. IoT Greengrass applies the new 492 * deployment to the target devices.</p> <p>Every deployment has a revision number 493 * that indicates how many deployment revisions you define for a target. Use this 494 * operation to create a new revision of an existing deployment. This operation 495 * returns the revision number of the new deployment when you create it.</p> <p>For 496 * more information, see the <a 497 * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/create-deployments.html">Create 498 * deployments</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p><p><h3>See 499 * Also:</h3> <a 500 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateDeployment">AWS 501 * API Reference</a></p> 502 * 503 * Queues the request into a thread executor and triggers associated callback when operation has finished. 504 */ 505 virtual void CreateDeploymentAsync(const Model::CreateDeploymentRequest& request, const CreateDeploymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 506 507 /** 508 * <p>Deletes a version of a component from IoT Greengrass.</p> <p>This 509 * operation deletes the component's recipe and artifacts. As a result, deployments 510 * that refer to this component version will fail. If you have deployments that use 511 * this component version, you can remove the component from the deployment or 512 * update the deployment to use a valid version.</p> <p><h3>See Also:</h3> 513 * <a 514 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteComponent">AWS 515 * API Reference</a></p> 516 */ 517 virtual Model::DeleteComponentOutcome DeleteComponent(const Model::DeleteComponentRequest& request) const; 518 519 /** 520 * <p>Deletes a version of a component from IoT Greengrass.</p> <p>This 521 * operation deletes the component's recipe and artifacts. As a result, deployments 522 * that refer to this component version will fail. If you have deployments that use 523 * this component version, you can remove the component from the deployment or 524 * update the deployment to use a valid version.</p> <p><h3>See Also:</h3> 525 * <a 526 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteComponent">AWS 527 * API Reference</a></p> 528 * 529 * returns a future to the operation so that it can be executed in parallel to other requests. 530 */ 531 virtual Model::DeleteComponentOutcomeCallable DeleteComponentCallable(const Model::DeleteComponentRequest& request) const; 532 533 /** 534 * <p>Deletes a version of a component from IoT Greengrass.</p> <p>This 535 * operation deletes the component's recipe and artifacts. As a result, deployments 536 * that refer to this component version will fail. If you have deployments that use 537 * this component version, you can remove the component from the deployment or 538 * update the deployment to use a valid version.</p> <p><h3>See Also:</h3> 539 * <a 540 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteComponent">AWS 541 * API Reference</a></p> 542 * 543 * Queues the request into a thread executor and triggers associated callback when operation has finished. 544 */ 545 virtual void DeleteComponentAsync(const Model::DeleteComponentRequest& request, const DeleteComponentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 546 547 /** 548 * <p>Deletes a Greengrass core device, which is an IoT thing. This operation 549 * removes the core device from the list of core devices. This operation doesn't 550 * delete the IoT thing. For more information about how to delete the IoT thing, 551 * see <a 552 * href="https://docs.aws.amazon.com/iot/latest/apireference/API_DeleteThing.html">DeleteThing</a> 553 * in the <i>IoT API Reference</i>.</p><p><h3>See Also:</h3> <a 554 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteCoreDevice">AWS 555 * API Reference</a></p> 556 */ 557 virtual Model::DeleteCoreDeviceOutcome DeleteCoreDevice(const Model::DeleteCoreDeviceRequest& request) const; 558 559 /** 560 * <p>Deletes a Greengrass core device, which is an IoT thing. This operation 561 * removes the core device from the list of core devices. This operation doesn't 562 * delete the IoT thing. For more information about how to delete the IoT thing, 563 * see <a 564 * href="https://docs.aws.amazon.com/iot/latest/apireference/API_DeleteThing.html">DeleteThing</a> 565 * in the <i>IoT API Reference</i>.</p><p><h3>See Also:</h3> <a 566 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteCoreDevice">AWS 567 * API Reference</a></p> 568 * 569 * returns a future to the operation so that it can be executed in parallel to other requests. 570 */ 571 virtual Model::DeleteCoreDeviceOutcomeCallable DeleteCoreDeviceCallable(const Model::DeleteCoreDeviceRequest& request) const; 572 573 /** 574 * <p>Deletes a Greengrass core device, which is an IoT thing. This operation 575 * removes the core device from the list of core devices. This operation doesn't 576 * delete the IoT thing. For more information about how to delete the IoT thing, 577 * see <a 578 * href="https://docs.aws.amazon.com/iot/latest/apireference/API_DeleteThing.html">DeleteThing</a> 579 * in the <i>IoT API Reference</i>.</p><p><h3>See Also:</h3> <a 580 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteCoreDevice">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 DeleteCoreDeviceAsync(const Model::DeleteCoreDeviceRequest& request, const DeleteCoreDeviceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 586 587 /** 588 * <p>Retrieves metadata for a version of a component.</p><p><h3>See Also:</h3> 589 * <a 590 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DescribeComponent">AWS 591 * API Reference</a></p> 592 */ 593 virtual Model::DescribeComponentOutcome DescribeComponent(const Model::DescribeComponentRequest& request) const; 594 595 /** 596 * <p>Retrieves metadata for a version of a component.</p><p><h3>See Also:</h3> 597 * <a 598 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DescribeComponent">AWS 599 * API Reference</a></p> 600 * 601 * returns a future to the operation so that it can be executed in parallel to other requests. 602 */ 603 virtual Model::DescribeComponentOutcomeCallable DescribeComponentCallable(const Model::DescribeComponentRequest& request) const; 604 605 /** 606 * <p>Retrieves metadata for a version of a component.</p><p><h3>See Also:</h3> 607 * <a 608 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DescribeComponent">AWS 609 * API Reference</a></p> 610 * 611 * Queues the request into a thread executor and triggers associated callback when operation has finished. 612 */ 613 virtual void DescribeComponentAsync(const Model::DescribeComponentRequest& request, const DescribeComponentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 614 615 /** 616 * <p>Gets the recipe for a version of a component. Core devices can call this 617 * operation to identify the artifacts and requirements to install a 618 * component.</p><p><h3>See Also:</h3> <a 619 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetComponent">AWS 620 * API Reference</a></p> 621 */ 622 virtual Model::GetComponentOutcome GetComponent(const Model::GetComponentRequest& request) const; 623 624 /** 625 * <p>Gets the recipe for a version of a component. Core devices can call this 626 * operation to identify the artifacts and requirements to install a 627 * component.</p><p><h3>See Also:</h3> <a 628 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetComponent">AWS 629 * API Reference</a></p> 630 * 631 * returns a future to the operation so that it can be executed in parallel to other requests. 632 */ 633 virtual Model::GetComponentOutcomeCallable GetComponentCallable(const Model::GetComponentRequest& request) const; 634 635 /** 636 * <p>Gets the recipe for a version of a component. Core devices can call this 637 * operation to identify the artifacts and requirements to install a 638 * component.</p><p><h3>See Also:</h3> <a 639 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetComponent">AWS 640 * API Reference</a></p> 641 * 642 * Queues the request into a thread executor and triggers associated callback when operation has finished. 643 */ 644 virtual void GetComponentAsync(const Model::GetComponentRequest& request, const GetComponentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 645 646 /** 647 * <p>Gets the pre-signed URL to download a public component artifact. Core devices 648 * call this operation to identify the URL that they can use to download an 649 * artifact to install.</p><p><h3>See Also:</h3> <a 650 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetComponentVersionArtifact">AWS 651 * API Reference</a></p> 652 */ 653 virtual Model::GetComponentVersionArtifactOutcome GetComponentVersionArtifact(const Model::GetComponentVersionArtifactRequest& request) const; 654 655 /** 656 * <p>Gets the pre-signed URL to download a public component artifact. Core devices 657 * call this operation to identify the URL that they can use to download an 658 * artifact to install.</p><p><h3>See Also:</h3> <a 659 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetComponentVersionArtifact">AWS 660 * API Reference</a></p> 661 * 662 * returns a future to the operation so that it can be executed in parallel to other requests. 663 */ 664 virtual Model::GetComponentVersionArtifactOutcomeCallable GetComponentVersionArtifactCallable(const Model::GetComponentVersionArtifactRequest& request) const; 665 666 /** 667 * <p>Gets the pre-signed URL to download a public component artifact. Core devices 668 * call this operation to identify the URL that they can use to download an 669 * artifact to install.</p><p><h3>See Also:</h3> <a 670 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetComponentVersionArtifact">AWS 671 * API Reference</a></p> 672 * 673 * Queues the request into a thread executor and triggers associated callback when operation has finished. 674 */ 675 virtual void GetComponentVersionArtifactAsync(const Model::GetComponentVersionArtifactRequest& request, const GetComponentVersionArtifactResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 676 677 /** 678 * <p>Retrieves metadata for a Greengrass core device.</p><p><h3>See Also:</h3> 679 * <a 680 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetCoreDevice">AWS 681 * API Reference</a></p> 682 */ 683 virtual Model::GetCoreDeviceOutcome GetCoreDevice(const Model::GetCoreDeviceRequest& request) const; 684 685 /** 686 * <p>Retrieves metadata for a Greengrass core device.</p><p><h3>See Also:</h3> 687 * <a 688 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetCoreDevice">AWS 689 * API Reference</a></p> 690 * 691 * returns a future to the operation so that it can be executed in parallel to other requests. 692 */ 693 virtual Model::GetCoreDeviceOutcomeCallable GetCoreDeviceCallable(const Model::GetCoreDeviceRequest& request) const; 694 695 /** 696 * <p>Retrieves metadata for a Greengrass core device.</p><p><h3>See Also:</h3> 697 * <a 698 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetCoreDevice">AWS 699 * API Reference</a></p> 700 * 701 * Queues the request into a thread executor and triggers associated callback when operation has finished. 702 */ 703 virtual void GetCoreDeviceAsync(const Model::GetCoreDeviceRequest& request, const GetCoreDeviceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 704 705 /** 706 * <p>Gets a deployment. Deployments define the components that run on Greengrass 707 * core devices.</p><p><h3>See Also:</h3> <a 708 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetDeployment">AWS 709 * API Reference</a></p> 710 */ 711 virtual Model::GetDeploymentOutcome GetDeployment(const Model::GetDeploymentRequest& request) const; 712 713 /** 714 * <p>Gets a deployment. Deployments define the components that run on Greengrass 715 * core devices.</p><p><h3>See Also:</h3> <a 716 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetDeployment">AWS 717 * API Reference</a></p> 718 * 719 * returns a future to the operation so that it can be executed in parallel to other requests. 720 */ 721 virtual Model::GetDeploymentOutcomeCallable GetDeploymentCallable(const Model::GetDeploymentRequest& request) const; 722 723 /** 724 * <p>Gets a deployment. Deployments define the components that run on Greengrass 725 * core devices.</p><p><h3>See Also:</h3> <a 726 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetDeployment">AWS 727 * API Reference</a></p> 728 * 729 * Queues the request into a thread executor and triggers associated callback when operation has finished. 730 */ 731 virtual void GetDeploymentAsync(const Model::GetDeploymentRequest& request, const GetDeploymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 732 733 /** 734 * <p>Retrieves a paginated list of client devices that are associated with a core 735 * device.</p><p><h3>See Also:</h3> <a 736 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListClientDevicesAssociatedWithCoreDevice">AWS 737 * API Reference</a></p> 738 */ 739 virtual Model::ListClientDevicesAssociatedWithCoreDeviceOutcome ListClientDevicesAssociatedWithCoreDevice(const Model::ListClientDevicesAssociatedWithCoreDeviceRequest& request) const; 740 741 /** 742 * <p>Retrieves a paginated list of client devices that are associated with a core 743 * device.</p><p><h3>See Also:</h3> <a 744 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListClientDevicesAssociatedWithCoreDevice">AWS 745 * API Reference</a></p> 746 * 747 * returns a future to the operation so that it can be executed in parallel to other requests. 748 */ 749 virtual Model::ListClientDevicesAssociatedWithCoreDeviceOutcomeCallable ListClientDevicesAssociatedWithCoreDeviceCallable(const Model::ListClientDevicesAssociatedWithCoreDeviceRequest& request) const; 750 751 /** 752 * <p>Retrieves a paginated list of client devices that are associated with a core 753 * device.</p><p><h3>See Also:</h3> <a 754 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListClientDevicesAssociatedWithCoreDevice">AWS 755 * API Reference</a></p> 756 * 757 * Queues the request into a thread executor and triggers associated callback when operation has finished. 758 */ 759 virtual void ListClientDevicesAssociatedWithCoreDeviceAsync(const Model::ListClientDevicesAssociatedWithCoreDeviceRequest& request, const ListClientDevicesAssociatedWithCoreDeviceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 760 761 /** 762 * <p>Retrieves a paginated list of all versions for a component. Greater versions 763 * are listed first.</p><p><h3>See Also:</h3> <a 764 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListComponentVersions">AWS 765 * API Reference</a></p> 766 */ 767 virtual Model::ListComponentVersionsOutcome ListComponentVersions(const Model::ListComponentVersionsRequest& request) const; 768 769 /** 770 * <p>Retrieves a paginated list of all versions for a component. Greater versions 771 * are listed first.</p><p><h3>See Also:</h3> <a 772 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListComponentVersions">AWS 773 * API Reference</a></p> 774 * 775 * returns a future to the operation so that it can be executed in parallel to other requests. 776 */ 777 virtual Model::ListComponentVersionsOutcomeCallable ListComponentVersionsCallable(const Model::ListComponentVersionsRequest& request) const; 778 779 /** 780 * <p>Retrieves a paginated list of all versions for a component. Greater versions 781 * are listed first.</p><p><h3>See Also:</h3> <a 782 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListComponentVersions">AWS 783 * API Reference</a></p> 784 * 785 * Queues the request into a thread executor and triggers associated callback when operation has finished. 786 */ 787 virtual void ListComponentVersionsAsync(const Model::ListComponentVersionsRequest& request, const ListComponentVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 788 789 /** 790 * <p>Retrieves a paginated list of component summaries. This list includes 791 * components that you have permission to view.</p><p><h3>See Also:</h3> <a 792 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListComponents">AWS 793 * API Reference</a></p> 794 */ 795 virtual Model::ListComponentsOutcome ListComponents(const Model::ListComponentsRequest& request) const; 796 797 /** 798 * <p>Retrieves a paginated list of component summaries. This list includes 799 * components that you have permission to view.</p><p><h3>See Also:</h3> <a 800 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListComponents">AWS 801 * API Reference</a></p> 802 * 803 * returns a future to the operation so that it can be executed in parallel to other requests. 804 */ 805 virtual Model::ListComponentsOutcomeCallable ListComponentsCallable(const Model::ListComponentsRequest& request) const; 806 807 /** 808 * <p>Retrieves a paginated list of component summaries. This list includes 809 * components that you have permission to view.</p><p><h3>See Also:</h3> <a 810 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListComponents">AWS 811 * API Reference</a></p> 812 * 813 * Queues the request into a thread executor and triggers associated callback when operation has finished. 814 */ 815 virtual void ListComponentsAsync(const Model::ListComponentsRequest& request, const ListComponentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 816 817 /** 818 * <p>Retrieves a paginated list of Greengrass core devices.</p><p><h3>See 819 * Also:</h3> <a 820 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListCoreDevices">AWS 821 * API Reference</a></p> 822 */ 823 virtual Model::ListCoreDevicesOutcome ListCoreDevices(const Model::ListCoreDevicesRequest& request) const; 824 825 /** 826 * <p>Retrieves a paginated list of Greengrass core devices.</p><p><h3>See 827 * Also:</h3> <a 828 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListCoreDevices">AWS 829 * API Reference</a></p> 830 * 831 * returns a future to the operation so that it can be executed in parallel to other requests. 832 */ 833 virtual Model::ListCoreDevicesOutcomeCallable ListCoreDevicesCallable(const Model::ListCoreDevicesRequest& request) const; 834 835 /** 836 * <p>Retrieves a paginated list of Greengrass core devices.</p><p><h3>See 837 * Also:</h3> <a 838 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListCoreDevices">AWS 839 * API Reference</a></p> 840 * 841 * Queues the request into a thread executor and triggers associated callback when operation has finished. 842 */ 843 virtual void ListCoreDevicesAsync(const Model::ListCoreDevicesRequest& request, const ListCoreDevicesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 844 845 /** 846 * <p>Retrieves a paginated list of deployments.</p><p><h3>See Also:</h3> <a 847 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListDeployments">AWS 848 * API Reference</a></p> 849 */ 850 virtual Model::ListDeploymentsOutcome ListDeployments(const Model::ListDeploymentsRequest& request) const; 851 852 /** 853 * <p>Retrieves a paginated list of deployments.</p><p><h3>See Also:</h3> <a 854 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListDeployments">AWS 855 * API Reference</a></p> 856 * 857 * returns a future to the operation so that it can be executed in parallel to other requests. 858 */ 859 virtual Model::ListDeploymentsOutcomeCallable ListDeploymentsCallable(const Model::ListDeploymentsRequest& request) const; 860 861 /** 862 * <p>Retrieves a paginated list of deployments.</p><p><h3>See Also:</h3> <a 863 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListDeployments">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 ListDeploymentsAsync(const Model::ListDeploymentsRequest& request, const ListDeploymentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 869 870 /** 871 * <p>Retrieves a paginated list of deployment jobs that IoT Greengrass sends to 872 * Greengrass core devices.</p><p><h3>See Also:</h3> <a 873 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListEffectiveDeployments">AWS 874 * API Reference</a></p> 875 */ 876 virtual Model::ListEffectiveDeploymentsOutcome ListEffectiveDeployments(const Model::ListEffectiveDeploymentsRequest& request) const; 877 878 /** 879 * <p>Retrieves a paginated list of deployment jobs that IoT Greengrass sends to 880 * Greengrass core devices.</p><p><h3>See Also:</h3> <a 881 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListEffectiveDeployments">AWS 882 * API Reference</a></p> 883 * 884 * returns a future to the operation so that it can be executed in parallel to other requests. 885 */ 886 virtual Model::ListEffectiveDeploymentsOutcomeCallable ListEffectiveDeploymentsCallable(const Model::ListEffectiveDeploymentsRequest& request) const; 887 888 /** 889 * <p>Retrieves a paginated list of deployment jobs that IoT Greengrass sends to 890 * Greengrass core devices.</p><p><h3>See Also:</h3> <a 891 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListEffectiveDeployments">AWS 892 * API Reference</a></p> 893 * 894 * Queues the request into a thread executor and triggers associated callback when operation has finished. 895 */ 896 virtual void ListEffectiveDeploymentsAsync(const Model::ListEffectiveDeploymentsRequest& request, const ListEffectiveDeploymentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 897 898 /** 899 * <p>Retrieves a paginated list of the components that a Greengrass core device 900 * runs.</p><p><h3>See Also:</h3> <a 901 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListInstalledComponents">AWS 902 * API Reference</a></p> 903 */ 904 virtual Model::ListInstalledComponentsOutcome ListInstalledComponents(const Model::ListInstalledComponentsRequest& request) const; 905 906 /** 907 * <p>Retrieves a paginated list of the components that a Greengrass core device 908 * runs.</p><p><h3>See Also:</h3> <a 909 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListInstalledComponents">AWS 910 * API Reference</a></p> 911 * 912 * returns a future to the operation so that it can be executed in parallel to other requests. 913 */ 914 virtual Model::ListInstalledComponentsOutcomeCallable ListInstalledComponentsCallable(const Model::ListInstalledComponentsRequest& request) const; 915 916 /** 917 * <p>Retrieves a paginated list of the components that a Greengrass core device 918 * runs.</p><p><h3>See Also:</h3> <a 919 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListInstalledComponents">AWS 920 * API Reference</a></p> 921 * 922 * Queues the request into a thread executor and triggers associated callback when operation has finished. 923 */ 924 virtual void ListInstalledComponentsAsync(const Model::ListInstalledComponentsRequest& request, const ListInstalledComponentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 925 926 /** 927 * <p>Retrieves the list of tags for an IoT Greengrass resource.</p><p><h3>See 928 * Also:</h3> <a 929 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListTagsForResource">AWS 930 * API Reference</a></p> 931 */ 932 virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; 933 934 /** 935 * <p>Retrieves the list of tags for an IoT Greengrass resource.</p><p><h3>See 936 * Also:</h3> <a 937 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListTagsForResource">AWS 938 * API Reference</a></p> 939 * 940 * returns a future to the operation so that it can be executed in parallel to other requests. 941 */ 942 virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; 943 944 /** 945 * <p>Retrieves the list of tags for an IoT Greengrass resource.</p><p><h3>See 946 * Also:</h3> <a 947 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListTagsForResource">AWS 948 * API Reference</a></p> 949 * 950 * Queues the request into a thread executor and triggers associated callback when operation has finished. 951 */ 952 virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 953 954 /** 955 * <p>Retrieves a list of components that meet the component, version, and platform 956 * requirements of a deployment. Greengrass core devices call this operation when 957 * they receive a deployment to identify the components to install.</p> <p>This 958 * operation identifies components that meet all dependency requirements for a 959 * deployment. If the requirements conflict, then this operation returns an error 960 * and the deployment fails. For example, this occurs if component <code>A</code> 961 * requires version <code>>2.0.0</code> and component <code>B</code> requires 962 * version <code><2.0.0</code> of a component dependency.</p> <p>When you 963 * specify the component candidates to resolve, IoT Greengrass compares each 964 * component's digest from the core device with the component's digest in the 965 * Amazon Web Services Cloud. If the digests don't match, then IoT Greengrass 966 * specifies to use the version from the Amazon Web Services Cloud.</p> 967 * <p>To use this operation, you must use the data plane API endpoint and 968 * authenticate with an IoT device certificate. For more information, see <a 969 * href="https://docs.aws.amazon.com/general/latest/gr/greengrass.html">IoT 970 * Greengrass endpoints and quotas</a>.</p> <p><h3>See Also:</h3> <a 971 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ResolveComponentCandidates">AWS 972 * API Reference</a></p> 973 */ 974 virtual Model::ResolveComponentCandidatesOutcome ResolveComponentCandidates(const Model::ResolveComponentCandidatesRequest& request) const; 975 976 /** 977 * <p>Retrieves a list of components that meet the component, version, and platform 978 * requirements of a deployment. Greengrass core devices call this operation when 979 * they receive a deployment to identify the components to install.</p> <p>This 980 * operation identifies components that meet all dependency requirements for a 981 * deployment. If the requirements conflict, then this operation returns an error 982 * and the deployment fails. For example, this occurs if component <code>A</code> 983 * requires version <code>>2.0.0</code> and component <code>B</code> requires 984 * version <code><2.0.0</code> of a component dependency.</p> <p>When you 985 * specify the component candidates to resolve, IoT Greengrass compares each 986 * component's digest from the core device with the component's digest in the 987 * Amazon Web Services Cloud. If the digests don't match, then IoT Greengrass 988 * specifies to use the version from the Amazon Web Services Cloud.</p> 989 * <p>To use this operation, you must use the data plane API endpoint and 990 * authenticate with an IoT device certificate. For more information, see <a 991 * href="https://docs.aws.amazon.com/general/latest/gr/greengrass.html">IoT 992 * Greengrass endpoints and quotas</a>.</p> <p><h3>See Also:</h3> <a 993 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ResolveComponentCandidates">AWS 994 * API Reference</a></p> 995 * 996 * returns a future to the operation so that it can be executed in parallel to other requests. 997 */ 998 virtual Model::ResolveComponentCandidatesOutcomeCallable ResolveComponentCandidatesCallable(const Model::ResolveComponentCandidatesRequest& request) const; 999 1000 /** 1001 * <p>Retrieves a list of components that meet the component, version, and platform 1002 * requirements of a deployment. Greengrass core devices call this operation when 1003 * they receive a deployment to identify the components to install.</p> <p>This 1004 * operation identifies components that meet all dependency requirements for a 1005 * deployment. If the requirements conflict, then this operation returns an error 1006 * and the deployment fails. For example, this occurs if component <code>A</code> 1007 * requires version <code>>2.0.0</code> and component <code>B</code> requires 1008 * version <code><2.0.0</code> of a component dependency.</p> <p>When you 1009 * specify the component candidates to resolve, IoT Greengrass compares each 1010 * component's digest from the core device with the component's digest in the 1011 * Amazon Web Services Cloud. If the digests don't match, then IoT Greengrass 1012 * specifies to use the version from the Amazon Web Services Cloud.</p> 1013 * <p>To use this operation, you must use the data plane API endpoint and 1014 * authenticate with an IoT device certificate. For more information, see <a 1015 * href="https://docs.aws.amazon.com/general/latest/gr/greengrass.html">IoT 1016 * Greengrass endpoints and quotas</a>.</p> <p><h3>See Also:</h3> <a 1017 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ResolveComponentCandidates">AWS 1018 * API Reference</a></p> 1019 * 1020 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1021 */ 1022 virtual void ResolveComponentCandidatesAsync(const Model::ResolveComponentCandidatesRequest& request, const ResolveComponentCandidatesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1023 1024 /** 1025 * <p>Adds tags to an IoT Greengrass resource. If a tag already exists for the 1026 * resource, this operation updates the tag's value.</p><p><h3>See Also:</h3> <a 1027 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/TagResource">AWS 1028 * API Reference</a></p> 1029 */ 1030 virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; 1031 1032 /** 1033 * <p>Adds tags to an IoT Greengrass resource. If a tag already exists for the 1034 * resource, this operation updates the tag's value.</p><p><h3>See Also:</h3> <a 1035 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/TagResource">AWS 1036 * API Reference</a></p> 1037 * 1038 * returns a future to the operation so that it can be executed in parallel to other requests. 1039 */ 1040 virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; 1041 1042 /** 1043 * <p>Adds tags to an IoT Greengrass resource. If a tag already exists for the 1044 * resource, this operation updates the tag's value.</p><p><h3>See Also:</h3> <a 1045 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/TagResource">AWS 1046 * API Reference</a></p> 1047 * 1048 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1049 */ 1050 virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1051 1052 /** 1053 * <p>Removes a tag from an IoT Greengrass resource.</p><p><h3>See Also:</h3> <a 1054 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/UntagResource">AWS 1055 * API Reference</a></p> 1056 */ 1057 virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; 1058 1059 /** 1060 * <p>Removes a tag from an IoT Greengrass resource.</p><p><h3>See Also:</h3> <a 1061 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/UntagResource">AWS 1062 * API Reference</a></p> 1063 * 1064 * returns a future to the operation so that it can be executed in parallel to other requests. 1065 */ 1066 virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const; 1067 1068 /** 1069 * <p>Removes a tag from an IoT Greengrass resource.</p><p><h3>See Also:</h3> <a 1070 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/UntagResource">AWS 1071 * API Reference</a></p> 1072 * 1073 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1074 */ 1075 virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1076 1077 1078 void OverrideEndpoint(const Aws::String& endpoint); 1079 private: 1080 void init(const Aws::Client::ClientConfiguration& clientConfiguration); 1081 void BatchAssociateClientDeviceWithCoreDeviceAsyncHelper(const Model::BatchAssociateClientDeviceWithCoreDeviceRequest& request, const BatchAssociateClientDeviceWithCoreDeviceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1082 void BatchDisassociateClientDeviceFromCoreDeviceAsyncHelper(const Model::BatchDisassociateClientDeviceFromCoreDeviceRequest& request, const BatchDisassociateClientDeviceFromCoreDeviceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1083 void CancelDeploymentAsyncHelper(const Model::CancelDeploymentRequest& request, const CancelDeploymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1084 void CreateComponentVersionAsyncHelper(const Model::CreateComponentVersionRequest& request, const CreateComponentVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1085 void CreateDeploymentAsyncHelper(const Model::CreateDeploymentRequest& request, const CreateDeploymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1086 void DeleteComponentAsyncHelper(const Model::DeleteComponentRequest& request, const DeleteComponentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1087 void DeleteCoreDeviceAsyncHelper(const Model::DeleteCoreDeviceRequest& request, const DeleteCoreDeviceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1088 void DescribeComponentAsyncHelper(const Model::DescribeComponentRequest& request, const DescribeComponentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1089 void GetComponentAsyncHelper(const Model::GetComponentRequest& request, const GetComponentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1090 void GetComponentVersionArtifactAsyncHelper(const Model::GetComponentVersionArtifactRequest& request, const GetComponentVersionArtifactResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1091 void GetCoreDeviceAsyncHelper(const Model::GetCoreDeviceRequest& request, const GetCoreDeviceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1092 void GetDeploymentAsyncHelper(const Model::GetDeploymentRequest& request, const GetDeploymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1093 void ListClientDevicesAssociatedWithCoreDeviceAsyncHelper(const Model::ListClientDevicesAssociatedWithCoreDeviceRequest& request, const ListClientDevicesAssociatedWithCoreDeviceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1094 void ListComponentVersionsAsyncHelper(const Model::ListComponentVersionsRequest& request, const ListComponentVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1095 void ListComponentsAsyncHelper(const Model::ListComponentsRequest& request, const ListComponentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1096 void ListCoreDevicesAsyncHelper(const Model::ListCoreDevicesRequest& request, const ListCoreDevicesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1097 void ListDeploymentsAsyncHelper(const Model::ListDeploymentsRequest& request, const ListDeploymentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1098 void ListEffectiveDeploymentsAsyncHelper(const Model::ListEffectiveDeploymentsRequest& request, const ListEffectiveDeploymentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1099 void ListInstalledComponentsAsyncHelper(const Model::ListInstalledComponentsRequest& request, const ListInstalledComponentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1100 void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1101 void ResolveComponentCandidatesAsyncHelper(const Model::ResolveComponentCandidatesRequest& request, const ResolveComponentCandidatesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1102 void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1103 void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1104 1105 Aws::String m_uri; 1106 Aws::String m_configScheme; 1107 std::shared_ptr<Aws::Utils::Threading::Executor> m_executor; 1108 }; 1109 1110 } // namespace GreengrassV2 1111 } // namespace Aws 1112