7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/ec2/model/AnalysisComponent.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ec2/model/RuleOption.h>
13#include <aws/ec2/model/RuleGroupTypePair.h>
14#include <aws/ec2/model/RuleGroupRuleOptionsPair.h>
56 template<
typename AdditionalDetailTypeT = Aws::String>
57 void SetAdditionalDetailType(AdditionalDetailTypeT&& value) { m_additionalDetailTypeHasBeenSet =
true; m_additionalDetailType = std::forward<AdditionalDetailTypeT>(value); }
58 template<
typename AdditionalDetailTypeT = Aws::String>
68 template<
typename ComponentT = AnalysisComponent>
69 void SetComponent(ComponentT&& value) { m_componentHasBeenSet =
true; m_component = std::forward<ComponentT>(value); }
70 template<
typename ComponentT = AnalysisComponent>
80 template<
typename VpcEndpo
intServiceT = AnalysisComponent>
81 void SetVpcEndpointService(VpcEndpointServiceT&& value) { m_vpcEndpointServiceHasBeenSet =
true; m_vpcEndpointService = std::forward<VpcEndpointServiceT>(value); }
82 template<
typename VpcEndpo
intServiceT = AnalysisComponent>
92 template<
typename RuleOptionsT = Aws::Vector<RuleOption>>
93 void SetRuleOptions(RuleOptionsT&& value) { m_ruleOptionsHasBeenSet =
true; m_ruleOptions = std::forward<RuleOptionsT>(value); }
94 template<
typename RuleOptionsT = Aws::Vector<RuleOption>>
96 template<
typename RuleOptionsT = RuleOption>
97 AdditionalDetail&
AddRuleOptions(RuleOptionsT&& value) { m_ruleOptionsHasBeenSet =
true; m_ruleOptions.emplace_back(std::forward<RuleOptionsT>(value));
return *
this; }
106 template<
typename RuleGroupTypePairsT = Aws::Vector<RuleGroupTypePair>>
107 void SetRuleGroupTypePairs(RuleGroupTypePairsT&& value) { m_ruleGroupTypePairsHasBeenSet =
true; m_ruleGroupTypePairs = std::forward<RuleGroupTypePairsT>(value); }
108 template<
typename RuleGroupTypePairsT = Aws::Vector<RuleGroupTypePair>>
110 template<
typename RuleGroupTypePairsT = RuleGroupTypePair>
111 AdditionalDetail&
AddRuleGroupTypePairs(RuleGroupTypePairsT&& value) { m_ruleGroupTypePairsHasBeenSet =
true; m_ruleGroupTypePairs.emplace_back(std::forward<RuleGroupTypePairsT>(value));
return *
this; }
120 template<
typename RuleGroupRuleOptionsPairsT = Aws::Vector<RuleGroupRuleOptionsPair>>
121 void SetRuleGroupRuleOptionsPairs(RuleGroupRuleOptionsPairsT&& value) { m_ruleGroupRuleOptionsPairsHasBeenSet =
true; m_ruleGroupRuleOptionsPairs = std::forward<RuleGroupRuleOptionsPairsT>(value); }
122 template<
typename RuleGroupRuleOptionsPairsT = Aws::Vector<RuleGroupRuleOptionsPair>>
124 template<
typename RuleGroupRuleOptionsPairsT = RuleGroupRuleOptionsPair>
125 AdditionalDetail&
AddRuleGroupRuleOptionsPairs(RuleGroupRuleOptionsPairsT&& value) { m_ruleGroupRuleOptionsPairsHasBeenSet =
true; m_ruleGroupRuleOptionsPairs.emplace_back(std::forward<RuleGroupRuleOptionsPairsT>(value));
return *
this; }
134 template<
typename ServiceNameT = Aws::String>
135 void SetServiceName(ServiceNameT&& value) { m_serviceNameHasBeenSet =
true; m_serviceName = std::forward<ServiceNameT>(value); }
136 template<
typename ServiceNameT = Aws::String>
146 template<
typename LoadBalancersT = Aws::Vector<AnalysisComponent>>
147 void SetLoadBalancers(LoadBalancersT&& value) { m_loadBalancersHasBeenSet =
true; m_loadBalancers = std::forward<LoadBalancersT>(value); }
148 template<
typename LoadBalancersT = Aws::Vector<AnalysisComponent>>
150 template<
typename LoadBalancersT = AnalysisComponent>
151 AdditionalDetail&
AddLoadBalancers(LoadBalancersT&& value) { m_loadBalancersHasBeenSet =
true; m_loadBalancers.emplace_back(std::forward<LoadBalancersT>(value));
return *
this; }
156 bool m_additionalDetailTypeHasBeenSet =
false;
159 bool m_componentHasBeenSet =
false;
162 bool m_vpcEndpointServiceHasBeenSet =
false;
165 bool m_ruleOptionsHasBeenSet =
false;
168 bool m_ruleGroupTypePairsHasBeenSet =
false;
171 bool m_ruleGroupRuleOptionsPairsHasBeenSet =
false;
174 bool m_serviceNameHasBeenSet =
false;
177 bool m_loadBalancersHasBeenSet =
false;
AdditionalDetail & WithLoadBalancers(LoadBalancersT &&value)
AWS_EC2_API AdditionalDetail()=default
AWS_EC2_API AdditionalDetail & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AdditionalDetail & WithServiceName(ServiceNameT &&value)
const AnalysisComponent & GetVpcEndpointService() const
void SetRuleGroupRuleOptionsPairs(RuleGroupRuleOptionsPairsT &&value)
AdditionalDetail & WithComponent(ComponentT &&value)
AdditionalDetail & WithRuleOptions(RuleOptionsT &&value)
AdditionalDetail & WithRuleGroupTypePairs(RuleGroupTypePairsT &&value)
bool AdditionalDetailTypeHasBeenSet() const
AdditionalDetail & WithRuleGroupRuleOptionsPairs(RuleGroupRuleOptionsPairsT &&value)
void SetRuleOptions(RuleOptionsT &&value)
AdditionalDetail & WithAdditionalDetailType(AdditionalDetailTypeT &&value)
bool RuleGroupTypePairsHasBeenSet() const
const Aws::String & GetServiceName() const
void SetComponent(ComponentT &&value)
AdditionalDetail & AddRuleGroupRuleOptionsPairs(RuleGroupRuleOptionsPairsT &&value)
AdditionalDetail & AddLoadBalancers(LoadBalancersT &&value)
bool ServiceNameHasBeenSet() const
void SetLoadBalancers(LoadBalancersT &&value)
const AnalysisComponent & GetComponent() const
void SetVpcEndpointService(VpcEndpointServiceT &&value)
const Aws::Vector< RuleGroupRuleOptionsPair > & GetRuleGroupRuleOptionsPairs() const
bool LoadBalancersHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetServiceName(ServiceNameT &&value)
AdditionalDetail & WithVpcEndpointService(VpcEndpointServiceT &&value)
bool VpcEndpointServiceHasBeenSet() const
AWS_EC2_API AdditionalDetail(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool ComponentHasBeenSet() const
void SetAdditionalDetailType(AdditionalDetailTypeT &&value)
const Aws::String & GetAdditionalDetailType() const
const Aws::Vector< RuleOption > & GetRuleOptions() const
AdditionalDetail & AddRuleGroupTypePairs(RuleGroupTypePairsT &&value)
void SetRuleGroupTypePairs(RuleGroupTypePairsT &&value)
bool RuleGroupRuleOptionsPairsHasBeenSet() const
bool RuleOptionsHasBeenSet() const
AdditionalDetail & AddRuleOptions(RuleOptionsT &&value)
const Aws::Vector< AnalysisComponent > & GetLoadBalancers() const
const Aws::Vector< RuleGroupTypePair > & GetRuleGroupTypePairs() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream