/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A license configuration is an abstraction of a customer license agreement
* that can be consumed and enforced by License Manager. Components include
* specifications for the license type (licensing by instance, socket, CPU, or
* vCPU), allowed tenancy (shared tenancy, Dedicated Instance, Dedicated Host, or
* all of these), host affinity (how long a VM must be associated with a host), and
* the number of licenses purchased and used.See Also:
AWS
* API Reference
Unique ID of the license configuration.
*/ inline const Aws::String& GetLicenseConfigurationId() const{ return m_licenseConfigurationId; } /** *Unique ID of the license configuration.
*/ inline bool LicenseConfigurationIdHasBeenSet() const { return m_licenseConfigurationIdHasBeenSet; } /** *Unique ID of the license configuration.
*/ inline void SetLicenseConfigurationId(const Aws::String& value) { m_licenseConfigurationIdHasBeenSet = true; m_licenseConfigurationId = value; } /** *Unique ID of the license configuration.
*/ inline void SetLicenseConfigurationId(Aws::String&& value) { m_licenseConfigurationIdHasBeenSet = true; m_licenseConfigurationId = std::move(value); } /** *Unique ID of the license configuration.
*/ inline void SetLicenseConfigurationId(const char* value) { m_licenseConfigurationIdHasBeenSet = true; m_licenseConfigurationId.assign(value); } /** *Unique ID of the license configuration.
*/ inline LicenseConfiguration& WithLicenseConfigurationId(const Aws::String& value) { SetLicenseConfigurationId(value); return *this;} /** *Unique ID of the license configuration.
*/ inline LicenseConfiguration& WithLicenseConfigurationId(Aws::String&& value) { SetLicenseConfigurationId(std::move(value)); return *this;} /** *Unique ID of the license configuration.
*/ inline LicenseConfiguration& WithLicenseConfigurationId(const char* value) { SetLicenseConfigurationId(value); return *this;} /** *Amazon Resource Name (ARN) of the license configuration.
*/ inline const Aws::String& GetLicenseConfigurationArn() const{ return m_licenseConfigurationArn; } /** *Amazon Resource Name (ARN) of the license configuration.
*/ inline bool LicenseConfigurationArnHasBeenSet() const { return m_licenseConfigurationArnHasBeenSet; } /** *Amazon Resource Name (ARN) of the license configuration.
*/ inline void SetLicenseConfigurationArn(const Aws::String& value) { m_licenseConfigurationArnHasBeenSet = true; m_licenseConfigurationArn = value; } /** *Amazon Resource Name (ARN) of the license configuration.
*/ inline void SetLicenseConfigurationArn(Aws::String&& value) { m_licenseConfigurationArnHasBeenSet = true; m_licenseConfigurationArn = std::move(value); } /** *Amazon Resource Name (ARN) of the license configuration.
*/ inline void SetLicenseConfigurationArn(const char* value) { m_licenseConfigurationArnHasBeenSet = true; m_licenseConfigurationArn.assign(value); } /** *Amazon Resource Name (ARN) of the license configuration.
*/ inline LicenseConfiguration& WithLicenseConfigurationArn(const Aws::String& value) { SetLicenseConfigurationArn(value); return *this;} /** *Amazon Resource Name (ARN) of the license configuration.
*/ inline LicenseConfiguration& WithLicenseConfigurationArn(Aws::String&& value) { SetLicenseConfigurationArn(std::move(value)); return *this;} /** *Amazon Resource Name (ARN) of the license configuration.
*/ inline LicenseConfiguration& WithLicenseConfigurationArn(const char* value) { SetLicenseConfigurationArn(value); return *this;} /** *Name of the license configuration.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *Name of the license configuration.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *Name of the license configuration.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *Name of the license configuration.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *Name of the license configuration.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *Name of the license configuration.
*/ inline LicenseConfiguration& WithName(const Aws::String& value) { SetName(value); return *this;} /** *Name of the license configuration.
*/ inline LicenseConfiguration& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *Name of the license configuration.
*/ inline LicenseConfiguration& WithName(const char* value) { SetName(value); return *this;} /** *Description of the license configuration.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *Description of the license configuration.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *Description of the license configuration.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *Description of the license configuration.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *Description of the license configuration.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *Description of the license configuration.
*/ inline LicenseConfiguration& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *Description of the license configuration.
*/ inline LicenseConfiguration& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *Description of the license configuration.
*/ inline LicenseConfiguration& WithDescription(const char* value) { SetDescription(value); return *this;} /** *Dimension to use to track the license inventory.
*/ inline const LicenseCountingType& GetLicenseCountingType() const{ return m_licenseCountingType; } /** *Dimension to use to track the license inventory.
*/ inline bool LicenseCountingTypeHasBeenSet() const { return m_licenseCountingTypeHasBeenSet; } /** *Dimension to use to track the license inventory.
*/ inline void SetLicenseCountingType(const LicenseCountingType& value) { m_licenseCountingTypeHasBeenSet = true; m_licenseCountingType = value; } /** *Dimension to use to track the license inventory.
*/ inline void SetLicenseCountingType(LicenseCountingType&& value) { m_licenseCountingTypeHasBeenSet = true; m_licenseCountingType = std::move(value); } /** *Dimension to use to track the license inventory.
*/ inline LicenseConfiguration& WithLicenseCountingType(const LicenseCountingType& value) { SetLicenseCountingType(value); return *this;} /** *Dimension to use to track the license inventory.
*/ inline LicenseConfiguration& WithLicenseCountingType(LicenseCountingType&& value) { SetLicenseCountingType(std::move(value)); return *this;} /** *License rules.
*/ inline const Aws::VectorLicense rules.
*/ inline bool LicenseRulesHasBeenSet() const { return m_licenseRulesHasBeenSet; } /** *License rules.
*/ inline void SetLicenseRules(const Aws::VectorLicense rules.
*/ inline void SetLicenseRules(Aws::VectorLicense rules.
*/ inline LicenseConfiguration& WithLicenseRules(const Aws::VectorLicense rules.
*/ inline LicenseConfiguration& WithLicenseRules(Aws::VectorLicense rules.
*/ inline LicenseConfiguration& AddLicenseRules(const Aws::String& value) { m_licenseRulesHasBeenSet = true; m_licenseRules.push_back(value); return *this; } /** *License rules.
*/ inline LicenseConfiguration& AddLicenseRules(Aws::String&& value) { m_licenseRulesHasBeenSet = true; m_licenseRules.push_back(std::move(value)); return *this; } /** *License rules.
*/ inline LicenseConfiguration& AddLicenseRules(const char* value) { m_licenseRulesHasBeenSet = true; m_licenseRules.push_back(value); return *this; } /** *Number of licenses managed by the license configuration.
*/ inline long long GetLicenseCount() const{ return m_licenseCount; } /** *Number of licenses managed by the license configuration.
*/ inline bool LicenseCountHasBeenSet() const { return m_licenseCountHasBeenSet; } /** *Number of licenses managed by the license configuration.
*/ inline void SetLicenseCount(long long value) { m_licenseCountHasBeenSet = true; m_licenseCount = value; } /** *Number of licenses managed by the license configuration.
*/ inline LicenseConfiguration& WithLicenseCount(long long value) { SetLicenseCount(value); return *this;} /** *Number of available licenses as a hard limit.
*/ inline bool GetLicenseCountHardLimit() const{ return m_licenseCountHardLimit; } /** *Number of available licenses as a hard limit.
*/ inline bool LicenseCountHardLimitHasBeenSet() const { return m_licenseCountHardLimitHasBeenSet; } /** *Number of available licenses as a hard limit.
*/ inline void SetLicenseCountHardLimit(bool value) { m_licenseCountHardLimitHasBeenSet = true; m_licenseCountHardLimit = value; } /** *Number of available licenses as a hard limit.
*/ inline LicenseConfiguration& WithLicenseCountHardLimit(bool value) { SetLicenseCountHardLimit(value); return *this;} /** *When true, disassociates a resource when software is uninstalled.
*/ inline bool GetDisassociateWhenNotFound() const{ return m_disassociateWhenNotFound; } /** *When true, disassociates a resource when software is uninstalled.
*/ inline bool DisassociateWhenNotFoundHasBeenSet() const { return m_disassociateWhenNotFoundHasBeenSet; } /** *When true, disassociates a resource when software is uninstalled.
*/ inline void SetDisassociateWhenNotFound(bool value) { m_disassociateWhenNotFoundHasBeenSet = true; m_disassociateWhenNotFound = value; } /** *When true, disassociates a resource when software is uninstalled.
*/ inline LicenseConfiguration& WithDisassociateWhenNotFound(bool value) { SetDisassociateWhenNotFound(value); return *this;} /** *Number of licenses consumed.
*/ inline long long GetConsumedLicenses() const{ return m_consumedLicenses; } /** *Number of licenses consumed.
*/ inline bool ConsumedLicensesHasBeenSet() const { return m_consumedLicensesHasBeenSet; } /** *Number of licenses consumed.
*/ inline void SetConsumedLicenses(long long value) { m_consumedLicensesHasBeenSet = true; m_consumedLicenses = value; } /** *Number of licenses consumed.
*/ inline LicenseConfiguration& WithConsumedLicenses(long long value) { SetConsumedLicenses(value); return *this;} /** *Status of the license configuration.
*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *Status of the license configuration.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *Status of the license configuration.
*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *Status of the license configuration.
*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *Status of the license configuration.
*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *Status of the license configuration.
*/ inline LicenseConfiguration& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *Status of the license configuration.
*/ inline LicenseConfiguration& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *Status of the license configuration.
*/ inline LicenseConfiguration& WithStatus(const char* value) { SetStatus(value); return *this;} /** *Account ID of the license configuration's owner.
*/ inline const Aws::String& GetOwnerAccountId() const{ return m_ownerAccountId; } /** *Account ID of the license configuration's owner.
*/ inline bool OwnerAccountIdHasBeenSet() const { return m_ownerAccountIdHasBeenSet; } /** *Account ID of the license configuration's owner.
*/ inline void SetOwnerAccountId(const Aws::String& value) { m_ownerAccountIdHasBeenSet = true; m_ownerAccountId = value; } /** *Account ID of the license configuration's owner.
*/ inline void SetOwnerAccountId(Aws::String&& value) { m_ownerAccountIdHasBeenSet = true; m_ownerAccountId = std::move(value); } /** *Account ID of the license configuration's owner.
*/ inline void SetOwnerAccountId(const char* value) { m_ownerAccountIdHasBeenSet = true; m_ownerAccountId.assign(value); } /** *Account ID of the license configuration's owner.
*/ inline LicenseConfiguration& WithOwnerAccountId(const Aws::String& value) { SetOwnerAccountId(value); return *this;} /** *Account ID of the license configuration's owner.
*/ inline LicenseConfiguration& WithOwnerAccountId(Aws::String&& value) { SetOwnerAccountId(std::move(value)); return *this;} /** *Account ID of the license configuration's owner.
*/ inline LicenseConfiguration& WithOwnerAccountId(const char* value) { SetOwnerAccountId(value); return *this;} /** *Summaries for licenses consumed by various resources.
*/ inline const Aws::VectorSummaries for licenses consumed by various resources.
*/ inline bool ConsumedLicenseSummaryListHasBeenSet() const { return m_consumedLicenseSummaryListHasBeenSet; } /** *Summaries for licenses consumed by various resources.
*/ inline void SetConsumedLicenseSummaryList(const Aws::VectorSummaries for licenses consumed by various resources.
*/ inline void SetConsumedLicenseSummaryList(Aws::VectorSummaries for licenses consumed by various resources.
*/ inline LicenseConfiguration& WithConsumedLicenseSummaryList(const Aws::VectorSummaries for licenses consumed by various resources.
*/ inline LicenseConfiguration& WithConsumedLicenseSummaryList(Aws::VectorSummaries for licenses consumed by various resources.
*/ inline LicenseConfiguration& AddConsumedLicenseSummaryList(const ConsumedLicenseSummary& value) { m_consumedLicenseSummaryListHasBeenSet = true; m_consumedLicenseSummaryList.push_back(value); return *this; } /** *Summaries for licenses consumed by various resources.
*/ inline LicenseConfiguration& AddConsumedLicenseSummaryList(ConsumedLicenseSummary&& value) { m_consumedLicenseSummaryListHasBeenSet = true; m_consumedLicenseSummaryList.push_back(std::move(value)); return *this; } /** *Summaries for managed resources.
*/ inline const Aws::VectorSummaries for managed resources.
*/ inline bool ManagedResourceSummaryListHasBeenSet() const { return m_managedResourceSummaryListHasBeenSet; } /** *Summaries for managed resources.
*/ inline void SetManagedResourceSummaryList(const Aws::VectorSummaries for managed resources.
*/ inline void SetManagedResourceSummaryList(Aws::VectorSummaries for managed resources.
*/ inline LicenseConfiguration& WithManagedResourceSummaryList(const Aws::VectorSummaries for managed resources.
*/ inline LicenseConfiguration& WithManagedResourceSummaryList(Aws::VectorSummaries for managed resources.
*/ inline LicenseConfiguration& AddManagedResourceSummaryList(const ManagedResourceSummary& value) { m_managedResourceSummaryListHasBeenSet = true; m_managedResourceSummaryList.push_back(value); return *this; } /** *Summaries for managed resources.
*/ inline LicenseConfiguration& AddManagedResourceSummaryList(ManagedResourceSummary&& value) { m_managedResourceSummaryListHasBeenSet = true; m_managedResourceSummaryList.push_back(std::move(value)); return *this; } /** *Product information.
*/ inline const Aws::VectorProduct information.
*/ inline bool ProductInformationListHasBeenSet() const { return m_productInformationListHasBeenSet; } /** *Product information.
*/ inline void SetProductInformationList(const Aws::VectorProduct information.
*/ inline void SetProductInformationList(Aws::VectorProduct information.
*/ inline LicenseConfiguration& WithProductInformationList(const Aws::VectorProduct information.
*/ inline LicenseConfiguration& WithProductInformationList(Aws::VectorProduct information.
*/ inline LicenseConfiguration& AddProductInformationList(const ProductInformation& value) { m_productInformationListHasBeenSet = true; m_productInformationList.push_back(value); return *this; } /** *Product information.
*/ inline LicenseConfiguration& AddProductInformationList(ProductInformation&& value) { m_productInformationListHasBeenSet = true; m_productInformationList.push_back(std::move(value)); return *this; } /** *Automated discovery information.
*/ inline const AutomatedDiscoveryInformation& GetAutomatedDiscoveryInformation() const{ return m_automatedDiscoveryInformation; } /** *Automated discovery information.
*/ inline bool AutomatedDiscoveryInformationHasBeenSet() const { return m_automatedDiscoveryInformationHasBeenSet; } /** *Automated discovery information.
*/ inline void SetAutomatedDiscoveryInformation(const AutomatedDiscoveryInformation& value) { m_automatedDiscoveryInformationHasBeenSet = true; m_automatedDiscoveryInformation = value; } /** *Automated discovery information.
*/ inline void SetAutomatedDiscoveryInformation(AutomatedDiscoveryInformation&& value) { m_automatedDiscoveryInformationHasBeenSet = true; m_automatedDiscoveryInformation = std::move(value); } /** *Automated discovery information.
*/ inline LicenseConfiguration& WithAutomatedDiscoveryInformation(const AutomatedDiscoveryInformation& value) { SetAutomatedDiscoveryInformation(value); return *this;} /** *Automated discovery information.
*/ inline LicenseConfiguration& WithAutomatedDiscoveryInformation(AutomatedDiscoveryInformation&& value) { SetAutomatedDiscoveryInformation(std::move(value)); return *this;} private: Aws::String m_licenseConfigurationId; bool m_licenseConfigurationIdHasBeenSet = false; Aws::String m_licenseConfigurationArn; bool m_licenseConfigurationArnHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; LicenseCountingType m_licenseCountingType; bool m_licenseCountingTypeHasBeenSet = false; Aws::Vector