AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
SavingsPlansPurchaseAnalysisConfiguration.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/ce/model/AccountScope.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/ce/model/AnalysisType.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ce/model/DateInterval.h>
13#include <aws/ce/model/SavingsPlans.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Json
21{
22 class JsonValue;
23 class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace CostExplorer
27{
28namespace Model
29{
30
38 {
39 public:
40 AWS_COSTEXPLORER_API SavingsPlansPurchaseAnalysisConfiguration() = default;
43 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
44
45
47
50 inline AccountScope GetAccountScope() const { return m_accountScope; }
51 inline bool AccountScopeHasBeenSet() const { return m_accountScopeHasBeenSet; }
52 inline void SetAccountScope(AccountScope value) { m_accountScopeHasBeenSet = true; m_accountScope = value; }
55
57
60 inline const Aws::String& GetAccountId() const { return m_accountId; }
61 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
62 template<typename AccountIdT = Aws::String>
63 void SetAccountId(AccountIdT&& value) { m_accountIdHasBeenSet = true; m_accountId = std::forward<AccountIdT>(value); }
64 template<typename AccountIdT = Aws::String>
65 SavingsPlansPurchaseAnalysisConfiguration& WithAccountId(AccountIdT&& value) { SetAccountId(std::forward<AccountIdT>(value)); return *this;}
67
69
72 inline AnalysisType GetAnalysisType() const { return m_analysisType; }
73 inline bool AnalysisTypeHasBeenSet() const { return m_analysisTypeHasBeenSet; }
74 inline void SetAnalysisType(AnalysisType value) { m_analysisTypeHasBeenSet = true; m_analysisType = value; }
77
79
82 inline const Aws::Vector<SavingsPlans>& GetSavingsPlansToAdd() const { return m_savingsPlansToAdd; }
83 inline bool SavingsPlansToAddHasBeenSet() const { return m_savingsPlansToAddHasBeenSet; }
84 template<typename SavingsPlansToAddT = Aws::Vector<SavingsPlans>>
85 void SetSavingsPlansToAdd(SavingsPlansToAddT&& value) { m_savingsPlansToAddHasBeenSet = true; m_savingsPlansToAdd = std::forward<SavingsPlansToAddT>(value); }
86 template<typename SavingsPlansToAddT = Aws::Vector<SavingsPlans>>
87 SavingsPlansPurchaseAnalysisConfiguration& WithSavingsPlansToAdd(SavingsPlansToAddT&& value) { SetSavingsPlansToAdd(std::forward<SavingsPlansToAddT>(value)); return *this;}
88 template<typename SavingsPlansToAddT = SavingsPlans>
89 SavingsPlansPurchaseAnalysisConfiguration& AddSavingsPlansToAdd(SavingsPlansToAddT&& value) { m_savingsPlansToAddHasBeenSet = true; m_savingsPlansToAdd.emplace_back(std::forward<SavingsPlansToAddT>(value)); return *this; }
91
93
96 inline const Aws::Vector<Aws::String>& GetSavingsPlansToExclude() const { return m_savingsPlansToExclude; }
97 inline bool SavingsPlansToExcludeHasBeenSet() const { return m_savingsPlansToExcludeHasBeenSet; }
98 template<typename SavingsPlansToExcludeT = Aws::Vector<Aws::String>>
99 void SetSavingsPlansToExclude(SavingsPlansToExcludeT&& value) { m_savingsPlansToExcludeHasBeenSet = true; m_savingsPlansToExclude = std::forward<SavingsPlansToExcludeT>(value); }
100 template<typename SavingsPlansToExcludeT = Aws::Vector<Aws::String>>
101 SavingsPlansPurchaseAnalysisConfiguration& WithSavingsPlansToExclude(SavingsPlansToExcludeT&& value) { SetSavingsPlansToExclude(std::forward<SavingsPlansToExcludeT>(value)); return *this;}
102 template<typename SavingsPlansToExcludeT = Aws::String>
103 SavingsPlansPurchaseAnalysisConfiguration& AddSavingsPlansToExclude(SavingsPlansToExcludeT&& value) { m_savingsPlansToExcludeHasBeenSet = true; m_savingsPlansToExclude.emplace_back(std::forward<SavingsPlansToExcludeT>(value)); return *this; }
105
107
110 inline const DateInterval& GetLookBackTimePeriod() const { return m_lookBackTimePeriod; }
111 inline bool LookBackTimePeriodHasBeenSet() const { return m_lookBackTimePeriodHasBeenSet; }
112 template<typename LookBackTimePeriodT = DateInterval>
113 void SetLookBackTimePeriod(LookBackTimePeriodT&& value) { m_lookBackTimePeriodHasBeenSet = true; m_lookBackTimePeriod = std::forward<LookBackTimePeriodT>(value); }
114 template<typename LookBackTimePeriodT = DateInterval>
115 SavingsPlansPurchaseAnalysisConfiguration& WithLookBackTimePeriod(LookBackTimePeriodT&& value) { SetLookBackTimePeriod(std::forward<LookBackTimePeriodT>(value)); return *this;}
117 private:
118
119 AccountScope m_accountScope{AccountScope::NOT_SET};
120 bool m_accountScopeHasBeenSet = false;
121
122 Aws::String m_accountId;
123 bool m_accountIdHasBeenSet = false;
124
125 AnalysisType m_analysisType{AnalysisType::NOT_SET};
126 bool m_analysisTypeHasBeenSet = false;
127
128 Aws::Vector<SavingsPlans> m_savingsPlansToAdd;
129 bool m_savingsPlansToAddHasBeenSet = false;
130
131 Aws::Vector<Aws::String> m_savingsPlansToExclude;
132 bool m_savingsPlansToExcludeHasBeenSet = false;
133
134 DateInterval m_lookBackTimePeriod;
135 bool m_lookBackTimePeriodHasBeenSet = false;
136 };
137
138} // namespace Model
139} // namespace CostExplorer
140} // namespace Aws
SavingsPlansPurchaseAnalysisConfiguration & WithAccountScope(AccountScope value)
SavingsPlansPurchaseAnalysisConfiguration & AddSavingsPlansToExclude(SavingsPlansToExcludeT &&value)
SavingsPlansPurchaseAnalysisConfiguration & WithAccountId(AccountIdT &&value)
AWS_COSTEXPLORER_API SavingsPlansPurchaseAnalysisConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
SavingsPlansPurchaseAnalysisConfiguration & WithAnalysisType(AnalysisType value)
SavingsPlansPurchaseAnalysisConfiguration & WithSavingsPlansToExclude(SavingsPlansToExcludeT &&value)
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_COSTEXPLORER_API SavingsPlansPurchaseAnalysisConfiguration(Aws::Utils::Json::JsonView jsonValue)
SavingsPlansPurchaseAnalysisConfiguration & AddSavingsPlansToAdd(SavingsPlansToAddT &&value)
SavingsPlansPurchaseAnalysisConfiguration & WithLookBackTimePeriod(LookBackTimePeriodT &&value)
SavingsPlansPurchaseAnalysisConfiguration & WithSavingsPlansToAdd(SavingsPlansToAddT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue