7#include <aws/compute-optimizer-automation/ComputeOptimizerAutomation_EXPORTS.h>
8#include <aws/compute-optimizer-automation/model/OrganizationConfiguration.h>
9#include <aws/compute-optimizer-automation/model/RecommendedActionType.h>
10#include <aws/compute-optimizer-automation/model/RuleStatus.h>
11#include <aws/compute-optimizer-automation/model/RuleType.h>
12#include <aws/compute-optimizer-automation/model/Schedule.h>
13#include <aws/core/utils/DateTime.h>
14#include <aws/core/utils/memory/stl/AWSString.h>
15#include <aws/core/utils/memory/stl/AWSVector.h>
26namespace ComputeOptimizerAutomation {
48 template <
typename RuleArnT = Aws::String>
50 m_ruleArnHasBeenSet =
true;
51 m_ruleArn = std::forward<RuleArnT>(value);
53 template <
typename RuleArnT = Aws::String>
66 template <
typename RuleIdT = Aws::String>
68 m_ruleIdHasBeenSet =
true;
69 m_ruleId = std::forward<RuleIdT>(value);
71 template <
typename RuleIdT = Aws::String>
84 template <
typename NameT = Aws::String>
86 m_nameHasBeenSet =
true;
87 m_name = std::forward<NameT>(value);
89 template <
typename NameT = Aws::String>
91 SetName(std::forward<NameT>(value));
102 template <
typename DescriptionT = Aws::String>
104 m_descriptionHasBeenSet =
true;
105 m_description = std::forward<DescriptionT>(value);
107 template <
typename DescriptionT = Aws::String>
121 m_ruleTypeHasBeenSet =
true;
137 m_ruleRevisionHasBeenSet =
true;
138 m_ruleRevision = value;
153 template <
typename AccountIdT = Aws::String>
155 m_accountIdHasBeenSet =
true;
156 m_accountId = std::forward<AccountIdT>(value);
158 template <
typename AccountIdT = Aws::String>
171 template <
typename OrganizationConfigurationT = OrganizationConfiguration>
173 m_organizationConfigurationHasBeenSet =
true;
174 m_organizationConfiguration = std::forward<OrganizationConfigurationT>(value);
176 template <
typename OrganizationConfigurationT = OrganizationConfiguration>
193 template <
typename PriorityT = Aws::String>
195 m_priorityHasBeenSet =
true;
196 m_priority = std::forward<PriorityT>(value);
198 template <
typename PriorityT = Aws::String>
211 template <
typename RecommendedActionTypesT = Aws::Vector<RecommendedActionType>>
213 m_recommendedActionTypesHasBeenSet =
true;
214 m_recommendedActionTypes = std::forward<RecommendedActionTypesT>(value);
216 template <
typename RecommendedActionTypesT = Aws::Vector<RecommendedActionType>>
222 m_recommendedActionTypesHasBeenSet =
true;
223 m_recommendedActionTypes.push_back(value);
234 template <
typename ScheduleT = Schedule>
236 m_scheduleHasBeenSet =
true;
237 m_schedule = std::forward<ScheduleT>(value);
239 template <
typename ScheduleT = Schedule>
253 m_statusHasBeenSet =
true;
268 template <
typename CreatedTimestampT = Aws::Utils::DateTime>
270 m_createdTimestampHasBeenSet =
true;
271 m_createdTimestamp = std::forward<CreatedTimestampT>(value);
273 template <
typename CreatedTimestampT = Aws::Utils::DateTime>
286 template <
typename LastUpdatedTimestampT = Aws::Utils::DateTime>
288 m_lastUpdatedTimestampHasBeenSet =
true;
289 m_lastUpdatedTimestamp = std::forward<LastUpdatedTimestampT>(value);
291 template <
typename LastUpdatedTimestampT = Aws::Utils::DateTime>
308 long long m_ruleRevision{0};
312 OrganizationConfiguration m_organizationConfiguration;
325 bool m_ruleArnHasBeenSet =
false;
326 bool m_ruleIdHasBeenSet =
false;
327 bool m_nameHasBeenSet =
false;
328 bool m_descriptionHasBeenSet =
false;
329 bool m_ruleTypeHasBeenSet =
false;
330 bool m_ruleRevisionHasBeenSet =
false;
331 bool m_accountIdHasBeenSet =
false;
332 bool m_organizationConfigurationHasBeenSet =
false;
333 bool m_priorityHasBeenSet =
false;
334 bool m_recommendedActionTypesHasBeenSet =
false;
335 bool m_scheduleHasBeenSet =
false;
336 bool m_statusHasBeenSet =
false;
337 bool m_createdTimestampHasBeenSet =
false;
338 bool m_lastUpdatedTimestampHasBeenSet =
false;
AutomationRule & WithRuleType(RuleType value)
const OrganizationConfiguration & GetOrganizationConfiguration() const
AutomationRule & WithDescription(DescriptionT &&value)
void SetRuleRevision(long long value)
void SetRuleId(RuleIdT &&value)
bool OrganizationConfigurationHasBeenSet() const
const Aws::String & GetAccountId() const
void SetDescription(DescriptionT &&value)
bool CreatedTimestampHasBeenSet() const
void SetRuleArn(RuleArnT &&value)
AutomationRule & AddRecommendedActionTypes(RecommendedActionType value)
AutomationRule & WithOrganizationConfiguration(OrganizationConfigurationT &&value)
AWS_COMPUTEOPTIMIZERAUTOMATION_API AutomationRule(Aws::Utils::Json::JsonView jsonValue)
AWS_COMPUTEOPTIMIZERAUTOMATION_API AutomationRule & operator=(Aws::Utils::Json::JsonView jsonValue)
bool NameHasBeenSet() const
AutomationRule & WithName(NameT &&value)
RuleType GetRuleType() const
bool ScheduleHasBeenSet() const
AutomationRule & WithPriority(PriorityT &&value)
void SetRuleType(RuleType value)
bool RecommendedActionTypesHasBeenSet() const
bool DescriptionHasBeenSet() const
bool AccountIdHasBeenSet() const
const Aws::String & GetDescription() const
void SetPriority(PriorityT &&value)
AutomationRule & WithRuleArn(RuleArnT &&value)
AutomationRule & WithAccountId(AccountIdT &&value)
bool RuleRevisionHasBeenSet() const
bool StatusHasBeenSet() const
bool RuleIdHasBeenSet() const
const Aws::String & GetRuleId() const
void SetRecommendedActionTypes(RecommendedActionTypesT &&value)
const Schedule & GetSchedule() const
AWS_COMPUTEOPTIMIZERAUTOMATION_API Aws::Utils::Json::JsonValue Jsonize() const
AutomationRule & WithRuleId(RuleIdT &&value)
AWS_COMPUTEOPTIMIZERAUTOMATION_API AutomationRule()=default
bool RuleArnHasBeenSet() const
bool RuleTypeHasBeenSet() const
void SetSchedule(ScheduleT &&value)
void SetAccountId(AccountIdT &&value)
bool PriorityHasBeenSet() const
AutomationRule & WithStatus(RuleStatus value)
void SetLastUpdatedTimestamp(LastUpdatedTimestampT &&value)
const Aws::String & GetName() const
AutomationRule & WithRuleRevision(long long value)
const Aws::Vector< RecommendedActionType > & GetRecommendedActionTypes() const
void SetStatus(RuleStatus value)
void SetName(NameT &&value)
AutomationRule & WithSchedule(ScheduleT &&value)
void SetCreatedTimestamp(CreatedTimestampT &&value)
const Aws::Utils::DateTime & GetCreatedTimestamp() const
const Aws::String & GetRuleArn() const
bool LastUpdatedTimestampHasBeenSet() const
long long GetRuleRevision() const
RuleStatus GetStatus() const
const Aws::Utils::DateTime & GetLastUpdatedTimestamp() const
AutomationRule & WithCreatedTimestamp(CreatedTimestampT &&value)
const Aws::String & GetPriority() const
AutomationRule & WithRecommendedActionTypes(RecommendedActionTypesT &&value)
void SetOrganizationConfiguration(OrganizationConfigurationT &&value)
AutomationRule & WithLastUpdatedTimestamp(LastUpdatedTimestampT &&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