AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
SavingsPlansUtilizationDetail.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSMap.h>
10#include <aws/ce/model/SavingsPlansUtilization.h>
11#include <aws/ce/model/SavingsPlansSavings.h>
12#include <aws/ce/model/SavingsPlansAmortizedCommitment.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace CostExplorer
26{
27namespace Model
28{
29
39 {
40 public:
41 AWS_COSTEXPLORER_API SavingsPlansUtilizationDetail() = default;
44 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
45
46
48
51 inline const Aws::String& GetSavingsPlanArn() const { return m_savingsPlanArn; }
52 inline bool SavingsPlanArnHasBeenSet() const { return m_savingsPlanArnHasBeenSet; }
53 template<typename SavingsPlanArnT = Aws::String>
54 void SetSavingsPlanArn(SavingsPlanArnT&& value) { m_savingsPlanArnHasBeenSet = true; m_savingsPlanArn = std::forward<SavingsPlanArnT>(value); }
55 template<typename SavingsPlanArnT = Aws::String>
56 SavingsPlansUtilizationDetail& WithSavingsPlanArn(SavingsPlanArnT&& value) { SetSavingsPlanArn(std::forward<SavingsPlanArnT>(value)); return *this;}
58
60
63 inline const Aws::Map<Aws::String, Aws::String>& GetAttributes() const { return m_attributes; }
64 inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; }
65 template<typename AttributesT = Aws::Map<Aws::String, Aws::String>>
66 void SetAttributes(AttributesT&& value) { m_attributesHasBeenSet = true; m_attributes = std::forward<AttributesT>(value); }
67 template<typename AttributesT = Aws::Map<Aws::String, Aws::String>>
68 SavingsPlansUtilizationDetail& WithAttributes(AttributesT&& value) { SetAttributes(std::forward<AttributesT>(value)); return *this;}
69 template<typename AttributesKeyT = Aws::String, typename AttributesValueT = Aws::String>
70 SavingsPlansUtilizationDetail& AddAttributes(AttributesKeyT&& key, AttributesValueT&& value) {
71 m_attributesHasBeenSet = true; m_attributes.emplace(std::forward<AttributesKeyT>(key), std::forward<AttributesValueT>(value)); return *this;
72 }
74
76
80 inline const SavingsPlansUtilization& GetUtilization() const { return m_utilization; }
81 inline bool UtilizationHasBeenSet() const { return m_utilizationHasBeenSet; }
82 template<typename UtilizationT = SavingsPlansUtilization>
83 void SetUtilization(UtilizationT&& value) { m_utilizationHasBeenSet = true; m_utilization = std::forward<UtilizationT>(value); }
84 template<typename UtilizationT = SavingsPlansUtilization>
85 SavingsPlansUtilizationDetail& WithUtilization(UtilizationT&& value) { SetUtilization(std::forward<UtilizationT>(value)); return *this;}
87
89
94 inline const SavingsPlansSavings& GetSavings() const { return m_savings; }
95 inline bool SavingsHasBeenSet() const { return m_savingsHasBeenSet; }
96 template<typename SavingsT = SavingsPlansSavings>
97 void SetSavings(SavingsT&& value) { m_savingsHasBeenSet = true; m_savings = std::forward<SavingsT>(value); }
98 template<typename SavingsT = SavingsPlansSavings>
99 SavingsPlansUtilizationDetail& WithSavings(SavingsT&& value) { SetSavings(std::forward<SavingsT>(value)); return *this;}
101
103
107 inline const SavingsPlansAmortizedCommitment& GetAmortizedCommitment() const { return m_amortizedCommitment; }
108 inline bool AmortizedCommitmentHasBeenSet() const { return m_amortizedCommitmentHasBeenSet; }
109 template<typename AmortizedCommitmentT = SavingsPlansAmortizedCommitment>
110 void SetAmortizedCommitment(AmortizedCommitmentT&& value) { m_amortizedCommitmentHasBeenSet = true; m_amortizedCommitment = std::forward<AmortizedCommitmentT>(value); }
111 template<typename AmortizedCommitmentT = SavingsPlansAmortizedCommitment>
112 SavingsPlansUtilizationDetail& WithAmortizedCommitment(AmortizedCommitmentT&& value) { SetAmortizedCommitment(std::forward<AmortizedCommitmentT>(value)); return *this;}
114 private:
115
116 Aws::String m_savingsPlanArn;
117 bool m_savingsPlanArnHasBeenSet = false;
118
120 bool m_attributesHasBeenSet = false;
121
122 SavingsPlansUtilization m_utilization;
123 bool m_utilizationHasBeenSet = false;
124
125 SavingsPlansSavings m_savings;
126 bool m_savingsHasBeenSet = false;
127
128 SavingsPlansAmortizedCommitment m_amortizedCommitment;
129 bool m_amortizedCommitmentHasBeenSet = false;
130 };
131
132} // namespace Model
133} // namespace CostExplorer
134} // namespace Aws
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_COSTEXPLORER_API SavingsPlansUtilizationDetail & operator=(Aws::Utils::Json::JsonView jsonValue)
const SavingsPlansAmortizedCommitment & GetAmortizedCommitment() const
SavingsPlansUtilizationDetail & AddAttributes(AttributesKeyT &&key, AttributesValueT &&value)
SavingsPlansUtilizationDetail & WithSavings(SavingsT &&value)
const Aws::Map< Aws::String, Aws::String > & GetAttributes() const
SavingsPlansUtilizationDetail & WithSavingsPlanArn(SavingsPlanArnT &&value)
SavingsPlansUtilizationDetail & WithAttributes(AttributesT &&value)
SavingsPlansUtilizationDetail & WithUtilization(UtilizationT &&value)
SavingsPlansUtilizationDetail & WithAmortizedCommitment(AmortizedCommitmentT &&value)
AWS_COSTEXPLORER_API SavingsPlansUtilizationDetail(Aws::Utils::Json::JsonView jsonValue)
AWS_COSTEXPLORER_API SavingsPlansUtilizationDetail()=default
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue