{-# 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.TransitGatewayRouteTable 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.Tag
import Amazonka.EC2.Types.TransitGatewayRouteTableState
import qualified Amazonka.Prelude as Prelude
data TransitGatewayRouteTable = TransitGatewayRouteTable'
{
TransitGatewayRouteTable -> Maybe ISO8601
creationTime :: Prelude.Maybe Data.ISO8601,
TransitGatewayRouteTable -> Maybe Bool
defaultAssociationRouteTable :: Prelude.Maybe Prelude.Bool,
TransitGatewayRouteTable -> Maybe Bool
defaultPropagationRouteTable :: Prelude.Maybe Prelude.Bool,
TransitGatewayRouteTable -> Maybe TransitGatewayRouteTableState
state :: Prelude.Maybe TransitGatewayRouteTableState,
TransitGatewayRouteTable -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
TransitGatewayRouteTable -> Maybe Text
transitGatewayId :: Prelude.Maybe Prelude.Text,
TransitGatewayRouteTable -> Maybe Text
transitGatewayRouteTableId :: Prelude.Maybe Prelude.Text
}
deriving (TransitGatewayRouteTable -> TransitGatewayRouteTable -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TransitGatewayRouteTable -> TransitGatewayRouteTable -> Bool
$c/= :: TransitGatewayRouteTable -> TransitGatewayRouteTable -> Bool
== :: TransitGatewayRouteTable -> TransitGatewayRouteTable -> Bool
$c== :: TransitGatewayRouteTable -> TransitGatewayRouteTable -> Bool
Prelude.Eq, ReadPrec [TransitGatewayRouteTable]
ReadPrec TransitGatewayRouteTable
Int -> ReadS TransitGatewayRouteTable
ReadS [TransitGatewayRouteTable]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TransitGatewayRouteTable]
$creadListPrec :: ReadPrec [TransitGatewayRouteTable]
readPrec :: ReadPrec TransitGatewayRouteTable
$creadPrec :: ReadPrec TransitGatewayRouteTable
readList :: ReadS [TransitGatewayRouteTable]
$creadList :: ReadS [TransitGatewayRouteTable]
readsPrec :: Int -> ReadS TransitGatewayRouteTable
$creadsPrec :: Int -> ReadS TransitGatewayRouteTable
Prelude.Read, Int -> TransitGatewayRouteTable -> ShowS
[TransitGatewayRouteTable] -> ShowS
TransitGatewayRouteTable -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TransitGatewayRouteTable] -> ShowS
$cshowList :: [TransitGatewayRouteTable] -> ShowS
show :: TransitGatewayRouteTable -> String
$cshow :: TransitGatewayRouteTable -> String
showsPrec :: Int -> TransitGatewayRouteTable -> ShowS
$cshowsPrec :: Int -> TransitGatewayRouteTable -> ShowS
Prelude.Show, forall x.
Rep TransitGatewayRouteTable x -> TransitGatewayRouteTable
forall x.
TransitGatewayRouteTable -> Rep TransitGatewayRouteTable x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep TransitGatewayRouteTable x -> TransitGatewayRouteTable
$cfrom :: forall x.
TransitGatewayRouteTable -> Rep TransitGatewayRouteTable x
Prelude.Generic)
newTransitGatewayRouteTable ::
TransitGatewayRouteTable
newTransitGatewayRouteTable :: TransitGatewayRouteTable
newTransitGatewayRouteTable =
TransitGatewayRouteTable'
{ $sel:creationTime:TransitGatewayRouteTable' :: Maybe ISO8601
creationTime =
forall a. Maybe a
Prelude.Nothing,
$sel:defaultAssociationRouteTable:TransitGatewayRouteTable' :: Maybe Bool
defaultAssociationRouteTable = forall a. Maybe a
Prelude.Nothing,
$sel:defaultPropagationRouteTable:TransitGatewayRouteTable' :: Maybe Bool
defaultPropagationRouteTable = forall a. Maybe a
Prelude.Nothing,
$sel:state:TransitGatewayRouteTable' :: Maybe TransitGatewayRouteTableState
state = forall a. Maybe a
Prelude.Nothing,
$sel:tags:TransitGatewayRouteTable' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
$sel:transitGatewayId:TransitGatewayRouteTable' :: Maybe Text
transitGatewayId = forall a. Maybe a
Prelude.Nothing,
$sel:transitGatewayRouteTableId:TransitGatewayRouteTable' :: Maybe Text
transitGatewayRouteTableId = forall a. Maybe a
Prelude.Nothing
}
transitGatewayRouteTable_creationTime :: Lens.Lens' TransitGatewayRouteTable (Prelude.Maybe Prelude.UTCTime)
transitGatewayRouteTable_creationTime :: Lens' TransitGatewayRouteTable (Maybe UTCTime)
transitGatewayRouteTable_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TransitGatewayRouteTable' {Maybe ISO8601
creationTime :: Maybe ISO8601
$sel:creationTime:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe ISO8601
creationTime} -> Maybe ISO8601
creationTime) (\s :: TransitGatewayRouteTable
s@TransitGatewayRouteTable' {} Maybe ISO8601
a -> TransitGatewayRouteTable
s {$sel:creationTime:TransitGatewayRouteTable' :: Maybe ISO8601
creationTime = Maybe ISO8601
a} :: TransitGatewayRouteTable) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time
transitGatewayRouteTable_defaultAssociationRouteTable :: Lens.Lens' TransitGatewayRouteTable (Prelude.Maybe Prelude.Bool)
transitGatewayRouteTable_defaultAssociationRouteTable :: Lens' TransitGatewayRouteTable (Maybe Bool)
transitGatewayRouteTable_defaultAssociationRouteTable = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TransitGatewayRouteTable' {Maybe Bool
defaultAssociationRouteTable :: Maybe Bool
$sel:defaultAssociationRouteTable:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe Bool
defaultAssociationRouteTable} -> Maybe Bool
defaultAssociationRouteTable) (\s :: TransitGatewayRouteTable
s@TransitGatewayRouteTable' {} Maybe Bool
a -> TransitGatewayRouteTable
s {$sel:defaultAssociationRouteTable:TransitGatewayRouteTable' :: Maybe Bool
defaultAssociationRouteTable = Maybe Bool
a} :: TransitGatewayRouteTable)
transitGatewayRouteTable_defaultPropagationRouteTable :: Lens.Lens' TransitGatewayRouteTable (Prelude.Maybe Prelude.Bool)
transitGatewayRouteTable_defaultPropagationRouteTable :: Lens' TransitGatewayRouteTable (Maybe Bool)
transitGatewayRouteTable_defaultPropagationRouteTable = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TransitGatewayRouteTable' {Maybe Bool
defaultPropagationRouteTable :: Maybe Bool
$sel:defaultPropagationRouteTable:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe Bool
defaultPropagationRouteTable} -> Maybe Bool
defaultPropagationRouteTable) (\s :: TransitGatewayRouteTable
s@TransitGatewayRouteTable' {} Maybe Bool
a -> TransitGatewayRouteTable
s {$sel:defaultPropagationRouteTable:TransitGatewayRouteTable' :: Maybe Bool
defaultPropagationRouteTable = Maybe Bool
a} :: TransitGatewayRouteTable)
transitGatewayRouteTable_state :: Lens.Lens' TransitGatewayRouteTable (Prelude.Maybe TransitGatewayRouteTableState)
transitGatewayRouteTable_state :: Lens'
TransitGatewayRouteTable (Maybe TransitGatewayRouteTableState)
transitGatewayRouteTable_state = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TransitGatewayRouteTable' {Maybe TransitGatewayRouteTableState
state :: Maybe TransitGatewayRouteTableState
$sel:state:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe TransitGatewayRouteTableState
state} -> Maybe TransitGatewayRouteTableState
state) (\s :: TransitGatewayRouteTable
s@TransitGatewayRouteTable' {} Maybe TransitGatewayRouteTableState
a -> TransitGatewayRouteTable
s {$sel:state:TransitGatewayRouteTable' :: Maybe TransitGatewayRouteTableState
state = Maybe TransitGatewayRouteTableState
a} :: TransitGatewayRouteTable)
transitGatewayRouteTable_tags :: Lens.Lens' TransitGatewayRouteTable (Prelude.Maybe [Tag])
transitGatewayRouteTable_tags :: Lens' TransitGatewayRouteTable (Maybe [Tag])
transitGatewayRouteTable_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TransitGatewayRouteTable' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: TransitGatewayRouteTable
s@TransitGatewayRouteTable' {} Maybe [Tag]
a -> TransitGatewayRouteTable
s {$sel:tags:TransitGatewayRouteTable' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: TransitGatewayRouteTable) 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
transitGatewayRouteTable_transitGatewayId :: Lens.Lens' TransitGatewayRouteTable (Prelude.Maybe Prelude.Text)
transitGatewayRouteTable_transitGatewayId :: Lens' TransitGatewayRouteTable (Maybe Text)
transitGatewayRouteTable_transitGatewayId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TransitGatewayRouteTable' {Maybe Text
transitGatewayId :: Maybe Text
$sel:transitGatewayId:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe Text
transitGatewayId} -> Maybe Text
transitGatewayId) (\s :: TransitGatewayRouteTable
s@TransitGatewayRouteTable' {} Maybe Text
a -> TransitGatewayRouteTable
s {$sel:transitGatewayId:TransitGatewayRouteTable' :: Maybe Text
transitGatewayId = Maybe Text
a} :: TransitGatewayRouteTable)
transitGatewayRouteTable_transitGatewayRouteTableId :: Lens.Lens' TransitGatewayRouteTable (Prelude.Maybe Prelude.Text)
transitGatewayRouteTable_transitGatewayRouteTableId :: Lens' TransitGatewayRouteTable (Maybe Text)
transitGatewayRouteTable_transitGatewayRouteTableId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TransitGatewayRouteTable' {Maybe Text
transitGatewayRouteTableId :: Maybe Text
$sel:transitGatewayRouteTableId:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe Text
transitGatewayRouteTableId} -> Maybe Text
transitGatewayRouteTableId) (\s :: TransitGatewayRouteTable
s@TransitGatewayRouteTable' {} Maybe Text
a -> TransitGatewayRouteTable
s {$sel:transitGatewayRouteTableId:TransitGatewayRouteTable' :: Maybe Text
transitGatewayRouteTableId = Maybe Text
a} :: TransitGatewayRouteTable)
instance Data.FromXML TransitGatewayRouteTable where
parseXML :: [Node] -> Either String TransitGatewayRouteTable
parseXML [Node]
x =
Maybe ISO8601
-> Maybe Bool
-> Maybe Bool
-> Maybe TransitGatewayRouteTableState
-> Maybe [Tag]
-> Maybe Text
-> Maybe Text
-> TransitGatewayRouteTable
TransitGatewayRouteTable'
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
"creationTime")
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
"defaultAssociationRouteTable")
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
"defaultPropagationRouteTable")
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
"state")
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
"tagSet"
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
"transitGatewayId")
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
"transitGatewayRouteTableId")
instance Prelude.Hashable TransitGatewayRouteTable where
hashWithSalt :: Int -> TransitGatewayRouteTable -> Int
hashWithSalt Int
_salt TransitGatewayRouteTable' {Maybe Bool
Maybe [Tag]
Maybe Text
Maybe ISO8601
Maybe TransitGatewayRouteTableState
transitGatewayRouteTableId :: Maybe Text
transitGatewayId :: Maybe Text
tags :: Maybe [Tag]
state :: Maybe TransitGatewayRouteTableState
defaultPropagationRouteTable :: Maybe Bool
defaultAssociationRouteTable :: Maybe Bool
creationTime :: Maybe ISO8601
$sel:transitGatewayRouteTableId:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe Text
$sel:transitGatewayId:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe Text
$sel:tags:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe [Tag]
$sel:state:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe TransitGatewayRouteTableState
$sel:defaultPropagationRouteTable:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe Bool
$sel:defaultAssociationRouteTable:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe Bool
$sel:creationTime:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe ISO8601
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
creationTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
defaultAssociationRouteTable
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
defaultPropagationRouteTable
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TransitGatewayRouteTableState
state
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
transitGatewayId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
transitGatewayRouteTableId
instance Prelude.NFData TransitGatewayRouteTable where
rnf :: TransitGatewayRouteTable -> ()
rnf TransitGatewayRouteTable' {Maybe Bool
Maybe [Tag]
Maybe Text
Maybe ISO8601
Maybe TransitGatewayRouteTableState
transitGatewayRouteTableId :: Maybe Text
transitGatewayId :: Maybe Text
tags :: Maybe [Tag]
state :: Maybe TransitGatewayRouteTableState
defaultPropagationRouteTable :: Maybe Bool
defaultAssociationRouteTable :: Maybe Bool
creationTime :: Maybe ISO8601
$sel:transitGatewayRouteTableId:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe Text
$sel:transitGatewayId:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe Text
$sel:tags:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe [Tag]
$sel:state:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe TransitGatewayRouteTableState
$sel:defaultPropagationRouteTable:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe Bool
$sel:defaultAssociationRouteTable:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe Bool
$sel:creationTime:TransitGatewayRouteTable' :: TransitGatewayRouteTable -> Maybe ISO8601
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
creationTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
defaultAssociationRouteTable
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
defaultPropagationRouteTable
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TransitGatewayRouteTableState
state
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
transitGatewayId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
transitGatewayRouteTableId