/** * 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 LicenseManager { namespace Model { /** */ class CreateLicenseRequest : public LicenseManagerRequest { public: AWS_LICENSEMANAGER_API CreateLicenseRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateLicense"; } AWS_LICENSEMANAGER_API Aws::String SerializePayload() const override; AWS_LICENSEMANAGER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

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 CreateLicenseRequest& WithLicenseName(const Aws::String& value) { SetLicenseName(value); return *this;} /** *

License name.

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

License name.

*/ inline CreateLicenseRequest& 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 CreateLicenseRequest& WithProductName(const Aws::String& value) { SetProductName(value); return *this;} /** *

Product name.

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

Product name.

*/ inline CreateLicenseRequest& 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 CreateLicenseRequest& WithProductSKU(const Aws::String& value) { SetProductSKU(value); return *this;} /** *

Product SKU.

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

Product SKU.

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

License issuer.

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

License issuer.

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

License issuer.

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

License issuer.

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

License issuer.

*/ inline CreateLicenseRequest& WithIssuer(const Issuer& value) { SetIssuer(value); return *this;} /** *

License issuer.

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

Home Region for the license.

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

Home Region for the license.

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

Home Region for the license.

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

Home Region for the license.

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

Home Region for the license.

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

Home Region for the license.

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

Home Region for the license.

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

Home Region for the license.

*/ inline CreateLicenseRequest& WithHomeRegion(const char* value) { SetHomeRegion(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 CreateLicenseRequest& WithValidity(const DatetimeRange& value) { SetValidity(value); return *this;} /** *

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

*/ inline CreateLicenseRequest& WithValidity(DatetimeRange&& value) { SetValidity(std::move(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 CreateLicenseRequest& WithEntitlements(const Aws::Vector& value) { SetEntitlements(value); return *this;} /** *

License entitlements.

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

License entitlements.

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

License entitlements.

*/ inline CreateLicenseRequest& AddEntitlements(Entitlement&& value) { m_entitlementsHasBeenSet = true; m_entitlements.push_back(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 CreateLicenseRequest& WithBeneficiary(const Aws::String& value) { SetBeneficiary(value); return *this;} /** *

License beneficiary.

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

License beneficiary.

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

Configuration for consumption of the license. Choose a provisional * configuration for workloads running with continuous connectivity. Choose a * borrow configuration for workloads with offline usage.

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

Configuration for consumption of the license. Choose a provisional * configuration for workloads running with continuous connectivity. Choose a * borrow configuration for workloads with offline usage.

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

Configuration for consumption of the license. Choose a provisional * configuration for workloads running with continuous connectivity. Choose a * borrow configuration for workloads with offline usage.

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

Configuration for consumption of the license. Choose a provisional * configuration for workloads running with continuous connectivity. Choose a * borrow configuration for workloads with offline usage.

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

Configuration for consumption of the license. Choose a provisional * configuration for workloads running with continuous connectivity. Choose a * borrow configuration for workloads with offline usage.

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

Configuration for consumption of the license. Choose a provisional * configuration for workloads running with continuous connectivity. Choose a * borrow configuration for workloads with offline usage.

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

Information about the license.

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

Information about the license.

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

Information about the license.

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

Information about the license.

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

Information about the license.

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

Information about the license.

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

Information about the license.

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

Information about the license.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request.

*/ inline CreateLicenseRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request.

*/ inline CreateLicenseRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request.

*/ inline CreateLicenseRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} private: Aws::String m_licenseName; bool m_licenseNameHasBeenSet = false; Aws::String m_productName; bool m_productNameHasBeenSet = false; Aws::String m_productSKU; bool m_productSKUHasBeenSet = false; Issuer m_issuer; bool m_issuerHasBeenSet = false; Aws::String m_homeRegion; bool m_homeRegionHasBeenSet = false; DatetimeRange m_validity; bool m_validityHasBeenSet = false; Aws::Vector m_entitlements; bool m_entitlementsHasBeenSet = false; Aws::String m_beneficiary; bool m_beneficiaryHasBeenSet = false; ConsumptionConfiguration m_consumptionConfiguration; bool m_consumptionConfigurationHasBeenSet = false; Aws::Vector m_licenseMetadata; bool m_licenseMetadataHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; }; } // namespace Model } // namespace LicenseManager } // namespace Aws