AWS SDK for C++  0.14.3
AWS SDK for C++
ServiceCatalogClient.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
36 #include <future>
37 #include <functional>
38 
39 namespace Aws
40 {
41 
42 namespace Http
43 {
44  class HttpClient;
45  class HttpClientFactory;
46 } // namespace Http
47 
48 namespace Utils
49 {
50  template< typename R, typename E> class Outcome;
51 
52 namespace Threading
53 {
54  class Executor;
55 } // namespace Threading
56 
57 namespace Json
58 {
59  class JsonValue;
60 } // namespace Json
61 } // namespace Utils
62 
63 namespace Auth
64 {
65  class AWSCredentials;
66  class AWSCredentialsProvider;
67 } // namespace Auth
68 
69 namespace Client
70 {
71  class RetryStrategy;
72 } // namespace Client
73 
74 namespace ServiceCatalog
75 {
76 
77 namespace Model
78 {
79  class DescribeProductRequest;
80  class DescribeProductViewRequest;
81  class DescribeProvisioningParametersRequest;
82  class DescribeRecordRequest;
83  class ListLaunchPathsRequest;
84  class ListRecordHistoryRequest;
85  class ProvisionProductRequest;
86  class ScanProvisionedProductsRequest;
87  class SearchProductsRequest;
88  class TerminateProvisionedProductRequest;
90 
102 
103  typedef std::future<DescribeProductOutcome> DescribeProductOutcomeCallable;
104  typedef std::future<DescribeProductViewOutcome> DescribeProductViewOutcomeCallable;
105  typedef std::future<DescribeProvisioningParametersOutcome> DescribeProvisioningParametersOutcomeCallable;
106  typedef std::future<DescribeRecordOutcome> DescribeRecordOutcomeCallable;
107  typedef std::future<ListLaunchPathsOutcome> ListLaunchPathsOutcomeCallable;
108  typedef std::future<ListRecordHistoryOutcome> ListRecordHistoryOutcomeCallable;
109  typedef std::future<ProvisionProductOutcome> ProvisionProductOutcomeCallable;
110  typedef std::future<ScanProvisionedProductsOutcome> ScanProvisionedProductsOutcomeCallable;
111  typedef std::future<SearchProductsOutcome> SearchProductsOutcomeCallable;
112  typedef std::future<TerminateProvisionedProductOutcome> TerminateProvisionedProductOutcomeCallable;
113  typedef std::future<UpdateProvisionedProductOutcome> UpdateProvisionedProductOutcomeCallable;
114 } // namespace Model
115 
117 
118  typedef std::function<void(const ServiceCatalogClient*, const Model::DescribeProductRequest&, const Model::DescribeProductOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeProductResponseReceivedHandler;
119  typedef std::function<void(const ServiceCatalogClient*, const Model::DescribeProductViewRequest&, const Model::DescribeProductViewOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeProductViewResponseReceivedHandler;
120  typedef std::function<void(const ServiceCatalogClient*, const Model::DescribeProvisioningParametersRequest&, const Model::DescribeProvisioningParametersOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeProvisioningParametersResponseReceivedHandler;
121  typedef std::function<void(const ServiceCatalogClient*, const Model::DescribeRecordRequest&, const Model::DescribeRecordOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeRecordResponseReceivedHandler;
122  typedef std::function<void(const ServiceCatalogClient*, const Model::ListLaunchPathsRequest&, const Model::ListLaunchPathsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListLaunchPathsResponseReceivedHandler;
123  typedef std::function<void(const ServiceCatalogClient*, const Model::ListRecordHistoryRequest&, const Model::ListRecordHistoryOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListRecordHistoryResponseReceivedHandler;
124  typedef std::function<void(const ServiceCatalogClient*, const Model::ProvisionProductRequest&, const Model::ProvisionProductOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ProvisionProductResponseReceivedHandler;
125  typedef std::function<void(const ServiceCatalogClient*, const Model::ScanProvisionedProductsRequest&, const Model::ScanProvisionedProductsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ScanProvisionedProductsResponseReceivedHandler;
126  typedef std::function<void(const ServiceCatalogClient*, const Model::SearchProductsRequest&, const Model::SearchProductsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SearchProductsResponseReceivedHandler;
127  typedef std::function<void(const ServiceCatalogClient*, const Model::TerminateProvisionedProductRequest&, const Model::TerminateProvisionedProductOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TerminateProvisionedProductResponseReceivedHandler;
128  typedef std::function<void(const ServiceCatalogClient*, const Model::UpdateProvisionedProductRequest&, const Model::UpdateProvisionedProductOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateProvisionedProductResponseReceivedHandler;
129 
146  {
147  public:
149 
155 
160  ServiceCatalogClient(const Auth::AWSCredentials& credentials, const Client::ClientConfiguration& clientConfiguration = Client::ClientConfiguration());
161 
166  ServiceCatalogClient(const std::shared_ptr<Auth::AWSCredentialsProvider>& credentialsProvider,
167  const Client::ClientConfiguration& clientConfiguration = Client::ClientConfiguration());
168 
169  virtual ~ServiceCatalogClient();
170 
176  virtual Model::DescribeProductOutcome DescribeProduct(const Model::DescribeProductRequest& request) const;
177 
185  virtual Model::DescribeProductOutcomeCallable DescribeProductCallable(const Model::DescribeProductRequest& request) const;
186 
194  virtual void DescribeProductAsync(const Model::DescribeProductRequest& request, const DescribeProductResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
195 
201  virtual Model::DescribeProductViewOutcome DescribeProductView(const Model::DescribeProductViewRequest& request) const;
202 
210  virtual Model::DescribeProductViewOutcomeCallable DescribeProductViewCallable(const Model::DescribeProductViewRequest& request) const;
211 
219  virtual void DescribeProductViewAsync(const Model::DescribeProductViewRequest& request, const DescribeProductViewResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
220 
227  virtual Model::DescribeProvisioningParametersOutcome DescribeProvisioningParameters(const Model::DescribeProvisioningParametersRequest& request) const;
228 
237  virtual Model::DescribeProvisioningParametersOutcomeCallable DescribeProvisioningParametersCallable(const Model::DescribeProvisioningParametersRequest& request) const;
238 
247  virtual void DescribeProvisioningParametersAsync(const Model::DescribeProvisioningParametersRequest& request, const DescribeProvisioningParametersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
248 
254  virtual Model::DescribeRecordOutcome DescribeRecord(const Model::DescribeRecordRequest& request) const;
255 
263  virtual Model::DescribeRecordOutcomeCallable DescribeRecordCallable(const Model::DescribeRecordRequest& request) const;
264 
272  virtual void DescribeRecordAsync(const Model::DescribeRecordRequest& request, const DescribeRecordResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
273 
279  virtual Model::ListLaunchPathsOutcome ListLaunchPaths(const Model::ListLaunchPathsRequest& request) const;
280 
288  virtual Model::ListLaunchPathsOutcomeCallable ListLaunchPathsCallable(const Model::ListLaunchPathsRequest& request) const;
289 
297  virtual void ListLaunchPathsAsync(const Model::ListLaunchPathsRequest& request, const ListLaunchPathsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
298 
303  virtual Model::ListRecordHistoryOutcome ListRecordHistory(const Model::ListRecordHistoryRequest& request) const;
304 
311  virtual Model::ListRecordHistoryOutcomeCallable ListRecordHistoryCallable(const Model::ListRecordHistoryRequest& request) const;
312 
319  virtual void ListRecordHistoryAsync(const Model::ListRecordHistoryRequest& request, const ListRecordHistoryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
320 
329  virtual Model::ProvisionProductOutcome ProvisionProduct(const Model::ProvisionProductRequest& request) const;
330 
341  virtual Model::ProvisionProductOutcomeCallable ProvisionProductCallable(const Model::ProvisionProductRequest& request) const;
342 
353  virtual void ProvisionProductAsync(const Model::ProvisionProductRequest& request, const ProvisionProductResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
354 
359  virtual Model::ScanProvisionedProductsOutcome ScanProvisionedProducts(const Model::ScanProvisionedProductsRequest& request) const;
360 
367  virtual Model::ScanProvisionedProductsOutcomeCallable ScanProvisionedProductsCallable(const Model::ScanProvisionedProductsRequest& request) const;
368 
375  virtual void ScanProvisionedProductsAsync(const Model::ScanProvisionedProductsRequest& request, const ScanProvisionedProductsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
376 
382  virtual Model::SearchProductsOutcome SearchProducts(const Model::SearchProductsRequest& request) const;
383 
391  virtual Model::SearchProductsOutcomeCallable SearchProductsCallable(const Model::SearchProductsRequest& request) const;
392 
400  virtual void SearchProductsAsync(const Model::SearchProductsRequest& request, const SearchProductsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
401 
409  virtual Model::TerminateProvisionedProductOutcome TerminateProvisionedProduct(const Model::TerminateProvisionedProductRequest& request) const;
410 
420  virtual Model::TerminateProvisionedProductOutcomeCallable TerminateProvisionedProductCallable(const Model::TerminateProvisionedProductRequest& request) const;
421 
431  virtual void TerminateProvisionedProductAsync(const Model::TerminateProvisionedProductRequest& request, const TerminateProvisionedProductResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
432 
441  virtual Model::UpdateProvisionedProductOutcome UpdateProvisionedProduct(const Model::UpdateProvisionedProductRequest& request) const;
442 
453  virtual Model::UpdateProvisionedProductOutcomeCallable UpdateProvisionedProductCallable(const Model::UpdateProvisionedProductRequest& request) const;
454 
465  virtual void UpdateProvisionedProductAsync(const Model::UpdateProvisionedProductRequest& request, const UpdateProvisionedProductResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
466 
467 
468  private:
469  void init(const Client::ClientConfiguration& clientConfiguration);
470 
472  void DescribeProductAsyncHelper(const Model::DescribeProductRequest& request, const DescribeProductResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
473  void DescribeProductViewAsyncHelper(const Model::DescribeProductViewRequest& request, const DescribeProductViewResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
474  void DescribeProvisioningParametersAsyncHelper(const Model::DescribeProvisioningParametersRequest& request, const DescribeProvisioningParametersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
475  void DescribeRecordAsyncHelper(const Model::DescribeRecordRequest& request, const DescribeRecordResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
476  void ListLaunchPathsAsyncHelper(const Model::ListLaunchPathsRequest& request, const ListLaunchPathsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
477  void ListRecordHistoryAsyncHelper(const Model::ListRecordHistoryRequest& request, const ListRecordHistoryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
478  void ProvisionProductAsyncHelper(const Model::ProvisionProductRequest& request, const ProvisionProductResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
479  void ScanProvisionedProductsAsyncHelper(const Model::ScanProvisionedProductsRequest& request, const ScanProvisionedProductsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
480  void SearchProductsAsyncHelper(const Model::SearchProductsRequest& request, const SearchProductsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
481  void TerminateProvisionedProductAsyncHelper(const Model::TerminateProvisionedProductRequest& request, const TerminateProvisionedProductResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
482  void UpdateProvisionedProductAsyncHelper(const Model::UpdateProvisionedProductRequest& request, const UpdateProvisionedProductResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
483 
484  Aws::String m_uri;
485  std::shared_ptr<Utils::Threading::Executor> m_executor;
486  };
487 
488 } // namespace ServiceCatalog
489 } // namespace Aws
#define AWS_SERVICECATALOG_API
std::function< void(const ServiceCatalogClient *, const Model::SearchProductsRequest &, const Model::SearchProductsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > SearchProductsResponseReceivedHandler
std::future< ListRecordHistoryOutcome > ListRecordHistoryOutcomeCallable
std::future< DescribeRecordOutcome > DescribeRecordOutcomeCallable
std::future< UpdateProvisionedProductOutcome > UpdateProvisionedProductOutcomeCallable
std::future< TerminateProvisionedProductOutcome > TerminateProvisionedProductOutcomeCallable
std::function< void(const ServiceCatalogClient *, const Model::DescribeRecordRequest &, const Model::DescribeRecordOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DescribeRecordResponseReceivedHandler
Aws::Utils::Outcome< ListLaunchPathsResult, Aws::Client::AWSError< ServiceCatalogErrors > > ListLaunchPathsOutcome
Aws::Utils::Outcome< DescribeProductResult, Aws::Client::AWSError< ServiceCatalogErrors > > DescribeProductOutcome
Aws::Utils::Outcome< TerminateProvisionedProductResult, Aws::Client::AWSError< ServiceCatalogErrors > > TerminateProvisionedProductOutcome
Aws::Utils::Outcome< ScanProvisionedProductsResult, Aws::Client::AWSError< ServiceCatalogErrors > > ScanProvisionedProductsOutcome
std::future< DescribeProvisioningParametersOutcome > DescribeProvisioningParametersOutcomeCallable
std::function< void(const ServiceCatalogClient *, const Model::DescribeProductViewRequest &, const Model::DescribeProductViewOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DescribeProductViewResponseReceivedHandler
Aws::Utils::Outcome< ProvisionProductResult, Aws::Client::AWSError< ServiceCatalogErrors > > ProvisionProductOutcome
std::future< ListLaunchPathsOutcome > ListLaunchPathsOutcomeCallable
std::function< void(const ServiceCatalogClient *, const Model::UpdateProvisionedProductRequest &, const Model::UpdateProvisionedProductOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UpdateProvisionedProductResponseReceivedHandler
Aws::Utils::Outcome< DescribeProvisioningParametersResult, Aws::Client::AWSError< ServiceCatalogErrors > > DescribeProvisioningParametersOutcome
std::future< DescribeProductViewOutcome > DescribeProductViewOutcomeCallable
std::function< void(const ServiceCatalogClient *, const Model::DescribeProvisioningParametersRequest &, const Model::DescribeProvisioningParametersOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DescribeProvisioningParametersResponseReceivedHandler
Aws::Utils::Outcome< DescribeProductViewResult, Aws::Client::AWSError< ServiceCatalogErrors > > DescribeProductViewOutcome
Aws::Utils::Outcome< DescribeRecordResult, Aws::Client::AWSError< ServiceCatalogErrors > > DescribeRecordOutcome
Aws::Utils::Outcome< ListRecordHistoryResult, Aws::Client::AWSError< ServiceCatalogErrors > > ListRecordHistoryOutcome
std::function< void(const ServiceCatalogClient *, const Model::ScanProvisionedProductsRequest &, const Model::ScanProvisionedProductsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ScanProvisionedProductsResponseReceivedHandler
std::future< ScanProvisionedProductsOutcome > ScanProvisionedProductsOutcomeCallable
std::function< void(const ServiceCatalogClient *, const Model::TerminateProvisionedProductRequest &, const Model::TerminateProvisionedProductOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > TerminateProvisionedProductResponseReceivedHandler
Aws::Utils::Outcome< SearchProductsResult, Aws::Client::AWSError< ServiceCatalogErrors > > SearchProductsOutcome
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
std::function< void(const ServiceCatalogClient *, const Model::DescribeProductRequest &, const Model::DescribeProductOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DescribeProductResponseReceivedHandler
std::future< ProvisionProductOutcome > ProvisionProductOutcomeCallable
std::function< void(const ServiceCatalogClient *, const Model::ListLaunchPathsRequest &, const Model::ListLaunchPathsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListLaunchPathsResponseReceivedHandler
std::function< void(const ServiceCatalogClient *, const Model::ListRecordHistoryRequest &, const Model::ListRecordHistoryOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListRecordHistoryResponseReceivedHandler
std::future< SearchProductsOutcome > SearchProductsOutcomeCallable
std::function< void(const ServiceCatalogClient *, const Model::ProvisionProductRequest &, const Model::ProvisionProductOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ProvisionProductResponseReceivedHandler
Aws::Utils::Outcome< UpdateProvisionedProductResult, Aws::Client::AWSError< ServiceCatalogErrors > > UpdateProvisionedProductOutcome
std::future< DescribeProductOutcome > DescribeProductOutcomeCallable
JSON (JavaScript Object Notation).