/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Information about a Savings Plan offering rate.See Also:
AWS
* API Reference
The Savings Plan offering.
*/ inline const ParentSavingsPlanOffering& GetSavingsPlanOffering() const{ return m_savingsPlanOffering; } /** *The Savings Plan offering.
*/ inline bool SavingsPlanOfferingHasBeenSet() const { return m_savingsPlanOfferingHasBeenSet; } /** *The Savings Plan offering.
*/ inline void SetSavingsPlanOffering(const ParentSavingsPlanOffering& value) { m_savingsPlanOfferingHasBeenSet = true; m_savingsPlanOffering = value; } /** *The Savings Plan offering.
*/ inline void SetSavingsPlanOffering(ParentSavingsPlanOffering&& value) { m_savingsPlanOfferingHasBeenSet = true; m_savingsPlanOffering = std::move(value); } /** *The Savings Plan offering.
*/ inline SavingsPlanOfferingRate& WithSavingsPlanOffering(const ParentSavingsPlanOffering& value) { SetSavingsPlanOffering(value); return *this;} /** *The Savings Plan offering.
*/ inline SavingsPlanOfferingRate& WithSavingsPlanOffering(ParentSavingsPlanOffering&& value) { SetSavingsPlanOffering(std::move(value)); return *this;} /** *The Savings Plan rate.
*/ inline const Aws::String& GetRate() const{ return m_rate; } /** *The Savings Plan rate.
*/ inline bool RateHasBeenSet() const { return m_rateHasBeenSet; } /** *The Savings Plan rate.
*/ inline void SetRate(const Aws::String& value) { m_rateHasBeenSet = true; m_rate = value; } /** *The Savings Plan rate.
*/ inline void SetRate(Aws::String&& value) { m_rateHasBeenSet = true; m_rate = std::move(value); } /** *The Savings Plan rate.
*/ inline void SetRate(const char* value) { m_rateHasBeenSet = true; m_rate.assign(value); } /** *The Savings Plan rate.
*/ inline SavingsPlanOfferingRate& WithRate(const Aws::String& value) { SetRate(value); return *this;} /** *The Savings Plan rate.
*/ inline SavingsPlanOfferingRate& WithRate(Aws::String&& value) { SetRate(std::move(value)); return *this;} /** *The Savings Plan rate.
*/ inline SavingsPlanOfferingRate& WithRate(const char* value) { SetRate(value); return *this;} /** *The unit.
*/ inline const SavingsPlanRateUnit& GetUnit() const{ return m_unit; } /** *The unit.
*/ inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; } /** *The unit.
*/ inline void SetUnit(const SavingsPlanRateUnit& value) { m_unitHasBeenSet = true; m_unit = value; } /** *The unit.
*/ inline void SetUnit(SavingsPlanRateUnit&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); } /** *The unit.
*/ inline SavingsPlanOfferingRate& WithUnit(const SavingsPlanRateUnit& value) { SetUnit(value); return *this;} /** *The unit.
*/ inline SavingsPlanOfferingRate& WithUnit(SavingsPlanRateUnit&& value) { SetUnit(std::move(value)); return *this;} /** *The product type.
*/ inline const SavingsPlanProductType& GetProductType() const{ return m_productType; } /** *The product type.
*/ inline bool ProductTypeHasBeenSet() const { return m_productTypeHasBeenSet; } /** *The product type.
*/ inline void SetProductType(const SavingsPlanProductType& value) { m_productTypeHasBeenSet = true; m_productType = value; } /** *The product type.
*/ inline void SetProductType(SavingsPlanProductType&& value) { m_productTypeHasBeenSet = true; m_productType = std::move(value); } /** *The product type.
*/ inline SavingsPlanOfferingRate& WithProductType(const SavingsPlanProductType& value) { SetProductType(value); return *this;} /** *The product type.
*/ inline SavingsPlanOfferingRate& WithProductType(SavingsPlanProductType&& value) { SetProductType(std::move(value)); return *this;} /** *The service.
*/ inline const SavingsPlanRateServiceCode& GetServiceCode() const{ return m_serviceCode; } /** *The service.
*/ inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; } /** *The service.
*/ inline void SetServiceCode(const SavingsPlanRateServiceCode& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = value; } /** *The service.
*/ inline void SetServiceCode(SavingsPlanRateServiceCode&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::move(value); } /** *The service.
*/ inline SavingsPlanOfferingRate& WithServiceCode(const SavingsPlanRateServiceCode& value) { SetServiceCode(value); return *this;} /** *The service.
*/ inline SavingsPlanOfferingRate& WithServiceCode(SavingsPlanRateServiceCode&& value) { SetServiceCode(std::move(value)); return *this;} /** *The usage details of the line item in the billing report.
*/ inline const Aws::String& GetUsageType() const{ return m_usageType; } /** *The usage details of the line item in the billing report.
*/ inline bool UsageTypeHasBeenSet() const { return m_usageTypeHasBeenSet; } /** *The usage details of the line item in the billing report.
*/ inline void SetUsageType(const Aws::String& value) { m_usageTypeHasBeenSet = true; m_usageType = value; } /** *The usage details of the line item in the billing report.
*/ inline void SetUsageType(Aws::String&& value) { m_usageTypeHasBeenSet = true; m_usageType = std::move(value); } /** *The usage details of the line item in the billing report.
*/ inline void SetUsageType(const char* value) { m_usageTypeHasBeenSet = true; m_usageType.assign(value); } /** *The usage details of the line item in the billing report.
*/ inline SavingsPlanOfferingRate& WithUsageType(const Aws::String& value) { SetUsageType(value); return *this;} /** *The usage details of the line item in the billing report.
*/ inline SavingsPlanOfferingRate& WithUsageType(Aws::String&& value) { SetUsageType(std::move(value)); return *this;} /** *The usage details of the line item in the billing report.
*/ inline SavingsPlanOfferingRate& WithUsageType(const char* value) { SetUsageType(value); return *this;} /** *The specific AWS operation for the line item in the billing report.
*/ inline const Aws::String& GetOperation() const{ return m_operation; } /** *The specific AWS operation for the line item in the billing report.
*/ inline bool OperationHasBeenSet() const { return m_operationHasBeenSet; } /** *The specific AWS operation for the line item in the billing report.
*/ inline void SetOperation(const Aws::String& value) { m_operationHasBeenSet = true; m_operation = value; } /** *The specific AWS operation for the line item in the billing report.
*/ inline void SetOperation(Aws::String&& value) { m_operationHasBeenSet = true; m_operation = std::move(value); } /** *The specific AWS operation for the line item in the billing report.
*/ inline void SetOperation(const char* value) { m_operationHasBeenSet = true; m_operation.assign(value); } /** *The specific AWS operation for the line item in the billing report.
*/ inline SavingsPlanOfferingRate& WithOperation(const Aws::String& value) { SetOperation(value); return *this;} /** *The specific AWS operation for the line item in the billing report.
*/ inline SavingsPlanOfferingRate& WithOperation(Aws::String&& value) { SetOperation(std::move(value)); return *this;} /** *The specific AWS operation for the line item in the billing report.
*/ inline SavingsPlanOfferingRate& WithOperation(const char* value) { SetOperation(value); return *this;} /** *The properties.
*/ inline const Aws::VectorThe properties.
*/ inline bool PropertiesHasBeenSet() const { return m_propertiesHasBeenSet; } /** *The properties.
*/ inline void SetProperties(const Aws::VectorThe properties.
*/ inline void SetProperties(Aws::VectorThe properties.
*/ inline SavingsPlanOfferingRate& WithProperties(const Aws::VectorThe properties.
*/ inline SavingsPlanOfferingRate& WithProperties(Aws::VectorThe properties.
*/ inline SavingsPlanOfferingRate& AddProperties(const SavingsPlanOfferingRateProperty& value) { m_propertiesHasBeenSet = true; m_properties.push_back(value); return *this; } /** *The properties.
*/ inline SavingsPlanOfferingRate& AddProperties(SavingsPlanOfferingRateProperty&& value) { m_propertiesHasBeenSet = true; m_properties.push_back(std::move(value)); return *this; } private: ParentSavingsPlanOffering m_savingsPlanOffering; bool m_savingsPlanOfferingHasBeenSet = false; Aws::String m_rate; bool m_rateHasBeenSet = false; SavingsPlanRateUnit m_unit; bool m_unitHasBeenSet = false; SavingsPlanProductType m_productType; bool m_productTypeHasBeenSet = false; SavingsPlanRateServiceCode m_serviceCode; bool m_serviceCodeHasBeenSet = false; Aws::String m_usageType; bool m_usageTypeHasBeenSet = false; Aws::String m_operation; bool m_operationHasBeenSet = false; Aws::Vector