/* * Copyright 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. */ /* * Do not modify this file. This file is generated from the ec2-2016-11-15.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.EC2.Model { /// /// Describes an explanation code for an unreachable path. For more information, see Reachability /// Analyzer explanation codes. /// public partial class Explanation { private AnalysisComponent _acl; private AnalysisAclRule _aclRule; private string _address; private List _addresses = new List(); private AnalysisComponent _attachedTo; private List _availabilityZones = new List(); private List _cidrs = new List(); private AnalysisLoadBalancerListener _classicLoadBalancerListener; private AnalysisComponent _component; private string _componentAccount; private string _componentRegion; private AnalysisComponent _customerGateway; private AnalysisComponent _destination; private AnalysisComponent _destinationVpc; private string _direction; private AnalysisComponent _elasticLoadBalancerListener; private string _explanationCode; private FirewallStatefulRule _firewallStatefulRule; private FirewallStatelessRule _firewallStatelessRule; private AnalysisComponent _ingressRouteTable; private AnalysisComponent _internetGateway; private string _loadBalancerArn; private int? _loadBalancerListenerPort; private AnalysisLoadBalancerTarget _loadBalancerTarget; private AnalysisComponent _loadBalancerTargetGroup; private List _loadBalancerTargetGroups = new List(); private int? _loadBalancerTargetPort; private string _missingComponent; private AnalysisComponent _natGateway; private AnalysisComponent _networkInterface; private string _packetField; private int? _port; private List _portRanges = new List(); private AnalysisComponent _prefixList; private List _protocols = new List(); private AnalysisComponent _routeTable; private AnalysisRouteTableRoute _routeTableRoute; private AnalysisComponent _securityGroup; private AnalysisSecurityGroupRule _securityGroupRule; private List _securityGroups = new List(); private AnalysisComponent _sourceVpc; private string _state; private AnalysisComponent _subnet; private AnalysisComponent _subnetRouteTable; private AnalysisComponent _transitGateway; private AnalysisComponent _transitGatewayAttachment; private AnalysisComponent _transitGatewayRouteTable; private TransitGatewayRouteTableRoute _transitGatewayRouteTableRoute; private AnalysisComponent _vpc; private AnalysisComponent _vpcEndpoint; private AnalysisComponent _vpcPeeringConnection; private AnalysisComponent _vpnConnection; private AnalysisComponent _vpnGateway; /// /// Gets and sets the property Acl. /// /// The network ACL. /// /// public AnalysisComponent Acl { get { return this._acl; } set { this._acl = value; } } // Check to see if Acl property is set internal bool IsSetAcl() { return this._acl != null; } /// /// Gets and sets the property AclRule. /// /// The network ACL rule. /// /// public AnalysisAclRule AclRule { get { return this._aclRule; } set { this._aclRule = value; } } // Check to see if AclRule property is set internal bool IsSetAclRule() { return this._aclRule != null; } /// /// Gets and sets the property Address. /// /// The IPv4 address, in CIDR notation. /// /// [AWSProperty(Min=0, Max=15)] public string Address { get { return this._address; } set { this._address = value; } } // Check to see if Address property is set internal bool IsSetAddress() { return this._address != null; } /// /// Gets and sets the property Addresses. /// /// The IPv4 addresses, in CIDR notation. /// /// public List Addresses { get { return this._addresses; } set { this._addresses = value; } } // Check to see if Addresses property is set internal bool IsSetAddresses() { return this._addresses != null && this._addresses.Count > 0; } /// /// Gets and sets the property AttachedTo. /// /// The resource to which the component is attached. /// /// public AnalysisComponent AttachedTo { get { return this._attachedTo; } set { this._attachedTo = value; } } // Check to see if AttachedTo property is set internal bool IsSetAttachedTo() { return this._attachedTo != null; } /// /// Gets and sets the property AvailabilityZones. /// /// The Availability Zones. /// /// public List AvailabilityZones { get { return this._availabilityZones; } set { this._availabilityZones = value; } } // Check to see if AvailabilityZones property is set internal bool IsSetAvailabilityZones() { return this._availabilityZones != null && this._availabilityZones.Count > 0; } /// /// Gets and sets the property Cidrs. /// /// The CIDR ranges. /// /// public List Cidrs { get { return this._cidrs; } set { this._cidrs = value; } } // Check to see if Cidrs property is set internal bool IsSetCidrs() { return this._cidrs != null && this._cidrs.Count > 0; } /// /// Gets and sets the property ClassicLoadBalancerListener. /// /// The listener for a Classic Load Balancer. /// /// public AnalysisLoadBalancerListener ClassicLoadBalancerListener { get { return this._classicLoadBalancerListener; } set { this._classicLoadBalancerListener = value; } } // Check to see if ClassicLoadBalancerListener property is set internal bool IsSetClassicLoadBalancerListener() { return this._classicLoadBalancerListener != null; } /// /// Gets and sets the property Component. /// /// The component. /// /// public AnalysisComponent Component { get { return this._component; } set { this._component = value; } } // Check to see if Component property is set internal bool IsSetComponent() { return this._component != null; } /// /// Gets and sets the property ComponentAccount. /// /// The Amazon Web Services account for the component. /// /// public string ComponentAccount { get { return this._componentAccount; } set { this._componentAccount = value; } } // Check to see if ComponentAccount property is set internal bool IsSetComponentAccount() { return this._componentAccount != null; } /// /// Gets and sets the property ComponentRegion. /// /// The Region for the component. /// /// public string ComponentRegion { get { return this._componentRegion; } set { this._componentRegion = value; } } // Check to see if ComponentRegion property is set internal bool IsSetComponentRegion() { return this._componentRegion != null; } /// /// Gets and sets the property CustomerGateway. /// /// The customer gateway. /// /// public AnalysisComponent CustomerGateway { get { return this._customerGateway; } set { this._customerGateway = value; } } // Check to see if CustomerGateway property is set internal bool IsSetCustomerGateway() { return this._customerGateway != null; } /// /// Gets and sets the property Destination. /// /// The destination. /// /// public AnalysisComponent Destination { get { return this._destination; } set { this._destination = value; } } // Check to see if Destination property is set internal bool IsSetDestination() { return this._destination != null; } /// /// Gets and sets the property DestinationVpc. /// /// The destination VPC. /// /// public AnalysisComponent DestinationVpc { get { return this._destinationVpc; } set { this._destinationVpc = value; } } // Check to see if DestinationVpc property is set internal bool IsSetDestinationVpc() { return this._destinationVpc != null; } /// /// Gets and sets the property Direction. /// /// The direction. The following are the possible values: /// ///
  • /// /// egress /// ///
  • /// /// ingress /// ///
///
public string Direction { get { return this._direction; } set { this._direction = value; } } // Check to see if Direction property is set internal bool IsSetDirection() { return this._direction != null; } /// /// Gets and sets the property ElasticLoadBalancerListener. /// /// The load balancer listener. /// /// public AnalysisComponent ElasticLoadBalancerListener { get { return this._elasticLoadBalancerListener; } set { this._elasticLoadBalancerListener = value; } } // Check to see if ElasticLoadBalancerListener property is set internal bool IsSetElasticLoadBalancerListener() { return this._elasticLoadBalancerListener != null; } /// /// Gets and sets the property ExplanationCode. /// /// The explanation code. /// /// public string ExplanationCode { get { return this._explanationCode; } set { this._explanationCode = value; } } // Check to see if ExplanationCode property is set internal bool IsSetExplanationCode() { return this._explanationCode != null; } /// /// Gets and sets the property FirewallStatefulRule. /// /// The Network Firewall stateful rule. /// /// public FirewallStatefulRule FirewallStatefulRule { get { return this._firewallStatefulRule; } set { this._firewallStatefulRule = value; } } // Check to see if FirewallStatefulRule property is set internal bool IsSetFirewallStatefulRule() { return this._firewallStatefulRule != null; } /// /// Gets and sets the property FirewallStatelessRule. /// /// The Network Firewall stateless rule. /// /// public FirewallStatelessRule FirewallStatelessRule { get { return this._firewallStatelessRule; } set { this._firewallStatelessRule = value; } } // Check to see if FirewallStatelessRule property is set internal bool IsSetFirewallStatelessRule() { return this._firewallStatelessRule != null; } /// /// Gets and sets the property IngressRouteTable. /// /// The route table. /// /// public AnalysisComponent IngressRouteTable { get { return this._ingressRouteTable; } set { this._ingressRouteTable = value; } } // Check to see if IngressRouteTable property is set internal bool IsSetIngressRouteTable() { return this._ingressRouteTable != null; } /// /// Gets and sets the property InternetGateway. /// /// The internet gateway. /// /// public AnalysisComponent InternetGateway { get { return this._internetGateway; } set { this._internetGateway = value; } } // Check to see if InternetGateway property is set internal bool IsSetInternetGateway() { return this._internetGateway != null; } /// /// Gets and sets the property LoadBalancerArn. /// /// The Amazon Resource Name (ARN) of the load balancer. /// /// [AWSProperty(Min=1, Max=1283)] public string LoadBalancerArn { get { return this._loadBalancerArn; } set { this._loadBalancerArn = value; } } // Check to see if LoadBalancerArn property is set internal bool IsSetLoadBalancerArn() { return this._loadBalancerArn != null; } /// /// Gets and sets the property LoadBalancerListenerPort. /// /// The listener port of the load balancer. /// /// [AWSProperty(Min=0, Max=65535)] public int LoadBalancerListenerPort { get { return this._loadBalancerListenerPort.GetValueOrDefault(); } set { this._loadBalancerListenerPort = value; } } // Check to see if LoadBalancerListenerPort property is set internal bool IsSetLoadBalancerListenerPort() { return this._loadBalancerListenerPort.HasValue; } /// /// Gets and sets the property LoadBalancerTarget. /// /// The target. /// /// public AnalysisLoadBalancerTarget LoadBalancerTarget { get { return this._loadBalancerTarget; } set { this._loadBalancerTarget = value; } } // Check to see if LoadBalancerTarget property is set internal bool IsSetLoadBalancerTarget() { return this._loadBalancerTarget != null; } /// /// Gets and sets the property LoadBalancerTargetGroup. /// /// The target group. /// /// public AnalysisComponent LoadBalancerTargetGroup { get { return this._loadBalancerTargetGroup; } set { this._loadBalancerTargetGroup = value; } } // Check to see if LoadBalancerTargetGroup property is set internal bool IsSetLoadBalancerTargetGroup() { return this._loadBalancerTargetGroup != null; } /// /// Gets and sets the property LoadBalancerTargetGroups. /// /// The target groups. /// /// public List LoadBalancerTargetGroups { get { return this._loadBalancerTargetGroups; } set { this._loadBalancerTargetGroups = value; } } // Check to see if LoadBalancerTargetGroups property is set internal bool IsSetLoadBalancerTargetGroups() { return this._loadBalancerTargetGroups != null && this._loadBalancerTargetGroups.Count > 0; } /// /// Gets and sets the property LoadBalancerTargetPort. /// /// The target port. /// /// [AWSProperty(Min=0, Max=65535)] public int LoadBalancerTargetPort { get { return this._loadBalancerTargetPort.GetValueOrDefault(); } set { this._loadBalancerTargetPort = value; } } // Check to see if LoadBalancerTargetPort property is set internal bool IsSetLoadBalancerTargetPort() { return this._loadBalancerTargetPort.HasValue; } /// /// Gets and sets the property MissingComponent. /// /// The missing component. /// /// public string MissingComponent { get { return this._missingComponent; } set { this._missingComponent = value; } } // Check to see if MissingComponent property is set internal bool IsSetMissingComponent() { return this._missingComponent != null; } /// /// Gets and sets the property NatGateway. /// /// The NAT gateway. /// /// public AnalysisComponent NatGateway { get { return this._natGateway; } set { this._natGateway = value; } } // Check to see if NatGateway property is set internal bool IsSetNatGateway() { return this._natGateway != null; } /// /// Gets and sets the property NetworkInterface. /// /// The network interface. /// /// public AnalysisComponent NetworkInterface { get { return this._networkInterface; } set { this._networkInterface = value; } } // Check to see if NetworkInterface property is set internal bool IsSetNetworkInterface() { return this._networkInterface != null; } /// /// Gets and sets the property PacketField. /// /// The packet field. /// /// public string PacketField { get { return this._packetField; } set { this._packetField = value; } } // Check to see if PacketField property is set internal bool IsSetPacketField() { return this._packetField != null; } /// /// Gets and sets the property Port. /// /// The port. /// /// [AWSProperty(Min=0, Max=65535)] public int Port { get { return this._port.GetValueOrDefault(); } set { this._port = value; } } // Check to see if Port property is set internal bool IsSetPort() { return this._port.HasValue; } /// /// Gets and sets the property PortRanges. /// /// The port ranges. /// /// public List PortRanges { get { return this._portRanges; } set { this._portRanges = value; } } // Check to see if PortRanges property is set internal bool IsSetPortRanges() { return this._portRanges != null && this._portRanges.Count > 0; } /// /// Gets and sets the property PrefixList. /// /// The prefix list. /// /// public AnalysisComponent PrefixList { get { return this._prefixList; } set { this._prefixList = value; } } // Check to see if PrefixList property is set internal bool IsSetPrefixList() { return this._prefixList != null; } /// /// Gets and sets the property Protocols. /// /// The protocols. /// /// public List Protocols { get { return this._protocols; } set { this._protocols = value; } } // Check to see if Protocols property is set internal bool IsSetProtocols() { return this._protocols != null && this._protocols.Count > 0; } /// /// Gets and sets the property RouteTable. /// /// The route table. /// /// public AnalysisComponent RouteTable { get { return this._routeTable; } set { this._routeTable = value; } } // Check to see if RouteTable property is set internal bool IsSetRouteTable() { return this._routeTable != null; } /// /// Gets and sets the property RouteTableRoute. /// /// The route table route. /// /// public AnalysisRouteTableRoute RouteTableRoute { get { return this._routeTableRoute; } set { this._routeTableRoute = value; } } // Check to see if RouteTableRoute property is set internal bool IsSetRouteTableRoute() { return this._routeTableRoute != null; } /// /// Gets and sets the property SecurityGroup. /// /// The security group. /// /// public AnalysisComponent SecurityGroup { get { return this._securityGroup; } set { this._securityGroup = value; } } // Check to see if SecurityGroup property is set internal bool IsSetSecurityGroup() { return this._securityGroup != null; } /// /// Gets and sets the property SecurityGroupRule. /// /// The security group rule. /// /// public AnalysisSecurityGroupRule SecurityGroupRule { get { return this._securityGroupRule; } set { this._securityGroupRule = value; } } // Check to see if SecurityGroupRule property is set internal bool IsSetSecurityGroupRule() { return this._securityGroupRule != null; } /// /// Gets and sets the property SecurityGroups. /// /// The security groups. /// /// public List SecurityGroups { get { return this._securityGroups; } set { this._securityGroups = value; } } // Check to see if SecurityGroups property is set internal bool IsSetSecurityGroups() { return this._securityGroups != null && this._securityGroups.Count > 0; } /// /// Gets and sets the property SourceVpc. /// /// The source VPC. /// /// public AnalysisComponent SourceVpc { get { return this._sourceVpc; } set { this._sourceVpc = value; } } // Check to see if SourceVpc property is set internal bool IsSetSourceVpc() { return this._sourceVpc != null; } /// /// Gets and sets the property State. /// /// The state. /// /// public string State { get { return this._state; } set { this._state = value; } } // Check to see if State property is set internal bool IsSetState() { return this._state != null; } /// /// Gets and sets the property Subnet. /// /// The subnet. /// /// public AnalysisComponent Subnet { get { return this._subnet; } set { this._subnet = value; } } // Check to see if Subnet property is set internal bool IsSetSubnet() { return this._subnet != null; } /// /// Gets and sets the property SubnetRouteTable. /// /// The route table for the subnet. /// /// public AnalysisComponent SubnetRouteTable { get { return this._subnetRouteTable; } set { this._subnetRouteTable = value; } } // Check to see if SubnetRouteTable property is set internal bool IsSetSubnetRouteTable() { return this._subnetRouteTable != null; } /// /// Gets and sets the property TransitGateway. /// /// The transit gateway. /// /// public AnalysisComponent TransitGateway { get { return this._transitGateway; } set { this._transitGateway = value; } } // Check to see if TransitGateway property is set internal bool IsSetTransitGateway() { return this._transitGateway != null; } /// /// Gets and sets the property TransitGatewayAttachment. /// /// The transit gateway attachment. /// /// public AnalysisComponent TransitGatewayAttachment { get { return this._transitGatewayAttachment; } set { this._transitGatewayAttachment = value; } } // Check to see if TransitGatewayAttachment property is set internal bool IsSetTransitGatewayAttachment() { return this._transitGatewayAttachment != null; } /// /// Gets and sets the property TransitGatewayRouteTable. /// /// The transit gateway route table. /// /// public AnalysisComponent TransitGatewayRouteTable { get { return this._transitGatewayRouteTable; } set { this._transitGatewayRouteTable = value; } } // Check to see if TransitGatewayRouteTable property is set internal bool IsSetTransitGatewayRouteTable() { return this._transitGatewayRouteTable != null; } /// /// Gets and sets the property TransitGatewayRouteTableRoute. /// /// The transit gateway route table route. /// /// public TransitGatewayRouteTableRoute TransitGatewayRouteTableRoute { get { return this._transitGatewayRouteTableRoute; } set { this._transitGatewayRouteTableRoute = value; } } // Check to see if TransitGatewayRouteTableRoute property is set internal bool IsSetTransitGatewayRouteTableRoute() { return this._transitGatewayRouteTableRoute != null; } /// /// Gets and sets the property Vpc. /// /// The component VPC. /// /// public AnalysisComponent Vpc { get { return this._vpc; } set { this._vpc = value; } } // Check to see if Vpc property is set internal bool IsSetVpc() { return this._vpc != null; } /// /// Gets and sets the property VpcEndpoint. /// /// The VPC endpoint. /// /// public AnalysisComponent VpcEndpoint { get { return this._vpcEndpoint; } set { this._vpcEndpoint = value; } } // Check to see if VpcEndpoint property is set internal bool IsSetVpcEndpoint() { return this._vpcEndpoint != null; } /// /// Gets and sets the property VpcPeeringConnection. /// /// The VPC peering connection. /// /// public AnalysisComponent VpcPeeringConnection { get { return this._vpcPeeringConnection; } set { this._vpcPeeringConnection = value; } } // Check to see if VpcPeeringConnection property is set internal bool IsSetVpcPeeringConnection() { return this._vpcPeeringConnection != null; } /// /// Gets and sets the property VpnConnection. /// /// The VPN connection. /// /// public AnalysisComponent VpnConnection { get { return this._vpnConnection; } set { this._vpnConnection = value; } } // Check to see if VpnConnection property is set internal bool IsSetVpnConnection() { return this._vpnConnection != null; } /// /// Gets and sets the property VpnGateway. /// /// The VPN gateway. /// /// public AnalysisComponent VpnGateway { get { return this._vpnGateway; } set { this._vpnGateway = value; } } // Check to see if VpnGateway property is set internal bool IsSetVpnGateway() { return this._vpnGateway != null; } } }