/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes a path component.See Also:
AWS
* API Reference
The sequence number.
*/ inline int GetSequenceNumber() const{ return m_sequenceNumber; } /** *The sequence number.
*/ inline bool SequenceNumberHasBeenSet() const { return m_sequenceNumberHasBeenSet; } /** *The sequence number.
*/ inline void SetSequenceNumber(int value) { m_sequenceNumberHasBeenSet = true; m_sequenceNumber = value; } /** *The sequence number.
*/ inline PathComponent& WithSequenceNumber(int value) { SetSequenceNumber(value); return *this;} /** *The network ACL rule.
*/ inline const AnalysisAclRule& GetAclRule() const{ return m_aclRule; } /** *The network ACL rule.
*/ inline bool AclRuleHasBeenSet() const { return m_aclRuleHasBeenSet; } /** *The network ACL rule.
*/ inline void SetAclRule(const AnalysisAclRule& value) { m_aclRuleHasBeenSet = true; m_aclRule = value; } /** *The network ACL rule.
*/ inline void SetAclRule(AnalysisAclRule&& value) { m_aclRuleHasBeenSet = true; m_aclRule = std::move(value); } /** *The network ACL rule.
*/ inline PathComponent& WithAclRule(const AnalysisAclRule& value) { SetAclRule(value); return *this;} /** *The network ACL rule.
*/ inline PathComponent& WithAclRule(AnalysisAclRule&& value) { SetAclRule(std::move(value)); return *this;} /** *The resource to which the path component is attached.
*/ inline const AnalysisComponent& GetAttachedTo() const{ return m_attachedTo; } /** *The resource to which the path component is attached.
*/ inline bool AttachedToHasBeenSet() const { return m_attachedToHasBeenSet; } /** *The resource to which the path component is attached.
*/ inline void SetAttachedTo(const AnalysisComponent& value) { m_attachedToHasBeenSet = true; m_attachedTo = value; } /** *The resource to which the path component is attached.
*/ inline void SetAttachedTo(AnalysisComponent&& value) { m_attachedToHasBeenSet = true; m_attachedTo = std::move(value); } /** *The resource to which the path component is attached.
*/ inline PathComponent& WithAttachedTo(const AnalysisComponent& value) { SetAttachedTo(value); return *this;} /** *The resource to which the path component is attached.
*/ inline PathComponent& WithAttachedTo(AnalysisComponent&& value) { SetAttachedTo(std::move(value)); return *this;} /** *The component.
*/ inline const AnalysisComponent& GetComponent() const{ return m_component; } /** *The component.
*/ inline bool ComponentHasBeenSet() const { return m_componentHasBeenSet; } /** *The component.
*/ inline void SetComponent(const AnalysisComponent& value) { m_componentHasBeenSet = true; m_component = value; } /** *The component.
*/ inline void SetComponent(AnalysisComponent&& value) { m_componentHasBeenSet = true; m_component = std::move(value); } /** *The component.
*/ inline PathComponent& WithComponent(const AnalysisComponent& value) { SetComponent(value); return *this;} /** *The component.
*/ inline PathComponent& WithComponent(AnalysisComponent&& value) { SetComponent(std::move(value)); return *this;} /** *The destination VPC.
*/ inline const AnalysisComponent& GetDestinationVpc() const{ return m_destinationVpc; } /** *The destination VPC.
*/ inline bool DestinationVpcHasBeenSet() const { return m_destinationVpcHasBeenSet; } /** *The destination VPC.
*/ inline void SetDestinationVpc(const AnalysisComponent& value) { m_destinationVpcHasBeenSet = true; m_destinationVpc = value; } /** *The destination VPC.
*/ inline void SetDestinationVpc(AnalysisComponent&& value) { m_destinationVpcHasBeenSet = true; m_destinationVpc = std::move(value); } /** *The destination VPC.
*/ inline PathComponent& WithDestinationVpc(const AnalysisComponent& value) { SetDestinationVpc(value); return *this;} /** *The destination VPC.
*/ inline PathComponent& WithDestinationVpc(AnalysisComponent&& value) { SetDestinationVpc(std::move(value)); return *this;} /** *The outbound header.
*/ inline const AnalysisPacketHeader& GetOutboundHeader() const{ return m_outboundHeader; } /** *The outbound header.
*/ inline bool OutboundHeaderHasBeenSet() const { return m_outboundHeaderHasBeenSet; } /** *The outbound header.
*/ inline void SetOutboundHeader(const AnalysisPacketHeader& value) { m_outboundHeaderHasBeenSet = true; m_outboundHeader = value; } /** *The outbound header.
*/ inline void SetOutboundHeader(AnalysisPacketHeader&& value) { m_outboundHeaderHasBeenSet = true; m_outboundHeader = std::move(value); } /** *The outbound header.
*/ inline PathComponent& WithOutboundHeader(const AnalysisPacketHeader& value) { SetOutboundHeader(value); return *this;} /** *The outbound header.
*/ inline PathComponent& WithOutboundHeader(AnalysisPacketHeader&& value) { SetOutboundHeader(std::move(value)); return *this;} /** *The inbound header.
*/ inline const AnalysisPacketHeader& GetInboundHeader() const{ return m_inboundHeader; } /** *The inbound header.
*/ inline bool InboundHeaderHasBeenSet() const { return m_inboundHeaderHasBeenSet; } /** *The inbound header.
*/ inline void SetInboundHeader(const AnalysisPacketHeader& value) { m_inboundHeaderHasBeenSet = true; m_inboundHeader = value; } /** *The inbound header.
*/ inline void SetInboundHeader(AnalysisPacketHeader&& value) { m_inboundHeaderHasBeenSet = true; m_inboundHeader = std::move(value); } /** *The inbound header.
*/ inline PathComponent& WithInboundHeader(const AnalysisPacketHeader& value) { SetInboundHeader(value); return *this;} /** *The inbound header.
*/ inline PathComponent& WithInboundHeader(AnalysisPacketHeader&& value) { SetInboundHeader(std::move(value)); return *this;} /** *The route table route.
*/ inline const AnalysisRouteTableRoute& GetRouteTableRoute() const{ return m_routeTableRoute; } /** *The route table route.
*/ inline bool RouteTableRouteHasBeenSet() const { return m_routeTableRouteHasBeenSet; } /** *The route table route.
*/ inline void SetRouteTableRoute(const AnalysisRouteTableRoute& value) { m_routeTableRouteHasBeenSet = true; m_routeTableRoute = value; } /** *The route table route.
*/ inline void SetRouteTableRoute(AnalysisRouteTableRoute&& value) { m_routeTableRouteHasBeenSet = true; m_routeTableRoute = std::move(value); } /** *The route table route.
*/ inline PathComponent& WithRouteTableRoute(const AnalysisRouteTableRoute& value) { SetRouteTableRoute(value); return *this;} /** *The route table route.
*/ inline PathComponent& WithRouteTableRoute(AnalysisRouteTableRoute&& value) { SetRouteTableRoute(std::move(value)); return *this;} /** *The security group rule.
*/ inline const AnalysisSecurityGroupRule& GetSecurityGroupRule() const{ return m_securityGroupRule; } /** *The security group rule.
*/ inline bool SecurityGroupRuleHasBeenSet() const { return m_securityGroupRuleHasBeenSet; } /** *The security group rule.
*/ inline void SetSecurityGroupRule(const AnalysisSecurityGroupRule& value) { m_securityGroupRuleHasBeenSet = true; m_securityGroupRule = value; } /** *The security group rule.
*/ inline void SetSecurityGroupRule(AnalysisSecurityGroupRule&& value) { m_securityGroupRuleHasBeenSet = true; m_securityGroupRule = std::move(value); } /** *The security group rule.
*/ inline PathComponent& WithSecurityGroupRule(const AnalysisSecurityGroupRule& value) { SetSecurityGroupRule(value); return *this;} /** *The security group rule.
*/ inline PathComponent& WithSecurityGroupRule(AnalysisSecurityGroupRule&& value) { SetSecurityGroupRule(std::move(value)); return *this;} /** *The source VPC.
*/ inline const AnalysisComponent& GetSourceVpc() const{ return m_sourceVpc; } /** *The source VPC.
*/ inline bool SourceVpcHasBeenSet() const { return m_sourceVpcHasBeenSet; } /** *The source VPC.
*/ inline void SetSourceVpc(const AnalysisComponent& value) { m_sourceVpcHasBeenSet = true; m_sourceVpc = value; } /** *The source VPC.
*/ inline void SetSourceVpc(AnalysisComponent&& value) { m_sourceVpcHasBeenSet = true; m_sourceVpc = std::move(value); } /** *The source VPC.
*/ inline PathComponent& WithSourceVpc(const AnalysisComponent& value) { SetSourceVpc(value); return *this;} /** *The source VPC.
*/ inline PathComponent& WithSourceVpc(AnalysisComponent&& value) { SetSourceVpc(std::move(value)); return *this;} /** *The subnet.
*/ inline const AnalysisComponent& GetSubnet() const{ return m_subnet; } /** *The subnet.
*/ inline bool SubnetHasBeenSet() const { return m_subnetHasBeenSet; } /** *The subnet.
*/ inline void SetSubnet(const AnalysisComponent& value) { m_subnetHasBeenSet = true; m_subnet = value; } /** *The subnet.
*/ inline void SetSubnet(AnalysisComponent&& value) { m_subnetHasBeenSet = true; m_subnet = std::move(value); } /** *The subnet.
*/ inline PathComponent& WithSubnet(const AnalysisComponent& value) { SetSubnet(value); return *this;} /** *The subnet.
*/ inline PathComponent& WithSubnet(AnalysisComponent&& value) { SetSubnet(std::move(value)); return *this;} /** *The component VPC.
*/ inline const AnalysisComponent& GetVpc() const{ return m_vpc; } /** *The component VPC.
*/ inline bool VpcHasBeenSet() const { return m_vpcHasBeenSet; } /** *The component VPC.
*/ inline void SetVpc(const AnalysisComponent& value) { m_vpcHasBeenSet = true; m_vpc = value; } /** *The component VPC.
*/ inline void SetVpc(AnalysisComponent&& value) { m_vpcHasBeenSet = true; m_vpc = std::move(value); } /** *The component VPC.
*/ inline PathComponent& WithVpc(const AnalysisComponent& value) { SetVpc(value); return *this;} /** *The component VPC.
*/ inline PathComponent& WithVpc(AnalysisComponent&& value) { SetVpc(std::move(value)); return *this;} /** *The additional details.
*/ inline const Aws::VectorThe additional details.
*/ inline bool AdditionalDetailsHasBeenSet() const { return m_additionalDetailsHasBeenSet; } /** *The additional details.
*/ inline void SetAdditionalDetails(const Aws::VectorThe additional details.
*/ inline void SetAdditionalDetails(Aws::VectorThe additional details.
*/ inline PathComponent& WithAdditionalDetails(const Aws::VectorThe additional details.
*/ inline PathComponent& WithAdditionalDetails(Aws::VectorThe additional details.
*/ inline PathComponent& AddAdditionalDetails(const AdditionalDetail& value) { m_additionalDetailsHasBeenSet = true; m_additionalDetails.push_back(value); return *this; } /** *The additional details.
*/ inline PathComponent& AddAdditionalDetails(AdditionalDetail&& value) { m_additionalDetailsHasBeenSet = true; m_additionalDetails.push_back(std::move(value)); return *this; } /** *The transit gateway.
*/ inline const AnalysisComponent& GetTransitGateway() const{ return m_transitGateway; } /** *The transit gateway.
*/ inline bool TransitGatewayHasBeenSet() const { return m_transitGatewayHasBeenSet; } /** *The transit gateway.
*/ inline void SetTransitGateway(const AnalysisComponent& value) { m_transitGatewayHasBeenSet = true; m_transitGateway = value; } /** *The transit gateway.
*/ inline void SetTransitGateway(AnalysisComponent&& value) { m_transitGatewayHasBeenSet = true; m_transitGateway = std::move(value); } /** *The transit gateway.
*/ inline PathComponent& WithTransitGateway(const AnalysisComponent& value) { SetTransitGateway(value); return *this;} /** *The transit gateway.
*/ inline PathComponent& WithTransitGateway(AnalysisComponent&& value) { SetTransitGateway(std::move(value)); return *this;} /** *The route in a transit gateway route table.
*/ inline const TransitGatewayRouteTableRoute& GetTransitGatewayRouteTableRoute() const{ return m_transitGatewayRouteTableRoute; } /** *The route in a transit gateway route table.
*/ inline bool TransitGatewayRouteTableRouteHasBeenSet() const { return m_transitGatewayRouteTableRouteHasBeenSet; } /** *The route in a transit gateway route table.
*/ inline void SetTransitGatewayRouteTableRoute(const TransitGatewayRouteTableRoute& value) { m_transitGatewayRouteTableRouteHasBeenSet = true; m_transitGatewayRouteTableRoute = value; } /** *The route in a transit gateway route table.
*/ inline void SetTransitGatewayRouteTableRoute(TransitGatewayRouteTableRoute&& value) { m_transitGatewayRouteTableRouteHasBeenSet = true; m_transitGatewayRouteTableRoute = std::move(value); } /** *The route in a transit gateway route table.
*/ inline PathComponent& WithTransitGatewayRouteTableRoute(const TransitGatewayRouteTableRoute& value) { SetTransitGatewayRouteTableRoute(value); return *this;} /** *The route in a transit gateway route table.
*/ inline PathComponent& WithTransitGatewayRouteTableRoute(TransitGatewayRouteTableRoute&& value) { SetTransitGatewayRouteTableRoute(std::move(value)); return *this;} /** *The explanation codes.
*/ inline const Aws::VectorThe explanation codes.
*/ inline bool ExplanationsHasBeenSet() const { return m_explanationsHasBeenSet; } /** *The explanation codes.
*/ inline void SetExplanations(const Aws::VectorThe explanation codes.
*/ inline void SetExplanations(Aws::VectorThe explanation codes.
*/ inline PathComponent& WithExplanations(const Aws::VectorThe explanation codes.
*/ inline PathComponent& WithExplanations(Aws::VectorThe explanation codes.
*/ inline PathComponent& AddExplanations(const Explanation& value) { m_explanationsHasBeenSet = true; m_explanations.push_back(value); return *this; } /** *The explanation codes.
*/ inline PathComponent& AddExplanations(Explanation&& value) { m_explanationsHasBeenSet = true; m_explanations.push_back(std::move(value)); return *this; } /** *The load balancer listener.
*/ inline const AnalysisComponent& GetElasticLoadBalancerListener() const{ return m_elasticLoadBalancerListener; } /** *The load balancer listener.
*/ inline bool ElasticLoadBalancerListenerHasBeenSet() const { return m_elasticLoadBalancerListenerHasBeenSet; } /** *The load balancer listener.
*/ inline void SetElasticLoadBalancerListener(const AnalysisComponent& value) { m_elasticLoadBalancerListenerHasBeenSet = true; m_elasticLoadBalancerListener = value; } /** *The load balancer listener.
*/ inline void SetElasticLoadBalancerListener(AnalysisComponent&& value) { m_elasticLoadBalancerListenerHasBeenSet = true; m_elasticLoadBalancerListener = std::move(value); } /** *The load balancer listener.
*/ inline PathComponent& WithElasticLoadBalancerListener(const AnalysisComponent& value) { SetElasticLoadBalancerListener(value); return *this;} /** *The load balancer listener.
*/ inline PathComponent& WithElasticLoadBalancerListener(AnalysisComponent&& value) { SetElasticLoadBalancerListener(std::move(value)); return *this;} /** *The Network Firewall stateless rule.
*/ inline const FirewallStatelessRule& GetFirewallStatelessRule() const{ return m_firewallStatelessRule; } /** *The Network Firewall stateless rule.
*/ inline bool FirewallStatelessRuleHasBeenSet() const { return m_firewallStatelessRuleHasBeenSet; } /** *The Network Firewall stateless rule.
*/ inline void SetFirewallStatelessRule(const FirewallStatelessRule& value) { m_firewallStatelessRuleHasBeenSet = true; m_firewallStatelessRule = value; } /** *The Network Firewall stateless rule.
*/ inline void SetFirewallStatelessRule(FirewallStatelessRule&& value) { m_firewallStatelessRuleHasBeenSet = true; m_firewallStatelessRule = std::move(value); } /** *The Network Firewall stateless rule.
*/ inline PathComponent& WithFirewallStatelessRule(const FirewallStatelessRule& value) { SetFirewallStatelessRule(value); return *this;} /** *The Network Firewall stateless rule.
*/ inline PathComponent& WithFirewallStatelessRule(FirewallStatelessRule&& value) { SetFirewallStatelessRule(std::move(value)); return *this;} /** *The Network Firewall stateful rule.
*/ inline const FirewallStatefulRule& GetFirewallStatefulRule() const{ return m_firewallStatefulRule; } /** *The Network Firewall stateful rule.
*/ inline bool FirewallStatefulRuleHasBeenSet() const { return m_firewallStatefulRuleHasBeenSet; } /** *The Network Firewall stateful rule.
*/ inline void SetFirewallStatefulRule(const FirewallStatefulRule& value) { m_firewallStatefulRuleHasBeenSet = true; m_firewallStatefulRule = value; } /** *The Network Firewall stateful rule.
*/ inline void SetFirewallStatefulRule(FirewallStatefulRule&& value) { m_firewallStatefulRuleHasBeenSet = true; m_firewallStatefulRule = std::move(value); } /** *The Network Firewall stateful rule.
*/ inline PathComponent& WithFirewallStatefulRule(const FirewallStatefulRule& value) { SetFirewallStatefulRule(value); return *this;} /** *The Network Firewall stateful rule.
*/ inline PathComponent& WithFirewallStatefulRule(FirewallStatefulRule&& value) { SetFirewallStatefulRule(std::move(value)); return *this;} /** *The name of the VPC endpoint service.
*/ inline const Aws::String& GetServiceName() const{ return m_serviceName; } /** *The name of the VPC endpoint service.
*/ inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; } /** *The name of the VPC endpoint service.
*/ inline void SetServiceName(const Aws::String& value) { m_serviceNameHasBeenSet = true; m_serviceName = value; } /** *The name of the VPC endpoint service.
*/ inline void SetServiceName(Aws::String&& value) { m_serviceNameHasBeenSet = true; m_serviceName = std::move(value); } /** *The name of the VPC endpoint service.
*/ inline void SetServiceName(const char* value) { m_serviceNameHasBeenSet = true; m_serviceName.assign(value); } /** *The name of the VPC endpoint service.
*/ inline PathComponent& WithServiceName(const Aws::String& value) { SetServiceName(value); return *this;} /** *The name of the VPC endpoint service.
*/ inline PathComponent& WithServiceName(Aws::String&& value) { SetServiceName(std::move(value)); return *this;} /** *The name of the VPC endpoint service.
*/ inline PathComponent& WithServiceName(const char* value) { SetServiceName(value); return *this;} private: int m_sequenceNumber; bool m_sequenceNumberHasBeenSet = false; AnalysisAclRule m_aclRule; bool m_aclRuleHasBeenSet = false; AnalysisComponent m_attachedTo; bool m_attachedToHasBeenSet = false; AnalysisComponent m_component; bool m_componentHasBeenSet = false; AnalysisComponent m_destinationVpc; bool m_destinationVpcHasBeenSet = false; AnalysisPacketHeader m_outboundHeader; bool m_outboundHeaderHasBeenSet = false; AnalysisPacketHeader m_inboundHeader; bool m_inboundHeaderHasBeenSet = false; AnalysisRouteTableRoute m_routeTableRoute; bool m_routeTableRouteHasBeenSet = false; AnalysisSecurityGroupRule m_securityGroupRule; bool m_securityGroupRuleHasBeenSet = false; AnalysisComponent m_sourceVpc; bool m_sourceVpcHasBeenSet = false; AnalysisComponent m_subnet; bool m_subnetHasBeenSet = false; AnalysisComponent m_vpc; bool m_vpcHasBeenSet = false; Aws::Vector