AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
AdditionalDetail.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/AnalysisComponent.h>
12#include <aws/ec2/model/RuleGroupRuleOptionsPair.h>
13#include <aws/ec2/model/RuleGroupTypePair.h>
14#include <aws/ec2/model/RuleOption.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Xml {
21class XmlNode;
22} // namespace Xml
23} // namespace Utils
24namespace EC2 {
25namespace Model {
26
36 public:
37 AWS_EC2_API AdditionalDetail() = default;
38 AWS_EC2_API AdditionalDetail(const Aws::Utils::Xml::XmlNode& xmlNode);
40
41 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
42 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
43
45
48 inline const Aws::String& GetAdditionalDetailType() const { return m_additionalDetailType; }
49 inline bool AdditionalDetailTypeHasBeenSet() const { return m_additionalDetailTypeHasBeenSet; }
50 template <typename AdditionalDetailTypeT = Aws::String>
51 void SetAdditionalDetailType(AdditionalDetailTypeT&& value) {
52 m_additionalDetailTypeHasBeenSet = true;
53 m_additionalDetailType = std::forward<AdditionalDetailTypeT>(value);
54 }
55 template <typename AdditionalDetailTypeT = Aws::String>
56 AdditionalDetail& WithAdditionalDetailType(AdditionalDetailTypeT&& value) {
57 SetAdditionalDetailType(std::forward<AdditionalDetailTypeT>(value));
58 return *this;
59 }
61
63
66 inline const AnalysisComponent& GetComponent() const { return m_component; }
67 inline bool ComponentHasBeenSet() const { return m_componentHasBeenSet; }
68 template <typename ComponentT = AnalysisComponent>
69 void SetComponent(ComponentT&& value) {
70 m_componentHasBeenSet = true;
71 m_component = std::forward<ComponentT>(value);
72 }
73 template <typename ComponentT = AnalysisComponent>
74 AdditionalDetail& WithComponent(ComponentT&& value) {
75 SetComponent(std::forward<ComponentT>(value));
76 return *this;
77 }
79
81
84 inline const AnalysisComponent& GetVpcEndpointService() const { return m_vpcEndpointService; }
85 inline bool VpcEndpointServiceHasBeenSet() const { return m_vpcEndpointServiceHasBeenSet; }
86 template <typename VpcEndpointServiceT = AnalysisComponent>
87 void SetVpcEndpointService(VpcEndpointServiceT&& value) {
88 m_vpcEndpointServiceHasBeenSet = true;
89 m_vpcEndpointService = std::forward<VpcEndpointServiceT>(value);
90 }
91 template <typename VpcEndpointServiceT = AnalysisComponent>
92 AdditionalDetail& WithVpcEndpointService(VpcEndpointServiceT&& value) {
93 SetVpcEndpointService(std::forward<VpcEndpointServiceT>(value));
94 return *this;
95 }
97
99
102 inline const Aws::Vector<RuleOption>& GetRuleOptions() const { return m_ruleOptions; }
103 inline bool RuleOptionsHasBeenSet() const { return m_ruleOptionsHasBeenSet; }
104 template <typename RuleOptionsT = Aws::Vector<RuleOption>>
105 void SetRuleOptions(RuleOptionsT&& value) {
106 m_ruleOptionsHasBeenSet = true;
107 m_ruleOptions = std::forward<RuleOptionsT>(value);
108 }
109 template <typename RuleOptionsT = Aws::Vector<RuleOption>>
110 AdditionalDetail& WithRuleOptions(RuleOptionsT&& value) {
111 SetRuleOptions(std::forward<RuleOptionsT>(value));
112 return *this;
113 }
114 template <typename RuleOptionsT = RuleOption>
115 AdditionalDetail& AddRuleOptions(RuleOptionsT&& value) {
116 m_ruleOptionsHasBeenSet = true;
117 m_ruleOptions.emplace_back(std::forward<RuleOptionsT>(value));
118 return *this;
119 }
121
123
126 inline const Aws::Vector<RuleGroupTypePair>& GetRuleGroupTypePairs() const { return m_ruleGroupTypePairs; }
127 inline bool RuleGroupTypePairsHasBeenSet() const { return m_ruleGroupTypePairsHasBeenSet; }
128 template <typename RuleGroupTypePairsT = Aws::Vector<RuleGroupTypePair>>
129 void SetRuleGroupTypePairs(RuleGroupTypePairsT&& value) {
130 m_ruleGroupTypePairsHasBeenSet = true;
131 m_ruleGroupTypePairs = std::forward<RuleGroupTypePairsT>(value);
132 }
133 template <typename RuleGroupTypePairsT = Aws::Vector<RuleGroupTypePair>>
134 AdditionalDetail& WithRuleGroupTypePairs(RuleGroupTypePairsT&& value) {
135 SetRuleGroupTypePairs(std::forward<RuleGroupTypePairsT>(value));
136 return *this;
137 }
138 template <typename RuleGroupTypePairsT = RuleGroupTypePair>
139 AdditionalDetail& AddRuleGroupTypePairs(RuleGroupTypePairsT&& value) {
140 m_ruleGroupTypePairsHasBeenSet = true;
141 m_ruleGroupTypePairs.emplace_back(std::forward<RuleGroupTypePairsT>(value));
142 return *this;
143 }
145
147
150 inline const Aws::Vector<RuleGroupRuleOptionsPair>& GetRuleGroupRuleOptionsPairs() const { return m_ruleGroupRuleOptionsPairs; }
151 inline bool RuleGroupRuleOptionsPairsHasBeenSet() const { return m_ruleGroupRuleOptionsPairsHasBeenSet; }
152 template <typename RuleGroupRuleOptionsPairsT = Aws::Vector<RuleGroupRuleOptionsPair>>
153 void SetRuleGroupRuleOptionsPairs(RuleGroupRuleOptionsPairsT&& value) {
154 m_ruleGroupRuleOptionsPairsHasBeenSet = true;
155 m_ruleGroupRuleOptionsPairs = std::forward<RuleGroupRuleOptionsPairsT>(value);
156 }
157 template <typename RuleGroupRuleOptionsPairsT = Aws::Vector<RuleGroupRuleOptionsPair>>
158 AdditionalDetail& WithRuleGroupRuleOptionsPairs(RuleGroupRuleOptionsPairsT&& value) {
159 SetRuleGroupRuleOptionsPairs(std::forward<RuleGroupRuleOptionsPairsT>(value));
160 return *this;
161 }
162 template <typename RuleGroupRuleOptionsPairsT = RuleGroupRuleOptionsPair>
163 AdditionalDetail& AddRuleGroupRuleOptionsPairs(RuleGroupRuleOptionsPairsT&& value) {
164 m_ruleGroupRuleOptionsPairsHasBeenSet = true;
165 m_ruleGroupRuleOptionsPairs.emplace_back(std::forward<RuleGroupRuleOptionsPairsT>(value));
166 return *this;
167 }
169
171
174 inline const Aws::String& GetServiceName() const { return m_serviceName; }
175 inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; }
176 template <typename ServiceNameT = Aws::String>
177 void SetServiceName(ServiceNameT&& value) {
178 m_serviceNameHasBeenSet = true;
179 m_serviceName = std::forward<ServiceNameT>(value);
180 }
181 template <typename ServiceNameT = Aws::String>
182 AdditionalDetail& WithServiceName(ServiceNameT&& value) {
183 SetServiceName(std::forward<ServiceNameT>(value));
184 return *this;
185 }
187
189
192 inline const Aws::Vector<AnalysisComponent>& GetLoadBalancers() const { return m_loadBalancers; }
193 inline bool LoadBalancersHasBeenSet() const { return m_loadBalancersHasBeenSet; }
194 template <typename LoadBalancersT = Aws::Vector<AnalysisComponent>>
195 void SetLoadBalancers(LoadBalancersT&& value) {
196 m_loadBalancersHasBeenSet = true;
197 m_loadBalancers = std::forward<LoadBalancersT>(value);
198 }
199 template <typename LoadBalancersT = Aws::Vector<AnalysisComponent>>
200 AdditionalDetail& WithLoadBalancers(LoadBalancersT&& value) {
201 SetLoadBalancers(std::forward<LoadBalancersT>(value));
202 return *this;
203 }
204 template <typename LoadBalancersT = AnalysisComponent>
205 AdditionalDetail& AddLoadBalancers(LoadBalancersT&& value) {
206 m_loadBalancersHasBeenSet = true;
207 m_loadBalancers.emplace_back(std::forward<LoadBalancersT>(value));
208 return *this;
209 }
211 private:
212 Aws::String m_additionalDetailType;
213
214 AnalysisComponent m_component;
215
216 AnalysisComponent m_vpcEndpointService;
217
218 Aws::Vector<RuleOption> m_ruleOptions;
219
220 Aws::Vector<RuleGroupTypePair> m_ruleGroupTypePairs;
221
222 Aws::Vector<RuleGroupRuleOptionsPair> m_ruleGroupRuleOptionsPairs;
223
224 Aws::String m_serviceName;
225
226 Aws::Vector<AnalysisComponent> m_loadBalancers;
227 bool m_additionalDetailTypeHasBeenSet = false;
228 bool m_componentHasBeenSet = false;
229 bool m_vpcEndpointServiceHasBeenSet = false;
230 bool m_ruleOptionsHasBeenSet = false;
231 bool m_ruleGroupTypePairsHasBeenSet = false;
232 bool m_ruleGroupRuleOptionsPairsHasBeenSet = false;
233 bool m_serviceNameHasBeenSet = false;
234 bool m_loadBalancersHasBeenSet = false;
235};
236
237} // namespace Model
238} // namespace EC2
239} // namespace Aws
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)
AdditionalDetail & WithRuleGroupRuleOptionsPairs(RuleGroupRuleOptionsPairsT &&value)
void SetRuleOptions(RuleOptionsT &&value)
AdditionalDetail & WithAdditionalDetailType(AdditionalDetailTypeT &&value)
const Aws::String & GetServiceName() const
void SetComponent(ComponentT &&value)
AdditionalDetail & AddRuleGroupRuleOptionsPairs(RuleGroupRuleOptionsPairsT &&value)
AdditionalDetail & AddLoadBalancers(LoadBalancersT &&value)
void SetLoadBalancers(LoadBalancersT &&value)
const AnalysisComponent & GetComponent() const
void SetVpcEndpointService(VpcEndpointServiceT &&value)
const Aws::Vector< RuleGroupRuleOptionsPair > & GetRuleGroupRuleOptionsPairs() 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)
AWS_EC2_API AdditionalDetail(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetAdditionalDetailType(AdditionalDetailTypeT &&value)
const Aws::String & GetAdditionalDetailType() const
const Aws::Vector< RuleOption > & GetRuleOptions() const
AdditionalDetail & AddRuleGroupTypePairs(RuleGroupTypePairsT &&value)
void SetRuleGroupTypePairs(RuleGroupTypePairsT &&value)
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