7#include <aws/core/client/AWSClient.h> 
    8#include <aws/core/client/AWSClientAsyncCRTP.h> 
    9#include <aws/core/client/ClientConfiguration.h> 
   10#include <aws/core/utils/json/JsonSerializer.h> 
   11#include <aws/rbin/RecycleBinServiceClientModel.h> 
   12#include <aws/rbin/RecycleBin_EXPORTS.h> 
   48      std::shared_ptr<RecycleBinEndpointProviderBase> endpointProvider = 
nullptr);
 
   63      const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
 
   64      std::shared_ptr<RecycleBinEndpointProviderBase> endpointProvider = 
nullptr,
 
   84  RecycleBinClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
 
  115  template <
typename CreateRuleRequestT = Model::CreateRuleRequest>
 
  117    return SubmitCallable(&RecycleBinClient::CreateRule, request);
 
  124  template <
typename CreateRuleRequestT = Model::CreateRuleRequest>
 
  126                       const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = 
nullptr)
 const {
 
  127    return SubmitAsync(&RecycleBinClient::CreateRule, request, handler, context);
 
  143  template <
typename DeleteRuleRequestT = Model::DeleteRuleRequest>
 
  145    return SubmitCallable(&RecycleBinClient::DeleteRule, request);
 
  152  template <
typename DeleteRuleRequestT = Model::DeleteRuleRequest>
 
  154                       const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = 
nullptr)
 const {
 
  155    return SubmitAsync(&RecycleBinClient::DeleteRule, request, handler, context);
 
  168  template <
typename GetRuleRequestT = Model::GetRuleRequest>
 
  170    return SubmitCallable(&RecycleBinClient::GetRule, request);
 
  177  template <
typename GetRuleRequestT = Model::GetRuleRequest>
 
  179                    const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = 
nullptr)
 const {
 
  180    return SubmitAsync(&RecycleBinClient::GetRule, request, handler, context);
 
  193  template <
typename ListRulesRequestT = Model::ListRulesRequest>
 
  195    return SubmitCallable(&RecycleBinClient::ListRules, request);
 
  202  template <
typename ListRulesRequestT = Model::ListRulesRequest>
 
  204                      const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = 
nullptr)
 const {
 
  205    return SubmitAsync(&RecycleBinClient::ListRules, request, handler, context);
 
  219  template <
typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
 
  221    return SubmitCallable(&RecycleBinClient::ListTagsForResource, request);
 
  228  template <
typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
 
  230                                const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = 
nullptr)
 const {
 
  231    return SubmitAsync(&RecycleBinClient::ListTagsForResource, request, handler, context);
 
  247  template <
typename LockRuleRequestT = Model::LockRuleRequest>
 
  249    return SubmitCallable(&RecycleBinClient::LockRule, request);
 
  256  template <
typename LockRuleRequestT = Model::LockRuleRequest>
 
  258                     const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = 
nullptr)
 const {
 
  259    return SubmitAsync(&RecycleBinClient::LockRule, request, handler, context);
 
  272  template <
typename TagResourceRequestT = Model::TagResourceRequest>
 
  274    return SubmitCallable(&RecycleBinClient::TagResource, request);
 
  281  template <
typename TagResourceRequestT = Model::TagResourceRequest>
 
  283                        const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = 
nullptr)
 const {
 
  284    return SubmitAsync(&RecycleBinClient::TagResource, request, handler, context);
 
  299  template <
typename UnlockRuleRequestT = Model::UnlockRuleRequest>
 
  301    return SubmitCallable(&RecycleBinClient::UnlockRule, request);
 
  308  template <
typename UnlockRuleRequestT = Model::UnlockRuleRequest>
 
  310                       const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = 
nullptr)
 const {
 
  311    return SubmitAsync(&RecycleBinClient::UnlockRule, request, handler, context);
 
  324  template <
typename UntagResourceRequestT = Model::UntagResourceRequest>
 
  326    return SubmitCallable(&RecycleBinClient::UntagResource, request);
 
  333  template <
typename UntagResourceRequestT = Model::UntagResourceRequest>
 
  335                          const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = 
nullptr)
 const {
 
  336    return SubmitAsync(&RecycleBinClient::UntagResource, request, handler, context);
 
  355  template <
typename UpdateRuleRequestT = Model::UpdateRuleRequest>
 
  357    return SubmitCallable(&RecycleBinClient::UpdateRule, request);
 
  364  template <
typename UpdateRuleRequestT = Model::UpdateRuleRequest>
 
  366                       const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = 
nullptr)
 const {
 
  367    return SubmitAsync(&RecycleBinClient::UpdateRule, request, handler, context);
 
  378  std::shared_ptr<RecycleBinEndpointProviderBase> m_endpointProvider;
 
void UntagResourceAsync(const UntagResourceRequestT &request, const UntagResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::GetRuleOutcomeCallable GetRuleCallable(const GetRuleRequestT &request) const
void OverrideEndpoint(const Aws::String &endpoint)
void ListTagsForResourceAsync(const ListTagsForResourceRequestT &request, const ListTagsForResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
RecycleBinClient(const Aws::RecycleBin::RecycleBinClientConfiguration &clientConfiguration=Aws::RecycleBin::RecycleBinClientConfiguration(), std::shared_ptr< RecycleBinEndpointProviderBase > endpointProvider=nullptr)
RecycleBinClientConfiguration ClientConfigurationType
RecycleBinClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration)
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT &request) const
void GetRuleAsync(const GetRuleRequestT &request, const GetRuleResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::LockRuleOutcome LockRule(const Model::LockRuleRequest &request) const
Model::UpdateRuleOutcomeCallable UpdateRuleCallable(const UpdateRuleRequestT &request) const
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest &request) const
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT &request) const
virtual ~RecycleBinClient()
virtual Model::DeleteRuleOutcome DeleteRule(const Model::DeleteRuleRequest &request) const
std::shared_ptr< RecycleBinEndpointProviderBase > & accessEndpointProvider()
Model::DeleteRuleOutcomeCallable DeleteRuleCallable(const DeleteRuleRequestT &request) const
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest &request) const
RecycleBinClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration)
Model::CreateRuleOutcomeCallable CreateRuleCallable(const CreateRuleRequestT &request) const
Aws::Client::AWSJsonClient BASECLASS
virtual Model::UpdateRuleOutcome UpdateRule(const Model::UpdateRuleRequest &request) const
void ListRulesAsync(const ListRulesRequestT &request, const ListRulesResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::ListRulesOutcomeCallable ListRulesCallable(const ListRulesRequestT &request) const
void UnlockRuleAsync(const UnlockRuleRequestT &request, const UnlockRuleResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT &request) const
void LockRuleAsync(const LockRuleRequestT &request, const LockRuleResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
RecycleBinClient(const Aws::Auth::AWSCredentials &credentials, std::shared_ptr< RecycleBinEndpointProviderBase > endpointProvider=nullptr, const Aws::RecycleBin::RecycleBinClientConfiguration &clientConfiguration=Aws::RecycleBin::RecycleBinClientConfiguration())
static const char * GetAllocationTag()
virtual Model::CreateRuleOutcome CreateRule(const Model::CreateRuleRequest &request) const
virtual Model::UnlockRuleOutcome UnlockRule(const Model::UnlockRuleRequest &request) const
RecycleBinClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, std::shared_ptr< RecycleBinEndpointProviderBase > endpointProvider=nullptr, const Aws::RecycleBin::RecycleBinClientConfiguration &clientConfiguration=Aws::RecycleBin::RecycleBinClientConfiguration())
virtual Model::ListRulesOutcome ListRules(const Model::ListRulesRequest &request) const
static const char * GetServiceName()
void DeleteRuleAsync(const DeleteRuleRequestT &request, const DeleteRuleResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
RecycleBinClient(const Aws::Client::ClientConfiguration &clientConfiguration)
void TagResourceAsync(const TagResourceRequestT &request, const TagResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
RecycleBinEndpointProvider EndpointProviderType
void UpdateRuleAsync(const UpdateRuleRequestT &request, const UpdateRuleResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::LockRuleOutcomeCallable LockRuleCallable(const LockRuleRequestT &request) const
virtual Model::GetRuleOutcome GetRule(const Model::GetRuleRequest &request) const
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest &request) const
void CreateRuleAsync(const CreateRuleRequestT &request, const CreateRuleResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::UnlockRuleOutcomeCallable UnlockRuleCallable(const UnlockRuleRequestT &request) const
std::future< GetRuleOutcome > GetRuleOutcomeCallable
std::future< TagResourceOutcome > TagResourceOutcomeCallable
std::future< UpdateRuleOutcome > UpdateRuleOutcomeCallable
std::future< ListTagsForResourceOutcome > ListTagsForResourceOutcomeCallable
std::future< DeleteRuleOutcome > DeleteRuleOutcomeCallable
std::future< CreateRuleOutcome > CreateRuleOutcomeCallable
std::future< UntagResourceOutcome > UntagResourceOutcomeCallable
std::future< UnlockRuleOutcome > UnlockRuleOutcomeCallable
std::future< ListRulesOutcome > ListRulesOutcomeCallable
std::future< LockRuleOutcome > LockRuleOutcomeCallable
std::function< void(const RecycleBinClient *, const Model::UnlockRuleRequest &, const Model::UnlockRuleOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> UnlockRuleResponseReceivedHandler
std::function< void(const RecycleBinClient *, const Model::CreateRuleRequest &, const Model::CreateRuleOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> CreateRuleResponseReceivedHandler
std::function< void(const RecycleBinClient *, const Model::UntagResourceRequest &, const Model::UntagResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> UntagResourceResponseReceivedHandler
std::function< void(const RecycleBinClient *, const Model::ListTagsForResourceRequest &, const Model::ListTagsForResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> ListTagsForResourceResponseReceivedHandler
std::function< void(const RecycleBinClient *, const Model::ListRulesRequest &, const Model::ListRulesOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> ListRulesResponseReceivedHandler
std::function< void(const RecycleBinClient *, const Model::GetRuleRequest &, const Model::GetRuleOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> GetRuleResponseReceivedHandler
std::function< void(const RecycleBinClient *, const Model::TagResourceRequest &, const Model::TagResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> TagResourceResponseReceivedHandler
std::function< void(const RecycleBinClient *, const Model::LockRuleRequest &, const Model::LockRuleOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> LockRuleResponseReceivedHandler
std::function< void(const RecycleBinClient *, const Model::DeleteRuleRequest &, const Model::DeleteRuleOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> DeleteRuleResponseReceivedHandler
std::function< void(const RecycleBinClient *, const Model::UpdateRuleRequest &, const Model::UpdateRuleOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> UpdateRuleResponseReceivedHandler
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String