{-# LANGUAGE TemplateHaskell #-} module AWS.EC2.Types.RouteTable ( PropagatingVgw , Route(..) , RouteOrigin(..) , RouteState(..) , RouteTable(..) , RouteTableAssociation(..) ) where import AWS.EC2.Types.Common (ResourceTag) import AWS.Lib.FromText type PropagatingVgw = Text data Route = Route { routeDestinationCidrBlock :: Text , routeGatewayId :: Maybe Text , routeInstanceId :: Maybe Text , routeInstanceOwnerId :: Maybe Text , routeNetworkInterfaceId :: Maybe Text , routeState :: RouteState , routeOrigin :: Maybe RouteOrigin } deriving (Show, Read, Eq) data RouteOrigin = RouteOriginCreateRouteTable | RouteOriginCreateRoute | RouteOriginTableEnableVgwRoutePropagation deriving (Show, Read, Eq) data RouteState = RouteStateActive | RouteStateBlackhole deriving (Show, Read, Eq) data RouteTable = RouteTable { routeTableId :: Text , routeTableVpcId :: Text , routeTableRouteSet :: [Route] , routeTableAssociationSet :: [RouteTableAssociation] , routeTablePropagatingVgw :: Maybe PropagatingVgw , routeTableTagSet :: [ResourceTag] } deriving (Show, Read, Eq) data RouteTableAssociation = RouteTableAssociation { routeTableAssociationId :: Text , routeTableAssociationRouteTableId :: Text , routeTableAssociationSubnetId :: Maybe Text , routeTableAssociationMain :: Maybe Bool } deriving (Show, Read, Eq) deriveFromText "RouteOrigin" [ "CreateRouteTable" , "CreateRoute" , "EnableVgwRoutePropagation" ] deriveFromText "RouteState" ["active", "blackhole"]