/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace MarketplaceEntitlementService { /** * AWS Marketplace Entitlement Service

This reference * provides descriptions of the AWS Marketplace Entitlement Service API.

AWS * Marketplace Entitlement Service is used to determine the entitlement of a * customer to a given product. An entitlement represents capacity in a product * owned by the customer. For example, a customer might own some number of users or * seats in an SaaS application or some amount of data capacity in a multi-tenant * database.

Getting Entitlement Records

  • * GetEntitlements- Gets the entitlements for a Marketplace product.

    *
*/ class AWS_MARKETPLACEENTITLEMENTSERVICE_API MarketplaceEntitlementServiceClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { public: typedef Aws::Client::AWSJsonClient BASECLASS; static const char* SERVICE_NAME; static const char* ALLOCATION_TAG; typedef MarketplaceEntitlementServiceClientConfiguration ClientConfigurationType; typedef MarketplaceEntitlementServiceEndpointProvider EndpointProviderType; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ MarketplaceEntitlementServiceClient(const Aws::MarketplaceEntitlementService::MarketplaceEntitlementServiceClientConfiguration& clientConfiguration = Aws::MarketplaceEntitlementService::MarketplaceEntitlementServiceClientConfiguration(), std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ MarketplaceEntitlementServiceClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::MarketplaceEntitlementService::MarketplaceEntitlementServiceClientConfiguration& clientConfiguration = Aws::MarketplaceEntitlementService::MarketplaceEntitlementServiceClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ MarketplaceEntitlementServiceClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::MarketplaceEntitlementService::MarketplaceEntitlementServiceClientConfiguration& clientConfiguration = Aws::MarketplaceEntitlementService::MarketplaceEntitlementServiceClientConfiguration()); /* Legacy constructors due deprecation */ /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ MarketplaceEntitlementServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ MarketplaceEntitlementServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ MarketplaceEntitlementServiceClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~MarketplaceEntitlementServiceClient(); /** *

GetEntitlements retrieves entitlement values for a given product. The results * can be filtered based on customer identifier or product * dimensions.

See Also:

AWS * API Reference

*/ virtual Model::GetEntitlementsOutcome GetEntitlements(const Model::GetEntitlementsRequest& request) const; /** * A Callable wrapper for GetEntitlements that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetEntitlementsOutcomeCallable GetEntitlementsCallable(const GetEntitlementsRequestT& request) const { return SubmitCallable(&MarketplaceEntitlementServiceClient::GetEntitlements, request); } /** * An Async wrapper for GetEntitlements that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetEntitlementsAsync(const GetEntitlementsRequestT& request, const GetEntitlementsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MarketplaceEntitlementServiceClient::GetEntitlements, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const MarketplaceEntitlementServiceClientConfiguration& clientConfiguration); MarketplaceEntitlementServiceClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace MarketplaceEntitlementService } // namespace Aws