/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace MarketplaceEntitlementService { namespace Model { /** *

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.

See Also:

AWS * API Reference

*/ class Entitlement { public: AWS_MARKETPLACEENTITLEMENTSERVICE_API Entitlement(); AWS_MARKETPLACEENTITLEMENTSERVICE_API Entitlement(Aws::Utils::Json::JsonView jsonValue); AWS_MARKETPLACEENTITLEMENTSERVICE_API Entitlement& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MARKETPLACEENTITLEMENTSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The product code for which the given entitlement applies. Product codes are * provided by AWS Marketplace when the product listing is created.

*/ inline const Aws::String& GetProductCode() const{ return m_productCode; } /** *

The product code for which the given entitlement applies. Product codes are * provided by AWS Marketplace when the product listing is created.

*/ inline bool ProductCodeHasBeenSet() const { return m_productCodeHasBeenSet; } /** *

The product code for which the given entitlement applies. Product codes are * provided by AWS Marketplace when the product listing is created.

*/ inline void SetProductCode(const Aws::String& value) { m_productCodeHasBeenSet = true; m_productCode = value; } /** *

The product code for which the given entitlement applies. Product codes are * provided by AWS Marketplace when the product listing is created.

*/ inline void SetProductCode(Aws::String&& value) { m_productCodeHasBeenSet = true; m_productCode = std::move(value); } /** *

The product code for which the given entitlement applies. Product codes are * provided by AWS Marketplace when the product listing is created.

*/ inline void SetProductCode(const char* value) { m_productCodeHasBeenSet = true; m_productCode.assign(value); } /** *

The product code for which the given entitlement applies. Product codes are * provided by AWS Marketplace when the product listing is created.

*/ inline Entitlement& WithProductCode(const Aws::String& value) { SetProductCode(value); return *this;} /** *

The product code for which the given entitlement applies. Product codes are * provided by AWS Marketplace when the product listing is created.

*/ inline Entitlement& WithProductCode(Aws::String&& value) { SetProductCode(std::move(value)); return *this;} /** *

The product code for which the given entitlement applies. Product codes are * provided by AWS Marketplace when the product listing is created.

*/ inline Entitlement& WithProductCode(const char* value) { SetProductCode(value); return *this;} /** *

The dimension for which the given entitlement applies. Dimensions represent * categories of capacity in a product and are specified when the product is listed * in AWS Marketplace.

*/ inline const Aws::String& GetDimension() const{ return m_dimension; } /** *

The dimension for which the given entitlement applies. Dimensions represent * categories of capacity in a product and are specified when the product is listed * in AWS Marketplace.

*/ inline bool DimensionHasBeenSet() const { return m_dimensionHasBeenSet; } /** *

The dimension for which the given entitlement applies. Dimensions represent * categories of capacity in a product and are specified when the product is listed * in AWS Marketplace.

*/ inline void SetDimension(const Aws::String& value) { m_dimensionHasBeenSet = true; m_dimension = value; } /** *

The dimension for which the given entitlement applies. Dimensions represent * categories of capacity in a product and are specified when the product is listed * in AWS Marketplace.

*/ inline void SetDimension(Aws::String&& value) { m_dimensionHasBeenSet = true; m_dimension = std::move(value); } /** *

The dimension for which the given entitlement applies. Dimensions represent * categories of capacity in a product and are specified when the product is listed * in AWS Marketplace.

*/ inline void SetDimension(const char* value) { m_dimensionHasBeenSet = true; m_dimension.assign(value); } /** *

The dimension for which the given entitlement applies. Dimensions represent * categories of capacity in a product and are specified when the product is listed * in AWS Marketplace.

*/ inline Entitlement& WithDimension(const Aws::String& value) { SetDimension(value); return *this;} /** *

The dimension for which the given entitlement applies. Dimensions represent * categories of capacity in a product and are specified when the product is listed * in AWS Marketplace.

*/ inline Entitlement& WithDimension(Aws::String&& value) { SetDimension(std::move(value)); return *this;} /** *

The dimension for which the given entitlement applies. Dimensions represent * categories of capacity in a product and are specified when the product is listed * in AWS Marketplace.

*/ inline Entitlement& WithDimension(const char* value) { SetDimension(value); return *this;} /** *

The customer identifier is a handle to each unique customer in an * application. Customer identifiers are obtained through the ResolveCustomer * operation in AWS Marketplace Metering Service.

*/ inline const Aws::String& GetCustomerIdentifier() const{ return m_customerIdentifier; } /** *

The customer identifier is a handle to each unique customer in an * application. Customer identifiers are obtained through the ResolveCustomer * operation in AWS Marketplace Metering Service.

*/ inline bool CustomerIdentifierHasBeenSet() const { return m_customerIdentifierHasBeenSet; } /** *

The customer identifier is a handle to each unique customer in an * application. Customer identifiers are obtained through the ResolveCustomer * operation in AWS Marketplace Metering Service.

*/ inline void SetCustomerIdentifier(const Aws::String& value) { m_customerIdentifierHasBeenSet = true; m_customerIdentifier = value; } /** *

The customer identifier is a handle to each unique customer in an * application. Customer identifiers are obtained through the ResolveCustomer * operation in AWS Marketplace Metering Service.

*/ inline void SetCustomerIdentifier(Aws::String&& value) { m_customerIdentifierHasBeenSet = true; m_customerIdentifier = std::move(value); } /** *

The customer identifier is a handle to each unique customer in an * application. Customer identifiers are obtained through the ResolveCustomer * operation in AWS Marketplace Metering Service.

*/ inline void SetCustomerIdentifier(const char* value) { m_customerIdentifierHasBeenSet = true; m_customerIdentifier.assign(value); } /** *

The customer identifier is a handle to each unique customer in an * application. Customer identifiers are obtained through the ResolveCustomer * operation in AWS Marketplace Metering Service.

*/ inline Entitlement& WithCustomerIdentifier(const Aws::String& value) { SetCustomerIdentifier(value); return *this;} /** *

The customer identifier is a handle to each unique customer in an * application. Customer identifiers are obtained through the ResolveCustomer * operation in AWS Marketplace Metering Service.

*/ inline Entitlement& WithCustomerIdentifier(Aws::String&& value) { SetCustomerIdentifier(std::move(value)); return *this;} /** *

The customer identifier is a handle to each unique customer in an * application. Customer identifiers are obtained through the ResolveCustomer * operation in AWS Marketplace Metering Service.

*/ inline Entitlement& WithCustomerIdentifier(const char* value) { SetCustomerIdentifier(value); return *this;} /** *

The EntitlementValue represents the amount of capacity that the customer is * entitled to for the product.

*/ inline const EntitlementValue& GetValue() const{ return m_value; } /** *

The EntitlementValue represents the amount of capacity that the customer is * entitled to for the product.

*/ inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } /** *

The EntitlementValue represents the amount of capacity that the customer is * entitled to for the product.

*/ inline void SetValue(const EntitlementValue& value) { m_valueHasBeenSet = true; m_value = value; } /** *

The EntitlementValue represents the amount of capacity that the customer is * entitled to for the product.

*/ inline void SetValue(EntitlementValue&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } /** *

The EntitlementValue represents the amount of capacity that the customer is * entitled to for the product.

*/ inline Entitlement& WithValue(const EntitlementValue& value) { SetValue(value); return *this;} /** *

The EntitlementValue represents the amount of capacity that the customer is * entitled to for the product.

*/ inline Entitlement& WithValue(EntitlementValue&& value) { SetValue(std::move(value)); return *this;} /** *

The expiration date represents the minimum date through which this * entitlement is expected to remain valid. For contractual products listed on AWS * Marketplace, the expiration date is the date at which the customer will renew or * cancel their contract. Customers who are opting to renew their contract will * still have entitlements with an expiration date.

*/ inline const Aws::Utils::DateTime& GetExpirationDate() const{ return m_expirationDate; } /** *

The expiration date represents the minimum date through which this * entitlement is expected to remain valid. For contractual products listed on AWS * Marketplace, the expiration date is the date at which the customer will renew or * cancel their contract. Customers who are opting to renew their contract will * still have entitlements with an expiration date.

*/ inline bool ExpirationDateHasBeenSet() const { return m_expirationDateHasBeenSet; } /** *

The expiration date represents the minimum date through which this * entitlement is expected to remain valid. For contractual products listed on AWS * Marketplace, the expiration date is the date at which the customer will renew or * cancel their contract. Customers who are opting to renew their contract will * still have entitlements with an expiration date.

*/ inline void SetExpirationDate(const Aws::Utils::DateTime& value) { m_expirationDateHasBeenSet = true; m_expirationDate = value; } /** *

The expiration date represents the minimum date through which this * entitlement is expected to remain valid. For contractual products listed on AWS * Marketplace, the expiration date is the date at which the customer will renew or * cancel their contract. Customers who are opting to renew their contract will * still have entitlements with an expiration date.

*/ inline void SetExpirationDate(Aws::Utils::DateTime&& value) { m_expirationDateHasBeenSet = true; m_expirationDate = std::move(value); } /** *

The expiration date represents the minimum date through which this * entitlement is expected to remain valid. For contractual products listed on AWS * Marketplace, the expiration date is the date at which the customer will renew or * cancel their contract. Customers who are opting to renew their contract will * still have entitlements with an expiration date.

*/ inline Entitlement& WithExpirationDate(const Aws::Utils::DateTime& value) { SetExpirationDate(value); return *this;} /** *

The expiration date represents the minimum date through which this * entitlement is expected to remain valid. For contractual products listed on AWS * Marketplace, the expiration date is the date at which the customer will renew or * cancel their contract. Customers who are opting to renew their contract will * still have entitlements with an expiration date.

*/ inline Entitlement& WithExpirationDate(Aws::Utils::DateTime&& value) { SetExpirationDate(std::move(value)); return *this;} private: Aws::String m_productCode; bool m_productCodeHasBeenSet = false; Aws::String m_dimension; bool m_dimensionHasBeenSet = false; Aws::String m_customerIdentifier; bool m_customerIdentifierHasBeenSet = false; EntitlementValue m_value; bool m_valueHasBeenSet = false; Aws::Utils::DateTime m_expirationDate; bool m_expirationDateHasBeenSet = false; }; } // namespace Model } // namespace MarketplaceEntitlementService } // namespace Aws