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

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

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

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