/** * 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 #include namespace Aws { namespace LicenseManager { namespace Model { /** */ class CreateLicenseVersionRequest : public LicenseManagerRequest { public: AWS_LICENSEMANAGER_API CreateLicenseVersionRequest(); // 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 "CreateLicenseVersion"; } AWS_LICENSEMANAGER_API Aws::String SerializePayload() const override; AWS_LICENSEMANAGER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

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 CreateLicenseVersionRequest& WithLicenseArn(const Aws::String& value) { SetLicenseArn(value); return *this;} /** *

Amazon Resource Name (ARN) of the license.

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

Amazon Resource Name (ARN) of the license.

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

License name.

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

License name.

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

Product name.

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

Product name.

*/ inline CreateLicenseVersionRequest& WithProductName(const char* value) { SetProductName(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 CreateLicenseVersionRequest& WithIssuer(const Issuer& value) { SetIssuer(value); return *this;} /** *

License issuer.

*/ inline CreateLicenseVersionRequest& WithIssuer(Issuer&& 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 CreateLicenseVersionRequest& WithHomeRegion(const Aws::String& value) { SetHomeRegion(value); return *this;} /** *

Home Region of the license.

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

Home Region of the license.

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

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

*/ inline CreateLicenseVersionRequest& WithValidity(DatetimeRange&& value) { SetValidity(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 CreateLicenseVersionRequest& WithLicenseMetadata(const Aws::Vector& value) { SetLicenseMetadata(value); return *this;} /** *

Information about the license.

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

Information about the license.

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

Information about the license.

*/ inline CreateLicenseVersionRequest& AddLicenseMetadata(Metadata&& value) { m_licenseMetadataHasBeenSet = true; m_licenseMetadata.push_back(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 CreateLicenseVersionRequest& WithEntitlements(const Aws::Vector& value) { SetEntitlements(value); return *this;} /** *

License entitlements.

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

License entitlements.

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

License entitlements.

*/ inline CreateLicenseVersionRequest& AddEntitlements(Entitlement&& value) { m_entitlementsHasBeenSet = true; m_entitlements.push_back(std::move(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 CreateLicenseVersionRequest& 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 CreateLicenseVersionRequest& WithConsumptionConfiguration(ConsumptionConfiguration&& value) { SetConsumptionConfiguration(std::move(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 CreateLicenseVersionRequest& WithStatus(const LicenseStatus& value) { SetStatus(value); return *this;} /** *

License status.

*/ inline CreateLicenseVersionRequest& WithStatus(LicenseStatus&& value) { SetStatus(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 CreateLicenseVersionRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

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

*/ inline CreateLicenseVersionRequest& 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 CreateLicenseVersionRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *

Current version of the license.

*/ inline const Aws::String& GetSourceVersion() const{ return m_sourceVersion; } /** *

Current version of the license.

*/ inline bool SourceVersionHasBeenSet() const { return m_sourceVersionHasBeenSet; } /** *

Current version of the license.

*/ inline void SetSourceVersion(const Aws::String& value) { m_sourceVersionHasBeenSet = true; m_sourceVersion = value; } /** *

Current version of the license.

*/ inline void SetSourceVersion(Aws::String&& value) { m_sourceVersionHasBeenSet = true; m_sourceVersion = std::move(value); } /** *

Current version of the license.

*/ inline void SetSourceVersion(const char* value) { m_sourceVersionHasBeenSet = true; m_sourceVersion.assign(value); } /** *

Current version of the license.

*/ inline CreateLicenseVersionRequest& WithSourceVersion(const Aws::String& value) { SetSourceVersion(value); return *this;} /** *

Current version of the license.

*/ inline CreateLicenseVersionRequest& WithSourceVersion(Aws::String&& value) { SetSourceVersion(std::move(value)); return *this;} /** *

Current version of the license.

*/ inline CreateLicenseVersionRequest& WithSourceVersion(const char* value) { SetSourceVersion(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; 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_licenseMetadata; bool m_licenseMetadataHasBeenSet = false; Aws::Vector m_entitlements; bool m_entitlementsHasBeenSet = false; ConsumptionConfiguration m_consumptionConfiguration; bool m_consumptionConfigurationHasBeenSet = false; LicenseStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; Aws::String m_sourceVersion; bool m_sourceVersionHasBeenSet = false; }; } // namespace Model } // namespace LicenseManager } // namespace Aws