AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
PathComponent.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/AdditionalDetail.h>
12#include <aws/ec2/model/AnalysisAclRule.h>
13#include <aws/ec2/model/AnalysisComponent.h>
14#include <aws/ec2/model/AnalysisPacketHeader.h>
15#include <aws/ec2/model/AnalysisRouteTableRoute.h>
16#include <aws/ec2/model/AnalysisSecurityGroupRule.h>
17#include <aws/ec2/model/Explanation.h>
18#include <aws/ec2/model/FirewallStatefulRule.h>
19#include <aws/ec2/model/FirewallStatelessRule.h>
20#include <aws/ec2/model/TransitGatewayRouteTableRoute.h>
21
22#include <utility>
23
24namespace Aws {
25namespace Utils {
26namespace Xml {
27class XmlNode;
28} // namespace Xml
29} // namespace Utils
30namespace EC2 {
31namespace Model {
32
39 public:
40 AWS_EC2_API PathComponent() = default;
41 AWS_EC2_API PathComponent(const Aws::Utils::Xml::XmlNode& xmlNode);
42 AWS_EC2_API PathComponent& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
43
44 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
45 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
46
48
51 inline int GetSequenceNumber() const { return m_sequenceNumber; }
52 inline bool SequenceNumberHasBeenSet() const { return m_sequenceNumberHasBeenSet; }
53 inline void SetSequenceNumber(int value) {
54 m_sequenceNumberHasBeenSet = true;
55 m_sequenceNumber = value;
56 }
57 inline PathComponent& WithSequenceNumber(int value) {
58 SetSequenceNumber(value);
59 return *this;
60 }
62
64
67 inline const AnalysisAclRule& GetAclRule() const { return m_aclRule; }
68 inline bool AclRuleHasBeenSet() const { return m_aclRuleHasBeenSet; }
69 template <typename AclRuleT = AnalysisAclRule>
70 void SetAclRule(AclRuleT&& value) {
71 m_aclRuleHasBeenSet = true;
72 m_aclRule = std::forward<AclRuleT>(value);
73 }
74 template <typename AclRuleT = AnalysisAclRule>
75 PathComponent& WithAclRule(AclRuleT&& value) {
76 SetAclRule(std::forward<AclRuleT>(value));
77 return *this;
78 }
80
82
85 inline const AnalysisComponent& GetAttachedTo() const { return m_attachedTo; }
86 inline bool AttachedToHasBeenSet() const { return m_attachedToHasBeenSet; }
87 template <typename AttachedToT = AnalysisComponent>
88 void SetAttachedTo(AttachedToT&& value) {
89 m_attachedToHasBeenSet = true;
90 m_attachedTo = std::forward<AttachedToT>(value);
91 }
92 template <typename AttachedToT = AnalysisComponent>
93 PathComponent& WithAttachedTo(AttachedToT&& value) {
94 SetAttachedTo(std::forward<AttachedToT>(value));
95 return *this;
96 }
98
100
103 inline const AnalysisComponent& GetComponent() const { return m_component; }
104 inline bool ComponentHasBeenSet() const { return m_componentHasBeenSet; }
105 template <typename ComponentT = AnalysisComponent>
106 void SetComponent(ComponentT&& value) {
107 m_componentHasBeenSet = true;
108 m_component = std::forward<ComponentT>(value);
109 }
110 template <typename ComponentT = AnalysisComponent>
111 PathComponent& WithComponent(ComponentT&& value) {
112 SetComponent(std::forward<ComponentT>(value));
113 return *this;
114 }
116
118
121 inline const AnalysisComponent& GetDestinationVpc() const { return m_destinationVpc; }
122 inline bool DestinationVpcHasBeenSet() const { return m_destinationVpcHasBeenSet; }
123 template <typename DestinationVpcT = AnalysisComponent>
124 void SetDestinationVpc(DestinationVpcT&& value) {
125 m_destinationVpcHasBeenSet = true;
126 m_destinationVpc = std::forward<DestinationVpcT>(value);
127 }
128 template <typename DestinationVpcT = AnalysisComponent>
129 PathComponent& WithDestinationVpc(DestinationVpcT&& value) {
130 SetDestinationVpc(std::forward<DestinationVpcT>(value));
131 return *this;
132 }
134
136
139 inline const AnalysisPacketHeader& GetOutboundHeader() const { return m_outboundHeader; }
140 inline bool OutboundHeaderHasBeenSet() const { return m_outboundHeaderHasBeenSet; }
141 template <typename OutboundHeaderT = AnalysisPacketHeader>
142 void SetOutboundHeader(OutboundHeaderT&& value) {
143 m_outboundHeaderHasBeenSet = true;
144 m_outboundHeader = std::forward<OutboundHeaderT>(value);
145 }
146 template <typename OutboundHeaderT = AnalysisPacketHeader>
147 PathComponent& WithOutboundHeader(OutboundHeaderT&& value) {
148 SetOutboundHeader(std::forward<OutboundHeaderT>(value));
149 return *this;
150 }
152
154
157 inline const AnalysisPacketHeader& GetInboundHeader() const { return m_inboundHeader; }
158 inline bool InboundHeaderHasBeenSet() const { return m_inboundHeaderHasBeenSet; }
159 template <typename InboundHeaderT = AnalysisPacketHeader>
160 void SetInboundHeader(InboundHeaderT&& value) {
161 m_inboundHeaderHasBeenSet = true;
162 m_inboundHeader = std::forward<InboundHeaderT>(value);
163 }
164 template <typename InboundHeaderT = AnalysisPacketHeader>
165 PathComponent& WithInboundHeader(InboundHeaderT&& value) {
166 SetInboundHeader(std::forward<InboundHeaderT>(value));
167 return *this;
168 }
170
172
175 inline const AnalysisRouteTableRoute& GetRouteTableRoute() const { return m_routeTableRoute; }
176 inline bool RouteTableRouteHasBeenSet() const { return m_routeTableRouteHasBeenSet; }
177 template <typename RouteTableRouteT = AnalysisRouteTableRoute>
178 void SetRouteTableRoute(RouteTableRouteT&& value) {
179 m_routeTableRouteHasBeenSet = true;
180 m_routeTableRoute = std::forward<RouteTableRouteT>(value);
181 }
182 template <typename RouteTableRouteT = AnalysisRouteTableRoute>
183 PathComponent& WithRouteTableRoute(RouteTableRouteT&& value) {
184 SetRouteTableRoute(std::forward<RouteTableRouteT>(value));
185 return *this;
186 }
188
190
193 inline const AnalysisSecurityGroupRule& GetSecurityGroupRule() const { return m_securityGroupRule; }
194 inline bool SecurityGroupRuleHasBeenSet() const { return m_securityGroupRuleHasBeenSet; }
195 template <typename SecurityGroupRuleT = AnalysisSecurityGroupRule>
196 void SetSecurityGroupRule(SecurityGroupRuleT&& value) {
197 m_securityGroupRuleHasBeenSet = true;
198 m_securityGroupRule = std::forward<SecurityGroupRuleT>(value);
199 }
200 template <typename SecurityGroupRuleT = AnalysisSecurityGroupRule>
201 PathComponent& WithSecurityGroupRule(SecurityGroupRuleT&& value) {
202 SetSecurityGroupRule(std::forward<SecurityGroupRuleT>(value));
203 return *this;
204 }
206
208
211 inline const AnalysisComponent& GetSourceVpc() const { return m_sourceVpc; }
212 inline bool SourceVpcHasBeenSet() const { return m_sourceVpcHasBeenSet; }
213 template <typename SourceVpcT = AnalysisComponent>
214 void SetSourceVpc(SourceVpcT&& value) {
215 m_sourceVpcHasBeenSet = true;
216 m_sourceVpc = std::forward<SourceVpcT>(value);
217 }
218 template <typename SourceVpcT = AnalysisComponent>
219 PathComponent& WithSourceVpc(SourceVpcT&& value) {
220 SetSourceVpc(std::forward<SourceVpcT>(value));
221 return *this;
222 }
224
226
229 inline const AnalysisComponent& GetSubnet() const { return m_subnet; }
230 inline bool SubnetHasBeenSet() const { return m_subnetHasBeenSet; }
231 template <typename SubnetT = AnalysisComponent>
232 void SetSubnet(SubnetT&& value) {
233 m_subnetHasBeenSet = true;
234 m_subnet = std::forward<SubnetT>(value);
235 }
236 template <typename SubnetT = AnalysisComponent>
237 PathComponent& WithSubnet(SubnetT&& value) {
238 SetSubnet(std::forward<SubnetT>(value));
239 return *this;
240 }
242
244
247 inline const AnalysisComponent& GetVpc() const { return m_vpc; }
248 inline bool VpcHasBeenSet() const { return m_vpcHasBeenSet; }
249 template <typename VpcT = AnalysisComponent>
250 void SetVpc(VpcT&& value) {
251 m_vpcHasBeenSet = true;
252 m_vpc = std::forward<VpcT>(value);
253 }
254 template <typename VpcT = AnalysisComponent>
255 PathComponent& WithVpc(VpcT&& value) {
256 SetVpc(std::forward<VpcT>(value));
257 return *this;
258 }
260
262
265 inline const Aws::Vector<AdditionalDetail>& GetAdditionalDetails() const { return m_additionalDetails; }
266 inline bool AdditionalDetailsHasBeenSet() const { return m_additionalDetailsHasBeenSet; }
267 template <typename AdditionalDetailsT = Aws::Vector<AdditionalDetail>>
268 void SetAdditionalDetails(AdditionalDetailsT&& value) {
269 m_additionalDetailsHasBeenSet = true;
270 m_additionalDetails = std::forward<AdditionalDetailsT>(value);
271 }
272 template <typename AdditionalDetailsT = Aws::Vector<AdditionalDetail>>
273 PathComponent& WithAdditionalDetails(AdditionalDetailsT&& value) {
274 SetAdditionalDetails(std::forward<AdditionalDetailsT>(value));
275 return *this;
276 }
277 template <typename AdditionalDetailsT = AdditionalDetail>
278 PathComponent& AddAdditionalDetails(AdditionalDetailsT&& value) {
279 m_additionalDetailsHasBeenSet = true;
280 m_additionalDetails.emplace_back(std::forward<AdditionalDetailsT>(value));
281 return *this;
282 }
284
286
289 inline const AnalysisComponent& GetTransitGateway() const { return m_transitGateway; }
290 inline bool TransitGatewayHasBeenSet() const { return m_transitGatewayHasBeenSet; }
291 template <typename TransitGatewayT = AnalysisComponent>
292 void SetTransitGateway(TransitGatewayT&& value) {
293 m_transitGatewayHasBeenSet = true;
294 m_transitGateway = std::forward<TransitGatewayT>(value);
295 }
296 template <typename TransitGatewayT = AnalysisComponent>
297 PathComponent& WithTransitGateway(TransitGatewayT&& value) {
298 SetTransitGateway(std::forward<TransitGatewayT>(value));
299 return *this;
300 }
302
304
307 inline const TransitGatewayRouteTableRoute& GetTransitGatewayRouteTableRoute() const { return m_transitGatewayRouteTableRoute; }
308 inline bool TransitGatewayRouteTableRouteHasBeenSet() const { return m_transitGatewayRouteTableRouteHasBeenSet; }
309 template <typename TransitGatewayRouteTableRouteT = TransitGatewayRouteTableRoute>
310 void SetTransitGatewayRouteTableRoute(TransitGatewayRouteTableRouteT&& value) {
311 m_transitGatewayRouteTableRouteHasBeenSet = true;
312 m_transitGatewayRouteTableRoute = std::forward<TransitGatewayRouteTableRouteT>(value);
313 }
314 template <typename TransitGatewayRouteTableRouteT = TransitGatewayRouteTableRoute>
315 PathComponent& WithTransitGatewayRouteTableRoute(TransitGatewayRouteTableRouteT&& value) {
316 SetTransitGatewayRouteTableRoute(std::forward<TransitGatewayRouteTableRouteT>(value));
317 return *this;
318 }
320
322
325 inline const Aws::Vector<Explanation>& GetExplanations() const { return m_explanations; }
326 inline bool ExplanationsHasBeenSet() const { return m_explanationsHasBeenSet; }
327 template <typename ExplanationsT = Aws::Vector<Explanation>>
328 void SetExplanations(ExplanationsT&& value) {
329 m_explanationsHasBeenSet = true;
330 m_explanations = std::forward<ExplanationsT>(value);
331 }
332 template <typename ExplanationsT = Aws::Vector<Explanation>>
333 PathComponent& WithExplanations(ExplanationsT&& value) {
334 SetExplanations(std::forward<ExplanationsT>(value));
335 return *this;
336 }
337 template <typename ExplanationsT = Explanation>
338 PathComponent& AddExplanations(ExplanationsT&& value) {
339 m_explanationsHasBeenSet = true;
340 m_explanations.emplace_back(std::forward<ExplanationsT>(value));
341 return *this;
342 }
344
346
349 inline const AnalysisComponent& GetElasticLoadBalancerListener() const { return m_elasticLoadBalancerListener; }
350 inline bool ElasticLoadBalancerListenerHasBeenSet() const { return m_elasticLoadBalancerListenerHasBeenSet; }
351 template <typename ElasticLoadBalancerListenerT = AnalysisComponent>
352 void SetElasticLoadBalancerListener(ElasticLoadBalancerListenerT&& value) {
353 m_elasticLoadBalancerListenerHasBeenSet = true;
354 m_elasticLoadBalancerListener = std::forward<ElasticLoadBalancerListenerT>(value);
355 }
356 template <typename ElasticLoadBalancerListenerT = AnalysisComponent>
357 PathComponent& WithElasticLoadBalancerListener(ElasticLoadBalancerListenerT&& value) {
358 SetElasticLoadBalancerListener(std::forward<ElasticLoadBalancerListenerT>(value));
359 return *this;
360 }
362
364
367 inline const FirewallStatelessRule& GetFirewallStatelessRule() const { return m_firewallStatelessRule; }
368 inline bool FirewallStatelessRuleHasBeenSet() const { return m_firewallStatelessRuleHasBeenSet; }
369 template <typename FirewallStatelessRuleT = FirewallStatelessRule>
370 void SetFirewallStatelessRule(FirewallStatelessRuleT&& value) {
371 m_firewallStatelessRuleHasBeenSet = true;
372 m_firewallStatelessRule = std::forward<FirewallStatelessRuleT>(value);
373 }
374 template <typename FirewallStatelessRuleT = FirewallStatelessRule>
375 PathComponent& WithFirewallStatelessRule(FirewallStatelessRuleT&& value) {
376 SetFirewallStatelessRule(std::forward<FirewallStatelessRuleT>(value));
377 return *this;
378 }
380
382
385 inline const FirewallStatefulRule& GetFirewallStatefulRule() const { return m_firewallStatefulRule; }
386 inline bool FirewallStatefulRuleHasBeenSet() const { return m_firewallStatefulRuleHasBeenSet; }
387 template <typename FirewallStatefulRuleT = FirewallStatefulRule>
388 void SetFirewallStatefulRule(FirewallStatefulRuleT&& value) {
389 m_firewallStatefulRuleHasBeenSet = true;
390 m_firewallStatefulRule = std::forward<FirewallStatefulRuleT>(value);
391 }
392 template <typename FirewallStatefulRuleT = FirewallStatefulRule>
393 PathComponent& WithFirewallStatefulRule(FirewallStatefulRuleT&& value) {
394 SetFirewallStatefulRule(std::forward<FirewallStatefulRuleT>(value));
395 return *this;
396 }
398
400
403 inline const Aws::String& GetServiceName() const { return m_serviceName; }
404 inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; }
405 template <typename ServiceNameT = Aws::String>
406 void SetServiceName(ServiceNameT&& value) {
407 m_serviceNameHasBeenSet = true;
408 m_serviceName = std::forward<ServiceNameT>(value);
409 }
410 template <typename ServiceNameT = Aws::String>
411 PathComponent& WithServiceName(ServiceNameT&& value) {
412 SetServiceName(std::forward<ServiceNameT>(value));
413 return *this;
414 }
416 private:
417 int m_sequenceNumber{0};
418
419 AnalysisAclRule m_aclRule;
420
421 AnalysisComponent m_attachedTo;
422
423 AnalysisComponent m_component;
424
425 AnalysisComponent m_destinationVpc;
426
427 AnalysisPacketHeader m_outboundHeader;
428
429 AnalysisPacketHeader m_inboundHeader;
430
431 AnalysisRouteTableRoute m_routeTableRoute;
432
433 AnalysisSecurityGroupRule m_securityGroupRule;
434
435 AnalysisComponent m_sourceVpc;
436
437 AnalysisComponent m_subnet;
438
439 AnalysisComponent m_vpc;
440
441 Aws::Vector<AdditionalDetail> m_additionalDetails;
442
443 AnalysisComponent m_transitGateway;
444
445 TransitGatewayRouteTableRoute m_transitGatewayRouteTableRoute;
446
447 Aws::Vector<Explanation> m_explanations;
448
449 AnalysisComponent m_elasticLoadBalancerListener;
450
451 FirewallStatelessRule m_firewallStatelessRule;
452
453 FirewallStatefulRule m_firewallStatefulRule;
454
455 Aws::String m_serviceName;
456 bool m_sequenceNumberHasBeenSet = false;
457 bool m_aclRuleHasBeenSet = false;
458 bool m_attachedToHasBeenSet = false;
459 bool m_componentHasBeenSet = false;
460 bool m_destinationVpcHasBeenSet = false;
461 bool m_outboundHeaderHasBeenSet = false;
462 bool m_inboundHeaderHasBeenSet = false;
463 bool m_routeTableRouteHasBeenSet = false;
464 bool m_securityGroupRuleHasBeenSet = false;
465 bool m_sourceVpcHasBeenSet = false;
466 bool m_subnetHasBeenSet = false;
467 bool m_vpcHasBeenSet = false;
468 bool m_additionalDetailsHasBeenSet = false;
469 bool m_transitGatewayHasBeenSet = false;
470 bool m_transitGatewayRouteTableRouteHasBeenSet = false;
471 bool m_explanationsHasBeenSet = false;
472 bool m_elasticLoadBalancerListenerHasBeenSet = false;
473 bool m_firewallStatelessRuleHasBeenSet = false;
474 bool m_firewallStatefulRuleHasBeenSet = false;
475 bool m_serviceNameHasBeenSet = false;
476};
477
478} // namespace Model
479} // namespace EC2
480} // namespace Aws
void SetTransitGateway(TransitGatewayT &&value)
void SetOutboundHeader(OutboundHeaderT &&value)
PathComponent & WithFirewallStatelessRule(FirewallStatelessRuleT &&value)
const FirewallStatelessRule & GetFirewallStatelessRule() const
PathComponent & WithComponent(ComponentT &&value)
void SetAdditionalDetails(AdditionalDetailsT &&value)
const AnalysisComponent & GetComponent() const
const AnalysisComponent & GetElasticLoadBalancerListener() const
PathComponent & WithElasticLoadBalancerListener(ElasticLoadBalancerListenerT &&value)
PathComponent & WithSequenceNumber(int value)
PathComponent & WithDestinationVpc(DestinationVpcT &&value)
void SetAclRule(AclRuleT &&value)
AWS_EC2_API PathComponent & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const AnalysisAclRule & GetAclRule() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
PathComponent & WithSecurityGroupRule(SecurityGroupRuleT &&value)
bool FirewallStatelessRuleHasBeenSet() const
void SetFirewallStatefulRule(FirewallStatefulRuleT &&value)
void SetSourceVpc(SourceVpcT &&value)
PathComponent & WithAttachedTo(AttachedToT &&value)
const Aws::Vector< AdditionalDetail > & GetAdditionalDetails() const
const AnalysisPacketHeader & GetOutboundHeader() const
PathComponent & WithVpc(VpcT &&value)
void SetExplanations(ExplanationsT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const FirewallStatefulRule & GetFirewallStatefulRule() const
const AnalysisComponent & GetTransitGateway() const
PathComponent & WithInboundHeader(InboundHeaderT &&value)
void SetSubnet(SubnetT &&value)
PathComponent & AddExplanations(ExplanationsT &&value)
void SetRouteTableRoute(RouteTableRouteT &&value)
const AnalysisComponent & GetSourceVpc() const
void SetDestinationVpc(DestinationVpcT &&value)
PathComponent & WithExplanations(ExplanationsT &&value)
void SetFirewallStatelessRule(FirewallStatelessRuleT &&value)
PathComponent & WithAdditionalDetails(AdditionalDetailsT &&value)
AWS_EC2_API PathComponent(const Aws::Utils::Xml::XmlNode &xmlNode)
const AnalysisComponent & GetDestinationVpc() const
PathComponent & AddAdditionalDetails(AdditionalDetailsT &&value)
const Aws::Vector< Explanation > & GetExplanations() const
PathComponent & WithFirewallStatefulRule(FirewallStatefulRuleT &&value)
void SetComponent(ComponentT &&value)
void SetSecurityGroupRule(SecurityGroupRuleT &&value)
PathComponent & WithAclRule(AclRuleT &&value)
PathComponent & WithServiceName(ServiceNameT &&value)
void SetTransitGatewayRouteTableRoute(TransitGatewayRouteTableRouteT &&value)
const AnalysisComponent & GetVpc() const
bool ElasticLoadBalancerListenerHasBeenSet() const
const AnalysisComponent & GetAttachedTo() const
bool FirewallStatefulRuleHasBeenSet() const
AWS_EC2_API PathComponent()=default
PathComponent & WithTransitGateway(TransitGatewayT &&value)
void SetInboundHeader(InboundHeaderT &&value)
const TransitGatewayRouteTableRoute & GetTransitGatewayRouteTableRoute() const
void SetElasticLoadBalancerListener(ElasticLoadBalancerListenerT &&value)
void SetServiceName(ServiceNameT &&value)
PathComponent & WithTransitGatewayRouteTableRoute(TransitGatewayRouteTableRouteT &&value)
PathComponent & WithSourceVpc(SourceVpcT &&value)
PathComponent & WithOutboundHeader(OutboundHeaderT &&value)
const AnalysisSecurityGroupRule & GetSecurityGroupRule() const
PathComponent & WithSubnet(SubnetT &&value)
void SetAttachedTo(AttachedToT &&value)
const Aws::String & GetServiceName() const
const AnalysisPacketHeader & GetInboundHeader() const
const AnalysisRouteTableRoute & GetRouteTableRoute() const
PathComponent & WithRouteTableRoute(RouteTableRouteT &&value)
const AnalysisComponent & GetSubnet() const
bool TransitGatewayRouteTableRouteHasBeenSet() 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