All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.ec2.model.Explanation Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon EC2 module holds the client classes that are used for communicating with Amazon EC2 Service

The newest version!
/*
 * Copyright 2019-2024 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 addresses; /** *

* The resource to which the component is attached. *

*/ private AnalysisComponent attachedTo; /** *

* The Availability Zones. *

*/ private com.amazonaws.internal.SdkInternalList availabilityZones; /** *

* The CIDR ranges. *

*/ private com.amazonaws.internal.SdkInternalList cidrs; /** *

* 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 *

    *
  • *
*/ private String direction; /** *

* 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 loadBalancerTargetGroups; /** *

* 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 portRanges; /** *

* The prefix list. *

*/ private AnalysisComponent prefixList; /** *

* The protocols. *

*/ private com.amazonaws.internal.SdkInternalList protocols; /** *

* 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 securityGroups; /** *

* 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 getAddresses() { if (addresses == null) { addresses = new com.amazonaws.internal.SdkInternalList(); } return addresses; } /** *

* The IPv4 addresses, in CIDR notation. *

* * @param addresses * The IPv4 addresses, in CIDR notation. */ public void setAddresses(java.util.Collection addresses) { if (addresses == null) { this.addresses = null; return; } this.addresses = new com.amazonaws.internal.SdkInternalList(addresses); } /** *

* 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(addresses.length)); } for (String ele : addresses) { this.addresses.add(ele); } return this; } /** *

* 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 addresses) { setAddresses(addresses); return this; } /** *

* 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 getAvailabilityZones() { if (availabilityZones == null) { availabilityZones = new com.amazonaws.internal.SdkInternalList(); } return availabilityZones; } /** *

* The Availability Zones. *

* * @param availabilityZones * The Availability Zones. */ public void setAvailabilityZones(java.util.Collection availabilityZones) { if (availabilityZones == null) { this.availabilityZones = null; return; } this.availabilityZones = new com.amazonaws.internal.SdkInternalList(availabilityZones); } /** *

* 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(availabilityZones.length)); } for (String ele : availabilityZones) { this.availabilityZones.add(ele); } return this; } /** *

* 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 availabilityZones) { setAvailabilityZones(availabilityZones); return this; } /** *

* The CIDR ranges. *

* * @return The CIDR ranges. */ public java.util.List getCidrs() { if (cidrs == null) { cidrs = new com.amazonaws.internal.SdkInternalList(); } return cidrs; } /** *

* The CIDR ranges. *

* * @param cidrs * The CIDR ranges. */ public void setCidrs(java.util.Collection cidrs) { if (cidrs == null) { this.cidrs = null; return; } this.cidrs = new com.amazonaws.internal.SdkInternalList(cidrs); } /** *

* 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(cidrs.length)); } for (String ele : cidrs) { this.cidrs.add(ele); } return this; } /** *

* 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 cidrs) { setCidrs(cidrs); return this; } /** *

* 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 *

    *
  • *
* * @param direction * The direction. The following are the possible values:

*
    *
  • *

    * egress *

    *
  • *
  • *

    * ingress *

    *
  • */ public void setDirection(String direction) { this.direction = direction; } /** *

    * The direction. The following are the possible values: *

    *
      *
    • *

      * egress *

      *
    • *
    • *

      * ingress *

      *
    • *
    * * @return The direction. The following are the possible values:

    *
      *
    • *

      * egress *

      *
    • *
    • *

      * ingress *

      *
    • */ public String getDirection() { return this.direction; } /** *

      * The direction. The following are the possible values: *

      *
        *
      • *

        * egress *

        *
      • *
      • *

        * ingress *

        *
      • *
      * * @param direction * The direction. The following are the possible values:

      *
        *
      • *

        * egress *

        *
      • *
      • *

        * ingress *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. */ public Explanation withDirection(String direction) { setDirection(direction); return this; } /** *

        * 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 getLoadBalancerTargetGroups() { if (loadBalancerTargetGroups == null) { loadBalancerTargetGroups = new com.amazonaws.internal.SdkInternalList(); } return loadBalancerTargetGroups; } /** *

        * The target groups. *

        * * @param loadBalancerTargetGroups * The target groups. */ public void setLoadBalancerTargetGroups(java.util.Collection loadBalancerTargetGroups) { if (loadBalancerTargetGroups == null) { this.loadBalancerTargetGroups = null; return; } this.loadBalancerTargetGroups = new com.amazonaws.internal.SdkInternalList(loadBalancerTargetGroups); } /** *

        * 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(loadBalancerTargetGroups.length)); } for (AnalysisComponent ele : loadBalancerTargetGroups) { this.loadBalancerTargetGroups.add(ele); } return this; } /** *

        * 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 loadBalancerTargetGroups) { setLoadBalancerTargetGroups(loadBalancerTargetGroups); return this; } /** *

        * 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 getPortRanges() { if (portRanges == null) { portRanges = new com.amazonaws.internal.SdkInternalList(); } return portRanges; } /** *

        * The port ranges. *

        * * @param portRanges * The port ranges. */ public void setPortRanges(java.util.Collection portRanges) { if (portRanges == null) { this.portRanges = null; return; } this.portRanges = new com.amazonaws.internal.SdkInternalList(portRanges); } /** *

        * 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(portRanges.length)); } for (PortRange ele : portRanges) { this.portRanges.add(ele); } return this; } /** *

        * 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 portRanges) { setPortRanges(portRanges); return this; } /** *

        * 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 getProtocols() { if (protocols == null) { protocols = new com.amazonaws.internal.SdkInternalList(); } return protocols; } /** *

        * The protocols. *

        * * @param protocols * The protocols. */ public void setProtocols(java.util.Collection protocols) { if (protocols == null) { this.protocols = null; return; } this.protocols = new com.amazonaws.internal.SdkInternalList(protocols); } /** *

        * 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(protocols.length)); } for (String ele : protocols) { this.protocols.add(ele); } return this; } /** *

        * 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 protocols) { setProtocols(protocols); return this; } /** *

        * 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 getSecurityGroups() { if (securityGroups == null) { securityGroups = new com.amazonaws.internal.SdkInternalList(); } return securityGroups; } /** *

        * The security groups. *

        * * @param securityGroups * The security groups. */ public void setSecurityGroups(java.util.Collection securityGroups) { if (securityGroups == null) { this.securityGroups = null; return; } this.securityGroups = new com.amazonaws.internal.SdkInternalList(securityGroups); } /** *

        * 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(securityGroups.length)); } for (AnalysisComponent ele : securityGroups) { this.securityGroups.add(ele); } return this; } /** *

        * 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 securityGroups) { setSecurityGroups(securityGroups); return this; } /** *

        * 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); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy