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/synthetics/Synthetics_EXPORTS.h> 8 #include <aws/synthetics/SyntheticsErrors.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/synthetics/model/CreateCanaryResult.h> 15 #include <aws/synthetics/model/DeleteCanaryResult.h> 16 #include <aws/synthetics/model/DescribeCanariesResult.h> 17 #include <aws/synthetics/model/DescribeCanariesLastRunResult.h> 18 #include <aws/synthetics/model/DescribeRuntimeVersionsResult.h> 19 #include <aws/synthetics/model/GetCanaryResult.h> 20 #include <aws/synthetics/model/GetCanaryRunsResult.h> 21 #include <aws/synthetics/model/ListTagsForResourceResult.h> 22 #include <aws/synthetics/model/StartCanaryResult.h> 23 #include <aws/synthetics/model/StopCanaryResult.h> 24 #include <aws/synthetics/model/TagResourceResult.h> 25 #include <aws/synthetics/model/UntagResourceResult.h> 26 #include <aws/synthetics/model/UpdateCanaryResult.h> 27 #include <aws/core/client/AsyncCallerContext.h> 28 #include <aws/core/http/HttpTypes.h> 29 #include <future> 30 #include <functional> 31 32 namespace Aws 33 { 34 35 namespace Http 36 { 37 class HttpClient; 38 class HttpClientFactory; 39 } // namespace Http 40 41 namespace Utils 42 { 43 template< typename R, typename E> class Outcome; 44 namespace Threading 45 { 46 class Executor; 47 } // namespace Threading 48 } // namespace Utils 49 50 namespace Auth 51 { 52 class AWSCredentials; 53 class AWSCredentialsProvider; 54 } // namespace Auth 55 56 namespace Client 57 { 58 class RetryStrategy; 59 } // namespace Client 60 61 namespace Synthetics 62 { 63 64 namespace Model 65 { 66 class CreateCanaryRequest; 67 class DeleteCanaryRequest; 68 class DescribeCanariesRequest; 69 class DescribeCanariesLastRunRequest; 70 class DescribeRuntimeVersionsRequest; 71 class GetCanaryRequest; 72 class GetCanaryRunsRequest; 73 class ListTagsForResourceRequest; 74 class StartCanaryRequest; 75 class StopCanaryRequest; 76 class TagResourceRequest; 77 class UntagResourceRequest; 78 class UpdateCanaryRequest; 79 80 typedef Aws::Utils::Outcome<CreateCanaryResult, SyntheticsError> CreateCanaryOutcome; 81 typedef Aws::Utils::Outcome<DeleteCanaryResult, SyntheticsError> DeleteCanaryOutcome; 82 typedef Aws::Utils::Outcome<DescribeCanariesResult, SyntheticsError> DescribeCanariesOutcome; 83 typedef Aws::Utils::Outcome<DescribeCanariesLastRunResult, SyntheticsError> DescribeCanariesLastRunOutcome; 84 typedef Aws::Utils::Outcome<DescribeRuntimeVersionsResult, SyntheticsError> DescribeRuntimeVersionsOutcome; 85 typedef Aws::Utils::Outcome<GetCanaryResult, SyntheticsError> GetCanaryOutcome; 86 typedef Aws::Utils::Outcome<GetCanaryRunsResult, SyntheticsError> GetCanaryRunsOutcome; 87 typedef Aws::Utils::Outcome<ListTagsForResourceResult, SyntheticsError> ListTagsForResourceOutcome; 88 typedef Aws::Utils::Outcome<StartCanaryResult, SyntheticsError> StartCanaryOutcome; 89 typedef Aws::Utils::Outcome<StopCanaryResult, SyntheticsError> StopCanaryOutcome; 90 typedef Aws::Utils::Outcome<TagResourceResult, SyntheticsError> TagResourceOutcome; 91 typedef Aws::Utils::Outcome<UntagResourceResult, SyntheticsError> UntagResourceOutcome; 92 typedef Aws::Utils::Outcome<UpdateCanaryResult, SyntheticsError> UpdateCanaryOutcome; 93 94 typedef std::future<CreateCanaryOutcome> CreateCanaryOutcomeCallable; 95 typedef std::future<DeleteCanaryOutcome> DeleteCanaryOutcomeCallable; 96 typedef std::future<DescribeCanariesOutcome> DescribeCanariesOutcomeCallable; 97 typedef std::future<DescribeCanariesLastRunOutcome> DescribeCanariesLastRunOutcomeCallable; 98 typedef std::future<DescribeRuntimeVersionsOutcome> DescribeRuntimeVersionsOutcomeCallable; 99 typedef std::future<GetCanaryOutcome> GetCanaryOutcomeCallable; 100 typedef std::future<GetCanaryRunsOutcome> GetCanaryRunsOutcomeCallable; 101 typedef std::future<ListTagsForResourceOutcome> ListTagsForResourceOutcomeCallable; 102 typedef std::future<StartCanaryOutcome> StartCanaryOutcomeCallable; 103 typedef std::future<StopCanaryOutcome> StopCanaryOutcomeCallable; 104 typedef std::future<TagResourceOutcome> TagResourceOutcomeCallable; 105 typedef std::future<UntagResourceOutcome> UntagResourceOutcomeCallable; 106 typedef std::future<UpdateCanaryOutcome> UpdateCanaryOutcomeCallable; 107 } // namespace Model 108 109 class SyntheticsClient; 110 111 typedef std::function<void(const SyntheticsClient*, const Model::CreateCanaryRequest&, const Model::CreateCanaryOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateCanaryResponseReceivedHandler; 112 typedef std::function<void(const SyntheticsClient*, const Model::DeleteCanaryRequest&, const Model::DeleteCanaryOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteCanaryResponseReceivedHandler; 113 typedef std::function<void(const SyntheticsClient*, const Model::DescribeCanariesRequest&, const Model::DescribeCanariesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeCanariesResponseReceivedHandler; 114 typedef std::function<void(const SyntheticsClient*, const Model::DescribeCanariesLastRunRequest&, const Model::DescribeCanariesLastRunOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeCanariesLastRunResponseReceivedHandler; 115 typedef std::function<void(const SyntheticsClient*, const Model::DescribeRuntimeVersionsRequest&, const Model::DescribeRuntimeVersionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeRuntimeVersionsResponseReceivedHandler; 116 typedef std::function<void(const SyntheticsClient*, const Model::GetCanaryRequest&, const Model::GetCanaryOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetCanaryResponseReceivedHandler; 117 typedef std::function<void(const SyntheticsClient*, const Model::GetCanaryRunsRequest&, const Model::GetCanaryRunsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetCanaryRunsResponseReceivedHandler; 118 typedef std::function<void(const SyntheticsClient*, const Model::ListTagsForResourceRequest&, const Model::ListTagsForResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsForResourceResponseReceivedHandler; 119 typedef std::function<void(const SyntheticsClient*, const Model::StartCanaryRequest&, const Model::StartCanaryOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartCanaryResponseReceivedHandler; 120 typedef std::function<void(const SyntheticsClient*, const Model::StopCanaryRequest&, const Model::StopCanaryOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StopCanaryResponseReceivedHandler; 121 typedef std::function<void(const SyntheticsClient*, const Model::TagResourceRequest&, const Model::TagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TagResourceResponseReceivedHandler; 122 typedef std::function<void(const SyntheticsClient*, const Model::UntagResourceRequest&, const Model::UntagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UntagResourceResponseReceivedHandler; 123 typedef std::function<void(const SyntheticsClient*, const Model::UpdateCanaryRequest&, const Model::UpdateCanaryOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateCanaryResponseReceivedHandler; 124 125 /** 126 * <fullname>Amazon CloudWatch Synthetics</fullname> <p>You can use Amazon 127 * CloudWatch Synthetics to continually monitor your services. You can create and 128 * manage <i>canaries</i>, which are modular, lightweight scripts that monitor your 129 * endpoints and APIs from the outside-in. You can set up your canaries to run 24 130 * hours a day, once per minute. The canaries help you check the availability and 131 * latency of your web services and troubleshoot anomalies by investigating load 132 * time data, screenshots of the UI, logs, and metrics. The canaries seamlessly 133 * integrate with CloudWatch ServiceLens to help you trace the causes of impacted 134 * nodes in your applications. For more information, see <a 135 * href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ServiceLens.html">Using 136 * ServiceLens to Monitor the Health of Your Applications</a> in the <i>Amazon 137 * CloudWatch User Guide</i>.</p> <p>Before you create and manage canaries, be 138 * aware of the security considerations. For more information, see <a 139 * href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/servicelens_canaries_security.html">Security 140 * Considerations for Synthetics Canaries</a>.</p> 141 */ 142 class AWS_SYNTHETICS_API SyntheticsClient : public Aws::Client::AWSJsonClient 143 { 144 public: 145 typedef Aws::Client::AWSJsonClient BASECLASS; 146 147 /** 148 * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config 149 * is not specified, it will be initialized to default values. 150 */ 151 SyntheticsClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 152 153 /** 154 * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config 155 * is not specified, it will be initialized to default values. 156 */ 157 SyntheticsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 158 159 /** 160 * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, 161 * the default http client factory will be used 162 */ 163 SyntheticsClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider, 164 const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 165 166 virtual ~SyntheticsClient(); 167 168 169 /** 170 * <p>Creates a canary. Canaries are scripts that monitor your endpoints and APIs 171 * from the outside-in. Canaries help you check the availability and latency of 172 * your web services and troubleshoot anomalies by investigating load time data, 173 * screenshots of the UI, logs, and metrics. You can set up a canary to run 174 * continuously or just once. </p> <p>Do not use <code>CreateCanary</code> to 175 * modify an existing canary. Use <a 176 * href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_UpdateCanary.html">UpdateCanary</a> 177 * instead.</p> <p>To create canaries, you must have the 178 * <code>CloudWatchSyntheticsFullAccess</code> policy. If you are creating a new 179 * IAM role for the canary, you also need the the <code>iam:CreateRole</code>, 180 * <code>iam:CreatePolicy</code> and <code>iam:AttachRolePolicy</code> permissions. 181 * For more information, see <a 182 * href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Roles">Necessary 183 * Roles and Permissions</a>.</p> <p>Do not include secrets or proprietary 184 * information in your canary names. The canary name makes up part of the Amazon 185 * Resource Name (ARN) for the canary, and the ARN is included in outbound calls 186 * over the internet. For more information, see <a 187 * href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/servicelens_canaries_security.html">Security 188 * Considerations for Synthetics Canaries</a>.</p><p><h3>See Also:</h3> <a 189 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/CreateCanary">AWS 190 * API Reference</a></p> 191 */ 192 virtual Model::CreateCanaryOutcome CreateCanary(const Model::CreateCanaryRequest& request) const; 193 194 /** 195 * <p>Creates a canary. Canaries are scripts that monitor your endpoints and APIs 196 * from the outside-in. Canaries help you check the availability and latency of 197 * your web services and troubleshoot anomalies by investigating load time data, 198 * screenshots of the UI, logs, and metrics. You can set up a canary to run 199 * continuously or just once. </p> <p>Do not use <code>CreateCanary</code> to 200 * modify an existing canary. Use <a 201 * href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_UpdateCanary.html">UpdateCanary</a> 202 * instead.</p> <p>To create canaries, you must have the 203 * <code>CloudWatchSyntheticsFullAccess</code> policy. If you are creating a new 204 * IAM role for the canary, you also need the the <code>iam:CreateRole</code>, 205 * <code>iam:CreatePolicy</code> and <code>iam:AttachRolePolicy</code> permissions. 206 * For more information, see <a 207 * href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Roles">Necessary 208 * Roles and Permissions</a>.</p> <p>Do not include secrets or proprietary 209 * information in your canary names. The canary name makes up part of the Amazon 210 * Resource Name (ARN) for the canary, and the ARN is included in outbound calls 211 * over the internet. For more information, see <a 212 * href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/servicelens_canaries_security.html">Security 213 * Considerations for Synthetics Canaries</a>.</p><p><h3>See Also:</h3> <a 214 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/CreateCanary">AWS 215 * API Reference</a></p> 216 * 217 * returns a future to the operation so that it can be executed in parallel to other requests. 218 */ 219 virtual Model::CreateCanaryOutcomeCallable CreateCanaryCallable(const Model::CreateCanaryRequest& request) const; 220 221 /** 222 * <p>Creates a canary. Canaries are scripts that monitor your endpoints and APIs 223 * from the outside-in. Canaries help you check the availability and latency of 224 * your web services and troubleshoot anomalies by investigating load time data, 225 * screenshots of the UI, logs, and metrics. You can set up a canary to run 226 * continuously or just once. </p> <p>Do not use <code>CreateCanary</code> to 227 * modify an existing canary. Use <a 228 * href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_UpdateCanary.html">UpdateCanary</a> 229 * instead.</p> <p>To create canaries, you must have the 230 * <code>CloudWatchSyntheticsFullAccess</code> policy. If you are creating a new 231 * IAM role for the canary, you also need the the <code>iam:CreateRole</code>, 232 * <code>iam:CreatePolicy</code> and <code>iam:AttachRolePolicy</code> permissions. 233 * For more information, see <a 234 * href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Roles">Necessary 235 * Roles and Permissions</a>.</p> <p>Do not include secrets or proprietary 236 * information in your canary names. The canary name makes up part of the Amazon 237 * Resource Name (ARN) for the canary, and the ARN is included in outbound calls 238 * over the internet. For more information, see <a 239 * href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/servicelens_canaries_security.html">Security 240 * Considerations for Synthetics Canaries</a>.</p><p><h3>See Also:</h3> <a 241 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/CreateCanary">AWS 242 * API Reference</a></p> 243 * 244 * Queues the request into a thread executor and triggers associated callback when operation has finished. 245 */ 246 virtual void CreateCanaryAsync(const Model::CreateCanaryRequest& request, const CreateCanaryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 247 248 /** 249 * <p>Permanently deletes the specified canary.</p> <p>When you delete a canary, 250 * resources used and created by the canary are not automatically deleted. After 251 * you delete a canary that you do not intend to use again, you should also delete 252 * the following:</p> <ul> <li> <p>The Lambda functions and layers used by this 253 * canary. These have the prefix <code>cwsyn-<i>MyCanaryName</i> </code>.</p> </li> 254 * <li> <p>The CloudWatch alarms created for this canary. These alarms have a name 255 * of <code>Synthetics-SharpDrop-Alarm-<i>MyCanaryName</i> </code>.</p> </li> <li> 256 * <p>Amazon S3 objects and buckets, such as the canary's artifact location.</p> 257 * </li> <li> <p>IAM roles created for the canary. If they were created in the 258 * console, these roles have the name <code> 259 * role/service-role/CloudWatchSyntheticsRole-<i>MyCanaryName</i> </code>.</p> 260 * </li> <li> <p>CloudWatch Logs log groups created for the canary. These logs 261 * groups have the name <code>/aws/lambda/cwsyn-<i>MyCanaryName</i> </code>. </p> 262 * </li> </ul> <p>Before you delete a canary, you might want to use 263 * <code>GetCanary</code> to display the information about this canary. Make note 264 * of the information returned by this operation so that you can delete these 265 * resources after you delete the canary.</p><p><h3>See Also:</h3> <a 266 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DeleteCanary">AWS 267 * API Reference</a></p> 268 */ 269 virtual Model::DeleteCanaryOutcome DeleteCanary(const Model::DeleteCanaryRequest& request) const; 270 271 /** 272 * <p>Permanently deletes the specified canary.</p> <p>When you delete a canary, 273 * resources used and created by the canary are not automatically deleted. After 274 * you delete a canary that you do not intend to use again, you should also delete 275 * the following:</p> <ul> <li> <p>The Lambda functions and layers used by this 276 * canary. These have the prefix <code>cwsyn-<i>MyCanaryName</i> </code>.</p> </li> 277 * <li> <p>The CloudWatch alarms created for this canary. These alarms have a name 278 * of <code>Synthetics-SharpDrop-Alarm-<i>MyCanaryName</i> </code>.</p> </li> <li> 279 * <p>Amazon S3 objects and buckets, such as the canary's artifact location.</p> 280 * </li> <li> <p>IAM roles created for the canary. If they were created in the 281 * console, these roles have the name <code> 282 * role/service-role/CloudWatchSyntheticsRole-<i>MyCanaryName</i> </code>.</p> 283 * </li> <li> <p>CloudWatch Logs log groups created for the canary. These logs 284 * groups have the name <code>/aws/lambda/cwsyn-<i>MyCanaryName</i> </code>. </p> 285 * </li> </ul> <p>Before you delete a canary, you might want to use 286 * <code>GetCanary</code> to display the information about this canary. Make note 287 * of the information returned by this operation so that you can delete these 288 * resources after you delete the canary.</p><p><h3>See Also:</h3> <a 289 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DeleteCanary">AWS 290 * API Reference</a></p> 291 * 292 * returns a future to the operation so that it can be executed in parallel to other requests. 293 */ 294 virtual Model::DeleteCanaryOutcomeCallable DeleteCanaryCallable(const Model::DeleteCanaryRequest& request) const; 295 296 /** 297 * <p>Permanently deletes the specified canary.</p> <p>When you delete a canary, 298 * resources used and created by the canary are not automatically deleted. After 299 * you delete a canary that you do not intend to use again, you should also delete 300 * the following:</p> <ul> <li> <p>The Lambda functions and layers used by this 301 * canary. These have the prefix <code>cwsyn-<i>MyCanaryName</i> </code>.</p> </li> 302 * <li> <p>The CloudWatch alarms created for this canary. These alarms have a name 303 * of <code>Synthetics-SharpDrop-Alarm-<i>MyCanaryName</i> </code>.</p> </li> <li> 304 * <p>Amazon S3 objects and buckets, such as the canary's artifact location.</p> 305 * </li> <li> <p>IAM roles created for the canary. If they were created in the 306 * console, these roles have the name <code> 307 * role/service-role/CloudWatchSyntheticsRole-<i>MyCanaryName</i> </code>.</p> 308 * </li> <li> <p>CloudWatch Logs log groups created for the canary. These logs 309 * groups have the name <code>/aws/lambda/cwsyn-<i>MyCanaryName</i> </code>. </p> 310 * </li> </ul> <p>Before you delete a canary, you might want to use 311 * <code>GetCanary</code> to display the information about this canary. Make note 312 * of the information returned by this operation so that you can delete these 313 * resources after you delete the canary.</p><p><h3>See Also:</h3> <a 314 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DeleteCanary">AWS 315 * API Reference</a></p> 316 * 317 * Queues the request into a thread executor and triggers associated callback when operation has finished. 318 */ 319 virtual void DeleteCanaryAsync(const Model::DeleteCanaryRequest& request, const DeleteCanaryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 320 321 /** 322 * <p>This operation returns a list of the canaries in your account, along with 323 * full details about each canary.</p> <p>This operation does not have 324 * resource-level authorization, so if a user is able to use 325 * <code>DescribeCanaries</code>, the user can see all of the canaries in the 326 * account. A deny policy can only be used to restrict access to all canaries. It 327 * cannot be used on specific resources. </p><p><h3>See Also:</h3> <a 328 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DescribeCanaries">AWS 329 * API Reference</a></p> 330 */ 331 virtual Model::DescribeCanariesOutcome DescribeCanaries(const Model::DescribeCanariesRequest& request) const; 332 333 /** 334 * <p>This operation returns a list of the canaries in your account, along with 335 * full details about each canary.</p> <p>This operation does not have 336 * resource-level authorization, so if a user is able to use 337 * <code>DescribeCanaries</code>, the user can see all of the canaries in the 338 * account. A deny policy can only be used to restrict access to all canaries. It 339 * cannot be used on specific resources. </p><p><h3>See Also:</h3> <a 340 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DescribeCanaries">AWS 341 * API Reference</a></p> 342 * 343 * returns a future to the operation so that it can be executed in parallel to other requests. 344 */ 345 virtual Model::DescribeCanariesOutcomeCallable DescribeCanariesCallable(const Model::DescribeCanariesRequest& request) const; 346 347 /** 348 * <p>This operation returns a list of the canaries in your account, along with 349 * full details about each canary.</p> <p>This operation does not have 350 * resource-level authorization, so if a user is able to use 351 * <code>DescribeCanaries</code>, the user can see all of the canaries in the 352 * account. A deny policy can only be used to restrict access to all canaries. It 353 * cannot be used on specific resources. </p><p><h3>See Also:</h3> <a 354 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DescribeCanaries">AWS 355 * API Reference</a></p> 356 * 357 * Queues the request into a thread executor and triggers associated callback when operation has finished. 358 */ 359 virtual void DescribeCanariesAsync(const Model::DescribeCanariesRequest& request, const DescribeCanariesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 360 361 /** 362 * <p>Use this operation to see information from the most recent run of each canary 363 * that you have created.</p><p><h3>See Also:</h3> <a 364 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DescribeCanariesLastRun">AWS 365 * API Reference</a></p> 366 */ 367 virtual Model::DescribeCanariesLastRunOutcome DescribeCanariesLastRun(const Model::DescribeCanariesLastRunRequest& request) const; 368 369 /** 370 * <p>Use this operation to see information from the most recent run of each canary 371 * that you have created.</p><p><h3>See Also:</h3> <a 372 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DescribeCanariesLastRun">AWS 373 * API Reference</a></p> 374 * 375 * returns a future to the operation so that it can be executed in parallel to other requests. 376 */ 377 virtual Model::DescribeCanariesLastRunOutcomeCallable DescribeCanariesLastRunCallable(const Model::DescribeCanariesLastRunRequest& request) const; 378 379 /** 380 * <p>Use this operation to see information from the most recent run of each canary 381 * that you have created.</p><p><h3>See Also:</h3> <a 382 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DescribeCanariesLastRun">AWS 383 * API Reference</a></p> 384 * 385 * Queues the request into a thread executor and triggers associated callback when operation has finished. 386 */ 387 virtual void DescribeCanariesLastRunAsync(const Model::DescribeCanariesLastRunRequest& request, const DescribeCanariesLastRunResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 388 389 /** 390 * <p>Returns a list of Synthetics canary runtime versions. For more information, 391 * see <a 392 * href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html"> 393 * Canary Runtime Versions</a>.</p><p><h3>See Also:</h3> <a 394 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DescribeRuntimeVersions">AWS 395 * API Reference</a></p> 396 */ 397 virtual Model::DescribeRuntimeVersionsOutcome DescribeRuntimeVersions(const Model::DescribeRuntimeVersionsRequest& request) const; 398 399 /** 400 * <p>Returns a list of Synthetics canary runtime versions. For more information, 401 * see <a 402 * href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html"> 403 * Canary Runtime Versions</a>.</p><p><h3>See Also:</h3> <a 404 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DescribeRuntimeVersions">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::DescribeRuntimeVersionsOutcomeCallable DescribeRuntimeVersionsCallable(const Model::DescribeRuntimeVersionsRequest& request) const; 410 411 /** 412 * <p>Returns a list of Synthetics canary runtime versions. For more information, 413 * see <a 414 * href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html"> 415 * Canary Runtime Versions</a>.</p><p><h3>See Also:</h3> <a 416 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DescribeRuntimeVersions">AWS 417 * API Reference</a></p> 418 * 419 * Queues the request into a thread executor and triggers associated callback when operation has finished. 420 */ 421 virtual void DescribeRuntimeVersionsAsync(const Model::DescribeRuntimeVersionsRequest& request, const DescribeRuntimeVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 422 423 /** 424 * <p>Retrieves complete information about one canary. You must specify the name of 425 * the canary that you want. To get a list of canaries and their names, use <a 426 * href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.html">DescribeCanaries</a>.</p><p><h3>See 427 * Also:</h3> <a 428 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/GetCanary">AWS 429 * API Reference</a></p> 430 */ 431 virtual Model::GetCanaryOutcome GetCanary(const Model::GetCanaryRequest& request) const; 432 433 /** 434 * <p>Retrieves complete information about one canary. You must specify the name of 435 * the canary that you want. To get a list of canaries and their names, use <a 436 * href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.html">DescribeCanaries</a>.</p><p><h3>See 437 * Also:</h3> <a 438 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/GetCanary">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::GetCanaryOutcomeCallable GetCanaryCallable(const Model::GetCanaryRequest& request) const; 444 445 /** 446 * <p>Retrieves complete information about one canary. You must specify the name of 447 * the canary that you want. To get a list of canaries and their names, use <a 448 * href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.html">DescribeCanaries</a>.</p><p><h3>See 449 * Also:</h3> <a 450 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/GetCanary">AWS 451 * API Reference</a></p> 452 * 453 * Queues the request into a thread executor and triggers associated callback when operation has finished. 454 */ 455 virtual void GetCanaryAsync(const Model::GetCanaryRequest& request, const GetCanaryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 456 457 /** 458 * <p>Retrieves a list of runs for a specified canary.</p><p><h3>See Also:</h3> 459 * <a 460 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/GetCanaryRuns">AWS 461 * API Reference</a></p> 462 */ 463 virtual Model::GetCanaryRunsOutcome GetCanaryRuns(const Model::GetCanaryRunsRequest& request) const; 464 465 /** 466 * <p>Retrieves a list of runs for a specified canary.</p><p><h3>See Also:</h3> 467 * <a 468 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/GetCanaryRuns">AWS 469 * API Reference</a></p> 470 * 471 * returns a future to the operation so that it can be executed in parallel to other requests. 472 */ 473 virtual Model::GetCanaryRunsOutcomeCallable GetCanaryRunsCallable(const Model::GetCanaryRunsRequest& request) const; 474 475 /** 476 * <p>Retrieves a list of runs for a specified canary.</p><p><h3>See Also:</h3> 477 * <a 478 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/GetCanaryRuns">AWS 479 * API Reference</a></p> 480 * 481 * Queues the request into a thread executor and triggers associated callback when operation has finished. 482 */ 483 virtual void GetCanaryRunsAsync(const Model::GetCanaryRunsRequest& request, const GetCanaryRunsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 484 485 /** 486 * <p>Displays the tags associated with a canary.</p><p><h3>See Also:</h3> <a 487 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/ListTagsForResource">AWS 488 * API Reference</a></p> 489 */ 490 virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; 491 492 /** 493 * <p>Displays the tags associated with a canary.</p><p><h3>See Also:</h3> <a 494 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/ListTagsForResource">AWS 495 * API Reference</a></p> 496 * 497 * returns a future to the operation so that it can be executed in parallel to other requests. 498 */ 499 virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; 500 501 /** 502 * <p>Displays the tags associated with a canary.</p><p><h3>See Also:</h3> <a 503 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/ListTagsForResource">AWS 504 * API Reference</a></p> 505 * 506 * Queues the request into a thread executor and triggers associated callback when operation has finished. 507 */ 508 virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 509 510 /** 511 * <p>Use this operation to run a canary that has already been created. The 512 * frequency of the canary runs is determined by the value of the canary's 513 * <code>Schedule</code>. To see a canary's schedule, use <a 514 * href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanary.html">GetCanary</a>.</p><p><h3>See 515 * Also:</h3> <a 516 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/StartCanary">AWS 517 * API Reference</a></p> 518 */ 519 virtual Model::StartCanaryOutcome StartCanary(const Model::StartCanaryRequest& request) const; 520 521 /** 522 * <p>Use this operation to run a canary that has already been created. The 523 * frequency of the canary runs is determined by the value of the canary's 524 * <code>Schedule</code>. To see a canary's schedule, use <a 525 * href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanary.html">GetCanary</a>.</p><p><h3>See 526 * Also:</h3> <a 527 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/StartCanary">AWS 528 * API Reference</a></p> 529 * 530 * returns a future to the operation so that it can be executed in parallel to other requests. 531 */ 532 virtual Model::StartCanaryOutcomeCallable StartCanaryCallable(const Model::StartCanaryRequest& request) const; 533 534 /** 535 * <p>Use this operation to run a canary that has already been created. The 536 * frequency of the canary runs is determined by the value of the canary's 537 * <code>Schedule</code>. To see a canary's schedule, use <a 538 * href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanary.html">GetCanary</a>.</p><p><h3>See 539 * Also:</h3> <a 540 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/StartCanary">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 StartCanaryAsync(const Model::StartCanaryRequest& request, const StartCanaryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 546 547 /** 548 * <p>Stops the canary to prevent all future runs. If the canary is currently 549 * running, Synthetics stops waiting for the current run of the specified canary to 550 * complete. The run that is in progress completes on its own, publishes metrics, 551 * and uploads artifacts, but it is not recorded in Synthetics as a completed 552 * run.</p> <p>You can use <code>StartCanary</code> to start it running again with 553 * the canary’s current schedule at any point in the future. </p><p><h3>See 554 * Also:</h3> <a 555 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/StopCanary">AWS 556 * API Reference</a></p> 557 */ 558 virtual Model::StopCanaryOutcome StopCanary(const Model::StopCanaryRequest& request) const; 559 560 /** 561 * <p>Stops the canary to prevent all future runs. If the canary is currently 562 * running, Synthetics stops waiting for the current run of the specified canary to 563 * complete. The run that is in progress completes on its own, publishes metrics, 564 * and uploads artifacts, but it is not recorded in Synthetics as a completed 565 * run.</p> <p>You can use <code>StartCanary</code> to start it running again with 566 * the canary’s current schedule at any point in the future. </p><p><h3>See 567 * Also:</h3> <a 568 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/StopCanary">AWS 569 * API Reference</a></p> 570 * 571 * returns a future to the operation so that it can be executed in parallel to other requests. 572 */ 573 virtual Model::StopCanaryOutcomeCallable StopCanaryCallable(const Model::StopCanaryRequest& request) const; 574 575 /** 576 * <p>Stops the canary to prevent all future runs. If the canary is currently 577 * running, Synthetics stops waiting for the current run of the specified canary to 578 * complete. The run that is in progress completes on its own, publishes metrics, 579 * and uploads artifacts, but it is not recorded in Synthetics as a completed 580 * run.</p> <p>You can use <code>StartCanary</code> to start it running again with 581 * the canary’s current schedule at any point in the future. </p><p><h3>See 582 * Also:</h3> <a 583 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/StopCanary">AWS 584 * API Reference</a></p> 585 * 586 * Queues the request into a thread executor and triggers associated callback when operation has finished. 587 */ 588 virtual void StopCanaryAsync(const Model::StopCanaryRequest& request, const StopCanaryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 589 590 /** 591 * <p>Assigns one or more tags (key-value pairs) to the specified canary. </p> 592 * <p>Tags can help you organize and categorize your resources. You can also use 593 * them to scope user permissions, by granting a user permission to access or 594 * change only resources with certain tag values.</p> <p>Tags don't have any 595 * semantic meaning to Amazon Web Services and are interpreted strictly as strings 596 * of characters.</p> <p>You can use the <code>TagResource</code> action with a 597 * canary that already has tags. If you specify a new tag key for the alarm, this 598 * tag is appended to the list of tags associated with the alarm. If you specify a 599 * tag key that is already associated with the alarm, the new tag value that you 600 * specify replaces the previous value for that tag.</p> <p>You can associate as 601 * many as 50 tags with a canary.</p><p><h3>See Also:</h3> <a 602 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/TagResource">AWS 603 * API Reference</a></p> 604 */ 605 virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; 606 607 /** 608 * <p>Assigns one or more tags (key-value pairs) to the specified canary. </p> 609 * <p>Tags can help you organize and categorize your resources. You can also use 610 * them to scope user permissions, by granting a user permission to access or 611 * change only resources with certain tag values.</p> <p>Tags don't have any 612 * semantic meaning to Amazon Web Services and are interpreted strictly as strings 613 * of characters.</p> <p>You can use the <code>TagResource</code> action with a 614 * canary that already has tags. If you specify a new tag key for the alarm, this 615 * tag is appended to the list of tags associated with the alarm. If you specify a 616 * tag key that is already associated with the alarm, the new tag value that you 617 * specify replaces the previous value for that tag.</p> <p>You can associate as 618 * many as 50 tags with a canary.</p><p><h3>See Also:</h3> <a 619 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/TagResource">AWS 620 * API Reference</a></p> 621 * 622 * returns a future to the operation so that it can be executed in parallel to other requests. 623 */ 624 virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; 625 626 /** 627 * <p>Assigns one or more tags (key-value pairs) to the specified canary. </p> 628 * <p>Tags can help you organize and categorize your resources. You can also use 629 * them to scope user permissions, by granting a user permission to access or 630 * change only resources with certain tag values.</p> <p>Tags don't have any 631 * semantic meaning to Amazon Web Services and are interpreted strictly as strings 632 * of characters.</p> <p>You can use the <code>TagResource</code> action with a 633 * canary that already has tags. If you specify a new tag key for the alarm, this 634 * tag is appended to the list of tags associated with the alarm. If you specify a 635 * tag key that is already associated with the alarm, the new tag value that you 636 * specify replaces the previous value for that tag.</p> <p>You can associate as 637 * many as 50 tags with a canary.</p><p><h3>See Also:</h3> <a 638 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/TagResource">AWS 639 * API Reference</a></p> 640 * 641 * Queues the request into a thread executor and triggers associated callback when operation has finished. 642 */ 643 virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 644 645 /** 646 * <p>Removes one or more tags from the specified canary.</p><p><h3>See Also:</h3> 647 * <a 648 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/UntagResource">AWS 649 * API Reference</a></p> 650 */ 651 virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; 652 653 /** 654 * <p>Removes one or more tags from the specified canary.</p><p><h3>See Also:</h3> 655 * <a 656 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/UntagResource">AWS 657 * API Reference</a></p> 658 * 659 * returns a future to the operation so that it can be executed in parallel to other requests. 660 */ 661 virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const; 662 663 /** 664 * <p>Removes one or more tags from the specified canary.</p><p><h3>See Also:</h3> 665 * <a 666 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/UntagResource">AWS 667 * API Reference</a></p> 668 * 669 * Queues the request into a thread executor and triggers associated callback when operation has finished. 670 */ 671 virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 672 673 /** 674 * <p>Use this operation to change the settings of a canary that has already been 675 * created.</p> <p>You can't use this operation to update the tags of an existing 676 * canary. To change the tags of an existing canary, use <a 677 * href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_TagResource.html">TagResource</a>.</p><p><h3>See 678 * Also:</h3> <a 679 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/UpdateCanary">AWS 680 * API Reference</a></p> 681 */ 682 virtual Model::UpdateCanaryOutcome UpdateCanary(const Model::UpdateCanaryRequest& request) const; 683 684 /** 685 * <p>Use this operation to change the settings of a canary that has already been 686 * created.</p> <p>You can't use this operation to update the tags of an existing 687 * canary. To change the tags of an existing canary, use <a 688 * href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_TagResource.html">TagResource</a>.</p><p><h3>See 689 * Also:</h3> <a 690 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/UpdateCanary">AWS 691 * API Reference</a></p> 692 * 693 * returns a future to the operation so that it can be executed in parallel to other requests. 694 */ 695 virtual Model::UpdateCanaryOutcomeCallable UpdateCanaryCallable(const Model::UpdateCanaryRequest& request) const; 696 697 /** 698 * <p>Use this operation to change the settings of a canary that has already been 699 * created.</p> <p>You can't use this operation to update the tags of an existing 700 * canary. To change the tags of an existing canary, use <a 701 * href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_TagResource.html">TagResource</a>.</p><p><h3>See 702 * Also:</h3> <a 703 * href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/UpdateCanary">AWS 704 * API Reference</a></p> 705 * 706 * Queues the request into a thread executor and triggers associated callback when operation has finished. 707 */ 708 virtual void UpdateCanaryAsync(const Model::UpdateCanaryRequest& request, const UpdateCanaryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 709 710 711 void OverrideEndpoint(const Aws::String& endpoint); 712 private: 713 void init(const Aws::Client::ClientConfiguration& clientConfiguration); 714 void CreateCanaryAsyncHelper(const Model::CreateCanaryRequest& request, const CreateCanaryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 715 void DeleteCanaryAsyncHelper(const Model::DeleteCanaryRequest& request, const DeleteCanaryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 716 void DescribeCanariesAsyncHelper(const Model::DescribeCanariesRequest& request, const DescribeCanariesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 717 void DescribeCanariesLastRunAsyncHelper(const Model::DescribeCanariesLastRunRequest& request, const DescribeCanariesLastRunResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 718 void DescribeRuntimeVersionsAsyncHelper(const Model::DescribeRuntimeVersionsRequest& request, const DescribeRuntimeVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 719 void GetCanaryAsyncHelper(const Model::GetCanaryRequest& request, const GetCanaryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 720 void GetCanaryRunsAsyncHelper(const Model::GetCanaryRunsRequest& request, const GetCanaryRunsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 721 void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 722 void StartCanaryAsyncHelper(const Model::StartCanaryRequest& request, const StartCanaryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 723 void StopCanaryAsyncHelper(const Model::StopCanaryRequest& request, const StopCanaryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 724 void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 725 void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 726 void UpdateCanaryAsyncHelper(const Model::UpdateCanaryRequest& request, const UpdateCanaryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 727 728 Aws::String m_uri; 729 Aws::String m_configScheme; 730 std::shared_ptr<Aws::Utils::Threading::Executor> m_executor; 731 }; 732 733 } // namespace Synthetics 734 } // namespace Aws 735