{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.EC2.Types.PathComponent where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EC2.Internal
import Amazonka.EC2.Types.AdditionalDetail
import Amazonka.EC2.Types.AnalysisAclRule
import Amazonka.EC2.Types.AnalysisComponent
import Amazonka.EC2.Types.AnalysisPacketHeader
import Amazonka.EC2.Types.AnalysisRouteTableRoute
import Amazonka.EC2.Types.AnalysisSecurityGroupRule
import Amazonka.EC2.Types.Explanation
import Amazonka.EC2.Types.TransitGatewayRouteTableRoute
import qualified Amazonka.Prelude as Prelude
data PathComponent = PathComponent'
{
PathComponent -> Maybe AnalysisAclRule
aclRule :: Prelude.Maybe AnalysisAclRule,
PathComponent -> Maybe [AdditionalDetail]
additionalDetails :: Prelude.Maybe [AdditionalDetail],
PathComponent -> Maybe AnalysisComponent
attachedTo :: Prelude.Maybe AnalysisComponent,
PathComponent -> Maybe AnalysisComponent
component :: Prelude.Maybe AnalysisComponent,
PathComponent -> Maybe AnalysisComponent
destinationVpc :: Prelude.Maybe AnalysisComponent,
PathComponent -> Maybe AnalysisComponent
elasticLoadBalancerListener :: Prelude.Maybe AnalysisComponent,
PathComponent -> Maybe [Explanation]
explanations :: Prelude.Maybe [Explanation],
:: Prelude.Maybe AnalysisPacketHeader,
:: Prelude.Maybe AnalysisPacketHeader,
PathComponent -> Maybe AnalysisRouteTableRoute
routeTableRoute :: Prelude.Maybe AnalysisRouteTableRoute,
PathComponent -> Maybe AnalysisSecurityGroupRule
securityGroupRule :: Prelude.Maybe AnalysisSecurityGroupRule,
PathComponent -> Maybe Int
sequenceNumber :: Prelude.Maybe Prelude.Int,
PathComponent -> Maybe AnalysisComponent
sourceVpc :: Prelude.Maybe AnalysisComponent,
PathComponent -> Maybe AnalysisComponent
subnet :: Prelude.Maybe AnalysisComponent,
PathComponent -> Maybe AnalysisComponent
transitGateway :: Prelude.Maybe AnalysisComponent,
PathComponent -> Maybe TransitGatewayRouteTableRoute
transitGatewayRouteTableRoute :: Prelude.Maybe TransitGatewayRouteTableRoute,
PathComponent -> Maybe AnalysisComponent
vpc :: Prelude.Maybe AnalysisComponent
}
deriving (PathComponent -> PathComponent -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PathComponent -> PathComponent -> Bool
$c/= :: PathComponent -> PathComponent -> Bool
== :: PathComponent -> PathComponent -> Bool
$c== :: PathComponent -> PathComponent -> Bool
Prelude.Eq, ReadPrec [PathComponent]
ReadPrec PathComponent
Int -> ReadS PathComponent
ReadS [PathComponent]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PathComponent]
$creadListPrec :: ReadPrec [PathComponent]
readPrec :: ReadPrec PathComponent
$creadPrec :: ReadPrec PathComponent
readList :: ReadS [PathComponent]
$creadList :: ReadS [PathComponent]
readsPrec :: Int -> ReadS PathComponent
$creadsPrec :: Int -> ReadS PathComponent
Prelude.Read, Int -> PathComponent -> ShowS
[PathComponent] -> ShowS
PathComponent -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PathComponent] -> ShowS
$cshowList :: [PathComponent] -> ShowS
show :: PathComponent -> String
$cshow :: PathComponent -> String
showsPrec :: Int -> PathComponent -> ShowS
$cshowsPrec :: Int -> PathComponent -> ShowS
Prelude.Show, forall x. Rep PathComponent x -> PathComponent
forall x. PathComponent -> Rep PathComponent x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PathComponent x -> PathComponent
$cfrom :: forall x. PathComponent -> Rep PathComponent x
Prelude.Generic)
newPathComponent ::
PathComponent
newPathComponent :: PathComponent
newPathComponent =
PathComponent'
{ $sel:aclRule:PathComponent' :: Maybe AnalysisAclRule
aclRule = forall a. Maybe a
Prelude.Nothing,
$sel:additionalDetails:PathComponent' :: Maybe [AdditionalDetail]
additionalDetails = forall a. Maybe a
Prelude.Nothing,
$sel:attachedTo:PathComponent' :: Maybe AnalysisComponent
attachedTo = forall a. Maybe a
Prelude.Nothing,
$sel:component:PathComponent' :: Maybe AnalysisComponent
component = forall a. Maybe a
Prelude.Nothing,
$sel:destinationVpc:PathComponent' :: Maybe AnalysisComponent
destinationVpc = forall a. Maybe a
Prelude.Nothing,
$sel:elasticLoadBalancerListener:PathComponent' :: Maybe AnalysisComponent
elasticLoadBalancerListener = forall a. Maybe a
Prelude.Nothing,
$sel:explanations:PathComponent' :: Maybe [Explanation]
explanations = forall a. Maybe a
Prelude.Nothing,
$sel:inboundHeader:PathComponent' :: Maybe AnalysisPacketHeader
inboundHeader = forall a. Maybe a
Prelude.Nothing,
$sel:outboundHeader:PathComponent' :: Maybe AnalysisPacketHeader
outboundHeader = forall a. Maybe a
Prelude.Nothing,
$sel:routeTableRoute:PathComponent' :: Maybe AnalysisRouteTableRoute
routeTableRoute = forall a. Maybe a
Prelude.Nothing,
$sel:securityGroupRule:PathComponent' :: Maybe AnalysisSecurityGroupRule
securityGroupRule = forall a. Maybe a
Prelude.Nothing,
$sel:sequenceNumber:PathComponent' :: Maybe Int
sequenceNumber = forall a. Maybe a
Prelude.Nothing,
$sel:sourceVpc:PathComponent' :: Maybe AnalysisComponent
sourceVpc = forall a. Maybe a
Prelude.Nothing,
$sel:subnet:PathComponent' :: Maybe AnalysisComponent
subnet = forall a. Maybe a
Prelude.Nothing,
$sel:transitGateway:PathComponent' :: Maybe AnalysisComponent
transitGateway = forall a. Maybe a
Prelude.Nothing,
$sel:transitGatewayRouteTableRoute:PathComponent' :: Maybe TransitGatewayRouteTableRoute
transitGatewayRouteTableRoute = forall a. Maybe a
Prelude.Nothing,
$sel:vpc:PathComponent' :: Maybe AnalysisComponent
vpc = forall a. Maybe a
Prelude.Nothing
}
pathComponent_aclRule :: Lens.Lens' PathComponent (Prelude.Maybe AnalysisAclRule)
pathComponent_aclRule :: Lens' PathComponent (Maybe AnalysisAclRule)
pathComponent_aclRule = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PathComponent' {Maybe AnalysisAclRule
aclRule :: Maybe AnalysisAclRule
$sel:aclRule:PathComponent' :: PathComponent -> Maybe AnalysisAclRule
aclRule} -> Maybe AnalysisAclRule
aclRule) (\s :: PathComponent
s@PathComponent' {} Maybe AnalysisAclRule
a -> PathComponent
s {$sel:aclRule:PathComponent' :: Maybe AnalysisAclRule
aclRule = Maybe AnalysisAclRule
a} :: PathComponent)
pathComponent_additionalDetails :: Lens.Lens' PathComponent (Prelude.Maybe [AdditionalDetail])
pathComponent_additionalDetails :: Lens' PathComponent (Maybe [AdditionalDetail])
pathComponent_additionalDetails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PathComponent' {Maybe [AdditionalDetail]
additionalDetails :: Maybe [AdditionalDetail]
$sel:additionalDetails:PathComponent' :: PathComponent -> Maybe [AdditionalDetail]
additionalDetails} -> Maybe [AdditionalDetail]
additionalDetails) (\s :: PathComponent
s@PathComponent' {} Maybe [AdditionalDetail]
a -> PathComponent
s {$sel:additionalDetails:PathComponent' :: Maybe [AdditionalDetail]
additionalDetails = Maybe [AdditionalDetail]
a} :: PathComponent) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
pathComponent_attachedTo :: Lens.Lens' PathComponent (Prelude.Maybe AnalysisComponent)
pathComponent_attachedTo :: Lens' PathComponent (Maybe AnalysisComponent)
pathComponent_attachedTo = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PathComponent' {Maybe AnalysisComponent
attachedTo :: Maybe AnalysisComponent
$sel:attachedTo:PathComponent' :: PathComponent -> Maybe AnalysisComponent
attachedTo} -> Maybe AnalysisComponent
attachedTo) (\s :: PathComponent
s@PathComponent' {} Maybe AnalysisComponent
a -> PathComponent
s {$sel:attachedTo:PathComponent' :: Maybe AnalysisComponent
attachedTo = Maybe AnalysisComponent
a} :: PathComponent)
pathComponent_component :: Lens.Lens' PathComponent (Prelude.Maybe AnalysisComponent)
pathComponent_component :: Lens' PathComponent (Maybe AnalysisComponent)
pathComponent_component = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PathComponent' {Maybe AnalysisComponent
component :: Maybe AnalysisComponent
$sel:component:PathComponent' :: PathComponent -> Maybe AnalysisComponent
component} -> Maybe AnalysisComponent
component) (\s :: PathComponent
s@PathComponent' {} Maybe AnalysisComponent
a -> PathComponent
s {$sel:component:PathComponent' :: Maybe AnalysisComponent
component = Maybe AnalysisComponent
a} :: PathComponent)
pathComponent_destinationVpc :: Lens.Lens' PathComponent (Prelude.Maybe AnalysisComponent)
pathComponent_destinationVpc :: Lens' PathComponent (Maybe AnalysisComponent)
pathComponent_destinationVpc = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PathComponent' {Maybe AnalysisComponent
destinationVpc :: Maybe AnalysisComponent
$sel:destinationVpc:PathComponent' :: PathComponent -> Maybe AnalysisComponent
destinationVpc} -> Maybe AnalysisComponent
destinationVpc) (\s :: PathComponent
s@PathComponent' {} Maybe AnalysisComponent
a -> PathComponent
s {$sel:destinationVpc:PathComponent' :: Maybe AnalysisComponent
destinationVpc = Maybe AnalysisComponent
a} :: PathComponent)
pathComponent_elasticLoadBalancerListener :: Lens.Lens' PathComponent (Prelude.Maybe AnalysisComponent)
pathComponent_elasticLoadBalancerListener :: Lens' PathComponent (Maybe AnalysisComponent)
pathComponent_elasticLoadBalancerListener = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PathComponent' {Maybe AnalysisComponent
elasticLoadBalancerListener :: Maybe AnalysisComponent
$sel:elasticLoadBalancerListener:PathComponent' :: PathComponent -> Maybe AnalysisComponent
elasticLoadBalancerListener} -> Maybe AnalysisComponent
elasticLoadBalancerListener) (\s :: PathComponent
s@PathComponent' {} Maybe AnalysisComponent
a -> PathComponent
s {$sel:elasticLoadBalancerListener:PathComponent' :: Maybe AnalysisComponent
elasticLoadBalancerListener = Maybe AnalysisComponent
a} :: PathComponent)
pathComponent_explanations :: Lens.Lens' PathComponent (Prelude.Maybe [Explanation])
pathComponent_explanations :: Lens' PathComponent (Maybe [Explanation])
pathComponent_explanations = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PathComponent' {Maybe [Explanation]
explanations :: Maybe [Explanation]
$sel:explanations:PathComponent' :: PathComponent -> Maybe [Explanation]
explanations} -> Maybe [Explanation]
explanations) (\s :: PathComponent
s@PathComponent' {} Maybe [Explanation]
a -> PathComponent
s {$sel:explanations:PathComponent' :: Maybe [Explanation]
explanations = Maybe [Explanation]
a} :: PathComponent) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
pathComponent_inboundHeader :: Lens.Lens' PathComponent (Prelude.Maybe AnalysisPacketHeader)
= forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PathComponent' {Maybe AnalysisPacketHeader
inboundHeader :: Maybe AnalysisPacketHeader
$sel:inboundHeader:PathComponent' :: PathComponent -> Maybe AnalysisPacketHeader
inboundHeader} -> Maybe AnalysisPacketHeader
inboundHeader) (\s :: PathComponent
s@PathComponent' {} Maybe AnalysisPacketHeader
a -> PathComponent
s {$sel:inboundHeader:PathComponent' :: Maybe AnalysisPacketHeader
inboundHeader = Maybe AnalysisPacketHeader
a} :: PathComponent)
pathComponent_outboundHeader :: Lens.Lens' PathComponent (Prelude.Maybe AnalysisPacketHeader)
= forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PathComponent' {Maybe AnalysisPacketHeader
outboundHeader :: Maybe AnalysisPacketHeader
$sel:outboundHeader:PathComponent' :: PathComponent -> Maybe AnalysisPacketHeader
outboundHeader} -> Maybe AnalysisPacketHeader
outboundHeader) (\s :: PathComponent
s@PathComponent' {} Maybe AnalysisPacketHeader
a -> PathComponent
s {$sel:outboundHeader:PathComponent' :: Maybe AnalysisPacketHeader
outboundHeader = Maybe AnalysisPacketHeader
a} :: PathComponent)
pathComponent_routeTableRoute :: Lens.Lens' PathComponent (Prelude.Maybe AnalysisRouteTableRoute)
pathComponent_routeTableRoute :: Lens' PathComponent (Maybe AnalysisRouteTableRoute)
pathComponent_routeTableRoute = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PathComponent' {Maybe AnalysisRouteTableRoute
routeTableRoute :: Maybe AnalysisRouteTableRoute
$sel:routeTableRoute:PathComponent' :: PathComponent -> Maybe AnalysisRouteTableRoute
routeTableRoute} -> Maybe AnalysisRouteTableRoute
routeTableRoute) (\s :: PathComponent
s@PathComponent' {} Maybe AnalysisRouteTableRoute
a -> PathComponent
s {$sel:routeTableRoute:PathComponent' :: Maybe AnalysisRouteTableRoute
routeTableRoute = Maybe AnalysisRouteTableRoute
a} :: PathComponent)
pathComponent_securityGroupRule :: Lens.Lens' PathComponent (Prelude.Maybe AnalysisSecurityGroupRule)
pathComponent_securityGroupRule :: Lens' PathComponent (Maybe AnalysisSecurityGroupRule)
pathComponent_securityGroupRule = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PathComponent' {Maybe AnalysisSecurityGroupRule
securityGroupRule :: Maybe AnalysisSecurityGroupRule
$sel:securityGroupRule:PathComponent' :: PathComponent -> Maybe AnalysisSecurityGroupRule
securityGroupRule} -> Maybe AnalysisSecurityGroupRule
securityGroupRule) (\s :: PathComponent
s@PathComponent' {} Maybe AnalysisSecurityGroupRule
a -> PathComponent
s {$sel:securityGroupRule:PathComponent' :: Maybe AnalysisSecurityGroupRule
securityGroupRule = Maybe AnalysisSecurityGroupRule
a} :: PathComponent)
pathComponent_sequenceNumber :: Lens.Lens' PathComponent (Prelude.Maybe Prelude.Int)
pathComponent_sequenceNumber :: Lens' PathComponent (Maybe Int)
pathComponent_sequenceNumber = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PathComponent' {Maybe Int
sequenceNumber :: Maybe Int
$sel:sequenceNumber:PathComponent' :: PathComponent -> Maybe Int
sequenceNumber} -> Maybe Int
sequenceNumber) (\s :: PathComponent
s@PathComponent' {} Maybe Int
a -> PathComponent
s {$sel:sequenceNumber:PathComponent' :: Maybe Int
sequenceNumber = Maybe Int
a} :: PathComponent)
pathComponent_sourceVpc :: Lens.Lens' PathComponent (Prelude.Maybe AnalysisComponent)
pathComponent_sourceVpc :: Lens' PathComponent (Maybe AnalysisComponent)
pathComponent_sourceVpc = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PathComponent' {Maybe AnalysisComponent
sourceVpc :: Maybe AnalysisComponent
$sel:sourceVpc:PathComponent' :: PathComponent -> Maybe AnalysisComponent
sourceVpc} -> Maybe AnalysisComponent
sourceVpc) (\s :: PathComponent
s@PathComponent' {} Maybe AnalysisComponent
a -> PathComponent
s {$sel:sourceVpc:PathComponent' :: Maybe AnalysisComponent
sourceVpc = Maybe AnalysisComponent
a} :: PathComponent)
pathComponent_subnet :: Lens.Lens' PathComponent (Prelude.Maybe AnalysisComponent)
pathComponent_subnet :: Lens' PathComponent (Maybe AnalysisComponent)
pathComponent_subnet = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PathComponent' {Maybe AnalysisComponent
subnet :: Maybe AnalysisComponent
$sel:subnet:PathComponent' :: PathComponent -> Maybe AnalysisComponent
subnet} -> Maybe AnalysisComponent
subnet) (\s :: PathComponent
s@PathComponent' {} Maybe AnalysisComponent
a -> PathComponent
s {$sel:subnet:PathComponent' :: Maybe AnalysisComponent
subnet = Maybe AnalysisComponent
a} :: PathComponent)
pathComponent_transitGateway :: Lens.Lens' PathComponent (Prelude.Maybe AnalysisComponent)
pathComponent_transitGateway :: Lens' PathComponent (Maybe AnalysisComponent)
pathComponent_transitGateway = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PathComponent' {Maybe AnalysisComponent
transitGateway :: Maybe AnalysisComponent
$sel:transitGateway:PathComponent' :: PathComponent -> Maybe AnalysisComponent
transitGateway} -> Maybe AnalysisComponent
transitGateway) (\s :: PathComponent
s@PathComponent' {} Maybe AnalysisComponent
a -> PathComponent
s {$sel:transitGateway:PathComponent' :: Maybe AnalysisComponent
transitGateway = Maybe AnalysisComponent
a} :: PathComponent)
pathComponent_transitGatewayRouteTableRoute :: Lens.Lens' PathComponent (Prelude.Maybe TransitGatewayRouteTableRoute)
pathComponent_transitGatewayRouteTableRoute :: Lens' PathComponent (Maybe TransitGatewayRouteTableRoute)
pathComponent_transitGatewayRouteTableRoute = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PathComponent' {Maybe TransitGatewayRouteTableRoute
transitGatewayRouteTableRoute :: Maybe TransitGatewayRouteTableRoute
$sel:transitGatewayRouteTableRoute:PathComponent' :: PathComponent -> Maybe TransitGatewayRouteTableRoute
transitGatewayRouteTableRoute} -> Maybe TransitGatewayRouteTableRoute
transitGatewayRouteTableRoute) (\s :: PathComponent
s@PathComponent' {} Maybe TransitGatewayRouteTableRoute
a -> PathComponent
s {$sel:transitGatewayRouteTableRoute:PathComponent' :: Maybe TransitGatewayRouteTableRoute
transitGatewayRouteTableRoute = Maybe TransitGatewayRouteTableRoute
a} :: PathComponent)
pathComponent_vpc :: Lens.Lens' PathComponent (Prelude.Maybe AnalysisComponent)
pathComponent_vpc :: Lens' PathComponent (Maybe AnalysisComponent)
pathComponent_vpc = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PathComponent' {Maybe AnalysisComponent
vpc :: Maybe AnalysisComponent
$sel:vpc:PathComponent' :: PathComponent -> Maybe AnalysisComponent
vpc} -> Maybe AnalysisComponent
vpc) (\s :: PathComponent
s@PathComponent' {} Maybe AnalysisComponent
a -> PathComponent
s {$sel:vpc:PathComponent' :: Maybe AnalysisComponent
vpc = Maybe AnalysisComponent
a} :: PathComponent)
instance Data.FromXML PathComponent where
parseXML :: [Node] -> Either String PathComponent
parseXML [Node]
x =
Maybe AnalysisAclRule
-> Maybe [AdditionalDetail]
-> Maybe AnalysisComponent
-> Maybe AnalysisComponent
-> Maybe AnalysisComponent
-> Maybe AnalysisComponent
-> Maybe [Explanation]
-> Maybe AnalysisPacketHeader
-> Maybe AnalysisPacketHeader
-> Maybe AnalysisRouteTableRoute
-> Maybe AnalysisSecurityGroupRule
-> Maybe Int
-> Maybe AnalysisComponent
-> Maybe AnalysisComponent
-> Maybe AnalysisComponent
-> Maybe TransitGatewayRouteTableRoute
-> Maybe AnalysisComponent
-> PathComponent
PathComponent'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"aclRule")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"additionalDetailSet"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"item")
)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"attachedTo")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"component")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"destinationVpc")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"elasticLoadBalancerListener")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"explanationSet"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"item")
)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"inboundHeader")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"outboundHeader")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"routeTableRoute")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"securityGroupRule")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"sequenceNumber")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"sourceVpc")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"subnet")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"transitGateway")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"transitGatewayRouteTableRoute")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"vpc")
instance Prelude.Hashable PathComponent where
hashWithSalt :: Int -> PathComponent -> Int
hashWithSalt Int
_salt PathComponent' {Maybe Int
Maybe [AdditionalDetail]
Maybe [Explanation]
Maybe AnalysisComponent
Maybe AnalysisRouteTableRoute
Maybe AnalysisSecurityGroupRule
Maybe AnalysisPacketHeader
Maybe AnalysisAclRule
Maybe TransitGatewayRouteTableRoute
vpc :: Maybe AnalysisComponent
transitGatewayRouteTableRoute :: Maybe TransitGatewayRouteTableRoute
transitGateway :: Maybe AnalysisComponent
subnet :: Maybe AnalysisComponent
sourceVpc :: Maybe AnalysisComponent
sequenceNumber :: Maybe Int
securityGroupRule :: Maybe AnalysisSecurityGroupRule
routeTableRoute :: Maybe AnalysisRouteTableRoute
outboundHeader :: Maybe AnalysisPacketHeader
inboundHeader :: Maybe AnalysisPacketHeader
explanations :: Maybe [Explanation]
elasticLoadBalancerListener :: Maybe AnalysisComponent
destinationVpc :: Maybe AnalysisComponent
component :: Maybe AnalysisComponent
attachedTo :: Maybe AnalysisComponent
additionalDetails :: Maybe [AdditionalDetail]
aclRule :: Maybe AnalysisAclRule
$sel:vpc:PathComponent' :: PathComponent -> Maybe AnalysisComponent
$sel:transitGatewayRouteTableRoute:PathComponent' :: PathComponent -> Maybe TransitGatewayRouteTableRoute
$sel:transitGateway:PathComponent' :: PathComponent -> Maybe AnalysisComponent
$sel:subnet:PathComponent' :: PathComponent -> Maybe AnalysisComponent
$sel:sourceVpc:PathComponent' :: PathComponent -> Maybe AnalysisComponent
$sel:sequenceNumber:PathComponent' :: PathComponent -> Maybe Int
$sel:securityGroupRule:PathComponent' :: PathComponent -> Maybe AnalysisSecurityGroupRule
$sel:routeTableRoute:PathComponent' :: PathComponent -> Maybe AnalysisRouteTableRoute
$sel:outboundHeader:PathComponent' :: PathComponent -> Maybe AnalysisPacketHeader
$sel:inboundHeader:PathComponent' :: PathComponent -> Maybe AnalysisPacketHeader
$sel:explanations:PathComponent' :: PathComponent -> Maybe [Explanation]
$sel:elasticLoadBalancerListener:PathComponent' :: PathComponent -> Maybe AnalysisComponent
$sel:destinationVpc:PathComponent' :: PathComponent -> Maybe AnalysisComponent
$sel:component:PathComponent' :: PathComponent -> Maybe AnalysisComponent
$sel:attachedTo:PathComponent' :: PathComponent -> Maybe AnalysisComponent
$sel:additionalDetails:PathComponent' :: PathComponent -> Maybe [AdditionalDetail]
$sel:aclRule:PathComponent' :: PathComponent -> Maybe AnalysisAclRule
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AnalysisAclRule
aclRule
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [AdditionalDetail]
additionalDetails
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AnalysisComponent
attachedTo
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AnalysisComponent
component
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AnalysisComponent
destinationVpc
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AnalysisComponent
elasticLoadBalancerListener
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Explanation]
explanations
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AnalysisPacketHeader
inboundHeader
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AnalysisPacketHeader
outboundHeader
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AnalysisRouteTableRoute
routeTableRoute
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AnalysisSecurityGroupRule
securityGroupRule
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
sequenceNumber
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AnalysisComponent
sourceVpc
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AnalysisComponent
subnet
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AnalysisComponent
transitGateway
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TransitGatewayRouteTableRoute
transitGatewayRouteTableRoute
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AnalysisComponent
vpc
instance Prelude.NFData PathComponent where
rnf :: PathComponent -> ()
rnf PathComponent' {Maybe Int
Maybe [AdditionalDetail]
Maybe [Explanation]
Maybe AnalysisComponent
Maybe AnalysisRouteTableRoute
Maybe AnalysisSecurityGroupRule
Maybe AnalysisPacketHeader
Maybe AnalysisAclRule
Maybe TransitGatewayRouteTableRoute
vpc :: Maybe AnalysisComponent
transitGatewayRouteTableRoute :: Maybe TransitGatewayRouteTableRoute
transitGateway :: Maybe AnalysisComponent
subnet :: Maybe AnalysisComponent
sourceVpc :: Maybe AnalysisComponent
sequenceNumber :: Maybe Int
securityGroupRule :: Maybe AnalysisSecurityGroupRule
routeTableRoute :: Maybe AnalysisRouteTableRoute
outboundHeader :: Maybe AnalysisPacketHeader
inboundHeader :: Maybe AnalysisPacketHeader
explanations :: Maybe [Explanation]
elasticLoadBalancerListener :: Maybe AnalysisComponent
destinationVpc :: Maybe AnalysisComponent
component :: Maybe AnalysisComponent
attachedTo :: Maybe AnalysisComponent
additionalDetails :: Maybe [AdditionalDetail]
aclRule :: Maybe AnalysisAclRule
$sel:vpc:PathComponent' :: PathComponent -> Maybe AnalysisComponent
$sel:transitGatewayRouteTableRoute:PathComponent' :: PathComponent -> Maybe TransitGatewayRouteTableRoute
$sel:transitGateway:PathComponent' :: PathComponent -> Maybe AnalysisComponent
$sel:subnet:PathComponent' :: PathComponent -> Maybe AnalysisComponent
$sel:sourceVpc:PathComponent' :: PathComponent -> Maybe AnalysisComponent
$sel:sequenceNumber:PathComponent' :: PathComponent -> Maybe Int
$sel:securityGroupRule:PathComponent' :: PathComponent -> Maybe AnalysisSecurityGroupRule
$sel:routeTableRoute:PathComponent' :: PathComponent -> Maybe AnalysisRouteTableRoute
$sel:outboundHeader:PathComponent' :: PathComponent -> Maybe AnalysisPacketHeader
$sel:inboundHeader:PathComponent' :: PathComponent -> Maybe AnalysisPacketHeader
$sel:explanations:PathComponent' :: PathComponent -> Maybe [Explanation]
$sel:elasticLoadBalancerListener:PathComponent' :: PathComponent -> Maybe AnalysisComponent
$sel:destinationVpc:PathComponent' :: PathComponent -> Maybe AnalysisComponent
$sel:component:PathComponent' :: PathComponent -> Maybe AnalysisComponent
$sel:attachedTo:PathComponent' :: PathComponent -> Maybe AnalysisComponent
$sel:additionalDetails:PathComponent' :: PathComponent -> Maybe [AdditionalDetail]
$sel:aclRule:PathComponent' :: PathComponent -> Maybe AnalysisAclRule
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe AnalysisAclRule
aclRule
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [AdditionalDetail]
additionalDetails
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AnalysisComponent
attachedTo
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AnalysisComponent
component
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AnalysisComponent
destinationVpc
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AnalysisComponent
elasticLoadBalancerListener
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Explanation]
explanations
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AnalysisPacketHeader
inboundHeader
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AnalysisPacketHeader
outboundHeader
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AnalysisRouteTableRoute
routeTableRoute
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AnalysisSecurityGroupRule
securityGroupRule
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
sequenceNumber
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AnalysisComponent
sourceVpc
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AnalysisComponent
subnet
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AnalysisComponent
transitGateway
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
Maybe TransitGatewayRouteTableRoute
transitGatewayRouteTableRoute
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AnalysisComponent
vpc