AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
GetEC2InstanceRecommendationsRequest.h
1
6#pragma once
7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/compute-optimizer/ComputeOptimizerRequest.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/compute-optimizer/model/RecommendationPreferences.h>
12#include <aws/compute-optimizer/model/Filter.h>
13#include <utility>
14
15namespace Aws
16{
17namespace ComputeOptimizer
18{
19namespace Model
20{
21
25 {
26 public:
27 AWS_COMPUTEOPTIMIZER_API GetEC2InstanceRecommendationsRequest() = default;
28
29 // Service request name is the Operation name which will send this request out,
30 // each operation should has unique request name, so that we can get operation's name from this request.
31 // Note: this is not true for response, multiple operations may have the same response name,
32 // so we can not get operation's name from response.
33 inline virtual const char* GetServiceRequestName() const override { return "GetEC2InstanceRecommendations"; }
34
35 AWS_COMPUTEOPTIMIZER_API Aws::String SerializePayload() const override;
36
37 AWS_COMPUTEOPTIMIZER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
38
39
41
45 inline const Aws::Vector<Aws::String>& GetInstanceArns() const { return m_instanceArns; }
46 inline bool InstanceArnsHasBeenSet() const { return m_instanceArnsHasBeenSet; }
47 template<typename InstanceArnsT = Aws::Vector<Aws::String>>
48 void SetInstanceArns(InstanceArnsT&& value) { m_instanceArnsHasBeenSet = true; m_instanceArns = std::forward<InstanceArnsT>(value); }
49 template<typename InstanceArnsT = Aws::Vector<Aws::String>>
50 GetEC2InstanceRecommendationsRequest& WithInstanceArns(InstanceArnsT&& value) { SetInstanceArns(std::forward<InstanceArnsT>(value)); return *this;}
51 template<typename InstanceArnsT = Aws::String>
52 GetEC2InstanceRecommendationsRequest& AddInstanceArns(InstanceArnsT&& value) { m_instanceArnsHasBeenSet = true; m_instanceArns.emplace_back(std::forward<InstanceArnsT>(value)); return *this; }
54
56
59 inline const Aws::String& GetNextToken() const { return m_nextToken; }
60 inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
61 template<typename NextTokenT = Aws::String>
62 void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward<NextTokenT>(value); }
63 template<typename NextTokenT = Aws::String>
64 GetEC2InstanceRecommendationsRequest& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward<NextTokenT>(value)); return *this;}
66
68
73 inline int GetMaxResults() const { return m_maxResults; }
74 inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
75 inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
76 inline GetEC2InstanceRecommendationsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
78
80
84 inline const Aws::Vector<Filter>& GetFilters() const { return m_filters; }
85 inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; }
86 template<typename FiltersT = Aws::Vector<Filter>>
87 void SetFilters(FiltersT&& value) { m_filtersHasBeenSet = true; m_filters = std::forward<FiltersT>(value); }
88 template<typename FiltersT = Aws::Vector<Filter>>
89 GetEC2InstanceRecommendationsRequest& WithFilters(FiltersT&& value) { SetFilters(std::forward<FiltersT>(value)); return *this;}
90 template<typename FiltersT = Filter>
91 GetEC2InstanceRecommendationsRequest& AddFilters(FiltersT&& value) { m_filtersHasBeenSet = true; m_filters.emplace_back(std::forward<FiltersT>(value)); return *this; }
93
95
102 inline const Aws::Vector<Aws::String>& GetAccountIds() const { return m_accountIds; }
103 inline bool AccountIdsHasBeenSet() const { return m_accountIdsHasBeenSet; }
104 template<typename AccountIdsT = Aws::Vector<Aws::String>>
105 void SetAccountIds(AccountIdsT&& value) { m_accountIdsHasBeenSet = true; m_accountIds = std::forward<AccountIdsT>(value); }
106 template<typename AccountIdsT = Aws::Vector<Aws::String>>
107 GetEC2InstanceRecommendationsRequest& WithAccountIds(AccountIdsT&& value) { SetAccountIds(std::forward<AccountIdsT>(value)); return *this;}
108 template<typename AccountIdsT = Aws::String>
109 GetEC2InstanceRecommendationsRequest& AddAccountIds(AccountIdsT&& value) { m_accountIdsHasBeenSet = true; m_accountIds.emplace_back(std::forward<AccountIdsT>(value)); return *this; }
111
113
117 inline const RecommendationPreferences& GetRecommendationPreferences() const { return m_recommendationPreferences; }
118 inline bool RecommendationPreferencesHasBeenSet() const { return m_recommendationPreferencesHasBeenSet; }
119 template<typename RecommendationPreferencesT = RecommendationPreferences>
120 void SetRecommendationPreferences(RecommendationPreferencesT&& value) { m_recommendationPreferencesHasBeenSet = true; m_recommendationPreferences = std::forward<RecommendationPreferencesT>(value); }
121 template<typename RecommendationPreferencesT = RecommendationPreferences>
122 GetEC2InstanceRecommendationsRequest& WithRecommendationPreferences(RecommendationPreferencesT&& value) { SetRecommendationPreferences(std::forward<RecommendationPreferencesT>(value)); return *this;}
124 private:
125
126 Aws::Vector<Aws::String> m_instanceArns;
127 bool m_instanceArnsHasBeenSet = false;
128
129 Aws::String m_nextToken;
130 bool m_nextTokenHasBeenSet = false;
131
132 int m_maxResults{0};
133 bool m_maxResultsHasBeenSet = false;
134
135 Aws::Vector<Filter> m_filters;
136 bool m_filtersHasBeenSet = false;
137
138 Aws::Vector<Aws::String> m_accountIds;
139 bool m_accountIdsHasBeenSet = false;
140
141 RecommendationPreferences m_recommendationPreferences;
142 bool m_recommendationPreferencesHasBeenSet = false;
143 };
144
145} // namespace Model
146} // namespace ComputeOptimizer
147} // namespace Aws
GetEC2InstanceRecommendationsRequest & AddInstanceArns(InstanceArnsT &&value)
AWS_COMPUTEOPTIMIZER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
AWS_COMPUTEOPTIMIZER_API GetEC2InstanceRecommendationsRequest()=default
AWS_COMPUTEOPTIMIZER_API Aws::String SerializePayload() const override
GetEC2InstanceRecommendationsRequest & WithAccountIds(AccountIdsT &&value)
GetEC2InstanceRecommendationsRequest & AddAccountIds(AccountIdsT &&value)
GetEC2InstanceRecommendationsRequest & WithInstanceArns(InstanceArnsT &&value)
GetEC2InstanceRecommendationsRequest & WithNextToken(NextTokenT &&value)
GetEC2InstanceRecommendationsRequest & WithRecommendationPreferences(RecommendationPreferencesT &&value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector