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

Software license that is managed in License Manager.

See Also:

* AWS * API Reference

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

Amazon Resource Name (ARN) of the license.

*/ inline const Aws::String& GetLicenseArn() const{ return m_licenseArn; } /** *

Amazon Resource Name (ARN) of the license.

*/ inline bool LicenseArnHasBeenSet() const { return m_licenseArnHasBeenSet; } /** *

Amazon Resource Name (ARN) of the license.

*/ inline void SetLicenseArn(const Aws::String& value) { m_licenseArnHasBeenSet = true; m_licenseArn = value; } /** *

Amazon Resource Name (ARN) of the license.

*/ inline void SetLicenseArn(Aws::String&& value) { m_licenseArnHasBeenSet = true; m_licenseArn = std::move(value); } /** *

Amazon Resource Name (ARN) of the license.

*/ inline void SetLicenseArn(const char* value) { m_licenseArnHasBeenSet = true; m_licenseArn.assign(value); } /** *

Amazon Resource Name (ARN) of the license.

*/ inline License& WithLicenseArn(const Aws::String& value) { SetLicenseArn(value); return *this;} /** *

Amazon Resource Name (ARN) of the license.

*/ inline License& WithLicenseArn(Aws::String&& value) { SetLicenseArn(std::move(value)); return *this;} /** *

Amazon Resource Name (ARN) of the license.

*/ inline License& WithLicenseArn(const char* value) { SetLicenseArn(value); return *this;} /** *

License name.

*/ inline const Aws::String& GetLicenseName() const{ return m_licenseName; } /** *

License name.

*/ inline bool LicenseNameHasBeenSet() const { return m_licenseNameHasBeenSet; } /** *

License name.

*/ inline void SetLicenseName(const Aws::String& value) { m_licenseNameHasBeenSet = true; m_licenseName = value; } /** *

License name.

*/ inline void SetLicenseName(Aws::String&& value) { m_licenseNameHasBeenSet = true; m_licenseName = std::move(value); } /** *

License name.

*/ inline void SetLicenseName(const char* value) { m_licenseNameHasBeenSet = true; m_licenseName.assign(value); } /** *

License name.

*/ inline License& WithLicenseName(const Aws::String& value) { SetLicenseName(value); return *this;} /** *

License name.

*/ inline License& WithLicenseName(Aws::String&& value) { SetLicenseName(std::move(value)); return *this;} /** *

License name.

*/ inline License& WithLicenseName(const char* value) { SetLicenseName(value); return *this;} /** *

Product name.

*/ inline const Aws::String& GetProductName() const{ return m_productName; } /** *

Product name.

*/ inline bool ProductNameHasBeenSet() const { return m_productNameHasBeenSet; } /** *

Product name.

*/ inline void SetProductName(const Aws::String& value) { m_productNameHasBeenSet = true; m_productName = value; } /** *

Product name.

*/ inline void SetProductName(Aws::String&& value) { m_productNameHasBeenSet = true; m_productName = std::move(value); } /** *

Product name.

*/ inline void SetProductName(const char* value) { m_productNameHasBeenSet = true; m_productName.assign(value); } /** *

Product name.

*/ inline License& WithProductName(const Aws::String& value) { SetProductName(value); return *this;} /** *

Product name.

*/ inline License& WithProductName(Aws::String&& value) { SetProductName(std::move(value)); return *this;} /** *

Product name.

*/ inline License& WithProductName(const char* value) { SetProductName(value); return *this;} /** *

Product SKU.

*/ inline const Aws::String& GetProductSKU() const{ return m_productSKU; } /** *

Product SKU.

*/ inline bool ProductSKUHasBeenSet() const { return m_productSKUHasBeenSet; } /** *

Product SKU.

*/ inline void SetProductSKU(const Aws::String& value) { m_productSKUHasBeenSet = true; m_productSKU = value; } /** *

Product SKU.

*/ inline void SetProductSKU(Aws::String&& value) { m_productSKUHasBeenSet = true; m_productSKU = std::move(value); } /** *

Product SKU.

*/ inline void SetProductSKU(const char* value) { m_productSKUHasBeenSet = true; m_productSKU.assign(value); } /** *

Product SKU.

*/ inline License& WithProductSKU(const Aws::String& value) { SetProductSKU(value); return *this;} /** *

Product SKU.

*/ inline License& WithProductSKU(Aws::String&& value) { SetProductSKU(std::move(value)); return *this;} /** *

Product SKU.

*/ inline License& WithProductSKU(const char* value) { SetProductSKU(value); return *this;} /** *

License issuer.

*/ inline const IssuerDetails& GetIssuer() const{ return m_issuer; } /** *

License issuer.

*/ inline bool IssuerHasBeenSet() const { return m_issuerHasBeenSet; } /** *

License issuer.

*/ inline void SetIssuer(const IssuerDetails& value) { m_issuerHasBeenSet = true; m_issuer = value; } /** *

License issuer.

*/ inline void SetIssuer(IssuerDetails&& value) { m_issuerHasBeenSet = true; m_issuer = std::move(value); } /** *

License issuer.

*/ inline License& WithIssuer(const IssuerDetails& value) { SetIssuer(value); return *this;} /** *

License issuer.

*/ inline License& WithIssuer(IssuerDetails&& value) { SetIssuer(std::move(value)); return *this;} /** *

Home Region of the license.

*/ inline const Aws::String& GetHomeRegion() const{ return m_homeRegion; } /** *

Home Region of the license.

*/ inline bool HomeRegionHasBeenSet() const { return m_homeRegionHasBeenSet; } /** *

Home Region of the license.

*/ inline void SetHomeRegion(const Aws::String& value) { m_homeRegionHasBeenSet = true; m_homeRegion = value; } /** *

Home Region of the license.

*/ inline void SetHomeRegion(Aws::String&& value) { m_homeRegionHasBeenSet = true; m_homeRegion = std::move(value); } /** *

Home Region of the license.

*/ inline void SetHomeRegion(const char* value) { m_homeRegionHasBeenSet = true; m_homeRegion.assign(value); } /** *

Home Region of the license.

*/ inline License& WithHomeRegion(const Aws::String& value) { SetHomeRegion(value); return *this;} /** *

Home Region of the license.

*/ inline License& WithHomeRegion(Aws::String&& value) { SetHomeRegion(std::move(value)); return *this;} /** *

Home Region of the license.

*/ inline License& WithHomeRegion(const char* value) { SetHomeRegion(value); return *this;} /** *

License status.

*/ inline const LicenseStatus& GetStatus() const{ return m_status; } /** *

License status.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

License status.

*/ inline void SetStatus(const LicenseStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

License status.

*/ inline void SetStatus(LicenseStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

License status.

*/ inline License& WithStatus(const LicenseStatus& value) { SetStatus(value); return *this;} /** *

License status.

*/ inline License& WithStatus(LicenseStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

Date and time range during which the license is valid, in ISO8601-UTC * format.

*/ inline const DatetimeRange& GetValidity() const{ return m_validity; } /** *

Date and time range during which the license is valid, in ISO8601-UTC * format.

*/ inline bool ValidityHasBeenSet() const { return m_validityHasBeenSet; } /** *

Date and time range during which the license is valid, in ISO8601-UTC * format.

*/ inline void SetValidity(const DatetimeRange& value) { m_validityHasBeenSet = true; m_validity = value; } /** *

Date and time range during which the license is valid, in ISO8601-UTC * format.

*/ inline void SetValidity(DatetimeRange&& value) { m_validityHasBeenSet = true; m_validity = std::move(value); } /** *

Date and time range during which the license is valid, in ISO8601-UTC * format.

*/ inline License& WithValidity(const DatetimeRange& value) { SetValidity(value); return *this;} /** *

Date and time range during which the license is valid, in ISO8601-UTC * format.

*/ inline License& WithValidity(DatetimeRange&& value) { SetValidity(std::move(value)); return *this;} /** *

License beneficiary.

*/ inline const Aws::String& GetBeneficiary() const{ return m_beneficiary; } /** *

License beneficiary.

*/ inline bool BeneficiaryHasBeenSet() const { return m_beneficiaryHasBeenSet; } /** *

License beneficiary.

*/ inline void SetBeneficiary(const Aws::String& value) { m_beneficiaryHasBeenSet = true; m_beneficiary = value; } /** *

License beneficiary.

*/ inline void SetBeneficiary(Aws::String&& value) { m_beneficiaryHasBeenSet = true; m_beneficiary = std::move(value); } /** *

License beneficiary.

*/ inline void SetBeneficiary(const char* value) { m_beneficiaryHasBeenSet = true; m_beneficiary.assign(value); } /** *

License beneficiary.

*/ inline License& WithBeneficiary(const Aws::String& value) { SetBeneficiary(value); return *this;} /** *

License beneficiary.

*/ inline License& WithBeneficiary(Aws::String&& value) { SetBeneficiary(std::move(value)); return *this;} /** *

License beneficiary.

*/ inline License& WithBeneficiary(const char* value) { SetBeneficiary(value); return *this;} /** *

License entitlements.

*/ inline const Aws::Vector& GetEntitlements() const{ return m_entitlements; } /** *

License entitlements.

*/ inline bool EntitlementsHasBeenSet() const { return m_entitlementsHasBeenSet; } /** *

License entitlements.

*/ inline void SetEntitlements(const Aws::Vector& value) { m_entitlementsHasBeenSet = true; m_entitlements = value; } /** *

License entitlements.

*/ inline void SetEntitlements(Aws::Vector&& value) { m_entitlementsHasBeenSet = true; m_entitlements = std::move(value); } /** *

License entitlements.

*/ inline License& WithEntitlements(const Aws::Vector& value) { SetEntitlements(value); return *this;} /** *

License entitlements.

*/ inline License& WithEntitlements(Aws::Vector&& value) { SetEntitlements(std::move(value)); return *this;} /** *

License entitlements.

*/ inline License& AddEntitlements(const Entitlement& value) { m_entitlementsHasBeenSet = true; m_entitlements.push_back(value); return *this; } /** *

License entitlements.

*/ inline License& AddEntitlements(Entitlement&& value) { m_entitlementsHasBeenSet = true; m_entitlements.push_back(std::move(value)); return *this; } /** *

Configuration for consumption of the license.

*/ inline const ConsumptionConfiguration& GetConsumptionConfiguration() const{ return m_consumptionConfiguration; } /** *

Configuration for consumption of the license.

*/ inline bool ConsumptionConfigurationHasBeenSet() const { return m_consumptionConfigurationHasBeenSet; } /** *

Configuration for consumption of the license.

*/ inline void SetConsumptionConfiguration(const ConsumptionConfiguration& value) { m_consumptionConfigurationHasBeenSet = true; m_consumptionConfiguration = value; } /** *

Configuration for consumption of the license.

*/ inline void SetConsumptionConfiguration(ConsumptionConfiguration&& value) { m_consumptionConfigurationHasBeenSet = true; m_consumptionConfiguration = std::move(value); } /** *

Configuration for consumption of the license.

*/ inline License& WithConsumptionConfiguration(const ConsumptionConfiguration& value) { SetConsumptionConfiguration(value); return *this;} /** *

Configuration for consumption of the license.

*/ inline License& WithConsumptionConfiguration(ConsumptionConfiguration&& value) { SetConsumptionConfiguration(std::move(value)); return *this;} /** *

License metadata.

*/ inline const Aws::Vector& GetLicenseMetadata() const{ return m_licenseMetadata; } /** *

License metadata.

*/ inline bool LicenseMetadataHasBeenSet() const { return m_licenseMetadataHasBeenSet; } /** *

License metadata.

*/ inline void SetLicenseMetadata(const Aws::Vector& value) { m_licenseMetadataHasBeenSet = true; m_licenseMetadata = value; } /** *

License metadata.

*/ inline void SetLicenseMetadata(Aws::Vector&& value) { m_licenseMetadataHasBeenSet = true; m_licenseMetadata = std::move(value); } /** *

License metadata.

*/ inline License& WithLicenseMetadata(const Aws::Vector& value) { SetLicenseMetadata(value); return *this;} /** *

License metadata.

*/ inline License& WithLicenseMetadata(Aws::Vector&& value) { SetLicenseMetadata(std::move(value)); return *this;} /** *

License metadata.

*/ inline License& AddLicenseMetadata(const Metadata& value) { m_licenseMetadataHasBeenSet = true; m_licenseMetadata.push_back(value); return *this; } /** *

License metadata.

*/ inline License& AddLicenseMetadata(Metadata&& value) { m_licenseMetadataHasBeenSet = true; m_licenseMetadata.push_back(std::move(value)); return *this; } /** *

License creation time.

*/ inline const Aws::String& GetCreateTime() const{ return m_createTime; } /** *

License creation time.

*/ inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; } /** *

License creation time.

*/ inline void SetCreateTime(const Aws::String& value) { m_createTimeHasBeenSet = true; m_createTime = value; } /** *

License creation time.

*/ inline void SetCreateTime(Aws::String&& value) { m_createTimeHasBeenSet = true; m_createTime = std::move(value); } /** *

License creation time.

*/ inline void SetCreateTime(const char* value) { m_createTimeHasBeenSet = true; m_createTime.assign(value); } /** *

License creation time.

*/ inline License& WithCreateTime(const Aws::String& value) { SetCreateTime(value); return *this;} /** *

License creation time.

*/ inline License& WithCreateTime(Aws::String&& value) { SetCreateTime(std::move(value)); return *this;} /** *

License creation time.

*/ inline License& WithCreateTime(const char* value) { SetCreateTime(value); return *this;} /** *

License version.

*/ inline const Aws::String& GetVersion() const{ return m_version; } /** *

License version.

*/ inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } /** *

License version.

*/ inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; } /** *

License version.

*/ inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } /** *

License version.

*/ inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); } /** *

License version.

*/ inline License& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} /** *

License version.

*/ inline License& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} /** *

License version.

*/ inline License& WithVersion(const char* value) { SetVersion(value); return *this;} private: Aws::String m_licenseArn; bool m_licenseArnHasBeenSet = false; Aws::String m_licenseName; bool m_licenseNameHasBeenSet = false; Aws::String m_productName; bool m_productNameHasBeenSet = false; Aws::String m_productSKU; bool m_productSKUHasBeenSet = false; IssuerDetails m_issuer; bool m_issuerHasBeenSet = false; Aws::String m_homeRegion; bool m_homeRegionHasBeenSet = false; LicenseStatus m_status; bool m_statusHasBeenSet = false; DatetimeRange m_validity; bool m_validityHasBeenSet = false; Aws::String m_beneficiary; bool m_beneficiaryHasBeenSet = false; Aws::Vector m_entitlements; bool m_entitlementsHasBeenSet = false; ConsumptionConfiguration m_consumptionConfiguration; bool m_consumptionConfigurationHasBeenSet = false; Aws::Vector m_licenseMetadata; bool m_licenseMetadataHasBeenSet = false; Aws::String m_createTime; bool m_createTimeHasBeenSet = false; Aws::String m_version; bool m_versionHasBeenSet = false; }; } // namespace Model } // namespace LicenseManager } // namespace Aws