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>
54 m_sequenceNumberHasBeenSet =
true;
55 m_sequenceNumber = value;
69 template <
typename AclRuleT = AnalysisAclRule>
71 m_aclRuleHasBeenSet =
true;
72 m_aclRule = std::forward<AclRuleT>(value);
74 template <
typename AclRuleT = AnalysisAclRule>
87 template <
typename AttachedToT = AnalysisComponent>
89 m_attachedToHasBeenSet =
true;
90 m_attachedTo = std::forward<AttachedToT>(value);
92 template <
typename AttachedToT = AnalysisComponent>
105 template <
typename ComponentT = AnalysisComponent>
107 m_componentHasBeenSet =
true;
108 m_component = std::forward<ComponentT>(value);
110 template <
typename ComponentT = AnalysisComponent>
123 template <
typename DestinationVpcT = AnalysisComponent>
125 m_destinationVpcHasBeenSet =
true;
126 m_destinationVpc = std::forward<DestinationVpcT>(value);
128 template <
typename DestinationVpcT = AnalysisComponent>
141 template <
typename OutboundHeaderT = AnalysisPacketHeader>
143 m_outboundHeaderHasBeenSet =
true;
144 m_outboundHeader = std::forward<OutboundHeaderT>(value);
146 template <
typename OutboundHeaderT = AnalysisPacketHeader>
159 template <
typename InboundHeaderT = AnalysisPacketHeader>
161 m_inboundHeaderHasBeenSet =
true;
162 m_inboundHeader = std::forward<InboundHeaderT>(value);
164 template <
typename InboundHeaderT = AnalysisPacketHeader>
177 template <
typename RouteTableRouteT = AnalysisRouteTableRoute>
179 m_routeTableRouteHasBeenSet =
true;
180 m_routeTableRoute = std::forward<RouteTableRouteT>(value);
182 template <
typename RouteTableRouteT = AnalysisRouteTableRoute>
195 template <
typename SecurityGroupRuleT = AnalysisSecurityGroupRule>
197 m_securityGroupRuleHasBeenSet =
true;
198 m_securityGroupRule = std::forward<SecurityGroupRuleT>(value);
200 template <
typename SecurityGroupRuleT = AnalysisSecurityGroupRule>
213 template <
typename SourceVpcT = AnalysisComponent>
215 m_sourceVpcHasBeenSet =
true;
216 m_sourceVpc = std::forward<SourceVpcT>(value);
218 template <
typename SourceVpcT = AnalysisComponent>
231 template <
typename SubnetT = AnalysisComponent>
233 m_subnetHasBeenSet =
true;
234 m_subnet = std::forward<SubnetT>(value);
236 template <
typename SubnetT = AnalysisComponent>
249 template <
typename VpcT = AnalysisComponent>
251 m_vpcHasBeenSet =
true;
252 m_vpc = std::forward<VpcT>(value);
254 template <
typename VpcT = AnalysisComponent>
256 SetVpc(std::forward<VpcT>(value));
267 template <
typename AdditionalDetailsT = Aws::Vector<AdditionalDetail>>
269 m_additionalDetailsHasBeenSet =
true;
270 m_additionalDetails = std::forward<AdditionalDetailsT>(value);
272 template <
typename AdditionalDetailsT = Aws::Vector<AdditionalDetail>>
277 template <
typename AdditionalDetailsT = AdditionalDetail>
279 m_additionalDetailsHasBeenSet =
true;
280 m_additionalDetails.emplace_back(std::forward<AdditionalDetailsT>(value));
291 template <
typename TransitGatewayT = AnalysisComponent>
293 m_transitGatewayHasBeenSet =
true;
294 m_transitGateway = std::forward<TransitGatewayT>(value);
296 template <
typename TransitGatewayT = AnalysisComponent>
309 template <
typename TransitGatewayRouteTableRouteT = TransitGatewayRouteTableRoute>
311 m_transitGatewayRouteTableRouteHasBeenSet =
true;
312 m_transitGatewayRouteTableRoute = std::forward<TransitGatewayRouteTableRouteT>(value);
314 template <
typename TransitGatewayRouteTableRouteT = TransitGatewayRouteTableRoute>
327 template <
typename ExplanationsT = Aws::Vector<Explanation>>
329 m_explanationsHasBeenSet =
true;
330 m_explanations = std::forward<ExplanationsT>(value);
332 template <
typename ExplanationsT = Aws::Vector<Explanation>>
337 template <
typename ExplanationsT = Explanation>
339 m_explanationsHasBeenSet =
true;
340 m_explanations.emplace_back(std::forward<ExplanationsT>(value));
351 template <
typename ElasticLoadBalancerListenerT = AnalysisComponent>
353 m_elasticLoadBalancerListenerHasBeenSet =
true;
354 m_elasticLoadBalancerListener = std::forward<ElasticLoadBalancerListenerT>(value);
356 template <
typename ElasticLoadBalancerListenerT = AnalysisComponent>
369 template <
typename FirewallStatelessRuleT = FirewallStatelessRule>
371 m_firewallStatelessRuleHasBeenSet =
true;
372 m_firewallStatelessRule = std::forward<FirewallStatelessRuleT>(value);
374 template <
typename FirewallStatelessRuleT = FirewallStatelessRule>
387 template <
typename FirewallStatefulRuleT = FirewallStatefulRule>
389 m_firewallStatefulRuleHasBeenSet =
true;
390 m_firewallStatefulRule = std::forward<FirewallStatefulRuleT>(value);
392 template <
typename FirewallStatefulRuleT = FirewallStatefulRule>
405 template <
typename ServiceNameT = Aws::String>
407 m_serviceNameHasBeenSet =
true;
408 m_serviceName = std::forward<ServiceNameT>(value);
410 template <
typename ServiceNameT = Aws::String>
417 int m_sequenceNumber{0};
419 AnalysisAclRule m_aclRule;
421 AnalysisComponent m_attachedTo;
423 AnalysisComponent m_component;
425 AnalysisComponent m_destinationVpc;
427 AnalysisPacketHeader m_outboundHeader;
429 AnalysisPacketHeader m_inboundHeader;
431 AnalysisRouteTableRoute m_routeTableRoute;
433 AnalysisSecurityGroupRule m_securityGroupRule;
435 AnalysisComponent m_sourceVpc;
437 AnalysisComponent m_subnet;
439 AnalysisComponent m_vpc;
443 AnalysisComponent m_transitGateway;
445 TransitGatewayRouteTableRoute m_transitGatewayRouteTableRoute;
449 AnalysisComponent m_elasticLoadBalancerListener;
451 FirewallStatelessRule m_firewallStatelessRule;
453 FirewallStatefulRule m_firewallStatefulRule;
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;
void SetTransitGateway(TransitGatewayT &&value)
void SetOutboundHeader(OutboundHeaderT &&value)
PathComponent & WithFirewallStatelessRule(FirewallStatelessRuleT &&value)
const FirewallStatelessRule & GetFirewallStatelessRule() const
PathComponent & WithComponent(ComponentT &&value)
bool SourceVpcHasBeenSet() const
void SetAdditionalDetails(AdditionalDetailsT &&value)
const AnalysisComponent & GetComponent() const
const AnalysisComponent & GetElasticLoadBalancerListener() const
PathComponent & WithElasticLoadBalancerListener(ElasticLoadBalancerListenerT &&value)
void SetVpc(VpcT &&value)
PathComponent & WithSequenceNumber(int value)
PathComponent & WithDestinationVpc(DestinationVpcT &&value)
bool OutboundHeaderHasBeenSet() const
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
bool AdditionalDetailsHasBeenSet() const
PathComponent & WithInboundHeader(InboundHeaderT &&value)
void SetSubnet(SubnetT &&value)
PathComponent & AddExplanations(ExplanationsT &&value)
void SetRouteTableRoute(RouteTableRouteT &&value)
const AnalysisComponent & GetSourceVpc() const
bool TransitGatewayHasBeenSet() 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
bool SubnetHasBeenSet() const
PathComponent & WithFirewallStatefulRule(FirewallStatefulRuleT &&value)
void SetComponent(ComponentT &&value)
void SetSecurityGroupRule(SecurityGroupRuleT &&value)
PathComponent & WithAclRule(AclRuleT &&value)
PathComponent & WithServiceName(ServiceNameT &&value)
bool ComponentHasBeenSet() const
bool ExplanationsHasBeenSet() const
void SetTransitGatewayRouteTableRoute(TransitGatewayRouteTableRouteT &&value)
bool SequenceNumberHasBeenSet() const
const AnalysisComponent & GetVpc() const
bool InboundHeaderHasBeenSet() 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)
int GetSequenceNumber() const
PathComponent & WithOutboundHeader(OutboundHeaderT &&value)
const AnalysisSecurityGroupRule & GetSecurityGroupRule() const
PathComponent & WithSubnet(SubnetT &&value)
void SetAttachedTo(AttachedToT &&value)
bool DestinationVpcHasBeenSet() const
void SetSequenceNumber(int value)
const Aws::String & GetServiceName() const
const AnalysisPacketHeader & GetInboundHeader() const
const AnalysisRouteTableRoute & GetRouteTableRoute() const
PathComponent & WithRouteTableRoute(RouteTableRouteT &&value)
bool ServiceNameHasBeenSet() const
const AnalysisComponent & GetSubnet() const
bool SecurityGroupRuleHasBeenSet() const
bool RouteTableRouteHasBeenSet() const
bool AclRuleHasBeenSet() const
bool VpcHasBeenSet() const
bool TransitGatewayRouteTableRouteHasBeenSet() const
bool AttachedToHasBeenSet() 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