/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.ec2.model; import java.io.Serializable; import javax.annotation.Generated; /** *
* Describes an explanation code for an unreachable path. For more information, see Reachability Analyzer explanation * codes. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Explanation implements Serializable, Cloneable { /** ** The network ACL. *
*/ private AnalysisComponent acl; /** ** The network ACL rule. *
*/ private AnalysisAclRule aclRule; /** ** The IPv4 address, in CIDR notation. *
*/ private String address; /** ** The IPv4 addresses, in CIDR notation. *
*/ private com.amazonaws.internal.SdkInternalList* The resource to which the component is attached. *
*/ private AnalysisComponent attachedTo; /** ** The Availability Zones. *
*/ private com.amazonaws.internal.SdkInternalList* The CIDR ranges. *
*/ private com.amazonaws.internal.SdkInternalList* The component. *
*/ private AnalysisComponent component; /** ** The customer gateway. *
*/ private AnalysisComponent customerGateway; /** ** The destination. *
*/ private AnalysisComponent destination; /** ** The destination VPC. *
*/ private AnalysisComponent destinationVpc; /** ** The direction. The following are the possible values: *
** egress *
** ingress *
** The explanation code. *
*/ private String explanationCode; /** ** The route table. *
*/ private AnalysisComponent ingressRouteTable; /** ** The internet gateway. *
*/ private AnalysisComponent internetGateway; /** ** The Amazon Resource Name (ARN) of the load balancer. *
*/ private String loadBalancerArn; /** ** The listener for a Classic Load Balancer. *
*/ private AnalysisLoadBalancerListener classicLoadBalancerListener; /** ** The listener port of the load balancer. *
*/ private Integer loadBalancerListenerPort; /** ** The target. *
*/ private AnalysisLoadBalancerTarget loadBalancerTarget; /** ** The target group. *
*/ private AnalysisComponent loadBalancerTargetGroup; /** ** The target groups. *
*/ private com.amazonaws.internal.SdkInternalList* The target port. *
*/ private Integer loadBalancerTargetPort; /** ** The load balancer listener. *
*/ private AnalysisComponent elasticLoadBalancerListener; /** ** The missing component. *
*/ private String missingComponent; /** ** The NAT gateway. *
*/ private AnalysisComponent natGateway; /** ** The network interface. *
*/ private AnalysisComponent networkInterface; /** ** The packet field. *
*/ private String packetField; /** ** The VPC peering connection. *
*/ private AnalysisComponent vpcPeeringConnection; /** ** The port. *
*/ private Integer port; /** ** The port ranges. *
*/ private com.amazonaws.internal.SdkInternalList* The prefix list. *
*/ private AnalysisComponent prefixList; /** ** The protocols. *
*/ private com.amazonaws.internal.SdkInternalList* The route table route. *
*/ private AnalysisRouteTableRoute routeTableRoute; /** ** The route table. *
*/ private AnalysisComponent routeTable; /** ** The security group. *
*/ private AnalysisComponent securityGroup; /** ** The security group rule. *
*/ private AnalysisSecurityGroupRule securityGroupRule; /** ** The security groups. *
*/ private com.amazonaws.internal.SdkInternalList* The source VPC. *
*/ private AnalysisComponent sourceVpc; /** ** The state. *
*/ private String state; /** ** The subnet. *
*/ private AnalysisComponent subnet; /** ** The route table for the subnet. *
*/ private AnalysisComponent subnetRouteTable; /** ** The component VPC. *
*/ private AnalysisComponent vpc; /** ** The VPC endpoint. *
*/ private AnalysisComponent vpcEndpoint; /** ** The VPN connection. *
*/ private AnalysisComponent vpnConnection; /** ** The VPN gateway. *
*/ private AnalysisComponent vpnGateway; /** ** The transit gateway. *
*/ private AnalysisComponent transitGateway; /** ** The transit gateway route table. *
*/ private AnalysisComponent transitGatewayRouteTable; /** ** The transit gateway route table route. *
*/ private TransitGatewayRouteTableRoute transitGatewayRouteTableRoute; /** ** The transit gateway attachment. *
*/ private AnalysisComponent transitGatewayAttachment; /** ** The Amazon Web Services account for the component. *
*/ private String componentAccount; /** ** The Region for the component. *
*/ private String componentRegion; /** ** The Network Firewall stateless rule. *
*/ private FirewallStatelessRule firewallStatelessRule; /** ** The Network Firewall stateful rule. *
*/ private FirewallStatefulRule firewallStatefulRule; /** ** The network ACL. *
* * @param acl * The network ACL. */ public void setAcl(AnalysisComponent acl) { this.acl = acl; } /** ** The network ACL. *
* * @return The network ACL. */ public AnalysisComponent getAcl() { return this.acl; } /** ** The network ACL. *
* * @param acl * The network ACL. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withAcl(AnalysisComponent acl) { setAcl(acl); return this; } /** ** The network ACL rule. *
* * @param aclRule * The network ACL rule. */ public void setAclRule(AnalysisAclRule aclRule) { this.aclRule = aclRule; } /** ** The network ACL rule. *
* * @return The network ACL rule. */ public AnalysisAclRule getAclRule() { return this.aclRule; } /** ** The network ACL rule. *
* * @param aclRule * The network ACL rule. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withAclRule(AnalysisAclRule aclRule) { setAclRule(aclRule); return this; } /** ** The IPv4 address, in CIDR notation. *
* * @param address * The IPv4 address, in CIDR notation. */ public void setAddress(String address) { this.address = address; } /** ** The IPv4 address, in CIDR notation. *
* * @return The IPv4 address, in CIDR notation. */ public String getAddress() { return this.address; } /** ** The IPv4 address, in CIDR notation. *
* * @param address * The IPv4 address, in CIDR notation. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withAddress(String address) { setAddress(address); return this; } /** ** The IPv4 addresses, in CIDR notation. *
* * @return The IPv4 addresses, in CIDR notation. */ public java.util.List* The IPv4 addresses, in CIDR notation. *
* * @param addresses * The IPv4 addresses, in CIDR notation. */ public void setAddresses(java.util.Collection* The IPv4 addresses, in CIDR notation. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setAddresses(java.util.Collection)} or {@link #withAddresses(java.util.Collection)} if you want to * override the existing values. *
* * @param addresses * The IPv4 addresses, in CIDR notation. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withAddresses(String... addresses) { if (this.addresses == null) { setAddresses(new com.amazonaws.internal.SdkInternalList* The IPv4 addresses, in CIDR notation. *
* * @param addresses * The IPv4 addresses, in CIDR notation. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withAddresses(java.util.Collection* The resource to which the component is attached. *
* * @param attachedTo * The resource to which the component is attached. */ public void setAttachedTo(AnalysisComponent attachedTo) { this.attachedTo = attachedTo; } /** ** The resource to which the component is attached. *
* * @return The resource to which the component is attached. */ public AnalysisComponent getAttachedTo() { return this.attachedTo; } /** ** The resource to which the component is attached. *
* * @param attachedTo * The resource to which the component is attached. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withAttachedTo(AnalysisComponent attachedTo) { setAttachedTo(attachedTo); return this; } /** ** The Availability Zones. *
* * @return The Availability Zones. */ public java.util.List* The Availability Zones. *
* * @param availabilityZones * The Availability Zones. */ public void setAvailabilityZones(java.util.Collection* The Availability Zones. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setAvailabilityZones(java.util.Collection)} or {@link #withAvailabilityZones(java.util.Collection)} if * you want to override the existing values. *
* * @param availabilityZones * The Availability Zones. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withAvailabilityZones(String... availabilityZones) { if (this.availabilityZones == null) { setAvailabilityZones(new com.amazonaws.internal.SdkInternalList* The Availability Zones. *
* * @param availabilityZones * The Availability Zones. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withAvailabilityZones(java.util.Collection* The CIDR ranges. *
* * @return The CIDR ranges. */ public java.util.List* The CIDR ranges. *
* * @param cidrs * The CIDR ranges. */ public void setCidrs(java.util.Collection* The CIDR ranges. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setCidrs(java.util.Collection)} or {@link #withCidrs(java.util.Collection)} if you want to override the * existing values. *
* * @param cidrs * The CIDR ranges. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withCidrs(String... cidrs) { if (this.cidrs == null) { setCidrs(new com.amazonaws.internal.SdkInternalList* The CIDR ranges. *
* * @param cidrs * The CIDR ranges. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withCidrs(java.util.Collection* The component. *
* * @param component * The component. */ public void setComponent(AnalysisComponent component) { this.component = component; } /** ** The component. *
* * @return The component. */ public AnalysisComponent getComponent() { return this.component; } /** ** The component. *
* * @param component * The component. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withComponent(AnalysisComponent component) { setComponent(component); return this; } /** ** The customer gateway. *
* * @param customerGateway * The customer gateway. */ public void setCustomerGateway(AnalysisComponent customerGateway) { this.customerGateway = customerGateway; } /** ** The customer gateway. *
* * @return The customer gateway. */ public AnalysisComponent getCustomerGateway() { return this.customerGateway; } /** ** The customer gateway. *
* * @param customerGateway * The customer gateway. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withCustomerGateway(AnalysisComponent customerGateway) { setCustomerGateway(customerGateway); return this; } /** ** The destination. *
* * @param destination * The destination. */ public void setDestination(AnalysisComponent destination) { this.destination = destination; } /** ** The destination. *
* * @return The destination. */ public AnalysisComponent getDestination() { return this.destination; } /** ** The destination. *
* * @param destination * The destination. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withDestination(AnalysisComponent destination) { setDestination(destination); return this; } /** ** The destination VPC. *
* * @param destinationVpc * The destination VPC. */ public void setDestinationVpc(AnalysisComponent destinationVpc) { this.destinationVpc = destinationVpc; } /** ** The destination VPC. *
* * @return The destination VPC. */ public AnalysisComponent getDestinationVpc() { return this.destinationVpc; } /** ** The destination VPC. *
* * @param destinationVpc * The destination VPC. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withDestinationVpc(AnalysisComponent destinationVpc) { setDestinationVpc(destinationVpc); return this; } /** ** The direction. The following are the possible values: *
** egress *
** ingress *
** egress *
** ingress *
** The direction. The following are the possible values: *
** egress *
** ingress *
** egress *
** ingress *
** The direction. The following are the possible values: *
** egress *
** ingress *
** egress *
** ingress *
** The explanation code. *
* * @param explanationCode * The explanation code. */ public void setExplanationCode(String explanationCode) { this.explanationCode = explanationCode; } /** ** The explanation code. *
* * @return The explanation code. */ public String getExplanationCode() { return this.explanationCode; } /** ** The explanation code. *
* * @param explanationCode * The explanation code. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withExplanationCode(String explanationCode) { setExplanationCode(explanationCode); return this; } /** ** The route table. *
* * @param ingressRouteTable * The route table. */ public void setIngressRouteTable(AnalysisComponent ingressRouteTable) { this.ingressRouteTable = ingressRouteTable; } /** ** The route table. *
* * @return The route table. */ public AnalysisComponent getIngressRouteTable() { return this.ingressRouteTable; } /** ** The route table. *
* * @param ingressRouteTable * The route table. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withIngressRouteTable(AnalysisComponent ingressRouteTable) { setIngressRouteTable(ingressRouteTable); return this; } /** ** The internet gateway. *
* * @param internetGateway * The internet gateway. */ public void setInternetGateway(AnalysisComponent internetGateway) { this.internetGateway = internetGateway; } /** ** The internet gateway. *
* * @return The internet gateway. */ public AnalysisComponent getInternetGateway() { return this.internetGateway; } /** ** The internet gateway. *
* * @param internetGateway * The internet gateway. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withInternetGateway(AnalysisComponent internetGateway) { setInternetGateway(internetGateway); return this; } /** ** The Amazon Resource Name (ARN) of the load balancer. *
* * @param loadBalancerArn * The Amazon Resource Name (ARN) of the load balancer. */ public void setLoadBalancerArn(String loadBalancerArn) { this.loadBalancerArn = loadBalancerArn; } /** ** The Amazon Resource Name (ARN) of the load balancer. *
* * @return The Amazon Resource Name (ARN) of the load balancer. */ public String getLoadBalancerArn() { return this.loadBalancerArn; } /** ** The Amazon Resource Name (ARN) of the load balancer. *
* * @param loadBalancerArn * The Amazon Resource Name (ARN) of the load balancer. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withLoadBalancerArn(String loadBalancerArn) { setLoadBalancerArn(loadBalancerArn); return this; } /** ** The listener for a Classic Load Balancer. *
* * @param classicLoadBalancerListener * The listener for a Classic Load Balancer. */ public void setClassicLoadBalancerListener(AnalysisLoadBalancerListener classicLoadBalancerListener) { this.classicLoadBalancerListener = classicLoadBalancerListener; } /** ** The listener for a Classic Load Balancer. *
* * @return The listener for a Classic Load Balancer. */ public AnalysisLoadBalancerListener getClassicLoadBalancerListener() { return this.classicLoadBalancerListener; } /** ** The listener for a Classic Load Balancer. *
* * @param classicLoadBalancerListener * The listener for a Classic Load Balancer. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withClassicLoadBalancerListener(AnalysisLoadBalancerListener classicLoadBalancerListener) { setClassicLoadBalancerListener(classicLoadBalancerListener); return this; } /** ** The listener port of the load balancer. *
* * @param loadBalancerListenerPort * The listener port of the load balancer. */ public void setLoadBalancerListenerPort(Integer loadBalancerListenerPort) { this.loadBalancerListenerPort = loadBalancerListenerPort; } /** ** The listener port of the load balancer. *
* * @return The listener port of the load balancer. */ public Integer getLoadBalancerListenerPort() { return this.loadBalancerListenerPort; } /** ** The listener port of the load balancer. *
* * @param loadBalancerListenerPort * The listener port of the load balancer. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withLoadBalancerListenerPort(Integer loadBalancerListenerPort) { setLoadBalancerListenerPort(loadBalancerListenerPort); return this; } /** ** The target. *
* * @param loadBalancerTarget * The target. */ public void setLoadBalancerTarget(AnalysisLoadBalancerTarget loadBalancerTarget) { this.loadBalancerTarget = loadBalancerTarget; } /** ** The target. *
* * @return The target. */ public AnalysisLoadBalancerTarget getLoadBalancerTarget() { return this.loadBalancerTarget; } /** ** The target. *
* * @param loadBalancerTarget * The target. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withLoadBalancerTarget(AnalysisLoadBalancerTarget loadBalancerTarget) { setLoadBalancerTarget(loadBalancerTarget); return this; } /** ** The target group. *
* * @param loadBalancerTargetGroup * The target group. */ public void setLoadBalancerTargetGroup(AnalysisComponent loadBalancerTargetGroup) { this.loadBalancerTargetGroup = loadBalancerTargetGroup; } /** ** The target group. *
* * @return The target group. */ public AnalysisComponent getLoadBalancerTargetGroup() { return this.loadBalancerTargetGroup; } /** ** The target group. *
* * @param loadBalancerTargetGroup * The target group. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withLoadBalancerTargetGroup(AnalysisComponent loadBalancerTargetGroup) { setLoadBalancerTargetGroup(loadBalancerTargetGroup); return this; } /** ** The target groups. *
* * @return The target groups. */ public java.util.List* The target groups. *
* * @param loadBalancerTargetGroups * The target groups. */ public void setLoadBalancerTargetGroups(java.util.Collection* The target groups. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setLoadBalancerTargetGroups(java.util.Collection)} or * {@link #withLoadBalancerTargetGroups(java.util.Collection)} if you want to override the existing values. *
* * @param loadBalancerTargetGroups * The target groups. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withLoadBalancerTargetGroups(AnalysisComponent... loadBalancerTargetGroups) { if (this.loadBalancerTargetGroups == null) { setLoadBalancerTargetGroups(new com.amazonaws.internal.SdkInternalList* The target groups. *
* * @param loadBalancerTargetGroups * The target groups. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withLoadBalancerTargetGroups(java.util.Collection* The target port. *
* * @param loadBalancerTargetPort * The target port. */ public void setLoadBalancerTargetPort(Integer loadBalancerTargetPort) { this.loadBalancerTargetPort = loadBalancerTargetPort; } /** ** The target port. *
* * @return The target port. */ public Integer getLoadBalancerTargetPort() { return this.loadBalancerTargetPort; } /** ** The target port. *
* * @param loadBalancerTargetPort * The target port. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withLoadBalancerTargetPort(Integer loadBalancerTargetPort) { setLoadBalancerTargetPort(loadBalancerTargetPort); return this; } /** ** The load balancer listener. *
* * @param elasticLoadBalancerListener * The load balancer listener. */ public void setElasticLoadBalancerListener(AnalysisComponent elasticLoadBalancerListener) { this.elasticLoadBalancerListener = elasticLoadBalancerListener; } /** ** The load balancer listener. *
* * @return The load balancer listener. */ public AnalysisComponent getElasticLoadBalancerListener() { return this.elasticLoadBalancerListener; } /** ** The load balancer listener. *
* * @param elasticLoadBalancerListener * The load balancer listener. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withElasticLoadBalancerListener(AnalysisComponent elasticLoadBalancerListener) { setElasticLoadBalancerListener(elasticLoadBalancerListener); return this; } /** ** The missing component. *
* * @param missingComponent * The missing component. */ public void setMissingComponent(String missingComponent) { this.missingComponent = missingComponent; } /** ** The missing component. *
* * @return The missing component. */ public String getMissingComponent() { return this.missingComponent; } /** ** The missing component. *
* * @param missingComponent * The missing component. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withMissingComponent(String missingComponent) { setMissingComponent(missingComponent); return this; } /** ** The NAT gateway. *
* * @param natGateway * The NAT gateway. */ public void setNatGateway(AnalysisComponent natGateway) { this.natGateway = natGateway; } /** ** The NAT gateway. *
* * @return The NAT gateway. */ public AnalysisComponent getNatGateway() { return this.natGateway; } /** ** The NAT gateway. *
* * @param natGateway * The NAT gateway. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withNatGateway(AnalysisComponent natGateway) { setNatGateway(natGateway); return this; } /** ** The network interface. *
* * @param networkInterface * The network interface. */ public void setNetworkInterface(AnalysisComponent networkInterface) { this.networkInterface = networkInterface; } /** ** The network interface. *
* * @return The network interface. */ public AnalysisComponent getNetworkInterface() { return this.networkInterface; } /** ** The network interface. *
* * @param networkInterface * The network interface. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withNetworkInterface(AnalysisComponent networkInterface) { setNetworkInterface(networkInterface); return this; } /** ** The packet field. *
* * @param packetField * The packet field. */ public void setPacketField(String packetField) { this.packetField = packetField; } /** ** The packet field. *
* * @return The packet field. */ public String getPacketField() { return this.packetField; } /** ** The packet field. *
* * @param packetField * The packet field. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withPacketField(String packetField) { setPacketField(packetField); return this; } /** ** The VPC peering connection. *
* * @param vpcPeeringConnection * The VPC peering connection. */ public void setVpcPeeringConnection(AnalysisComponent vpcPeeringConnection) { this.vpcPeeringConnection = vpcPeeringConnection; } /** ** The VPC peering connection. *
* * @return The VPC peering connection. */ public AnalysisComponent getVpcPeeringConnection() { return this.vpcPeeringConnection; } /** ** The VPC peering connection. *
* * @param vpcPeeringConnection * The VPC peering connection. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withVpcPeeringConnection(AnalysisComponent vpcPeeringConnection) { setVpcPeeringConnection(vpcPeeringConnection); return this; } /** ** The port. *
* * @param port * The port. */ public void setPort(Integer port) { this.port = port; } /** ** The port. *
* * @return The port. */ public Integer getPort() { return this.port; } /** ** The port. *
* * @param port * The port. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withPort(Integer port) { setPort(port); return this; } /** ** The port ranges. *
* * @return The port ranges. */ public java.util.List* The port ranges. *
* * @param portRanges * The port ranges. */ public void setPortRanges(java.util.Collection* The port ranges. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setPortRanges(java.util.Collection)} or {@link #withPortRanges(java.util.Collection)} if you want to * override the existing values. *
* * @param portRanges * The port ranges. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withPortRanges(PortRange... portRanges) { if (this.portRanges == null) { setPortRanges(new com.amazonaws.internal.SdkInternalList* The port ranges. *
* * @param portRanges * The port ranges. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withPortRanges(java.util.Collection* The prefix list. *
* * @param prefixList * The prefix list. */ public void setPrefixList(AnalysisComponent prefixList) { this.prefixList = prefixList; } /** ** The prefix list. *
* * @return The prefix list. */ public AnalysisComponent getPrefixList() { return this.prefixList; } /** ** The prefix list. *
* * @param prefixList * The prefix list. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withPrefixList(AnalysisComponent prefixList) { setPrefixList(prefixList); return this; } /** ** The protocols. *
* * @return The protocols. */ public java.util.List* The protocols. *
* * @param protocols * The protocols. */ public void setProtocols(java.util.Collection* The protocols. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setProtocols(java.util.Collection)} or {@link #withProtocols(java.util.Collection)} if you want to * override the existing values. *
* * @param protocols * The protocols. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withProtocols(String... protocols) { if (this.protocols == null) { setProtocols(new com.amazonaws.internal.SdkInternalList* The protocols. *
* * @param protocols * The protocols. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withProtocols(java.util.Collection* The route table route. *
* * @param routeTableRoute * The route table route. */ public void setRouteTableRoute(AnalysisRouteTableRoute routeTableRoute) { this.routeTableRoute = routeTableRoute; } /** ** The route table route. *
* * @return The route table route. */ public AnalysisRouteTableRoute getRouteTableRoute() { return this.routeTableRoute; } /** ** The route table route. *
* * @param routeTableRoute * The route table route. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withRouteTableRoute(AnalysisRouteTableRoute routeTableRoute) { setRouteTableRoute(routeTableRoute); return this; } /** ** The route table. *
* * @param routeTable * The route table. */ public void setRouteTable(AnalysisComponent routeTable) { this.routeTable = routeTable; } /** ** The route table. *
* * @return The route table. */ public AnalysisComponent getRouteTable() { return this.routeTable; } /** ** The route table. *
* * @param routeTable * The route table. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withRouteTable(AnalysisComponent routeTable) { setRouteTable(routeTable); return this; } /** ** The security group. *
* * @param securityGroup * The security group. */ public void setSecurityGroup(AnalysisComponent securityGroup) { this.securityGroup = securityGroup; } /** ** The security group. *
* * @return The security group. */ public AnalysisComponent getSecurityGroup() { return this.securityGroup; } /** ** The security group. *
* * @param securityGroup * The security group. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withSecurityGroup(AnalysisComponent securityGroup) { setSecurityGroup(securityGroup); return this; } /** ** The security group rule. *
* * @param securityGroupRule * The security group rule. */ public void setSecurityGroupRule(AnalysisSecurityGroupRule securityGroupRule) { this.securityGroupRule = securityGroupRule; } /** ** The security group rule. *
* * @return The security group rule. */ public AnalysisSecurityGroupRule getSecurityGroupRule() { return this.securityGroupRule; } /** ** The security group rule. *
* * @param securityGroupRule * The security group rule. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withSecurityGroupRule(AnalysisSecurityGroupRule securityGroupRule) { setSecurityGroupRule(securityGroupRule); return this; } /** ** The security groups. *
* * @return The security groups. */ public java.util.List* The security groups. *
* * @param securityGroups * The security groups. */ public void setSecurityGroups(java.util.Collection* The security groups. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setSecurityGroups(java.util.Collection)} or {@link #withSecurityGroups(java.util.Collection)} if you want * to override the existing values. *
* * @param securityGroups * The security groups. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withSecurityGroups(AnalysisComponent... securityGroups) { if (this.securityGroups == null) { setSecurityGroups(new com.amazonaws.internal.SdkInternalList* The security groups. *
* * @param securityGroups * The security groups. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withSecurityGroups(java.util.Collection* The source VPC. *
* * @param sourceVpc * The source VPC. */ public void setSourceVpc(AnalysisComponent sourceVpc) { this.sourceVpc = sourceVpc; } /** ** The source VPC. *
* * @return The source VPC. */ public AnalysisComponent getSourceVpc() { return this.sourceVpc; } /** ** The source VPC. *
* * @param sourceVpc * The source VPC. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withSourceVpc(AnalysisComponent sourceVpc) { setSourceVpc(sourceVpc); return this; } /** ** The state. *
* * @param state * The state. */ public void setState(String state) { this.state = state; } /** ** The state. *
* * @return The state. */ public String getState() { return this.state; } /** ** The state. *
* * @param state * The state. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withState(String state) { setState(state); return this; } /** ** The subnet. *
* * @param subnet * The subnet. */ public void setSubnet(AnalysisComponent subnet) { this.subnet = subnet; } /** ** The subnet. *
* * @return The subnet. */ public AnalysisComponent getSubnet() { return this.subnet; } /** ** The subnet. *
* * @param subnet * The subnet. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withSubnet(AnalysisComponent subnet) { setSubnet(subnet); return this; } /** ** The route table for the subnet. *
* * @param subnetRouteTable * The route table for the subnet. */ public void setSubnetRouteTable(AnalysisComponent subnetRouteTable) { this.subnetRouteTable = subnetRouteTable; } /** ** The route table for the subnet. *
* * @return The route table for the subnet. */ public AnalysisComponent getSubnetRouteTable() { return this.subnetRouteTable; } /** ** The route table for the subnet. *
* * @param subnetRouteTable * The route table for the subnet. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withSubnetRouteTable(AnalysisComponent subnetRouteTable) { setSubnetRouteTable(subnetRouteTable); return this; } /** ** The component VPC. *
* * @param vpc * The component VPC. */ public void setVpc(AnalysisComponent vpc) { this.vpc = vpc; } /** ** The component VPC. *
* * @return The component VPC. */ public AnalysisComponent getVpc() { return this.vpc; } /** ** The component VPC. *
* * @param vpc * The component VPC. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withVpc(AnalysisComponent vpc) { setVpc(vpc); return this; } /** ** The VPC endpoint. *
* * @param vpcEndpoint * The VPC endpoint. */ public void setVpcEndpoint(AnalysisComponent vpcEndpoint) { this.vpcEndpoint = vpcEndpoint; } /** ** The VPC endpoint. *
* * @return The VPC endpoint. */ public AnalysisComponent getVpcEndpoint() { return this.vpcEndpoint; } /** ** The VPC endpoint. *
* * @param vpcEndpoint * The VPC endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withVpcEndpoint(AnalysisComponent vpcEndpoint) { setVpcEndpoint(vpcEndpoint); return this; } /** ** The VPN connection. *
* * @param vpnConnection * The VPN connection. */ public void setVpnConnection(AnalysisComponent vpnConnection) { this.vpnConnection = vpnConnection; } /** ** The VPN connection. *
* * @return The VPN connection. */ public AnalysisComponent getVpnConnection() { return this.vpnConnection; } /** ** The VPN connection. *
* * @param vpnConnection * The VPN connection. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withVpnConnection(AnalysisComponent vpnConnection) { setVpnConnection(vpnConnection); return this; } /** ** The VPN gateway. *
* * @param vpnGateway * The VPN gateway. */ public void setVpnGateway(AnalysisComponent vpnGateway) { this.vpnGateway = vpnGateway; } /** ** The VPN gateway. *
* * @return The VPN gateway. */ public AnalysisComponent getVpnGateway() { return this.vpnGateway; } /** ** The VPN gateway. *
* * @param vpnGateway * The VPN gateway. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withVpnGateway(AnalysisComponent vpnGateway) { setVpnGateway(vpnGateway); return this; } /** ** The transit gateway. *
* * @param transitGateway * The transit gateway. */ public void setTransitGateway(AnalysisComponent transitGateway) { this.transitGateway = transitGateway; } /** ** The transit gateway. *
* * @return The transit gateway. */ public AnalysisComponent getTransitGateway() { return this.transitGateway; } /** ** The transit gateway. *
* * @param transitGateway * The transit gateway. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withTransitGateway(AnalysisComponent transitGateway) { setTransitGateway(transitGateway); return this; } /** ** The transit gateway route table. *
* * @param transitGatewayRouteTable * The transit gateway route table. */ public void setTransitGatewayRouteTable(AnalysisComponent transitGatewayRouteTable) { this.transitGatewayRouteTable = transitGatewayRouteTable; } /** ** The transit gateway route table. *
* * @return The transit gateway route table. */ public AnalysisComponent getTransitGatewayRouteTable() { return this.transitGatewayRouteTable; } /** ** The transit gateway route table. *
* * @param transitGatewayRouteTable * The transit gateway route table. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withTransitGatewayRouteTable(AnalysisComponent transitGatewayRouteTable) { setTransitGatewayRouteTable(transitGatewayRouteTable); return this; } /** ** The transit gateway route table route. *
* * @param transitGatewayRouteTableRoute * The transit gateway route table route. */ public void setTransitGatewayRouteTableRoute(TransitGatewayRouteTableRoute transitGatewayRouteTableRoute) { this.transitGatewayRouteTableRoute = transitGatewayRouteTableRoute; } /** ** The transit gateway route table route. *
* * @return The transit gateway route table route. */ public TransitGatewayRouteTableRoute getTransitGatewayRouteTableRoute() { return this.transitGatewayRouteTableRoute; } /** ** The transit gateway route table route. *
* * @param transitGatewayRouteTableRoute * The transit gateway route table route. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withTransitGatewayRouteTableRoute(TransitGatewayRouteTableRoute transitGatewayRouteTableRoute) { setTransitGatewayRouteTableRoute(transitGatewayRouteTableRoute); return this; } /** ** The transit gateway attachment. *
* * @param transitGatewayAttachment * The transit gateway attachment. */ public void setTransitGatewayAttachment(AnalysisComponent transitGatewayAttachment) { this.transitGatewayAttachment = transitGatewayAttachment; } /** ** The transit gateway attachment. *
* * @return The transit gateway attachment. */ public AnalysisComponent getTransitGatewayAttachment() { return this.transitGatewayAttachment; } /** ** The transit gateway attachment. *
* * @param transitGatewayAttachment * The transit gateway attachment. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withTransitGatewayAttachment(AnalysisComponent transitGatewayAttachment) { setTransitGatewayAttachment(transitGatewayAttachment); return this; } /** ** The Amazon Web Services account for the component. *
* * @param componentAccount * The Amazon Web Services account for the component. */ public void setComponentAccount(String componentAccount) { this.componentAccount = componentAccount; } /** ** The Amazon Web Services account for the component. *
* * @return The Amazon Web Services account for the component. */ public String getComponentAccount() { return this.componentAccount; } /** ** The Amazon Web Services account for the component. *
* * @param componentAccount * The Amazon Web Services account for the component. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withComponentAccount(String componentAccount) { setComponentAccount(componentAccount); return this; } /** ** The Region for the component. *
* * @param componentRegion * The Region for the component. */ public void setComponentRegion(String componentRegion) { this.componentRegion = componentRegion; } /** ** The Region for the component. *
* * @return The Region for the component. */ public String getComponentRegion() { return this.componentRegion; } /** ** The Region for the component. *
* * @param componentRegion * The Region for the component. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withComponentRegion(String componentRegion) { setComponentRegion(componentRegion); return this; } /** ** The Network Firewall stateless rule. *
* * @param firewallStatelessRule * The Network Firewall stateless rule. */ public void setFirewallStatelessRule(FirewallStatelessRule firewallStatelessRule) { this.firewallStatelessRule = firewallStatelessRule; } /** ** The Network Firewall stateless rule. *
* * @return The Network Firewall stateless rule. */ public FirewallStatelessRule getFirewallStatelessRule() { return this.firewallStatelessRule; } /** ** The Network Firewall stateless rule. *
* * @param firewallStatelessRule * The Network Firewall stateless rule. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withFirewallStatelessRule(FirewallStatelessRule firewallStatelessRule) { setFirewallStatelessRule(firewallStatelessRule); return this; } /** ** The Network Firewall stateful rule. *
* * @param firewallStatefulRule * The Network Firewall stateful rule. */ public void setFirewallStatefulRule(FirewallStatefulRule firewallStatefulRule) { this.firewallStatefulRule = firewallStatefulRule; } /** ** The Network Firewall stateful rule. *
* * @return The Network Firewall stateful rule. */ public FirewallStatefulRule getFirewallStatefulRule() { return this.firewallStatefulRule; } /** ** The Network Firewall stateful rule. *
* * @param firewallStatefulRule * The Network Firewall stateful rule. * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withFirewallStatefulRule(FirewallStatefulRule firewallStatefulRule) { setFirewallStatefulRule(firewallStatefulRule); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getAcl() != null) sb.append("Acl: ").append(getAcl()).append(","); if (getAclRule() != null) sb.append("AclRule: ").append(getAclRule()).append(","); if (getAddress() != null) sb.append("Address: ").append(getAddress()).append(","); if (getAddresses() != null) sb.append("Addresses: ").append(getAddresses()).append(","); if (getAttachedTo() != null) sb.append("AttachedTo: ").append(getAttachedTo()).append(","); if (getAvailabilityZones() != null) sb.append("AvailabilityZones: ").append(getAvailabilityZones()).append(","); if (getCidrs() != null) sb.append("Cidrs: ").append(getCidrs()).append(","); if (getComponent() != null) sb.append("Component: ").append(getComponent()).append(","); if (getCustomerGateway() != null) sb.append("CustomerGateway: ").append(getCustomerGateway()).append(","); if (getDestination() != null) sb.append("Destination: ").append(getDestination()).append(","); if (getDestinationVpc() != null) sb.append("DestinationVpc: ").append(getDestinationVpc()).append(","); if (getDirection() != null) sb.append("Direction: ").append(getDirection()).append(","); if (getExplanationCode() != null) sb.append("ExplanationCode: ").append(getExplanationCode()).append(","); if (getIngressRouteTable() != null) sb.append("IngressRouteTable: ").append(getIngressRouteTable()).append(","); if (getInternetGateway() != null) sb.append("InternetGateway: ").append(getInternetGateway()).append(","); if (getLoadBalancerArn() != null) sb.append("LoadBalancerArn: ").append(getLoadBalancerArn()).append(","); if (getClassicLoadBalancerListener() != null) sb.append("ClassicLoadBalancerListener: ").append(getClassicLoadBalancerListener()).append(","); if (getLoadBalancerListenerPort() != null) sb.append("LoadBalancerListenerPort: ").append(getLoadBalancerListenerPort()).append(","); if (getLoadBalancerTarget() != null) sb.append("LoadBalancerTarget: ").append(getLoadBalancerTarget()).append(","); if (getLoadBalancerTargetGroup() != null) sb.append("LoadBalancerTargetGroup: ").append(getLoadBalancerTargetGroup()).append(","); if (getLoadBalancerTargetGroups() != null) sb.append("LoadBalancerTargetGroups: ").append(getLoadBalancerTargetGroups()).append(","); if (getLoadBalancerTargetPort() != null) sb.append("LoadBalancerTargetPort: ").append(getLoadBalancerTargetPort()).append(","); if (getElasticLoadBalancerListener() != null) sb.append("ElasticLoadBalancerListener: ").append(getElasticLoadBalancerListener()).append(","); if (getMissingComponent() != null) sb.append("MissingComponent: ").append(getMissingComponent()).append(","); if (getNatGateway() != null) sb.append("NatGateway: ").append(getNatGateway()).append(","); if (getNetworkInterface() != null) sb.append("NetworkInterface: ").append(getNetworkInterface()).append(","); if (getPacketField() != null) sb.append("PacketField: ").append(getPacketField()).append(","); if (getVpcPeeringConnection() != null) sb.append("VpcPeeringConnection: ").append(getVpcPeeringConnection()).append(","); if (getPort() != null) sb.append("Port: ").append(getPort()).append(","); if (getPortRanges() != null) sb.append("PortRanges: ").append(getPortRanges()).append(","); if (getPrefixList() != null) sb.append("PrefixList: ").append(getPrefixList()).append(","); if (getProtocols() != null) sb.append("Protocols: ").append(getProtocols()).append(","); if (getRouteTableRoute() != null) sb.append("RouteTableRoute: ").append(getRouteTableRoute()).append(","); if (getRouteTable() != null) sb.append("RouteTable: ").append(getRouteTable()).append(","); if (getSecurityGroup() != null) sb.append("SecurityGroup: ").append(getSecurityGroup()).append(","); if (getSecurityGroupRule() != null) sb.append("SecurityGroupRule: ").append(getSecurityGroupRule()).append(","); if (getSecurityGroups() != null) sb.append("SecurityGroups: ").append(getSecurityGroups()).append(","); if (getSourceVpc() != null) sb.append("SourceVpc: ").append(getSourceVpc()).append(","); if (getState() != null) sb.append("State: ").append(getState()).append(","); if (getSubnet() != null) sb.append("Subnet: ").append(getSubnet()).append(","); if (getSubnetRouteTable() != null) sb.append("SubnetRouteTable: ").append(getSubnetRouteTable()).append(","); if (getVpc() != null) sb.append("Vpc: ").append(getVpc()).append(","); if (getVpcEndpoint() != null) sb.append("VpcEndpoint: ").append(getVpcEndpoint()).append(","); if (getVpnConnection() != null) sb.append("VpnConnection: ").append(getVpnConnection()).append(","); if (getVpnGateway() != null) sb.append("VpnGateway: ").append(getVpnGateway()).append(","); if (getTransitGateway() != null) sb.append("TransitGateway: ").append(getTransitGateway()).append(","); if (getTransitGatewayRouteTable() != null) sb.append("TransitGatewayRouteTable: ").append(getTransitGatewayRouteTable()).append(","); if (getTransitGatewayRouteTableRoute() != null) sb.append("TransitGatewayRouteTableRoute: ").append(getTransitGatewayRouteTableRoute()).append(","); if (getTransitGatewayAttachment() != null) sb.append("TransitGatewayAttachment: ").append(getTransitGatewayAttachment()).append(","); if (getComponentAccount() != null) sb.append("ComponentAccount: ").append(getComponentAccount()).append(","); if (getComponentRegion() != null) sb.append("ComponentRegion: ").append(getComponentRegion()).append(","); if (getFirewallStatelessRule() != null) sb.append("FirewallStatelessRule: ").append(getFirewallStatelessRule()).append(","); if (getFirewallStatefulRule() != null) sb.append("FirewallStatefulRule: ").append(getFirewallStatefulRule()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof Explanation == false) return false; Explanation other = (Explanation) obj; if (other.getAcl() == null ^ this.getAcl() == null) return false; if (other.getAcl() != null && other.getAcl().equals(this.getAcl()) == false) return false; if (other.getAclRule() == null ^ this.getAclRule() == null) return false; if (other.getAclRule() != null && other.getAclRule().equals(this.getAclRule()) == false) return false; if (other.getAddress() == null ^ this.getAddress() == null) return false; if (other.getAddress() != null && other.getAddress().equals(this.getAddress()) == false) return false; if (other.getAddresses() == null ^ this.getAddresses() == null) return false; if (other.getAddresses() != null && other.getAddresses().equals(this.getAddresses()) == false) return false; if (other.getAttachedTo() == null ^ this.getAttachedTo() == null) return false; if (other.getAttachedTo() != null && other.getAttachedTo().equals(this.getAttachedTo()) == false) return false; if (other.getAvailabilityZones() == null ^ this.getAvailabilityZones() == null) return false; if (other.getAvailabilityZones() != null && other.getAvailabilityZones().equals(this.getAvailabilityZones()) == false) return false; if (other.getCidrs() == null ^ this.getCidrs() == null) return false; if (other.getCidrs() != null && other.getCidrs().equals(this.getCidrs()) == false) return false; if (other.getComponent() == null ^ this.getComponent() == null) return false; if (other.getComponent() != null && other.getComponent().equals(this.getComponent()) == false) return false; if (other.getCustomerGateway() == null ^ this.getCustomerGateway() == null) return false; if (other.getCustomerGateway() != null && other.getCustomerGateway().equals(this.getCustomerGateway()) == false) return false; if (other.getDestination() == null ^ this.getDestination() == null) return false; if (other.getDestination() != null && other.getDestination().equals(this.getDestination()) == false) return false; if (other.getDestinationVpc() == null ^ this.getDestinationVpc() == null) return false; if (other.getDestinationVpc() != null && other.getDestinationVpc().equals(this.getDestinationVpc()) == false) return false; if (other.getDirection() == null ^ this.getDirection() == null) return false; if (other.getDirection() != null && other.getDirection().equals(this.getDirection()) == false) return false; if (other.getExplanationCode() == null ^ this.getExplanationCode() == null) return false; if (other.getExplanationCode() != null && other.getExplanationCode().equals(this.getExplanationCode()) == false) return false; if (other.getIngressRouteTable() == null ^ this.getIngressRouteTable() == null) return false; if (other.getIngressRouteTable() != null && other.getIngressRouteTable().equals(this.getIngressRouteTable()) == false) return false; if (other.getInternetGateway() == null ^ this.getInternetGateway() == null) return false; if (other.getInternetGateway() != null && other.getInternetGateway().equals(this.getInternetGateway()) == false) return false; if (other.getLoadBalancerArn() == null ^ this.getLoadBalancerArn() == null) return false; if (other.getLoadBalancerArn() != null && other.getLoadBalancerArn().equals(this.getLoadBalancerArn()) == false) return false; if (other.getClassicLoadBalancerListener() == null ^ this.getClassicLoadBalancerListener() == null) return false; if (other.getClassicLoadBalancerListener() != null && other.getClassicLoadBalancerListener().equals(this.getClassicLoadBalancerListener()) == false) return false; if (other.getLoadBalancerListenerPort() == null ^ this.getLoadBalancerListenerPort() == null) return false; if (other.getLoadBalancerListenerPort() != null && other.getLoadBalancerListenerPort().equals(this.getLoadBalancerListenerPort()) == false) return false; if (other.getLoadBalancerTarget() == null ^ this.getLoadBalancerTarget() == null) return false; if (other.getLoadBalancerTarget() != null && other.getLoadBalancerTarget().equals(this.getLoadBalancerTarget()) == false) return false; if (other.getLoadBalancerTargetGroup() == null ^ this.getLoadBalancerTargetGroup() == null) return false; if (other.getLoadBalancerTargetGroup() != null && other.getLoadBalancerTargetGroup().equals(this.getLoadBalancerTargetGroup()) == false) return false; if (other.getLoadBalancerTargetGroups() == null ^ this.getLoadBalancerTargetGroups() == null) return false; if (other.getLoadBalancerTargetGroups() != null && other.getLoadBalancerTargetGroups().equals(this.getLoadBalancerTargetGroups()) == false) return false; if (other.getLoadBalancerTargetPort() == null ^ this.getLoadBalancerTargetPort() == null) return false; if (other.getLoadBalancerTargetPort() != null && other.getLoadBalancerTargetPort().equals(this.getLoadBalancerTargetPort()) == false) return false; if (other.getElasticLoadBalancerListener() == null ^ this.getElasticLoadBalancerListener() == null) return false; if (other.getElasticLoadBalancerListener() != null && other.getElasticLoadBalancerListener().equals(this.getElasticLoadBalancerListener()) == false) return false; if (other.getMissingComponent() == null ^ this.getMissingComponent() == null) return false; if (other.getMissingComponent() != null && other.getMissingComponent().equals(this.getMissingComponent()) == false) return false; if (other.getNatGateway() == null ^ this.getNatGateway() == null) return false; if (other.getNatGateway() != null && other.getNatGateway().equals(this.getNatGateway()) == false) return false; if (other.getNetworkInterface() == null ^ this.getNetworkInterface() == null) return false; if (other.getNetworkInterface() != null && other.getNetworkInterface().equals(this.getNetworkInterface()) == false) return false; if (other.getPacketField() == null ^ this.getPacketField() == null) return false; if (other.getPacketField() != null && other.getPacketField().equals(this.getPacketField()) == false) return false; if (other.getVpcPeeringConnection() == null ^ this.getVpcPeeringConnection() == null) return false; if (other.getVpcPeeringConnection() != null && other.getVpcPeeringConnection().equals(this.getVpcPeeringConnection()) == false) return false; if (other.getPort() == null ^ this.getPort() == null) return false; if (other.getPort() != null && other.getPort().equals(this.getPort()) == false) return false; if (other.getPortRanges() == null ^ this.getPortRanges() == null) return false; if (other.getPortRanges() != null && other.getPortRanges().equals(this.getPortRanges()) == false) return false; if (other.getPrefixList() == null ^ this.getPrefixList() == null) return false; if (other.getPrefixList() != null && other.getPrefixList().equals(this.getPrefixList()) == false) return false; if (other.getProtocols() == null ^ this.getProtocols() == null) return false; if (other.getProtocols() != null && other.getProtocols().equals(this.getProtocols()) == false) return false; if (other.getRouteTableRoute() == null ^ this.getRouteTableRoute() == null) return false; if (other.getRouteTableRoute() != null && other.getRouteTableRoute().equals(this.getRouteTableRoute()) == false) return false; if (other.getRouteTable() == null ^ this.getRouteTable() == null) return false; if (other.getRouteTable() != null && other.getRouteTable().equals(this.getRouteTable()) == false) return false; if (other.getSecurityGroup() == null ^ this.getSecurityGroup() == null) return false; if (other.getSecurityGroup() != null && other.getSecurityGroup().equals(this.getSecurityGroup()) == false) return false; if (other.getSecurityGroupRule() == null ^ this.getSecurityGroupRule() == null) return false; if (other.getSecurityGroupRule() != null && other.getSecurityGroupRule().equals(this.getSecurityGroupRule()) == false) return false; if (other.getSecurityGroups() == null ^ this.getSecurityGroups() == null) return false; if (other.getSecurityGroups() != null && other.getSecurityGroups().equals(this.getSecurityGroups()) == false) return false; if (other.getSourceVpc() == null ^ this.getSourceVpc() == null) return false; if (other.getSourceVpc() != null && other.getSourceVpc().equals(this.getSourceVpc()) == false) return false; if (other.getState() == null ^ this.getState() == null) return false; if (other.getState() != null && other.getState().equals(this.getState()) == false) return false; if (other.getSubnet() == null ^ this.getSubnet() == null) return false; if (other.getSubnet() != null && other.getSubnet().equals(this.getSubnet()) == false) return false; if (other.getSubnetRouteTable() == null ^ this.getSubnetRouteTable() == null) return false; if (other.getSubnetRouteTable() != null && other.getSubnetRouteTable().equals(this.getSubnetRouteTable()) == false) return false; if (other.getVpc() == null ^ this.getVpc() == null) return false; if (other.getVpc() != null && other.getVpc().equals(this.getVpc()) == false) return false; if (other.getVpcEndpoint() == null ^ this.getVpcEndpoint() == null) return false; if (other.getVpcEndpoint() != null && other.getVpcEndpoint().equals(this.getVpcEndpoint()) == false) return false; if (other.getVpnConnection() == null ^ this.getVpnConnection() == null) return false; if (other.getVpnConnection() != null && other.getVpnConnection().equals(this.getVpnConnection()) == false) return false; if (other.getVpnGateway() == null ^ this.getVpnGateway() == null) return false; if (other.getVpnGateway() != null && other.getVpnGateway().equals(this.getVpnGateway()) == false) return false; if (other.getTransitGateway() == null ^ this.getTransitGateway() == null) return false; if (other.getTransitGateway() != null && other.getTransitGateway().equals(this.getTransitGateway()) == false) return false; if (other.getTransitGatewayRouteTable() == null ^ this.getTransitGatewayRouteTable() == null) return false; if (other.getTransitGatewayRouteTable() != null && other.getTransitGatewayRouteTable().equals(this.getTransitGatewayRouteTable()) == false) return false; if (other.getTransitGatewayRouteTableRoute() == null ^ this.getTransitGatewayRouteTableRoute() == null) return false; if (other.getTransitGatewayRouteTableRoute() != null && other.getTransitGatewayRouteTableRoute().equals(this.getTransitGatewayRouteTableRoute()) == false) return false; if (other.getTransitGatewayAttachment() == null ^ this.getTransitGatewayAttachment() == null) return false; if (other.getTransitGatewayAttachment() != null && other.getTransitGatewayAttachment().equals(this.getTransitGatewayAttachment()) == false) return false; if (other.getComponentAccount() == null ^ this.getComponentAccount() == null) return false; if (other.getComponentAccount() != null && other.getComponentAccount().equals(this.getComponentAccount()) == false) return false; if (other.getComponentRegion() == null ^ this.getComponentRegion() == null) return false; if (other.getComponentRegion() != null && other.getComponentRegion().equals(this.getComponentRegion()) == false) return false; if (other.getFirewallStatelessRule() == null ^ this.getFirewallStatelessRule() == null) return false; if (other.getFirewallStatelessRule() != null && other.getFirewallStatelessRule().equals(this.getFirewallStatelessRule()) == false) return false; if (other.getFirewallStatefulRule() == null ^ this.getFirewallStatefulRule() == null) return false; if (other.getFirewallStatefulRule() != null && other.getFirewallStatefulRule().equals(this.getFirewallStatefulRule()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAcl() == null) ? 0 : getAcl().hashCode()); hashCode = prime * hashCode + ((getAclRule() == null) ? 0 : getAclRule().hashCode()); hashCode = prime * hashCode + ((getAddress() == null) ? 0 : getAddress().hashCode()); hashCode = prime * hashCode + ((getAddresses() == null) ? 0 : getAddresses().hashCode()); hashCode = prime * hashCode + ((getAttachedTo() == null) ? 0 : getAttachedTo().hashCode()); hashCode = prime * hashCode + ((getAvailabilityZones() == null) ? 0 : getAvailabilityZones().hashCode()); hashCode = prime * hashCode + ((getCidrs() == null) ? 0 : getCidrs().hashCode()); hashCode = prime * hashCode + ((getComponent() == null) ? 0 : getComponent().hashCode()); hashCode = prime * hashCode + ((getCustomerGateway() == null) ? 0 : getCustomerGateway().hashCode()); hashCode = prime * hashCode + ((getDestination() == null) ? 0 : getDestination().hashCode()); hashCode = prime * hashCode + ((getDestinationVpc() == null) ? 0 : getDestinationVpc().hashCode()); hashCode = prime * hashCode + ((getDirection() == null) ? 0 : getDirection().hashCode()); hashCode = prime * hashCode + ((getExplanationCode() == null) ? 0 : getExplanationCode().hashCode()); hashCode = prime * hashCode + ((getIngressRouteTable() == null) ? 0 : getIngressRouteTable().hashCode()); hashCode = prime * hashCode + ((getInternetGateway() == null) ? 0 : getInternetGateway().hashCode()); hashCode = prime * hashCode + ((getLoadBalancerArn() == null) ? 0 : getLoadBalancerArn().hashCode()); hashCode = prime * hashCode + ((getClassicLoadBalancerListener() == null) ? 0 : getClassicLoadBalancerListener().hashCode()); hashCode = prime * hashCode + ((getLoadBalancerListenerPort() == null) ? 0 : getLoadBalancerListenerPort().hashCode()); hashCode = prime * hashCode + ((getLoadBalancerTarget() == null) ? 0 : getLoadBalancerTarget().hashCode()); hashCode = prime * hashCode + ((getLoadBalancerTargetGroup() == null) ? 0 : getLoadBalancerTargetGroup().hashCode()); hashCode = prime * hashCode + ((getLoadBalancerTargetGroups() == null) ? 0 : getLoadBalancerTargetGroups().hashCode()); hashCode = prime * hashCode + ((getLoadBalancerTargetPort() == null) ? 0 : getLoadBalancerTargetPort().hashCode()); hashCode = prime * hashCode + ((getElasticLoadBalancerListener() == null) ? 0 : getElasticLoadBalancerListener().hashCode()); hashCode = prime * hashCode + ((getMissingComponent() == null) ? 0 : getMissingComponent().hashCode()); hashCode = prime * hashCode + ((getNatGateway() == null) ? 0 : getNatGateway().hashCode()); hashCode = prime * hashCode + ((getNetworkInterface() == null) ? 0 : getNetworkInterface().hashCode()); hashCode = prime * hashCode + ((getPacketField() == null) ? 0 : getPacketField().hashCode()); hashCode = prime * hashCode + ((getVpcPeeringConnection() == null) ? 0 : getVpcPeeringConnection().hashCode()); hashCode = prime * hashCode + ((getPort() == null) ? 0 : getPort().hashCode()); hashCode = prime * hashCode + ((getPortRanges() == null) ? 0 : getPortRanges().hashCode()); hashCode = prime * hashCode + ((getPrefixList() == null) ? 0 : getPrefixList().hashCode()); hashCode = prime * hashCode + ((getProtocols() == null) ? 0 : getProtocols().hashCode()); hashCode = prime * hashCode + ((getRouteTableRoute() == null) ? 0 : getRouteTableRoute().hashCode()); hashCode = prime * hashCode + ((getRouteTable() == null) ? 0 : getRouteTable().hashCode()); hashCode = prime * hashCode + ((getSecurityGroup() == null) ? 0 : getSecurityGroup().hashCode()); hashCode = prime * hashCode + ((getSecurityGroupRule() == null) ? 0 : getSecurityGroupRule().hashCode()); hashCode = prime * hashCode + ((getSecurityGroups() == null) ? 0 : getSecurityGroups().hashCode()); hashCode = prime * hashCode + ((getSourceVpc() == null) ? 0 : getSourceVpc().hashCode()); hashCode = prime * hashCode + ((getState() == null) ? 0 : getState().hashCode()); hashCode = prime * hashCode + ((getSubnet() == null) ? 0 : getSubnet().hashCode()); hashCode = prime * hashCode + ((getSubnetRouteTable() == null) ? 0 : getSubnetRouteTable().hashCode()); hashCode = prime * hashCode + ((getVpc() == null) ? 0 : getVpc().hashCode()); hashCode = prime * hashCode + ((getVpcEndpoint() == null) ? 0 : getVpcEndpoint().hashCode()); hashCode = prime * hashCode + ((getVpnConnection() == null) ? 0 : getVpnConnection().hashCode()); hashCode = prime * hashCode + ((getVpnGateway() == null) ? 0 : getVpnGateway().hashCode()); hashCode = prime * hashCode + ((getTransitGateway() == null) ? 0 : getTransitGateway().hashCode()); hashCode = prime * hashCode + ((getTransitGatewayRouteTable() == null) ? 0 : getTransitGatewayRouteTable().hashCode()); hashCode = prime * hashCode + ((getTransitGatewayRouteTableRoute() == null) ? 0 : getTransitGatewayRouteTableRoute().hashCode()); hashCode = prime * hashCode + ((getTransitGatewayAttachment() == null) ? 0 : getTransitGatewayAttachment().hashCode()); hashCode = prime * hashCode + ((getComponentAccount() == null) ? 0 : getComponentAccount().hashCode()); hashCode = prime * hashCode + ((getComponentRegion() == null) ? 0 : getComponentRegion().hashCode()); hashCode = prime * hashCode + ((getFirewallStatelessRule() == null) ? 0 : getFirewallStatelessRule().hashCode()); hashCode = prime * hashCode + ((getFirewallStatefulRule() == null) ? 0 : getFirewallStatefulRule().hashCode()); return hashCode; } @Override public Explanation clone() { try { return (Explanation) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }