/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A summary report of actual Amazon Web Services charges and calculated Amazon
* Web Services charges, based on the associated pricing plan of a billing
* group.See Also:
AWS
* API Reference
The Amazon Resource Name (ARN) of a billing group.
*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *The Amazon Resource Name (ARN) of a billing group.
*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *The Amazon Resource Name (ARN) of a billing group.
*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *The Amazon Resource Name (ARN) of a billing group.
*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *The Amazon Resource Name (ARN) of a billing group.
*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *The Amazon Resource Name (ARN) of a billing group.
*/ inline BillingGroupCostReportElement& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *The Amazon Resource Name (ARN) of a billing group.
*/ inline BillingGroupCostReportElement& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of a billing group.
*/ inline BillingGroupCostReportElement& WithArn(const char* value) { SetArn(value); return *this;} /** *The actual Amazon Web Services charges for the billing group.
*/ inline const Aws::String& GetAWSCost() const{ return m_aWSCost; } /** *The actual Amazon Web Services charges for the billing group.
*/ inline bool AWSCostHasBeenSet() const { return m_aWSCostHasBeenSet; } /** *The actual Amazon Web Services charges for the billing group.
*/ inline void SetAWSCost(const Aws::String& value) { m_aWSCostHasBeenSet = true; m_aWSCost = value; } /** *The actual Amazon Web Services charges for the billing group.
*/ inline void SetAWSCost(Aws::String&& value) { m_aWSCostHasBeenSet = true; m_aWSCost = std::move(value); } /** *The actual Amazon Web Services charges for the billing group.
*/ inline void SetAWSCost(const char* value) { m_aWSCostHasBeenSet = true; m_aWSCost.assign(value); } /** *The actual Amazon Web Services charges for the billing group.
*/ inline BillingGroupCostReportElement& WithAWSCost(const Aws::String& value) { SetAWSCost(value); return *this;} /** *The actual Amazon Web Services charges for the billing group.
*/ inline BillingGroupCostReportElement& WithAWSCost(Aws::String&& value) { SetAWSCost(std::move(value)); return *this;} /** *The actual Amazon Web Services charges for the billing group.
*/ inline BillingGroupCostReportElement& WithAWSCost(const char* value) { SetAWSCost(value); return *this;} /** *The hypothetical Amazon Web Services charges based on the associated pricing * plan of a billing group.
*/ inline const Aws::String& GetProformaCost() const{ return m_proformaCost; } /** *The hypothetical Amazon Web Services charges based on the associated pricing * plan of a billing group.
*/ inline bool ProformaCostHasBeenSet() const { return m_proformaCostHasBeenSet; } /** *The hypothetical Amazon Web Services charges based on the associated pricing * plan of a billing group.
*/ inline void SetProformaCost(const Aws::String& value) { m_proformaCostHasBeenSet = true; m_proformaCost = value; } /** *The hypothetical Amazon Web Services charges based on the associated pricing * plan of a billing group.
*/ inline void SetProformaCost(Aws::String&& value) { m_proformaCostHasBeenSet = true; m_proformaCost = std::move(value); } /** *The hypothetical Amazon Web Services charges based on the associated pricing * plan of a billing group.
*/ inline void SetProformaCost(const char* value) { m_proformaCostHasBeenSet = true; m_proformaCost.assign(value); } /** *The hypothetical Amazon Web Services charges based on the associated pricing * plan of a billing group.
*/ inline BillingGroupCostReportElement& WithProformaCost(const Aws::String& value) { SetProformaCost(value); return *this;} /** *The hypothetical Amazon Web Services charges based on the associated pricing * plan of a billing group.
*/ inline BillingGroupCostReportElement& WithProformaCost(Aws::String&& value) { SetProformaCost(std::move(value)); return *this;} /** *The hypothetical Amazon Web Services charges based on the associated pricing * plan of a billing group.
*/ inline BillingGroupCostReportElement& WithProformaCost(const char* value) { SetProformaCost(value); return *this;} /** *The billing group margin.
*/ inline const Aws::String& GetMargin() const{ return m_margin; } /** *The billing group margin.
*/ inline bool MarginHasBeenSet() const { return m_marginHasBeenSet; } /** *The billing group margin.
*/ inline void SetMargin(const Aws::String& value) { m_marginHasBeenSet = true; m_margin = value; } /** *The billing group margin.
*/ inline void SetMargin(Aws::String&& value) { m_marginHasBeenSet = true; m_margin = std::move(value); } /** *The billing group margin.
*/ inline void SetMargin(const char* value) { m_marginHasBeenSet = true; m_margin.assign(value); } /** *The billing group margin.
*/ inline BillingGroupCostReportElement& WithMargin(const Aws::String& value) { SetMargin(value); return *this;} /** *The billing group margin.
*/ inline BillingGroupCostReportElement& WithMargin(Aws::String&& value) { SetMargin(std::move(value)); return *this;} /** *The billing group margin.
*/ inline BillingGroupCostReportElement& WithMargin(const char* value) { SetMargin(value); return *this;} /** *The percentage of billing group margin.
*/ inline const Aws::String& GetMarginPercentage() const{ return m_marginPercentage; } /** *The percentage of billing group margin.
*/ inline bool MarginPercentageHasBeenSet() const { return m_marginPercentageHasBeenSet; } /** *The percentage of billing group margin.
*/ inline void SetMarginPercentage(const Aws::String& value) { m_marginPercentageHasBeenSet = true; m_marginPercentage = value; } /** *The percentage of billing group margin.
*/ inline void SetMarginPercentage(Aws::String&& value) { m_marginPercentageHasBeenSet = true; m_marginPercentage = std::move(value); } /** *The percentage of billing group margin.
*/ inline void SetMarginPercentage(const char* value) { m_marginPercentageHasBeenSet = true; m_marginPercentage.assign(value); } /** *The percentage of billing group margin.
*/ inline BillingGroupCostReportElement& WithMarginPercentage(const Aws::String& value) { SetMarginPercentage(value); return *this;} /** *The percentage of billing group margin.
*/ inline BillingGroupCostReportElement& WithMarginPercentage(Aws::String&& value) { SetMarginPercentage(std::move(value)); return *this;} /** *The percentage of billing group margin.
*/ inline BillingGroupCostReportElement& WithMarginPercentage(const char* value) { SetMarginPercentage(value); return *this;} /** *The displayed currency.
*/ inline const Aws::String& GetCurrency() const{ return m_currency; } /** *The displayed currency.
*/ inline bool CurrencyHasBeenSet() const { return m_currencyHasBeenSet; } /** *The displayed currency.
*/ inline void SetCurrency(const Aws::String& value) { m_currencyHasBeenSet = true; m_currency = value; } /** *The displayed currency.
*/ inline void SetCurrency(Aws::String&& value) { m_currencyHasBeenSet = true; m_currency = std::move(value); } /** *The displayed currency.
*/ inline void SetCurrency(const char* value) { m_currencyHasBeenSet = true; m_currency.assign(value); } /** *The displayed currency.
*/ inline BillingGroupCostReportElement& WithCurrency(const Aws::String& value) { SetCurrency(value); return *this;} /** *The displayed currency.
*/ inline BillingGroupCostReportElement& WithCurrency(Aws::String&& value) { SetCurrency(std::move(value)); return *this;} /** *The displayed currency.
*/ inline BillingGroupCostReportElement& WithCurrency(const char* value) { SetCurrency(value); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_aWSCost; bool m_aWSCostHasBeenSet = false; Aws::String m_proformaCost; bool m_proformaCostHasBeenSet = false; Aws::String m_margin; bool m_marginHasBeenSet = false; Aws::String m_marginPercentage; bool m_marginPercentageHasBeenSet = false; Aws::String m_currency; bool m_currencyHasBeenSet = false; }; } // namespace Model } // namespace BillingConductor } // namespace Aws