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/cloud9/Cloud9_EXPORTS.h> 8 #include <aws/cloud9/Cloud9Errors.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/cloud9/model/CreateEnvironmentEC2Result.h> 15 #include <aws/cloud9/model/CreateEnvironmentMembershipResult.h> 16 #include <aws/cloud9/model/DeleteEnvironmentResult.h> 17 #include <aws/cloud9/model/DeleteEnvironmentMembershipResult.h> 18 #include <aws/cloud9/model/DescribeEnvironmentMembershipsResult.h> 19 #include <aws/cloud9/model/DescribeEnvironmentStatusResult.h> 20 #include <aws/cloud9/model/DescribeEnvironmentsResult.h> 21 #include <aws/cloud9/model/ListEnvironmentsResult.h> 22 #include <aws/cloud9/model/ListTagsForResourceResult.h> 23 #include <aws/cloud9/model/TagResourceResult.h> 24 #include <aws/cloud9/model/UntagResourceResult.h> 25 #include <aws/cloud9/model/UpdateEnvironmentResult.h> 26 #include <aws/cloud9/model/UpdateEnvironmentMembershipResult.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 Cloud9 62 { 63 64 namespace Model 65 { 66 class CreateEnvironmentEC2Request; 67 class CreateEnvironmentMembershipRequest; 68 class DeleteEnvironmentRequest; 69 class DeleteEnvironmentMembershipRequest; 70 class DescribeEnvironmentMembershipsRequest; 71 class DescribeEnvironmentStatusRequest; 72 class DescribeEnvironmentsRequest; 73 class ListEnvironmentsRequest; 74 class ListTagsForResourceRequest; 75 class TagResourceRequest; 76 class UntagResourceRequest; 77 class UpdateEnvironmentRequest; 78 class UpdateEnvironmentMembershipRequest; 79 80 typedef Aws::Utils::Outcome<CreateEnvironmentEC2Result, Cloud9Error> CreateEnvironmentEC2Outcome; 81 typedef Aws::Utils::Outcome<CreateEnvironmentMembershipResult, Cloud9Error> CreateEnvironmentMembershipOutcome; 82 typedef Aws::Utils::Outcome<DeleteEnvironmentResult, Cloud9Error> DeleteEnvironmentOutcome; 83 typedef Aws::Utils::Outcome<DeleteEnvironmentMembershipResult, Cloud9Error> DeleteEnvironmentMembershipOutcome; 84 typedef Aws::Utils::Outcome<DescribeEnvironmentMembershipsResult, Cloud9Error> DescribeEnvironmentMembershipsOutcome; 85 typedef Aws::Utils::Outcome<DescribeEnvironmentStatusResult, Cloud9Error> DescribeEnvironmentStatusOutcome; 86 typedef Aws::Utils::Outcome<DescribeEnvironmentsResult, Cloud9Error> DescribeEnvironmentsOutcome; 87 typedef Aws::Utils::Outcome<ListEnvironmentsResult, Cloud9Error> ListEnvironmentsOutcome; 88 typedef Aws::Utils::Outcome<ListTagsForResourceResult, Cloud9Error> ListTagsForResourceOutcome; 89 typedef Aws::Utils::Outcome<TagResourceResult, Cloud9Error> TagResourceOutcome; 90 typedef Aws::Utils::Outcome<UntagResourceResult, Cloud9Error> UntagResourceOutcome; 91 typedef Aws::Utils::Outcome<UpdateEnvironmentResult, Cloud9Error> UpdateEnvironmentOutcome; 92 typedef Aws::Utils::Outcome<UpdateEnvironmentMembershipResult, Cloud9Error> UpdateEnvironmentMembershipOutcome; 93 94 typedef std::future<CreateEnvironmentEC2Outcome> CreateEnvironmentEC2OutcomeCallable; 95 typedef std::future<CreateEnvironmentMembershipOutcome> CreateEnvironmentMembershipOutcomeCallable; 96 typedef std::future<DeleteEnvironmentOutcome> DeleteEnvironmentOutcomeCallable; 97 typedef std::future<DeleteEnvironmentMembershipOutcome> DeleteEnvironmentMembershipOutcomeCallable; 98 typedef std::future<DescribeEnvironmentMembershipsOutcome> DescribeEnvironmentMembershipsOutcomeCallable; 99 typedef std::future<DescribeEnvironmentStatusOutcome> DescribeEnvironmentStatusOutcomeCallable; 100 typedef std::future<DescribeEnvironmentsOutcome> DescribeEnvironmentsOutcomeCallable; 101 typedef std::future<ListEnvironmentsOutcome> ListEnvironmentsOutcomeCallable; 102 typedef std::future<ListTagsForResourceOutcome> ListTagsForResourceOutcomeCallable; 103 typedef std::future<TagResourceOutcome> TagResourceOutcomeCallable; 104 typedef std::future<UntagResourceOutcome> UntagResourceOutcomeCallable; 105 typedef std::future<UpdateEnvironmentOutcome> UpdateEnvironmentOutcomeCallable; 106 typedef std::future<UpdateEnvironmentMembershipOutcome> UpdateEnvironmentMembershipOutcomeCallable; 107 } // namespace Model 108 109 class Cloud9Client; 110 111 typedef std::function<void(const Cloud9Client*, const Model::CreateEnvironmentEC2Request&, const Model::CreateEnvironmentEC2Outcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateEnvironmentEC2ResponseReceivedHandler; 112 typedef std::function<void(const Cloud9Client*, const Model::CreateEnvironmentMembershipRequest&, const Model::CreateEnvironmentMembershipOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateEnvironmentMembershipResponseReceivedHandler; 113 typedef std::function<void(const Cloud9Client*, const Model::DeleteEnvironmentRequest&, const Model::DeleteEnvironmentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteEnvironmentResponseReceivedHandler; 114 typedef std::function<void(const Cloud9Client*, const Model::DeleteEnvironmentMembershipRequest&, const Model::DeleteEnvironmentMembershipOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteEnvironmentMembershipResponseReceivedHandler; 115 typedef std::function<void(const Cloud9Client*, const Model::DescribeEnvironmentMembershipsRequest&, const Model::DescribeEnvironmentMembershipsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeEnvironmentMembershipsResponseReceivedHandler; 116 typedef std::function<void(const Cloud9Client*, const Model::DescribeEnvironmentStatusRequest&, const Model::DescribeEnvironmentStatusOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeEnvironmentStatusResponseReceivedHandler; 117 typedef std::function<void(const Cloud9Client*, const Model::DescribeEnvironmentsRequest&, const Model::DescribeEnvironmentsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeEnvironmentsResponseReceivedHandler; 118 typedef std::function<void(const Cloud9Client*, const Model::ListEnvironmentsRequest&, const Model::ListEnvironmentsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListEnvironmentsResponseReceivedHandler; 119 typedef std::function<void(const Cloud9Client*, const Model::ListTagsForResourceRequest&, const Model::ListTagsForResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsForResourceResponseReceivedHandler; 120 typedef std::function<void(const Cloud9Client*, const Model::TagResourceRequest&, const Model::TagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TagResourceResponseReceivedHandler; 121 typedef std::function<void(const Cloud9Client*, const Model::UntagResourceRequest&, const Model::UntagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UntagResourceResponseReceivedHandler; 122 typedef std::function<void(const Cloud9Client*, const Model::UpdateEnvironmentRequest&, const Model::UpdateEnvironmentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateEnvironmentResponseReceivedHandler; 123 typedef std::function<void(const Cloud9Client*, const Model::UpdateEnvironmentMembershipRequest&, const Model::UpdateEnvironmentMembershipOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateEnvironmentMembershipResponseReceivedHandler; 124 125 /** 126 * <fullname>Cloud9</fullname> <p>Cloud9 is a collection of tools that you can use 127 * to code, build, run, test, debug, and release software in the cloud.</p> <p>For 128 * more information about Cloud9, see the <a 129 * href="https://docs.aws.amazon.com/cloud9/latest/user-guide">Cloud9 User 130 * Guide</a>.</p> <p>Cloud9 supports these operations:</p> <ul> <li> <p> 131 * <code>CreateEnvironmentEC2</code>: Creates an Cloud9 development environment, 132 * launches an Amazon EC2 instance, and then connects from the instance to the 133 * environment.</p> </li> <li> <p> <code>CreateEnvironmentMembership</code>: Adds 134 * an environment member to an environment.</p> </li> <li> <p> 135 * <code>DeleteEnvironment</code>: Deletes an environment. If an Amazon EC2 136 * instance is connected to the environment, also terminates the instance.</p> 137 * </li> <li> <p> <code>DeleteEnvironmentMembership</code>: Deletes an environment 138 * member from an environment.</p> </li> <li> <p> 139 * <code>DescribeEnvironmentMemberships</code>: Gets information about environment 140 * members for an environment.</p> </li> <li> <p> 141 * <code>DescribeEnvironments</code>: Gets information about environments.</p> 142 * </li> <li> <p> <code>DescribeEnvironmentStatus</code>: Gets status information 143 * for an environment.</p> </li> <li> <p> <code>ListEnvironments</code>: Gets a 144 * list of environment identifiers.</p> </li> <li> <p> 145 * <code>ListTagsForResource</code>: Gets the tags for an environment.</p> </li> 146 * <li> <p> <code>TagResource</code>: Adds tags to an environment.</p> </li> <li> 147 * <p> <code>UntagResource</code>: Removes tags from an environment.</p> </li> <li> 148 * <p> <code>UpdateEnvironment</code>: Changes the settings of an existing 149 * environment.</p> </li> <li> <p> <code>UpdateEnvironmentMembership</code>: 150 * Changes the settings of an existing environment member for an environment.</p> 151 * </li> </ul> 152 */ 153 class AWS_CLOUD9_API Cloud9Client : public Aws::Client::AWSJsonClient 154 { 155 public: 156 typedef Aws::Client::AWSJsonClient BASECLASS; 157 158 /** 159 * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config 160 * is not specified, it will be initialized to default values. 161 */ 162 Cloud9Client(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 163 164 /** 165 * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config 166 * is not specified, it will be initialized to default values. 167 */ 168 Cloud9Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 169 170 /** 171 * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, 172 * the default http client factory will be used 173 */ 174 Cloud9Client(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider, 175 const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 176 177 virtual ~Cloud9Client(); 178 179 180 /** 181 * <p>Creates an Cloud9 development environment, launches an Amazon Elastic Compute 182 * Cloud (Amazon EC2) instance, and then connects from the instance to the 183 * environment.</p><p><h3>See Also:</h3> <a 184 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/CreateEnvironmentEC2">AWS 185 * API Reference</a></p> 186 */ 187 virtual Model::CreateEnvironmentEC2Outcome CreateEnvironmentEC2(const Model::CreateEnvironmentEC2Request& request) const; 188 189 /** 190 * <p>Creates an Cloud9 development environment, launches an Amazon Elastic Compute 191 * Cloud (Amazon EC2) instance, and then connects from the instance to the 192 * environment.</p><p><h3>See Also:</h3> <a 193 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/CreateEnvironmentEC2">AWS 194 * API Reference</a></p> 195 * 196 * returns a future to the operation so that it can be executed in parallel to other requests. 197 */ 198 virtual Model::CreateEnvironmentEC2OutcomeCallable CreateEnvironmentEC2Callable(const Model::CreateEnvironmentEC2Request& request) const; 199 200 /** 201 * <p>Creates an Cloud9 development environment, launches an Amazon Elastic Compute 202 * Cloud (Amazon EC2) instance, and then connects from the instance to the 203 * environment.</p><p><h3>See Also:</h3> <a 204 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/CreateEnvironmentEC2">AWS 205 * API Reference</a></p> 206 * 207 * Queues the request into a thread executor and triggers associated callback when operation has finished. 208 */ 209 virtual void CreateEnvironmentEC2Async(const Model::CreateEnvironmentEC2Request& request, const CreateEnvironmentEC2ResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 210 211 /** 212 * <p>Adds an environment member to an Cloud9 development 213 * environment.</p><p><h3>See Also:</h3> <a 214 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/CreateEnvironmentMembership">AWS 215 * API Reference</a></p> 216 */ 217 virtual Model::CreateEnvironmentMembershipOutcome CreateEnvironmentMembership(const Model::CreateEnvironmentMembershipRequest& request) const; 218 219 /** 220 * <p>Adds an environment member to an Cloud9 development 221 * environment.</p><p><h3>See Also:</h3> <a 222 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/CreateEnvironmentMembership">AWS 223 * API Reference</a></p> 224 * 225 * returns a future to the operation so that it can be executed in parallel to other requests. 226 */ 227 virtual Model::CreateEnvironmentMembershipOutcomeCallable CreateEnvironmentMembershipCallable(const Model::CreateEnvironmentMembershipRequest& request) const; 228 229 /** 230 * <p>Adds an environment member to an Cloud9 development 231 * environment.</p><p><h3>See Also:</h3> <a 232 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/CreateEnvironmentMembership">AWS 233 * API Reference</a></p> 234 * 235 * Queues the request into a thread executor and triggers associated callback when operation has finished. 236 */ 237 virtual void CreateEnvironmentMembershipAsync(const Model::CreateEnvironmentMembershipRequest& request, const CreateEnvironmentMembershipResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 238 239 /** 240 * <p>Deletes an Cloud9 development environment. If an Amazon EC2 instance is 241 * connected to the environment, also terminates the instance.</p><p><h3>See 242 * Also:</h3> <a 243 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DeleteEnvironment">AWS 244 * API Reference</a></p> 245 */ 246 virtual Model::DeleteEnvironmentOutcome DeleteEnvironment(const Model::DeleteEnvironmentRequest& request) const; 247 248 /** 249 * <p>Deletes an Cloud9 development environment. If an Amazon EC2 instance is 250 * connected to the environment, also terminates the instance.</p><p><h3>See 251 * Also:</h3> <a 252 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DeleteEnvironment">AWS 253 * API Reference</a></p> 254 * 255 * returns a future to the operation so that it can be executed in parallel to other requests. 256 */ 257 virtual Model::DeleteEnvironmentOutcomeCallable DeleteEnvironmentCallable(const Model::DeleteEnvironmentRequest& request) const; 258 259 /** 260 * <p>Deletes an Cloud9 development environment. If an Amazon EC2 instance is 261 * connected to the environment, also terminates the instance.</p><p><h3>See 262 * Also:</h3> <a 263 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DeleteEnvironment">AWS 264 * API Reference</a></p> 265 * 266 * Queues the request into a thread executor and triggers associated callback when operation has finished. 267 */ 268 virtual void DeleteEnvironmentAsync(const Model::DeleteEnvironmentRequest& request, const DeleteEnvironmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 269 270 /** 271 * <p>Deletes an environment member from an Cloud9 development 272 * environment.</p><p><h3>See Also:</h3> <a 273 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DeleteEnvironmentMembership">AWS 274 * API Reference</a></p> 275 */ 276 virtual Model::DeleteEnvironmentMembershipOutcome DeleteEnvironmentMembership(const Model::DeleteEnvironmentMembershipRequest& request) const; 277 278 /** 279 * <p>Deletes an environment member from an Cloud9 development 280 * environment.</p><p><h3>See Also:</h3> <a 281 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DeleteEnvironmentMembership">AWS 282 * API Reference</a></p> 283 * 284 * returns a future to the operation so that it can be executed in parallel to other requests. 285 */ 286 virtual Model::DeleteEnvironmentMembershipOutcomeCallable DeleteEnvironmentMembershipCallable(const Model::DeleteEnvironmentMembershipRequest& request) const; 287 288 /** 289 * <p>Deletes an environment member from an Cloud9 development 290 * environment.</p><p><h3>See Also:</h3> <a 291 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DeleteEnvironmentMembership">AWS 292 * API Reference</a></p> 293 * 294 * Queues the request into a thread executor and triggers associated callback when operation has finished. 295 */ 296 virtual void DeleteEnvironmentMembershipAsync(const Model::DeleteEnvironmentMembershipRequest& request, const DeleteEnvironmentMembershipResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 297 298 /** 299 * <p>Gets information about environment members for an Cloud9 development 300 * environment.</p><p><h3>See Also:</h3> <a 301 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironmentMemberships">AWS 302 * API Reference</a></p> 303 */ 304 virtual Model::DescribeEnvironmentMembershipsOutcome DescribeEnvironmentMemberships(const Model::DescribeEnvironmentMembershipsRequest& request) const; 305 306 /** 307 * <p>Gets information about environment members for an Cloud9 development 308 * environment.</p><p><h3>See Also:</h3> <a 309 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironmentMemberships">AWS 310 * API Reference</a></p> 311 * 312 * returns a future to the operation so that it can be executed in parallel to other requests. 313 */ 314 virtual Model::DescribeEnvironmentMembershipsOutcomeCallable DescribeEnvironmentMembershipsCallable(const Model::DescribeEnvironmentMembershipsRequest& request) const; 315 316 /** 317 * <p>Gets information about environment members for an Cloud9 development 318 * environment.</p><p><h3>See Also:</h3> <a 319 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironmentMemberships">AWS 320 * API Reference</a></p> 321 * 322 * Queues the request into a thread executor and triggers associated callback when operation has finished. 323 */ 324 virtual void DescribeEnvironmentMembershipsAsync(const Model::DescribeEnvironmentMembershipsRequest& request, const DescribeEnvironmentMembershipsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 325 326 /** 327 * <p>Gets status information for an Cloud9 development environment.</p><p><h3>See 328 * Also:</h3> <a 329 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironmentStatus">AWS 330 * API Reference</a></p> 331 */ 332 virtual Model::DescribeEnvironmentStatusOutcome DescribeEnvironmentStatus(const Model::DescribeEnvironmentStatusRequest& request) const; 333 334 /** 335 * <p>Gets status information for an Cloud9 development environment.</p><p><h3>See 336 * Also:</h3> <a 337 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironmentStatus">AWS 338 * API Reference</a></p> 339 * 340 * returns a future to the operation so that it can be executed in parallel to other requests. 341 */ 342 virtual Model::DescribeEnvironmentStatusOutcomeCallable DescribeEnvironmentStatusCallable(const Model::DescribeEnvironmentStatusRequest& request) const; 343 344 /** 345 * <p>Gets status information for an Cloud9 development environment.</p><p><h3>See 346 * Also:</h3> <a 347 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironmentStatus">AWS 348 * API Reference</a></p> 349 * 350 * Queues the request into a thread executor and triggers associated callback when operation has finished. 351 */ 352 virtual void DescribeEnvironmentStatusAsync(const Model::DescribeEnvironmentStatusRequest& request, const DescribeEnvironmentStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 353 354 /** 355 * <p>Gets information about Cloud9 development environments.</p><p><h3>See 356 * Also:</h3> <a 357 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironments">AWS 358 * API Reference</a></p> 359 */ 360 virtual Model::DescribeEnvironmentsOutcome DescribeEnvironments(const Model::DescribeEnvironmentsRequest& request) const; 361 362 /** 363 * <p>Gets information about Cloud9 development environments.</p><p><h3>See 364 * Also:</h3> <a 365 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironments">AWS 366 * API Reference</a></p> 367 * 368 * returns a future to the operation so that it can be executed in parallel to other requests. 369 */ 370 virtual Model::DescribeEnvironmentsOutcomeCallable DescribeEnvironmentsCallable(const Model::DescribeEnvironmentsRequest& request) const; 371 372 /** 373 * <p>Gets information about Cloud9 development environments.</p><p><h3>See 374 * Also:</h3> <a 375 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironments">AWS 376 * API Reference</a></p> 377 * 378 * Queues the request into a thread executor and triggers associated callback when operation has finished. 379 */ 380 virtual void DescribeEnvironmentsAsync(const Model::DescribeEnvironmentsRequest& request, const DescribeEnvironmentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 381 382 /** 383 * <p>Gets a list of Cloud9 development environment identifiers.</p><p><h3>See 384 * Also:</h3> <a 385 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/ListEnvironments">AWS 386 * API Reference</a></p> 387 */ 388 virtual Model::ListEnvironmentsOutcome ListEnvironments(const Model::ListEnvironmentsRequest& request) const; 389 390 /** 391 * <p>Gets a list of Cloud9 development environment identifiers.</p><p><h3>See 392 * Also:</h3> <a 393 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/ListEnvironments">AWS 394 * API Reference</a></p> 395 * 396 * returns a future to the operation so that it can be executed in parallel to other requests. 397 */ 398 virtual Model::ListEnvironmentsOutcomeCallable ListEnvironmentsCallable(const Model::ListEnvironmentsRequest& request) const; 399 400 /** 401 * <p>Gets a list of Cloud9 development environment identifiers.</p><p><h3>See 402 * Also:</h3> <a 403 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/ListEnvironments">AWS 404 * API Reference</a></p> 405 * 406 * Queues the request into a thread executor and triggers associated callback when operation has finished. 407 */ 408 virtual void ListEnvironmentsAsync(const Model::ListEnvironmentsRequest& request, const ListEnvironmentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 409 410 /** 411 * <p>Gets a list of the tags associated with an Cloud9 development 412 * environment.</p><p><h3>See Also:</h3> <a 413 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/ListTagsForResource">AWS 414 * API Reference</a></p> 415 */ 416 virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; 417 418 /** 419 * <p>Gets a list of the tags associated with an Cloud9 development 420 * environment.</p><p><h3>See Also:</h3> <a 421 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/ListTagsForResource">AWS 422 * API Reference</a></p> 423 * 424 * returns a future to the operation so that it can be executed in parallel to other requests. 425 */ 426 virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; 427 428 /** 429 * <p>Gets a list of the tags associated with an Cloud9 development 430 * environment.</p><p><h3>See Also:</h3> <a 431 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/ListTagsForResource">AWS 432 * API Reference</a></p> 433 * 434 * Queues the request into a thread executor and triggers associated callback when operation has finished. 435 */ 436 virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 437 438 /** 439 * <p>Adds tags to an Cloud9 development environment.</p> <p>Tags that 440 * you add to an Cloud9 environment by using this method will NOT be automatically 441 * propagated to underlying resources.</p> <p><h3>See Also:</h3> <a 442 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/TagResource">AWS 443 * API Reference</a></p> 444 */ 445 virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; 446 447 /** 448 * <p>Adds tags to an Cloud9 development environment.</p> <p>Tags that 449 * you add to an Cloud9 environment by using this method will NOT be automatically 450 * propagated to underlying resources.</p> <p><h3>See Also:</h3> <a 451 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/TagResource">AWS 452 * API Reference</a></p> 453 * 454 * returns a future to the operation so that it can be executed in parallel to other requests. 455 */ 456 virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; 457 458 /** 459 * <p>Adds tags to an Cloud9 development environment.</p> <p>Tags that 460 * you add to an Cloud9 environment by using this method will NOT be automatically 461 * propagated to underlying resources.</p> <p><h3>See Also:</h3> <a 462 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/TagResource">AWS 463 * API Reference</a></p> 464 * 465 * Queues the request into a thread executor and triggers associated callback when operation has finished. 466 */ 467 virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 468 469 /** 470 * <p>Removes tags from an Cloud9 development environment.</p><p><h3>See Also:</h3> 471 * <a 472 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UntagResource">AWS 473 * API Reference</a></p> 474 */ 475 virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; 476 477 /** 478 * <p>Removes tags from an Cloud9 development environment.</p><p><h3>See Also:</h3> 479 * <a 480 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UntagResource">AWS 481 * API Reference</a></p> 482 * 483 * returns a future to the operation so that it can be executed in parallel to other requests. 484 */ 485 virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const; 486 487 /** 488 * <p>Removes tags from an Cloud9 development environment.</p><p><h3>See Also:</h3> 489 * <a 490 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UntagResource">AWS 491 * API Reference</a></p> 492 * 493 * Queues the request into a thread executor and triggers associated callback when operation has finished. 494 */ 495 virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 496 497 /** 498 * <p>Changes the settings of an existing Cloud9 development 499 * environment.</p><p><h3>See Also:</h3> <a 500 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UpdateEnvironment">AWS 501 * API Reference</a></p> 502 */ 503 virtual Model::UpdateEnvironmentOutcome UpdateEnvironment(const Model::UpdateEnvironmentRequest& request) const; 504 505 /** 506 * <p>Changes the settings of an existing Cloud9 development 507 * environment.</p><p><h3>See Also:</h3> <a 508 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UpdateEnvironment">AWS 509 * API Reference</a></p> 510 * 511 * returns a future to the operation so that it can be executed in parallel to other requests. 512 */ 513 virtual Model::UpdateEnvironmentOutcomeCallable UpdateEnvironmentCallable(const Model::UpdateEnvironmentRequest& request) const; 514 515 /** 516 * <p>Changes the settings of an existing Cloud9 development 517 * environment.</p><p><h3>See Also:</h3> <a 518 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UpdateEnvironment">AWS 519 * API Reference</a></p> 520 * 521 * Queues the request into a thread executor and triggers associated callback when operation has finished. 522 */ 523 virtual void UpdateEnvironmentAsync(const Model::UpdateEnvironmentRequest& request, const UpdateEnvironmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 524 525 /** 526 * <p>Changes the settings of an existing environment member for an Cloud9 527 * development environment.</p><p><h3>See Also:</h3> <a 528 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UpdateEnvironmentMembership">AWS 529 * API Reference</a></p> 530 */ 531 virtual Model::UpdateEnvironmentMembershipOutcome UpdateEnvironmentMembership(const Model::UpdateEnvironmentMembershipRequest& request) const; 532 533 /** 534 * <p>Changes the settings of an existing environment member for an Cloud9 535 * development environment.</p><p><h3>See Also:</h3> <a 536 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UpdateEnvironmentMembership">AWS 537 * API Reference</a></p> 538 * 539 * returns a future to the operation so that it can be executed in parallel to other requests. 540 */ 541 virtual Model::UpdateEnvironmentMembershipOutcomeCallable UpdateEnvironmentMembershipCallable(const Model::UpdateEnvironmentMembershipRequest& request) const; 542 543 /** 544 * <p>Changes the settings of an existing environment member for an Cloud9 545 * development environment.</p><p><h3>See Also:</h3> <a 546 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UpdateEnvironmentMembership">AWS 547 * API Reference</a></p> 548 * 549 * Queues the request into a thread executor and triggers associated callback when operation has finished. 550 */ 551 virtual void UpdateEnvironmentMembershipAsync(const Model::UpdateEnvironmentMembershipRequest& request, const UpdateEnvironmentMembershipResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 552 553 554 void OverrideEndpoint(const Aws::String& endpoint); 555 private: 556 void init(const Aws::Client::ClientConfiguration& clientConfiguration); 557 void CreateEnvironmentEC2AsyncHelper(const Model::CreateEnvironmentEC2Request& request, const CreateEnvironmentEC2ResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 558 void CreateEnvironmentMembershipAsyncHelper(const Model::CreateEnvironmentMembershipRequest& request, const CreateEnvironmentMembershipResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 559 void DeleteEnvironmentAsyncHelper(const Model::DeleteEnvironmentRequest& request, const DeleteEnvironmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 560 void DeleteEnvironmentMembershipAsyncHelper(const Model::DeleteEnvironmentMembershipRequest& request, const DeleteEnvironmentMembershipResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 561 void DescribeEnvironmentMembershipsAsyncHelper(const Model::DescribeEnvironmentMembershipsRequest& request, const DescribeEnvironmentMembershipsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 562 void DescribeEnvironmentStatusAsyncHelper(const Model::DescribeEnvironmentStatusRequest& request, const DescribeEnvironmentStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 563 void DescribeEnvironmentsAsyncHelper(const Model::DescribeEnvironmentsRequest& request, const DescribeEnvironmentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 564 void ListEnvironmentsAsyncHelper(const Model::ListEnvironmentsRequest& request, const ListEnvironmentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 565 void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 566 void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 567 void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 568 void UpdateEnvironmentAsyncHelper(const Model::UpdateEnvironmentRequest& request, const UpdateEnvironmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 569 void UpdateEnvironmentMembershipAsyncHelper(const Model::UpdateEnvironmentMembershipRequest& request, const UpdateEnvironmentMembershipResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 570 571 Aws::String m_uri; 572 Aws::String m_configScheme; 573 std::shared_ptr<Aws::Utils::Threading::Executor> m_executor; 574 }; 575 576 } // namespace Cloud9 577 } // namespace Aws 578