AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
GetSavingsPlansPurchaseRecommendationRequest.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/ce/CostExplorerRequest.h>
9#include <aws/ce/model/SupportedSavingsPlansType.h>
10#include <aws/ce/model/TermInYears.h>
11#include <aws/ce/model/PaymentOption.h>
12#include <aws/ce/model/AccountScope.h>
13#include <aws/core/utils/memory/stl/AWSString.h>
14#include <aws/ce/model/LookbackPeriodInDays.h>
15#include <aws/ce/model/Expression.h>
16#include <utility>
17
18namespace Aws
19{
20namespace CostExplorer
21{
22namespace Model
23{
24
28 {
29 public:
30 AWS_COSTEXPLORER_API GetSavingsPlansPurchaseRecommendationRequest() = default;
31
32 // Service request name is the Operation name which will send this request out,
33 // each operation should has unique request name, so that we can get operation's name from this request.
34 // Note: this is not true for response, multiple operations may have the same response name,
35 // so we can not get operation's name from response.
36 inline virtual const char* GetServiceRequestName() const override { return "GetSavingsPlansPurchaseRecommendation"; }
37
38 AWS_COSTEXPLORER_API Aws::String SerializePayload() const override;
39
40 AWS_COSTEXPLORER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
41
42
44
47 inline SupportedSavingsPlansType GetSavingsPlansType() const { return m_savingsPlansType; }
48 inline bool SavingsPlansTypeHasBeenSet() const { return m_savingsPlansTypeHasBeenSet; }
49 inline void SetSavingsPlansType(SupportedSavingsPlansType value) { m_savingsPlansTypeHasBeenSet = true; m_savingsPlansType = value; }
52
54
58 inline TermInYears GetTermInYears() const { return m_termInYears; }
59 inline bool TermInYearsHasBeenSet() const { return m_termInYearsHasBeenSet; }
60 inline void SetTermInYears(TermInYears value) { m_termInYearsHasBeenSet = true; m_termInYears = value; }
63
65
68 inline PaymentOption GetPaymentOption() const { return m_paymentOption; }
69 inline bool PaymentOptionHasBeenSet() const { return m_paymentOptionHasBeenSet; }
70 inline void SetPaymentOption(PaymentOption value) { m_paymentOptionHasBeenSet = true; m_paymentOption = value; }
73
75
81 inline AccountScope GetAccountScope() const { return m_accountScope; }
82 inline bool AccountScopeHasBeenSet() const { return m_accountScopeHasBeenSet; }
83 inline void SetAccountScope(AccountScope value) { m_accountScopeHasBeenSet = true; m_accountScope = value; }
86
88
93 inline const Aws::String& GetNextPageToken() const { return m_nextPageToken; }
94 inline bool NextPageTokenHasBeenSet() const { return m_nextPageTokenHasBeenSet; }
95 template<typename NextPageTokenT = Aws::String>
96 void SetNextPageToken(NextPageTokenT&& value) { m_nextPageTokenHasBeenSet = true; m_nextPageToken = std::forward<NextPageTokenT>(value); }
97 template<typename NextPageTokenT = Aws::String>
98 GetSavingsPlansPurchaseRecommendationRequest& WithNextPageToken(NextPageTokenT&& value) { SetNextPageToken(std::forward<NextPageTokenT>(value)); return *this;}
100
102
106 inline int GetPageSize() const { return m_pageSize; }
107 inline bool PageSizeHasBeenSet() const { return m_pageSizeHasBeenSet; }
108 inline void SetPageSize(int value) { m_pageSizeHasBeenSet = true; m_pageSize = value; }
111
113
116 inline LookbackPeriodInDays GetLookbackPeriodInDays() const { return m_lookbackPeriodInDays; }
117 inline bool LookbackPeriodInDaysHasBeenSet() const { return m_lookbackPeriodInDaysHasBeenSet; }
118 inline void SetLookbackPeriodInDays(LookbackPeriodInDays value) { m_lookbackPeriodInDaysHasBeenSet = true; m_lookbackPeriodInDays = value; }
121
123
137 inline const Expression& GetFilter() const { return m_filter; }
138 inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; }
139 template<typename FilterT = Expression>
140 void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward<FilterT>(value); }
141 template<typename FilterT = Expression>
142 GetSavingsPlansPurchaseRecommendationRequest& WithFilter(FilterT&& value) { SetFilter(std::forward<FilterT>(value)); return *this;}
144 private:
145
147 bool m_savingsPlansTypeHasBeenSet = false;
148
149 TermInYears m_termInYears{TermInYears::NOT_SET};
150 bool m_termInYearsHasBeenSet = false;
151
152 PaymentOption m_paymentOption{PaymentOption::NOT_SET};
153 bool m_paymentOptionHasBeenSet = false;
154
155 AccountScope m_accountScope{AccountScope::NOT_SET};
156 bool m_accountScopeHasBeenSet = false;
157
158 Aws::String m_nextPageToken;
159 bool m_nextPageTokenHasBeenSet = false;
160
161 int m_pageSize{0};
162 bool m_pageSizeHasBeenSet = false;
163
165 bool m_lookbackPeriodInDaysHasBeenSet = false;
166
167 Expression m_filter;
168 bool m_filterHasBeenSet = false;
169 };
170
171} // namespace Model
172} // namespace CostExplorer
173} // namespace Aws
AWS_COSTEXPLORER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
GetSavingsPlansPurchaseRecommendationRequest & WithSavingsPlansType(SupportedSavingsPlansType value)
GetSavingsPlansPurchaseRecommendationRequest & WithTermInYears(TermInYears value)
GetSavingsPlansPurchaseRecommendationRequest & WithAccountScope(AccountScope value)
GetSavingsPlansPurchaseRecommendationRequest & WithNextPageToken(NextPageTokenT &&value)
GetSavingsPlansPurchaseRecommendationRequest & WithLookbackPeriodInDays(LookbackPeriodInDays value)
AWS_COSTEXPLORER_API Aws::String SerializePayload() const override
GetSavingsPlansPurchaseRecommendationRequest & WithPaymentOption(PaymentOption value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String