AWS SDK for C++  0.12.9
AWS SDK for C++
ElasticsearchServiceClient.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
31 #include <aws/core/NoResult.h>
34 #include <future>
35 #include <functional>
36 
37 namespace Aws
38 {
39 
40 namespace Http
41 {
42  class HttpClient;
43  class HttpClientFactory;
44 } // namespace Http
45 
46 namespace Utils
47 {
48  template< typename R, typename E> class Outcome;
49 
50 namespace Threading
51 {
52  class Executor;
53 } // namespace Threading
54 
55 namespace Json
56 {
57  class JsonValue;
58 } // namespace Json
59 } // namespace Utils
60 
61 namespace Auth
62 {
63  class AWSCredentials;
64  class AWSCredentialsProvider;
65 } // namespace Auth
66 
67 namespace Client
68 {
69  class RetryStrategy;
70 } // namespace Client
71 
72 namespace ElasticsearchService
73 {
74 
75 namespace Model
76 {
77  class AddTagsRequest;
83  class ListTagsRequest;
84  class RemoveTagsRequest;
86 
97 
98  typedef std::future<AddTagsOutcome> AddTagsOutcomeCallable;
99  typedef std::future<CreateElasticsearchDomainOutcome> CreateElasticsearchDomainOutcomeCallable;
100  typedef std::future<DeleteElasticsearchDomainOutcome> DeleteElasticsearchDomainOutcomeCallable;
101  typedef std::future<DescribeElasticsearchDomainOutcome> DescribeElasticsearchDomainOutcomeCallable;
102  typedef std::future<DescribeElasticsearchDomainConfigOutcome> DescribeElasticsearchDomainConfigOutcomeCallable;
103  typedef std::future<DescribeElasticsearchDomainsOutcome> DescribeElasticsearchDomainsOutcomeCallable;
104  typedef std::future<ListDomainNamesOutcome> ListDomainNamesOutcomeCallable;
105  typedef std::future<ListTagsOutcome> ListTagsOutcomeCallable;
106  typedef std::future<RemoveTagsOutcome> RemoveTagsOutcomeCallable;
107  typedef std::future<UpdateElasticsearchDomainConfigOutcome> UpdateElasticsearchDomainConfigOutcomeCallable;
108 } // namespace Model
109 
111 
112  typedef std::function<void(const ElasticsearchServiceClient*, const Model::AddTagsRequest&, const Model::AddTagsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AddTagsResponseReceivedHandler;
113  typedef std::function<void(const ElasticsearchServiceClient*, const Model::CreateElasticsearchDomainRequest&, const Model::CreateElasticsearchDomainOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateElasticsearchDomainResponseReceivedHandler;
114  typedef std::function<void(const ElasticsearchServiceClient*, const Model::DeleteElasticsearchDomainRequest&, const Model::DeleteElasticsearchDomainOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteElasticsearchDomainResponseReceivedHandler;
115  typedef std::function<void(const ElasticsearchServiceClient*, const Model::DescribeElasticsearchDomainRequest&, const Model::DescribeElasticsearchDomainOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeElasticsearchDomainResponseReceivedHandler;
116  typedef std::function<void(const ElasticsearchServiceClient*, const Model::DescribeElasticsearchDomainConfigRequest&, const Model::DescribeElasticsearchDomainConfigOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeElasticsearchDomainConfigResponseReceivedHandler;
117  typedef std::function<void(const ElasticsearchServiceClient*, const Model::DescribeElasticsearchDomainsRequest&, const Model::DescribeElasticsearchDomainsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeElasticsearchDomainsResponseReceivedHandler;
118  typedef std::function<void(const ElasticsearchServiceClient*, const Model::ListDomainNamesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListDomainNamesResponseReceivedHandler;
119  typedef std::function<void(const ElasticsearchServiceClient*, const Model::ListTagsRequest&, const Model::ListTagsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsResponseReceivedHandler;
120  typedef std::function<void(const ElasticsearchServiceClient*, const Model::RemoveTagsRequest&, const Model::RemoveTagsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RemoveTagsResponseReceivedHandler;
121  typedef std::function<void(const ElasticsearchServiceClient*, const Model::UpdateElasticsearchDomainConfigRequest&, const Model::UpdateElasticsearchDomainConfigOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateElasticsearchDomainConfigResponseReceivedHandler;
122 
134  {
135  public:
137 
143 
149 
154  ElasticsearchServiceClient(const std::shared_ptr<Auth::AWSCredentialsProvider>& credentialsProvider,
155  const Client::ClientConfiguration& clientConfiguration = Client::ClientConfiguration());
156 
157  virtual ~ElasticsearchServiceClient();
158 
167  virtual Model::AddTagsOutcome AddTags(const Model::AddTagsRequest& request) const;
168 
179  virtual Model::AddTagsOutcomeCallable AddTagsCallable(const Model::AddTagsRequest& request) const;
180 
191  virtual void AddTagsAsync(const Model::AddTagsRequest& request, const AddTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
192 
199  virtual Model::CreateElasticsearchDomainOutcome CreateElasticsearchDomain(const Model::CreateElasticsearchDomainRequest& request) const;
200 
209  virtual Model::CreateElasticsearchDomainOutcomeCallable CreateElasticsearchDomainCallable(const Model::CreateElasticsearchDomainRequest& request) const;
210 
219  virtual void CreateElasticsearchDomainAsync(const Model::CreateElasticsearchDomainRequest& request, const CreateElasticsearchDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
220 
225  virtual Model::DeleteElasticsearchDomainOutcome DeleteElasticsearchDomain(const Model::DeleteElasticsearchDomainRequest& request) const;
226 
233  virtual Model::DeleteElasticsearchDomainOutcomeCallable DeleteElasticsearchDomainCallable(const Model::DeleteElasticsearchDomainRequest& request) const;
234 
241  virtual void DeleteElasticsearchDomainAsync(const Model::DeleteElasticsearchDomainRequest& request, const DeleteElasticsearchDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
242 
247  virtual Model::DescribeElasticsearchDomainOutcome DescribeElasticsearchDomain(const Model::DescribeElasticsearchDomainRequest& request) const;
248 
255  virtual Model::DescribeElasticsearchDomainOutcomeCallable DescribeElasticsearchDomainCallable(const Model::DescribeElasticsearchDomainRequest& request) const;
256 
263  virtual void DescribeElasticsearchDomainAsync(const Model::DescribeElasticsearchDomainRequest& request, const DescribeElasticsearchDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
264 
270  virtual Model::DescribeElasticsearchDomainConfigOutcome DescribeElasticsearchDomainConfig(const Model::DescribeElasticsearchDomainConfigRequest& request) const;
271 
279  virtual Model::DescribeElasticsearchDomainConfigOutcomeCallable DescribeElasticsearchDomainConfigCallable(const Model::DescribeElasticsearchDomainConfigRequest& request) const;
280 
288  virtual void DescribeElasticsearchDomainConfigAsync(const Model::DescribeElasticsearchDomainConfigRequest& request, const DescribeElasticsearchDomainConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
289 
294  virtual Model::DescribeElasticsearchDomainsOutcome DescribeElasticsearchDomains(const Model::DescribeElasticsearchDomainsRequest& request) const;
295 
302  virtual Model::DescribeElasticsearchDomainsOutcomeCallable DescribeElasticsearchDomainsCallable(const Model::DescribeElasticsearchDomainsRequest& request) const;
303 
310  virtual void DescribeElasticsearchDomainsAsync(const Model::DescribeElasticsearchDomainsRequest& request, const DescribeElasticsearchDomainsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
311 
316  virtual Model::ListDomainNamesOutcome ListDomainNames() const;
317 
324  virtual Model::ListDomainNamesOutcomeCallable ListDomainNamesCallable() const;
325 
332  virtual void ListDomainNamesAsync(const ListDomainNamesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
336  virtual Model::ListTagsOutcome ListTags(const Model::ListTagsRequest& request) const;
337 
343  virtual Model::ListTagsOutcomeCallable ListTagsCallable(const Model::ListTagsRequest& request) const;
344 
350  virtual void ListTagsAsync(const Model::ListTagsRequest& request, const ListTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
351 
356  virtual Model::RemoveTagsOutcome RemoveTags(const Model::RemoveTagsRequest& request) const;
357 
364  virtual Model::RemoveTagsOutcomeCallable RemoveTagsCallable(const Model::RemoveTagsRequest& request) const;
365 
372  virtual void RemoveTagsAsync(const Model::RemoveTagsRequest& request, const RemoveTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
373 
378  virtual Model::UpdateElasticsearchDomainConfigOutcome UpdateElasticsearchDomainConfig(const Model::UpdateElasticsearchDomainConfigRequest& request) const;
379 
386  virtual Model::UpdateElasticsearchDomainConfigOutcomeCallable UpdateElasticsearchDomainConfigCallable(const Model::UpdateElasticsearchDomainConfigRequest& request) const;
387 
394  virtual void UpdateElasticsearchDomainConfigAsync(const Model::UpdateElasticsearchDomainConfigRequest& request, const UpdateElasticsearchDomainConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
395 
396 
397  private:
398  void init(const Client::ClientConfiguration& clientConfiguration);
399 
401  void AddTagsAsyncHelper(const Model::AddTagsRequest& request, const AddTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
402  void CreateElasticsearchDomainAsyncHelper(const Model::CreateElasticsearchDomainRequest& request, const CreateElasticsearchDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
403  void DeleteElasticsearchDomainAsyncHelper(const Model::DeleteElasticsearchDomainRequest& request, const DeleteElasticsearchDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
404  void DescribeElasticsearchDomainAsyncHelper(const Model::DescribeElasticsearchDomainRequest& request, const DescribeElasticsearchDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
405  void DescribeElasticsearchDomainConfigAsyncHelper(const Model::DescribeElasticsearchDomainConfigRequest& request, const DescribeElasticsearchDomainConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
406  void DescribeElasticsearchDomainsAsyncHelper(const Model::DescribeElasticsearchDomainsRequest& request, const DescribeElasticsearchDomainsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
407  void ListDomainNamesAsyncHelper(const ListDomainNamesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
408  void ListTagsAsyncHelper(const Model::ListTagsRequest& request, const ListTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
409  void RemoveTagsAsyncHelper(const Model::RemoveTagsRequest& request, const RemoveTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
410  void UpdateElasticsearchDomainConfigAsyncHelper(const Model::UpdateElasticsearchDomainConfigRequest& request, const UpdateElasticsearchDomainConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
411 
412  Aws::String m_uri;
413  std::shared_ptr<Utils::Threading::Executor> m_executor;
414  };
415 
416 } // namespace ElasticsearchService
417 } // namespace Aws
std::function< void(const ElasticsearchServiceClient *, const Model::DescribeElasticsearchDomainsRequest &, const Model::DescribeElasticsearchDomainsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DescribeElasticsearchDomainsResponseReceivedHandler
std::function< void(const ElasticsearchServiceClient *, const Model::ListDomainNamesOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListDomainNamesResponseReceivedHandler
std::future< DescribeElasticsearchDomainsOutcome > DescribeElasticsearchDomainsOutcomeCallable
std::future< UpdateElasticsearchDomainConfigOutcome > UpdateElasticsearchDomainConfigOutcomeCallable
std::future< CreateElasticsearchDomainOutcome > CreateElasticsearchDomainOutcomeCallable
std::future< RemoveTagsOutcome > RemoveTagsOutcomeCallable
std::future< DescribeElasticsearchDomainOutcome > DescribeElasticsearchDomainOutcomeCallable
std::function< void(const ElasticsearchServiceClient *, const Model::ListTagsRequest &, const Model::ListTagsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListTagsResponseReceivedHandler
Aws::Utils::Outcome< CreateElasticsearchDomainResult, Aws::Client::AWSError< ElasticsearchServiceErrors > > CreateElasticsearchDomainOutcome
std::function< void(const ElasticsearchServiceClient *, const Model::DeleteElasticsearchDomainRequest &, const Model::DeleteElasticsearchDomainOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteElasticsearchDomainResponseReceivedHandler
Aws::Utils::Outcome< DescribeElasticsearchDomainConfigResult, Aws::Client::AWSError< ElasticsearchServiceErrors > > DescribeElasticsearchDomainConfigOutcome
Aws::Utils::Outcome< UpdateElasticsearchDomainConfigResult, Aws::Client::AWSError< ElasticsearchServiceErrors > > UpdateElasticsearchDomainConfigOutcome
std::function< void(const ElasticsearchServiceClient *, const Model::UpdateElasticsearchDomainConfigRequest &, const Model::UpdateElasticsearchDomainConfigOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UpdateElasticsearchDomainConfigResponseReceivedHandler
Aws::Utils::Outcome< DescribeElasticsearchDomainsResult, Aws::Client::AWSError< ElasticsearchServiceErrors > > DescribeElasticsearchDomainsOutcome
Aws::Utils::Outcome< ListDomainNamesResult, Aws::Client::AWSError< ElasticsearchServiceErrors > > ListDomainNamesOutcome
std::future< AddTagsOutcome > AddTagsOutcomeCallable
std::function< void(const ElasticsearchServiceClient *, const Model::CreateElasticsearchDomainRequest &, const Model::CreateElasticsearchDomainOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CreateElasticsearchDomainResponseReceivedHandler
Aws::Utils::Outcome< NoResult, Aws::Client::AWSError< ElasticsearchServiceErrors > > AddTagsOutcome
#define AWS_ELASTICSEARCHSERVICE_API
std::future< ListTagsOutcome > ListTagsOutcomeCallable
Aws::Utils::Outcome< DeleteElasticsearchDomainResult, Aws::Client::AWSError< ElasticsearchServiceErrors > > DeleteElasticsearchDomainOutcome
std::future< ListDomainNamesOutcome > ListDomainNamesOutcomeCallable
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
Aws::Utils::Outcome< DescribeElasticsearchDomainResult, Aws::Client::AWSError< ElasticsearchServiceErrors > > DescribeElasticsearchDomainOutcome
std::future< DeleteElasticsearchDomainOutcome > DeleteElasticsearchDomainOutcomeCallable
std::function< void(const ElasticsearchServiceClient *, const Model::RemoveTagsRequest &, const Model::RemoveTagsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > RemoveTagsResponseReceivedHandler
std::function< void(const ElasticsearchServiceClient *, const Model::DescribeElasticsearchDomainConfigRequest &, const Model::DescribeElasticsearchDomainConfigOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DescribeElasticsearchDomainConfigResponseReceivedHandler
std::function< void(const ElasticsearchServiceClient *, const Model::DescribeElasticsearchDomainRequest &, const Model::DescribeElasticsearchDomainOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DescribeElasticsearchDomainResponseReceivedHandler
std::future< DescribeElasticsearchDomainConfigOutcome > DescribeElasticsearchDomainConfigOutcomeCallable
Aws::Utils::Outcome< ListTagsResult, Aws::Client::AWSError< ElasticsearchServiceErrors > > ListTagsOutcome
std::function< void(const ElasticsearchServiceClient *, const Model::AddTagsRequest &, const Model::AddTagsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > AddTagsResponseReceivedHandler
JSON (JavaScript Object Notation).
Aws::Utils::Outcome< NoResult, Aws::Client::AWSError< ElasticsearchServiceErrors > > RemoveTagsOutcome