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

An object that contains information about the estimated monthly cost to * analyze an Amazon Web Services resource. For more information, see Estimate * your Amazon DevOps Guru costs and Amazon DevOps Guru * pricing.

See Also:

AWS * API Reference

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

The type of the Amazon Web Services resource.

*/ inline const Aws::String& GetType() const{ return m_type; } /** *

The type of the Amazon Web Services resource.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of the Amazon Web Services resource.

*/ inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of the Amazon Web Services resource.

*/ inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of the Amazon Web Services resource.

*/ inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } /** *

The type of the Amazon Web Services resource.

*/ inline ServiceResourceCost& WithType(const Aws::String& value) { SetType(value); return *this;} /** *

The type of the Amazon Web Services resource.

*/ inline ServiceResourceCost& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} /** *

The type of the Amazon Web Services resource.

*/ inline ServiceResourceCost& WithType(const char* value) { SetType(value); return *this;} /** *

The state of the resource. The resource is ACTIVE if it produces * metrics, events, or logs within an hour, otherwise it is INACTIVE. * You pay for the number of active Amazon Web Services resource hours analyzed for * each resource. Inactive resources are not charged.

*/ inline const CostEstimationServiceResourceState& GetState() const{ return m_state; } /** *

The state of the resource. The resource is ACTIVE if it produces * metrics, events, or logs within an hour, otherwise it is INACTIVE. * You pay for the number of active Amazon Web Services resource hours analyzed for * each resource. Inactive resources are not charged.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The state of the resource. The resource is ACTIVE if it produces * metrics, events, or logs within an hour, otherwise it is INACTIVE. * You pay for the number of active Amazon Web Services resource hours analyzed for * each resource. Inactive resources are not charged.

*/ inline void SetState(const CostEstimationServiceResourceState& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The state of the resource. The resource is ACTIVE if it produces * metrics, events, or logs within an hour, otherwise it is INACTIVE. * You pay for the number of active Amazon Web Services resource hours analyzed for * each resource. Inactive resources are not charged.

*/ inline void SetState(CostEstimationServiceResourceState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The state of the resource. The resource is ACTIVE if it produces * metrics, events, or logs within an hour, otherwise it is INACTIVE. * You pay for the number of active Amazon Web Services resource hours analyzed for * each resource. Inactive resources are not charged.

*/ inline ServiceResourceCost& WithState(const CostEstimationServiceResourceState& value) { SetState(value); return *this;} /** *

The state of the resource. The resource is ACTIVE if it produces * metrics, events, or logs within an hour, otherwise it is INACTIVE. * You pay for the number of active Amazon Web Services resource hours analyzed for * each resource. Inactive resources are not charged.

*/ inline ServiceResourceCost& WithState(CostEstimationServiceResourceState&& value) { SetState(std::move(value)); return *this;} /** *

The number of active resources analyzed for this service to create a monthly * cost estimate.

*/ inline int GetCount() const{ return m_count; } /** *

The number of active resources analyzed for this service to create a monthly * cost estimate.

*/ inline bool CountHasBeenSet() const { return m_countHasBeenSet; } /** *

The number of active resources analyzed for this service to create a monthly * cost estimate.

*/ inline void SetCount(int value) { m_countHasBeenSet = true; m_count = value; } /** *

The number of active resources analyzed for this service to create a monthly * cost estimate.

*/ inline ServiceResourceCost& WithCount(int value) { SetCount(value); return *this;} /** *

The price per hour to analyze the resources in the service. For more * information, see Estimate * your Amazon DevOps Guru costs and Amazon DevOps Guru * pricing.

*/ inline double GetUnitCost() const{ return m_unitCost; } /** *

The price per hour to analyze the resources in the service. For more * information, see Estimate * your Amazon DevOps Guru costs and Amazon DevOps Guru * pricing.

*/ inline bool UnitCostHasBeenSet() const { return m_unitCostHasBeenSet; } /** *

The price per hour to analyze the resources in the service. For more * information, see Estimate * your Amazon DevOps Guru costs and Amazon DevOps Guru * pricing.

*/ inline void SetUnitCost(double value) { m_unitCostHasBeenSet = true; m_unitCost = value; } /** *

The price per hour to analyze the resources in the service. For more * information, see Estimate * your Amazon DevOps Guru costs and Amazon DevOps Guru * pricing.

*/ inline ServiceResourceCost& WithUnitCost(double value) { SetUnitCost(value); return *this;} /** *

The total estimated monthly cost to analyze the active resources for this * resource.

*/ inline double GetCost() const{ return m_cost; } /** *

The total estimated monthly cost to analyze the active resources for this * resource.

*/ inline bool CostHasBeenSet() const { return m_costHasBeenSet; } /** *

The total estimated monthly cost to analyze the active resources for this * resource.

*/ inline void SetCost(double value) { m_costHasBeenSet = true; m_cost = value; } /** *

The total estimated monthly cost to analyze the active resources for this * resource.

*/ inline ServiceResourceCost& WithCost(double value) { SetCost(value); return *this;} private: Aws::String m_type; bool m_typeHasBeenSet = false; CostEstimationServiceResourceState m_state; bool m_stateHasBeenSet = false; int m_count; bool m_countHasBeenSet = false; double m_unitCost; bool m_unitCostHasBeenSet = false; double m_cost; bool m_costHasBeenSet = false; }; } // namespace Model } // namespace DevOpsGuru } // namespace Aws