/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { /** *

Describes an explanation code for an unreachable path. For more information, * see Reachability * Analyzer explanation codes.

See Also:

AWS API * Reference

*/ class Explanation { public: AWS_EC2_API Explanation(); AWS_EC2_API Explanation(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API Explanation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The network ACL.

*/ inline const AnalysisComponent& GetAcl() const{ return m_acl; } /** *

The network ACL.

*/ inline bool AclHasBeenSet() const { return m_aclHasBeenSet; } /** *

The network ACL.

*/ inline void SetAcl(const AnalysisComponent& value) { m_aclHasBeenSet = true; m_acl = value; } /** *

The network ACL.

*/ inline void SetAcl(AnalysisComponent&& value) { m_aclHasBeenSet = true; m_acl = std::move(value); } /** *

The network ACL.

*/ inline Explanation& WithAcl(const AnalysisComponent& value) { SetAcl(value); return *this;} /** *

The network ACL.

*/ inline Explanation& WithAcl(AnalysisComponent&& value) { SetAcl(std::move(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 Explanation& WithAclRule(const AnalysisAclRule& value) { SetAclRule(value); return *this;} /** *

The network ACL rule.

*/ inline Explanation& WithAclRule(AnalysisAclRule&& value) { SetAclRule(std::move(value)); return *this;} /** *

The IPv4 address, in CIDR notation.

*/ inline const Aws::String& GetAddress() const{ return m_address; } /** *

The IPv4 address, in CIDR notation.

*/ inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } /** *

The IPv4 address, in CIDR notation.

*/ inline void SetAddress(const Aws::String& value) { m_addressHasBeenSet = true; m_address = value; } /** *

The IPv4 address, in CIDR notation.

*/ inline void SetAddress(Aws::String&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } /** *

The IPv4 address, in CIDR notation.

*/ inline void SetAddress(const char* value) { m_addressHasBeenSet = true; m_address.assign(value); } /** *

The IPv4 address, in CIDR notation.

*/ inline Explanation& WithAddress(const Aws::String& value) { SetAddress(value); return *this;} /** *

The IPv4 address, in CIDR notation.

*/ inline Explanation& WithAddress(Aws::String&& value) { SetAddress(std::move(value)); return *this;} /** *

The IPv4 address, in CIDR notation.

*/ inline Explanation& WithAddress(const char* value) { SetAddress(value); return *this;} /** *

The IPv4 addresses, in CIDR notation.

*/ inline const Aws::Vector& GetAddresses() const{ return m_addresses; } /** *

The IPv4 addresses, in CIDR notation.

*/ inline bool AddressesHasBeenSet() const { return m_addressesHasBeenSet; } /** *

The IPv4 addresses, in CIDR notation.

*/ inline void SetAddresses(const Aws::Vector& value) { m_addressesHasBeenSet = true; m_addresses = value; } /** *

The IPv4 addresses, in CIDR notation.

*/ inline void SetAddresses(Aws::Vector&& value) { m_addressesHasBeenSet = true; m_addresses = std::move(value); } /** *

The IPv4 addresses, in CIDR notation.

*/ inline Explanation& WithAddresses(const Aws::Vector& value) { SetAddresses(value); return *this;} /** *

The IPv4 addresses, in CIDR notation.

*/ inline Explanation& WithAddresses(Aws::Vector&& value) { SetAddresses(std::move(value)); return *this;} /** *

The IPv4 addresses, in CIDR notation.

*/ inline Explanation& AddAddresses(const Aws::String& value) { m_addressesHasBeenSet = true; m_addresses.push_back(value); return *this; } /** *

The IPv4 addresses, in CIDR notation.

*/ inline Explanation& AddAddresses(Aws::String&& value) { m_addressesHasBeenSet = true; m_addresses.push_back(std::move(value)); return *this; } /** *

The IPv4 addresses, in CIDR notation.

*/ inline Explanation& AddAddresses(const char* value) { m_addressesHasBeenSet = true; m_addresses.push_back(value); return *this; } /** *

The resource to which the component is attached.

*/ inline const AnalysisComponent& GetAttachedTo() const{ return m_attachedTo; } /** *

The resource to which the component is attached.

*/ inline bool AttachedToHasBeenSet() const { return m_attachedToHasBeenSet; } /** *

The resource to which the component is attached.

*/ inline void SetAttachedTo(const AnalysisComponent& value) { m_attachedToHasBeenSet = true; m_attachedTo = value; } /** *

The resource to which the component is attached.

*/ inline void SetAttachedTo(AnalysisComponent&& value) { m_attachedToHasBeenSet = true; m_attachedTo = std::move(value); } /** *

The resource to which the component is attached.

*/ inline Explanation& WithAttachedTo(const AnalysisComponent& value) { SetAttachedTo(value); return *this;} /** *

The resource to which the component is attached.

*/ inline Explanation& WithAttachedTo(AnalysisComponent&& value) { SetAttachedTo(std::move(value)); return *this;} /** *

The Availability Zones.

*/ inline const Aws::Vector& GetAvailabilityZones() const{ return m_availabilityZones; } /** *

The Availability Zones.

*/ inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; } /** *

The Availability Zones.

*/ inline void SetAvailabilityZones(const Aws::Vector& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; } /** *

The Availability Zones.

*/ inline void SetAvailabilityZones(Aws::Vector&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = std::move(value); } /** *

The Availability Zones.

*/ inline Explanation& WithAvailabilityZones(const Aws::Vector& value) { SetAvailabilityZones(value); return *this;} /** *

The Availability Zones.

*/ inline Explanation& WithAvailabilityZones(Aws::Vector&& value) { SetAvailabilityZones(std::move(value)); return *this;} /** *

The Availability Zones.

*/ inline Explanation& AddAvailabilityZones(const Aws::String& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; } /** *

The Availability Zones.

*/ inline Explanation& AddAvailabilityZones(Aws::String&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(std::move(value)); return *this; } /** *

The Availability Zones.

*/ inline Explanation& AddAvailabilityZones(const char* value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; } /** *

The CIDR ranges.

*/ inline const Aws::Vector& GetCidrs() const{ return m_cidrs; } /** *

The CIDR ranges.

*/ inline bool CidrsHasBeenSet() const { return m_cidrsHasBeenSet; } /** *

The CIDR ranges.

*/ inline void SetCidrs(const Aws::Vector& value) { m_cidrsHasBeenSet = true; m_cidrs = value; } /** *

The CIDR ranges.

*/ inline void SetCidrs(Aws::Vector&& value) { m_cidrsHasBeenSet = true; m_cidrs = std::move(value); } /** *

The CIDR ranges.

*/ inline Explanation& WithCidrs(const Aws::Vector& value) { SetCidrs(value); return *this;} /** *

The CIDR ranges.

*/ inline Explanation& WithCidrs(Aws::Vector&& value) { SetCidrs(std::move(value)); return *this;} /** *

The CIDR ranges.

*/ inline Explanation& AddCidrs(const Aws::String& value) { m_cidrsHasBeenSet = true; m_cidrs.push_back(value); return *this; } /** *

The CIDR ranges.

*/ inline Explanation& AddCidrs(Aws::String&& value) { m_cidrsHasBeenSet = true; m_cidrs.push_back(std::move(value)); return *this; } /** *

The CIDR ranges.

*/ inline Explanation& AddCidrs(const char* value) { m_cidrsHasBeenSet = true; m_cidrs.push_back(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 Explanation& WithComponent(const AnalysisComponent& value) { SetComponent(value); return *this;} /** *

The component.

*/ inline Explanation& WithComponent(AnalysisComponent&& value) { SetComponent(std::move(value)); return *this;} /** *

The customer gateway.

*/ inline const AnalysisComponent& GetCustomerGateway() const{ return m_customerGateway; } /** *

The customer gateway.

*/ inline bool CustomerGatewayHasBeenSet() const { return m_customerGatewayHasBeenSet; } /** *

The customer gateway.

*/ inline void SetCustomerGateway(const AnalysisComponent& value) { m_customerGatewayHasBeenSet = true; m_customerGateway = value; } /** *

The customer gateway.

*/ inline void SetCustomerGateway(AnalysisComponent&& value) { m_customerGatewayHasBeenSet = true; m_customerGateway = std::move(value); } /** *

The customer gateway.

*/ inline Explanation& WithCustomerGateway(const AnalysisComponent& value) { SetCustomerGateway(value); return *this;} /** *

The customer gateway.

*/ inline Explanation& WithCustomerGateway(AnalysisComponent&& value) { SetCustomerGateway(std::move(value)); return *this;} /** *

The destination.

*/ inline const AnalysisComponent& GetDestination() const{ return m_destination; } /** *

The destination.

*/ inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } /** *

The destination.

*/ inline void SetDestination(const AnalysisComponent& value) { m_destinationHasBeenSet = true; m_destination = value; } /** *

The destination.

*/ inline void SetDestination(AnalysisComponent&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } /** *

The destination.

*/ inline Explanation& WithDestination(const AnalysisComponent& value) { SetDestination(value); return *this;} /** *

The destination.

*/ inline Explanation& WithDestination(AnalysisComponent&& value) { SetDestination(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 Explanation& WithDestinationVpc(const AnalysisComponent& value) { SetDestinationVpc(value); return *this;} /** *

The destination VPC.

*/ inline Explanation& WithDestinationVpc(AnalysisComponent&& value) { SetDestinationVpc(std::move(value)); return *this;} /** *

The direction. The following are the possible values:

  • *

    egress

  • ingress

*/ inline const Aws::String& GetDirection() const{ return m_direction; } /** *

The direction. The following are the possible values:

  • *

    egress

  • ingress

*/ inline bool DirectionHasBeenSet() const { return m_directionHasBeenSet; } /** *

The direction. The following are the possible values:

  • *

    egress

  • ingress

*/ inline void SetDirection(const Aws::String& value) { m_directionHasBeenSet = true; m_direction = value; } /** *

The direction. The following are the possible values:

  • *

    egress

  • ingress

*/ inline void SetDirection(Aws::String&& value) { m_directionHasBeenSet = true; m_direction = std::move(value); } /** *

The direction. The following are the possible values:

  • *

    egress

  • ingress

*/ inline void SetDirection(const char* value) { m_directionHasBeenSet = true; m_direction.assign(value); } /** *

The direction. The following are the possible values:

  • *

    egress

  • ingress

*/ inline Explanation& WithDirection(const Aws::String& value) { SetDirection(value); return *this;} /** *

The direction. The following are the possible values:

  • *

    egress

  • ingress

*/ inline Explanation& WithDirection(Aws::String&& value) { SetDirection(std::move(value)); return *this;} /** *

The direction. The following are the possible values:

  • *

    egress

  • ingress

*/ inline Explanation& WithDirection(const char* value) { SetDirection(value); return *this;} /** *

The explanation code.

*/ inline const Aws::String& GetExplanationCode() const{ return m_explanationCode; } /** *

The explanation code.

*/ inline bool ExplanationCodeHasBeenSet() const { return m_explanationCodeHasBeenSet; } /** *

The explanation code.

*/ inline void SetExplanationCode(const Aws::String& value) { m_explanationCodeHasBeenSet = true; m_explanationCode = value; } /** *

The explanation code.

*/ inline void SetExplanationCode(Aws::String&& value) { m_explanationCodeHasBeenSet = true; m_explanationCode = std::move(value); } /** *

The explanation code.

*/ inline void SetExplanationCode(const char* value) { m_explanationCodeHasBeenSet = true; m_explanationCode.assign(value); } /** *

The explanation code.

*/ inline Explanation& WithExplanationCode(const Aws::String& value) { SetExplanationCode(value); return *this;} /** *

The explanation code.

*/ inline Explanation& WithExplanationCode(Aws::String&& value) { SetExplanationCode(std::move(value)); return *this;} /** *

The explanation code.

*/ inline Explanation& WithExplanationCode(const char* value) { SetExplanationCode(value); return *this;} /** *

The route table.

*/ inline const AnalysisComponent& GetIngressRouteTable() const{ return m_ingressRouteTable; } /** *

The route table.

*/ inline bool IngressRouteTableHasBeenSet() const { return m_ingressRouteTableHasBeenSet; } /** *

The route table.

*/ inline void SetIngressRouteTable(const AnalysisComponent& value) { m_ingressRouteTableHasBeenSet = true; m_ingressRouteTable = value; } /** *

The route table.

*/ inline void SetIngressRouteTable(AnalysisComponent&& value) { m_ingressRouteTableHasBeenSet = true; m_ingressRouteTable = std::move(value); } /** *

The route table.

*/ inline Explanation& WithIngressRouteTable(const AnalysisComponent& value) { SetIngressRouteTable(value); return *this;} /** *

The route table.

*/ inline Explanation& WithIngressRouteTable(AnalysisComponent&& value) { SetIngressRouteTable(std::move(value)); return *this;} /** *

The internet gateway.

*/ inline const AnalysisComponent& GetInternetGateway() const{ return m_internetGateway; } /** *

The internet gateway.

*/ inline bool InternetGatewayHasBeenSet() const { return m_internetGatewayHasBeenSet; } /** *

The internet gateway.

*/ inline void SetInternetGateway(const AnalysisComponent& value) { m_internetGatewayHasBeenSet = true; m_internetGateway = value; } /** *

The internet gateway.

*/ inline void SetInternetGateway(AnalysisComponent&& value) { m_internetGatewayHasBeenSet = true; m_internetGateway = std::move(value); } /** *

The internet gateway.

*/ inline Explanation& WithInternetGateway(const AnalysisComponent& value) { SetInternetGateway(value); return *this;} /** *

The internet gateway.

*/ inline Explanation& WithInternetGateway(AnalysisComponent&& value) { SetInternetGateway(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the load balancer.

*/ inline const Aws::String& GetLoadBalancerArn() const{ return m_loadBalancerArn; } /** *

The Amazon Resource Name (ARN) of the load balancer.

*/ inline bool LoadBalancerArnHasBeenSet() const { return m_loadBalancerArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the load balancer.

*/ inline void SetLoadBalancerArn(const Aws::String& value) { m_loadBalancerArnHasBeenSet = true; m_loadBalancerArn = value; } /** *

The Amazon Resource Name (ARN) of the load balancer.

*/ inline void SetLoadBalancerArn(Aws::String&& value) { m_loadBalancerArnHasBeenSet = true; m_loadBalancerArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the load balancer.

*/ inline void SetLoadBalancerArn(const char* value) { m_loadBalancerArnHasBeenSet = true; m_loadBalancerArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the load balancer.

*/ inline Explanation& WithLoadBalancerArn(const Aws::String& value) { SetLoadBalancerArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the load balancer.

*/ inline Explanation& WithLoadBalancerArn(Aws::String&& value) { SetLoadBalancerArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the load balancer.

*/ inline Explanation& WithLoadBalancerArn(const char* value) { SetLoadBalancerArn(value); return *this;} /** *

The listener for a Classic Load Balancer.

*/ inline const AnalysisLoadBalancerListener& GetClassicLoadBalancerListener() const{ return m_classicLoadBalancerListener; } /** *

The listener for a Classic Load Balancer.

*/ inline bool ClassicLoadBalancerListenerHasBeenSet() const { return m_classicLoadBalancerListenerHasBeenSet; } /** *

The listener for a Classic Load Balancer.

*/ inline void SetClassicLoadBalancerListener(const AnalysisLoadBalancerListener& value) { m_classicLoadBalancerListenerHasBeenSet = true; m_classicLoadBalancerListener = value; } /** *

The listener for a Classic Load Balancer.

*/ inline void SetClassicLoadBalancerListener(AnalysisLoadBalancerListener&& value) { m_classicLoadBalancerListenerHasBeenSet = true; m_classicLoadBalancerListener = std::move(value); } /** *

The listener for a Classic Load Balancer.

*/ inline Explanation& WithClassicLoadBalancerListener(const AnalysisLoadBalancerListener& value) { SetClassicLoadBalancerListener(value); return *this;} /** *

The listener for a Classic Load Balancer.

*/ inline Explanation& WithClassicLoadBalancerListener(AnalysisLoadBalancerListener&& value) { SetClassicLoadBalancerListener(std::move(value)); return *this;} /** *

The listener port of the load balancer.

*/ inline int GetLoadBalancerListenerPort() const{ return m_loadBalancerListenerPort; } /** *

The listener port of the load balancer.

*/ inline bool LoadBalancerListenerPortHasBeenSet() const { return m_loadBalancerListenerPortHasBeenSet; } /** *

The listener port of the load balancer.

*/ inline void SetLoadBalancerListenerPort(int value) { m_loadBalancerListenerPortHasBeenSet = true; m_loadBalancerListenerPort = value; } /** *

The listener port of the load balancer.

*/ inline Explanation& WithLoadBalancerListenerPort(int value) { SetLoadBalancerListenerPort(value); return *this;} /** *

The target.

*/ inline const AnalysisLoadBalancerTarget& GetLoadBalancerTarget() const{ return m_loadBalancerTarget; } /** *

The target.

*/ inline bool LoadBalancerTargetHasBeenSet() const { return m_loadBalancerTargetHasBeenSet; } /** *

The target.

*/ inline void SetLoadBalancerTarget(const AnalysisLoadBalancerTarget& value) { m_loadBalancerTargetHasBeenSet = true; m_loadBalancerTarget = value; } /** *

The target.

*/ inline void SetLoadBalancerTarget(AnalysisLoadBalancerTarget&& value) { m_loadBalancerTargetHasBeenSet = true; m_loadBalancerTarget = std::move(value); } /** *

The target.

*/ inline Explanation& WithLoadBalancerTarget(const AnalysisLoadBalancerTarget& value) { SetLoadBalancerTarget(value); return *this;} /** *

The target.

*/ inline Explanation& WithLoadBalancerTarget(AnalysisLoadBalancerTarget&& value) { SetLoadBalancerTarget(std::move(value)); return *this;} /** *

The target group.

*/ inline const AnalysisComponent& GetLoadBalancerTargetGroup() const{ return m_loadBalancerTargetGroup; } /** *

The target group.

*/ inline bool LoadBalancerTargetGroupHasBeenSet() const { return m_loadBalancerTargetGroupHasBeenSet; } /** *

The target group.

*/ inline void SetLoadBalancerTargetGroup(const AnalysisComponent& value) { m_loadBalancerTargetGroupHasBeenSet = true; m_loadBalancerTargetGroup = value; } /** *

The target group.

*/ inline void SetLoadBalancerTargetGroup(AnalysisComponent&& value) { m_loadBalancerTargetGroupHasBeenSet = true; m_loadBalancerTargetGroup = std::move(value); } /** *

The target group.

*/ inline Explanation& WithLoadBalancerTargetGroup(const AnalysisComponent& value) { SetLoadBalancerTargetGroup(value); return *this;} /** *

The target group.

*/ inline Explanation& WithLoadBalancerTargetGroup(AnalysisComponent&& value) { SetLoadBalancerTargetGroup(std::move(value)); return *this;} /** *

The target groups.

*/ inline const Aws::Vector& GetLoadBalancerTargetGroups() const{ return m_loadBalancerTargetGroups; } /** *

The target groups.

*/ inline bool LoadBalancerTargetGroupsHasBeenSet() const { return m_loadBalancerTargetGroupsHasBeenSet; } /** *

The target groups.

*/ inline void SetLoadBalancerTargetGroups(const Aws::Vector& value) { m_loadBalancerTargetGroupsHasBeenSet = true; m_loadBalancerTargetGroups = value; } /** *

The target groups.

*/ inline void SetLoadBalancerTargetGroups(Aws::Vector&& value) { m_loadBalancerTargetGroupsHasBeenSet = true; m_loadBalancerTargetGroups = std::move(value); } /** *

The target groups.

*/ inline Explanation& WithLoadBalancerTargetGroups(const Aws::Vector& value) { SetLoadBalancerTargetGroups(value); return *this;} /** *

The target groups.

*/ inline Explanation& WithLoadBalancerTargetGroups(Aws::Vector&& value) { SetLoadBalancerTargetGroups(std::move(value)); return *this;} /** *

The target groups.

*/ inline Explanation& AddLoadBalancerTargetGroups(const AnalysisComponent& value) { m_loadBalancerTargetGroupsHasBeenSet = true; m_loadBalancerTargetGroups.push_back(value); return *this; } /** *

The target groups.

*/ inline Explanation& AddLoadBalancerTargetGroups(AnalysisComponent&& value) { m_loadBalancerTargetGroupsHasBeenSet = true; m_loadBalancerTargetGroups.push_back(std::move(value)); return *this; } /** *

The target port.

*/ inline int GetLoadBalancerTargetPort() const{ return m_loadBalancerTargetPort; } /** *

The target port.

*/ inline bool LoadBalancerTargetPortHasBeenSet() const { return m_loadBalancerTargetPortHasBeenSet; } /** *

The target port.

*/ inline void SetLoadBalancerTargetPort(int value) { m_loadBalancerTargetPortHasBeenSet = true; m_loadBalancerTargetPort = value; } /** *

The target port.

*/ inline Explanation& WithLoadBalancerTargetPort(int value) { SetLoadBalancerTargetPort(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 Explanation& WithElasticLoadBalancerListener(const AnalysisComponent& value) { SetElasticLoadBalancerListener(value); return *this;} /** *

The load balancer listener.

*/ inline Explanation& WithElasticLoadBalancerListener(AnalysisComponent&& value) { SetElasticLoadBalancerListener(std::move(value)); return *this;} /** *

The missing component.

*/ inline const Aws::String& GetMissingComponent() const{ return m_missingComponent; } /** *

The missing component.

*/ inline bool MissingComponentHasBeenSet() const { return m_missingComponentHasBeenSet; } /** *

The missing component.

*/ inline void SetMissingComponent(const Aws::String& value) { m_missingComponentHasBeenSet = true; m_missingComponent = value; } /** *

The missing component.

*/ inline void SetMissingComponent(Aws::String&& value) { m_missingComponentHasBeenSet = true; m_missingComponent = std::move(value); } /** *

The missing component.

*/ inline void SetMissingComponent(const char* value) { m_missingComponentHasBeenSet = true; m_missingComponent.assign(value); } /** *

The missing component.

*/ inline Explanation& WithMissingComponent(const Aws::String& value) { SetMissingComponent(value); return *this;} /** *

The missing component.

*/ inline Explanation& WithMissingComponent(Aws::String&& value) { SetMissingComponent(std::move(value)); return *this;} /** *

The missing component.

*/ inline Explanation& WithMissingComponent(const char* value) { SetMissingComponent(value); return *this;} /** *

The NAT gateway.

*/ inline const AnalysisComponent& GetNatGateway() const{ return m_natGateway; } /** *

The NAT gateway.

*/ inline bool NatGatewayHasBeenSet() const { return m_natGatewayHasBeenSet; } /** *

The NAT gateway.

*/ inline void SetNatGateway(const AnalysisComponent& value) { m_natGatewayHasBeenSet = true; m_natGateway = value; } /** *

The NAT gateway.

*/ inline void SetNatGateway(AnalysisComponent&& value) { m_natGatewayHasBeenSet = true; m_natGateway = std::move(value); } /** *

The NAT gateway.

*/ inline Explanation& WithNatGateway(const AnalysisComponent& value) { SetNatGateway(value); return *this;} /** *

The NAT gateway.

*/ inline Explanation& WithNatGateway(AnalysisComponent&& value) { SetNatGateway(std::move(value)); return *this;} /** *

The network interface.

*/ inline const AnalysisComponent& GetNetworkInterface() const{ return m_networkInterface; } /** *

The network interface.

*/ inline bool NetworkInterfaceHasBeenSet() const { return m_networkInterfaceHasBeenSet; } /** *

The network interface.

*/ inline void SetNetworkInterface(const AnalysisComponent& value) { m_networkInterfaceHasBeenSet = true; m_networkInterface = value; } /** *

The network interface.

*/ inline void SetNetworkInterface(AnalysisComponent&& value) { m_networkInterfaceHasBeenSet = true; m_networkInterface = std::move(value); } /** *

The network interface.

*/ inline Explanation& WithNetworkInterface(const AnalysisComponent& value) { SetNetworkInterface(value); return *this;} /** *

The network interface.

*/ inline Explanation& WithNetworkInterface(AnalysisComponent&& value) { SetNetworkInterface(std::move(value)); return *this;} /** *

The packet field.

*/ inline const Aws::String& GetPacketField() const{ return m_packetField; } /** *

The packet field.

*/ inline bool PacketFieldHasBeenSet() const { return m_packetFieldHasBeenSet; } /** *

The packet field.

*/ inline void SetPacketField(const Aws::String& value) { m_packetFieldHasBeenSet = true; m_packetField = value; } /** *

The packet field.

*/ inline void SetPacketField(Aws::String&& value) { m_packetFieldHasBeenSet = true; m_packetField = std::move(value); } /** *

The packet field.

*/ inline void SetPacketField(const char* value) { m_packetFieldHasBeenSet = true; m_packetField.assign(value); } /** *

The packet field.

*/ inline Explanation& WithPacketField(const Aws::String& value) { SetPacketField(value); return *this;} /** *

The packet field.

*/ inline Explanation& WithPacketField(Aws::String&& value) { SetPacketField(std::move(value)); return *this;} /** *

The packet field.

*/ inline Explanation& WithPacketField(const char* value) { SetPacketField(value); return *this;} /** *

The VPC peering connection.

*/ inline const AnalysisComponent& GetVpcPeeringConnection() const{ return m_vpcPeeringConnection; } /** *

The VPC peering connection.

*/ inline bool VpcPeeringConnectionHasBeenSet() const { return m_vpcPeeringConnectionHasBeenSet; } /** *

The VPC peering connection.

*/ inline void SetVpcPeeringConnection(const AnalysisComponent& value) { m_vpcPeeringConnectionHasBeenSet = true; m_vpcPeeringConnection = value; } /** *

The VPC peering connection.

*/ inline void SetVpcPeeringConnection(AnalysisComponent&& value) { m_vpcPeeringConnectionHasBeenSet = true; m_vpcPeeringConnection = std::move(value); } /** *

The VPC peering connection.

*/ inline Explanation& WithVpcPeeringConnection(const AnalysisComponent& value) { SetVpcPeeringConnection(value); return *this;} /** *

The VPC peering connection.

*/ inline Explanation& WithVpcPeeringConnection(AnalysisComponent&& value) { SetVpcPeeringConnection(std::move(value)); return *this;} /** *

The port.

*/ inline int GetPort() const{ return m_port; } /** *

The port.

*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *

The port.

*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *

The port.

*/ inline Explanation& WithPort(int value) { SetPort(value); return *this;} /** *

The port ranges.

*/ inline const Aws::Vector& GetPortRanges() const{ return m_portRanges; } /** *

The port ranges.

*/ inline bool PortRangesHasBeenSet() const { return m_portRangesHasBeenSet; } /** *

The port ranges.

*/ inline void SetPortRanges(const Aws::Vector& value) { m_portRangesHasBeenSet = true; m_portRanges = value; } /** *

The port ranges.

*/ inline void SetPortRanges(Aws::Vector&& value) { m_portRangesHasBeenSet = true; m_portRanges = std::move(value); } /** *

The port ranges.

*/ inline Explanation& WithPortRanges(const Aws::Vector& value) { SetPortRanges(value); return *this;} /** *

The port ranges.

*/ inline Explanation& WithPortRanges(Aws::Vector&& value) { SetPortRanges(std::move(value)); return *this;} /** *

The port ranges.

*/ inline Explanation& AddPortRanges(const PortRange& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(value); return *this; } /** *

The port ranges.

*/ inline Explanation& AddPortRanges(PortRange&& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(std::move(value)); return *this; } /** *

The prefix list.

*/ inline const AnalysisComponent& GetPrefixList() const{ return m_prefixList; } /** *

The prefix list.

*/ inline bool PrefixListHasBeenSet() const { return m_prefixListHasBeenSet; } /** *

The prefix list.

*/ inline void SetPrefixList(const AnalysisComponent& value) { m_prefixListHasBeenSet = true; m_prefixList = value; } /** *

The prefix list.

*/ inline void SetPrefixList(AnalysisComponent&& value) { m_prefixListHasBeenSet = true; m_prefixList = std::move(value); } /** *

The prefix list.

*/ inline Explanation& WithPrefixList(const AnalysisComponent& value) { SetPrefixList(value); return *this;} /** *

The prefix list.

*/ inline Explanation& WithPrefixList(AnalysisComponent&& value) { SetPrefixList(std::move(value)); return *this;} /** *

The protocols.

*/ inline const Aws::Vector& GetProtocols() const{ return m_protocols; } /** *

The protocols.

*/ inline bool ProtocolsHasBeenSet() const { return m_protocolsHasBeenSet; } /** *

The protocols.

*/ inline void SetProtocols(const Aws::Vector& value) { m_protocolsHasBeenSet = true; m_protocols = value; } /** *

The protocols.

*/ inline void SetProtocols(Aws::Vector&& value) { m_protocolsHasBeenSet = true; m_protocols = std::move(value); } /** *

The protocols.

*/ inline Explanation& WithProtocols(const Aws::Vector& value) { SetProtocols(value); return *this;} /** *

The protocols.

*/ inline Explanation& WithProtocols(Aws::Vector&& value) { SetProtocols(std::move(value)); return *this;} /** *

The protocols.

*/ inline Explanation& AddProtocols(const Aws::String& value) { m_protocolsHasBeenSet = true; m_protocols.push_back(value); return *this; } /** *

The protocols.

*/ inline Explanation& AddProtocols(Aws::String&& value) { m_protocolsHasBeenSet = true; m_protocols.push_back(std::move(value)); return *this; } /** *

The protocols.

*/ inline Explanation& AddProtocols(const char* value) { m_protocolsHasBeenSet = true; m_protocols.push_back(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 Explanation& WithRouteTableRoute(const AnalysisRouteTableRoute& value) { SetRouteTableRoute(value); return *this;} /** *

The route table route.

*/ inline Explanation& WithRouteTableRoute(AnalysisRouteTableRoute&& value) { SetRouteTableRoute(std::move(value)); return *this;} /** *

The route table.

*/ inline const AnalysisComponent& GetRouteTable() const{ return m_routeTable; } /** *

The route table.

*/ inline bool RouteTableHasBeenSet() const { return m_routeTableHasBeenSet; } /** *

The route table.

*/ inline void SetRouteTable(const AnalysisComponent& value) { m_routeTableHasBeenSet = true; m_routeTable = value; } /** *

The route table.

*/ inline void SetRouteTable(AnalysisComponent&& value) { m_routeTableHasBeenSet = true; m_routeTable = std::move(value); } /** *

The route table.

*/ inline Explanation& WithRouteTable(const AnalysisComponent& value) { SetRouteTable(value); return *this;} /** *

The route table.

*/ inline Explanation& WithRouteTable(AnalysisComponent&& value) { SetRouteTable(std::move(value)); return *this;} /** *

The security group.

*/ inline const AnalysisComponent& GetSecurityGroup() const{ return m_securityGroup; } /** *

The security group.

*/ inline bool SecurityGroupHasBeenSet() const { return m_securityGroupHasBeenSet; } /** *

The security group.

*/ inline void SetSecurityGroup(const AnalysisComponent& value) { m_securityGroupHasBeenSet = true; m_securityGroup = value; } /** *

The security group.

*/ inline void SetSecurityGroup(AnalysisComponent&& value) { m_securityGroupHasBeenSet = true; m_securityGroup = std::move(value); } /** *

The security group.

*/ inline Explanation& WithSecurityGroup(const AnalysisComponent& value) { SetSecurityGroup(value); return *this;} /** *

The security group.

*/ inline Explanation& WithSecurityGroup(AnalysisComponent&& value) { SetSecurityGroup(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 Explanation& WithSecurityGroupRule(const AnalysisSecurityGroupRule& value) { SetSecurityGroupRule(value); return *this;} /** *

The security group rule.

*/ inline Explanation& WithSecurityGroupRule(AnalysisSecurityGroupRule&& value) { SetSecurityGroupRule(std::move(value)); return *this;} /** *

The security groups.

*/ inline const Aws::Vector& GetSecurityGroups() const{ return m_securityGroups; } /** *

The security groups.

*/ inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; } /** *

The security groups.

*/ inline void SetSecurityGroups(const Aws::Vector& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = value; } /** *

The security groups.

*/ inline void SetSecurityGroups(Aws::Vector&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::move(value); } /** *

The security groups.

*/ inline Explanation& WithSecurityGroups(const Aws::Vector& value) { SetSecurityGroups(value); return *this;} /** *

The security groups.

*/ inline Explanation& WithSecurityGroups(Aws::Vector&& value) { SetSecurityGroups(std::move(value)); return *this;} /** *

The security groups.

*/ inline Explanation& AddSecurityGroups(const AnalysisComponent& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; } /** *

The security groups.

*/ inline Explanation& AddSecurityGroups(AnalysisComponent&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(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 Explanation& WithSourceVpc(const AnalysisComponent& value) { SetSourceVpc(value); return *this;} /** *

The source VPC.

*/ inline Explanation& WithSourceVpc(AnalysisComponent&& value) { SetSourceVpc(std::move(value)); return *this;} /** *

The state.

*/ inline const Aws::String& GetState() const{ return m_state; } /** *

The state.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The state.

*/ inline void SetState(const Aws::String& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The state.

*/ inline void SetState(Aws::String&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The state.

*/ inline void SetState(const char* value) { m_stateHasBeenSet = true; m_state.assign(value); } /** *

The state.

*/ inline Explanation& WithState(const Aws::String& value) { SetState(value); return *this;} /** *

The state.

*/ inline Explanation& WithState(Aws::String&& value) { SetState(std::move(value)); return *this;} /** *

The state.

*/ inline Explanation& WithState(const char* value) { SetState(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 Explanation& WithSubnet(const AnalysisComponent& value) { SetSubnet(value); return *this;} /** *

The subnet.

*/ inline Explanation& WithSubnet(AnalysisComponent&& value) { SetSubnet(std::move(value)); return *this;} /** *

The route table for the subnet.

*/ inline const AnalysisComponent& GetSubnetRouteTable() const{ return m_subnetRouteTable; } /** *

The route table for the subnet.

*/ inline bool SubnetRouteTableHasBeenSet() const { return m_subnetRouteTableHasBeenSet; } /** *

The route table for the subnet.

*/ inline void SetSubnetRouteTable(const AnalysisComponent& value) { m_subnetRouteTableHasBeenSet = true; m_subnetRouteTable = value; } /** *

The route table for the subnet.

*/ inline void SetSubnetRouteTable(AnalysisComponent&& value) { m_subnetRouteTableHasBeenSet = true; m_subnetRouteTable = std::move(value); } /** *

The route table for the subnet.

*/ inline Explanation& WithSubnetRouteTable(const AnalysisComponent& value) { SetSubnetRouteTable(value); return *this;} /** *

The route table for the subnet.

*/ inline Explanation& WithSubnetRouteTable(AnalysisComponent&& value) { SetSubnetRouteTable(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 Explanation& WithVpc(const AnalysisComponent& value) { SetVpc(value); return *this;} /** *

The component VPC.

*/ inline Explanation& WithVpc(AnalysisComponent&& value) { SetVpc(std::move(value)); return *this;} /** *

The VPC endpoint.

*/ inline const AnalysisComponent& GetVpcEndpoint() const{ return m_vpcEndpoint; } /** *

The VPC endpoint.

*/ inline bool VpcEndpointHasBeenSet() const { return m_vpcEndpointHasBeenSet; } /** *

The VPC endpoint.

*/ inline void SetVpcEndpoint(const AnalysisComponent& value) { m_vpcEndpointHasBeenSet = true; m_vpcEndpoint = value; } /** *

The VPC endpoint.

*/ inline void SetVpcEndpoint(AnalysisComponent&& value) { m_vpcEndpointHasBeenSet = true; m_vpcEndpoint = std::move(value); } /** *

The VPC endpoint.

*/ inline Explanation& WithVpcEndpoint(const AnalysisComponent& value) { SetVpcEndpoint(value); return *this;} /** *

The VPC endpoint.

*/ inline Explanation& WithVpcEndpoint(AnalysisComponent&& value) { SetVpcEndpoint(std::move(value)); return *this;} /** *

The VPN connection.

*/ inline const AnalysisComponent& GetVpnConnection() const{ return m_vpnConnection; } /** *

The VPN connection.

*/ inline bool VpnConnectionHasBeenSet() const { return m_vpnConnectionHasBeenSet; } /** *

The VPN connection.

*/ inline void SetVpnConnection(const AnalysisComponent& value) { m_vpnConnectionHasBeenSet = true; m_vpnConnection = value; } /** *

The VPN connection.

*/ inline void SetVpnConnection(AnalysisComponent&& value) { m_vpnConnectionHasBeenSet = true; m_vpnConnection = std::move(value); } /** *

The VPN connection.

*/ inline Explanation& WithVpnConnection(const AnalysisComponent& value) { SetVpnConnection(value); return *this;} /** *

The VPN connection.

*/ inline Explanation& WithVpnConnection(AnalysisComponent&& value) { SetVpnConnection(std::move(value)); return *this;} /** *

The VPN gateway.

*/ inline const AnalysisComponent& GetVpnGateway() const{ return m_vpnGateway; } /** *

The VPN gateway.

*/ inline bool VpnGatewayHasBeenSet() const { return m_vpnGatewayHasBeenSet; } /** *

The VPN gateway.

*/ inline void SetVpnGateway(const AnalysisComponent& value) { m_vpnGatewayHasBeenSet = true; m_vpnGateway = value; } /** *

The VPN gateway.

*/ inline void SetVpnGateway(AnalysisComponent&& value) { m_vpnGatewayHasBeenSet = true; m_vpnGateway = std::move(value); } /** *

The VPN gateway.

*/ inline Explanation& WithVpnGateway(const AnalysisComponent& value) { SetVpnGateway(value); return *this;} /** *

The VPN gateway.

*/ inline Explanation& WithVpnGateway(AnalysisComponent&& value) { SetVpnGateway(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 Explanation& WithTransitGateway(const AnalysisComponent& value) { SetTransitGateway(value); return *this;} /** *

The transit gateway.

*/ inline Explanation& WithTransitGateway(AnalysisComponent&& value) { SetTransitGateway(std::move(value)); return *this;} /** *

The transit gateway route table.

*/ inline const AnalysisComponent& GetTransitGatewayRouteTable() const{ return m_transitGatewayRouteTable; } /** *

The transit gateway route table.

*/ inline bool TransitGatewayRouteTableHasBeenSet() const { return m_transitGatewayRouteTableHasBeenSet; } /** *

The transit gateway route table.

*/ inline void SetTransitGatewayRouteTable(const AnalysisComponent& value) { m_transitGatewayRouteTableHasBeenSet = true; m_transitGatewayRouteTable = value; } /** *

The transit gateway route table.

*/ inline void SetTransitGatewayRouteTable(AnalysisComponent&& value) { m_transitGatewayRouteTableHasBeenSet = true; m_transitGatewayRouteTable = std::move(value); } /** *

The transit gateway route table.

*/ inline Explanation& WithTransitGatewayRouteTable(const AnalysisComponent& value) { SetTransitGatewayRouteTable(value); return *this;} /** *

The transit gateway route table.

*/ inline Explanation& WithTransitGatewayRouteTable(AnalysisComponent&& value) { SetTransitGatewayRouteTable(std::move(value)); return *this;} /** *

The transit gateway route table route.

*/ inline const TransitGatewayRouteTableRoute& GetTransitGatewayRouteTableRoute() const{ return m_transitGatewayRouteTableRoute; } /** *

The transit gateway route table route.

*/ inline bool TransitGatewayRouteTableRouteHasBeenSet() const { return m_transitGatewayRouteTableRouteHasBeenSet; } /** *

The transit gateway route table route.

*/ inline void SetTransitGatewayRouteTableRoute(const TransitGatewayRouteTableRoute& value) { m_transitGatewayRouteTableRouteHasBeenSet = true; m_transitGatewayRouteTableRoute = value; } /** *

The transit gateway route table route.

*/ inline void SetTransitGatewayRouteTableRoute(TransitGatewayRouteTableRoute&& value) { m_transitGatewayRouteTableRouteHasBeenSet = true; m_transitGatewayRouteTableRoute = std::move(value); } /** *

The transit gateway route table route.

*/ inline Explanation& WithTransitGatewayRouteTableRoute(const TransitGatewayRouteTableRoute& value) { SetTransitGatewayRouteTableRoute(value); return *this;} /** *

The transit gateway route table route.

*/ inline Explanation& WithTransitGatewayRouteTableRoute(TransitGatewayRouteTableRoute&& value) { SetTransitGatewayRouteTableRoute(std::move(value)); return *this;} /** *

The transit gateway attachment.

*/ inline const AnalysisComponent& GetTransitGatewayAttachment() const{ return m_transitGatewayAttachment; } /** *

The transit gateway attachment.

*/ inline bool TransitGatewayAttachmentHasBeenSet() const { return m_transitGatewayAttachmentHasBeenSet; } /** *

The transit gateway attachment.

*/ inline void SetTransitGatewayAttachment(const AnalysisComponent& value) { m_transitGatewayAttachmentHasBeenSet = true; m_transitGatewayAttachment = value; } /** *

The transit gateway attachment.

*/ inline void SetTransitGatewayAttachment(AnalysisComponent&& value) { m_transitGatewayAttachmentHasBeenSet = true; m_transitGatewayAttachment = std::move(value); } /** *

The transit gateway attachment.

*/ inline Explanation& WithTransitGatewayAttachment(const AnalysisComponent& value) { SetTransitGatewayAttachment(value); return *this;} /** *

The transit gateway attachment.

*/ inline Explanation& WithTransitGatewayAttachment(AnalysisComponent&& value) { SetTransitGatewayAttachment(std::move(value)); return *this;} /** *

The Amazon Web Services account for the component.

*/ inline const Aws::String& GetComponentAccount() const{ return m_componentAccount; } /** *

The Amazon Web Services account for the component.

*/ inline bool ComponentAccountHasBeenSet() const { return m_componentAccountHasBeenSet; } /** *

The Amazon Web Services account for the component.

*/ inline void SetComponentAccount(const Aws::String& value) { m_componentAccountHasBeenSet = true; m_componentAccount = value; } /** *

The Amazon Web Services account for the component.

*/ inline void SetComponentAccount(Aws::String&& value) { m_componentAccountHasBeenSet = true; m_componentAccount = std::move(value); } /** *

The Amazon Web Services account for the component.

*/ inline void SetComponentAccount(const char* value) { m_componentAccountHasBeenSet = true; m_componentAccount.assign(value); } /** *

The Amazon Web Services account for the component.

*/ inline Explanation& WithComponentAccount(const Aws::String& value) { SetComponentAccount(value); return *this;} /** *

The Amazon Web Services account for the component.

*/ inline Explanation& WithComponentAccount(Aws::String&& value) { SetComponentAccount(std::move(value)); return *this;} /** *

The Amazon Web Services account for the component.

*/ inline Explanation& WithComponentAccount(const char* value) { SetComponentAccount(value); return *this;} /** *

The Region for the component.

*/ inline const Aws::String& GetComponentRegion() const{ return m_componentRegion; } /** *

The Region for the component.

*/ inline bool ComponentRegionHasBeenSet() const { return m_componentRegionHasBeenSet; } /** *

The Region for the component.

*/ inline void SetComponentRegion(const Aws::String& value) { m_componentRegionHasBeenSet = true; m_componentRegion = value; } /** *

The Region for the component.

*/ inline void SetComponentRegion(Aws::String&& value) { m_componentRegionHasBeenSet = true; m_componentRegion = std::move(value); } /** *

The Region for the component.

*/ inline void SetComponentRegion(const char* value) { m_componentRegionHasBeenSet = true; m_componentRegion.assign(value); } /** *

The Region for the component.

*/ inline Explanation& WithComponentRegion(const Aws::String& value) { SetComponentRegion(value); return *this;} /** *

The Region for the component.

*/ inline Explanation& WithComponentRegion(Aws::String&& value) { SetComponentRegion(std::move(value)); return *this;} /** *

The Region for the component.

*/ inline Explanation& WithComponentRegion(const char* value) { SetComponentRegion(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 Explanation& WithFirewallStatelessRule(const FirewallStatelessRule& value) { SetFirewallStatelessRule(value); return *this;} /** *

The Network Firewall stateless rule.

*/ inline Explanation& 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 Explanation& WithFirewallStatefulRule(const FirewallStatefulRule& value) { SetFirewallStatefulRule(value); return *this;} /** *

The Network Firewall stateful rule.

*/ inline Explanation& WithFirewallStatefulRule(FirewallStatefulRule&& value) { SetFirewallStatefulRule(std::move(value)); return *this;} private: AnalysisComponent m_acl; bool m_aclHasBeenSet = false; AnalysisAclRule m_aclRule; bool m_aclRuleHasBeenSet = false; Aws::String m_address; bool m_addressHasBeenSet = false; Aws::Vector m_addresses; bool m_addressesHasBeenSet = false; AnalysisComponent m_attachedTo; bool m_attachedToHasBeenSet = false; Aws::Vector m_availabilityZones; bool m_availabilityZonesHasBeenSet = false; Aws::Vector m_cidrs; bool m_cidrsHasBeenSet = false; AnalysisComponent m_component; bool m_componentHasBeenSet = false; AnalysisComponent m_customerGateway; bool m_customerGatewayHasBeenSet = false; AnalysisComponent m_destination; bool m_destinationHasBeenSet = false; AnalysisComponent m_destinationVpc; bool m_destinationVpcHasBeenSet = false; Aws::String m_direction; bool m_directionHasBeenSet = false; Aws::String m_explanationCode; bool m_explanationCodeHasBeenSet = false; AnalysisComponent m_ingressRouteTable; bool m_ingressRouteTableHasBeenSet = false; AnalysisComponent m_internetGateway; bool m_internetGatewayHasBeenSet = false; Aws::String m_loadBalancerArn; bool m_loadBalancerArnHasBeenSet = false; AnalysisLoadBalancerListener m_classicLoadBalancerListener; bool m_classicLoadBalancerListenerHasBeenSet = false; int m_loadBalancerListenerPort; bool m_loadBalancerListenerPortHasBeenSet = false; AnalysisLoadBalancerTarget m_loadBalancerTarget; bool m_loadBalancerTargetHasBeenSet = false; AnalysisComponent m_loadBalancerTargetGroup; bool m_loadBalancerTargetGroupHasBeenSet = false; Aws::Vector m_loadBalancerTargetGroups; bool m_loadBalancerTargetGroupsHasBeenSet = false; int m_loadBalancerTargetPort; bool m_loadBalancerTargetPortHasBeenSet = false; AnalysisComponent m_elasticLoadBalancerListener; bool m_elasticLoadBalancerListenerHasBeenSet = false; Aws::String m_missingComponent; bool m_missingComponentHasBeenSet = false; AnalysisComponent m_natGateway; bool m_natGatewayHasBeenSet = false; AnalysisComponent m_networkInterface; bool m_networkInterfaceHasBeenSet = false; Aws::String m_packetField; bool m_packetFieldHasBeenSet = false; AnalysisComponent m_vpcPeeringConnection; bool m_vpcPeeringConnectionHasBeenSet = false; int m_port; bool m_portHasBeenSet = false; Aws::Vector m_portRanges; bool m_portRangesHasBeenSet = false; AnalysisComponent m_prefixList; bool m_prefixListHasBeenSet = false; Aws::Vector m_protocols; bool m_protocolsHasBeenSet = false; AnalysisRouteTableRoute m_routeTableRoute; bool m_routeTableRouteHasBeenSet = false; AnalysisComponent m_routeTable; bool m_routeTableHasBeenSet = false; AnalysisComponent m_securityGroup; bool m_securityGroupHasBeenSet = false; AnalysisSecurityGroupRule m_securityGroupRule; bool m_securityGroupRuleHasBeenSet = false; Aws::Vector m_securityGroups; bool m_securityGroupsHasBeenSet = false; AnalysisComponent m_sourceVpc; bool m_sourceVpcHasBeenSet = false; Aws::String m_state; bool m_stateHasBeenSet = false; AnalysisComponent m_subnet; bool m_subnetHasBeenSet = false; AnalysisComponent m_subnetRouteTable; bool m_subnetRouteTableHasBeenSet = false; AnalysisComponent m_vpc; bool m_vpcHasBeenSet = false; AnalysisComponent m_vpcEndpoint; bool m_vpcEndpointHasBeenSet = false; AnalysisComponent m_vpnConnection; bool m_vpnConnectionHasBeenSet = false; AnalysisComponent m_vpnGateway; bool m_vpnGatewayHasBeenSet = false; AnalysisComponent m_transitGateway; bool m_transitGatewayHasBeenSet = false; AnalysisComponent m_transitGatewayRouteTable; bool m_transitGatewayRouteTableHasBeenSet = false; TransitGatewayRouteTableRoute m_transitGatewayRouteTableRoute; bool m_transitGatewayRouteTableRouteHasBeenSet = false; AnalysisComponent m_transitGatewayAttachment; bool m_transitGatewayAttachmentHasBeenSet = false; Aws::String m_componentAccount; bool m_componentAccountHasBeenSet = false; Aws::String m_componentRegion; bool m_componentRegionHasBeenSet = false; FirewallStatelessRule m_firewallStatelessRule; bool m_firewallStatelessRuleHasBeenSet = false; FirewallStatefulRule m_firewallStatefulRule; bool m_firewallStatefulRuleHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws