{-# 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.LocalGatewayRouteTable 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.LocalGatewayRouteTableMode
import Amazonka.EC2.Types.StateReason
import Amazonka.EC2.Types.Tag
import qualified Amazonka.Prelude as Prelude
data LocalGatewayRouteTable = LocalGatewayRouteTable'
{
LocalGatewayRouteTable -> Maybe Text
localGatewayId :: Prelude.Maybe Prelude.Text,
LocalGatewayRouteTable -> Maybe Text
localGatewayRouteTableArn :: Prelude.Maybe Prelude.Text,
LocalGatewayRouteTable -> Maybe Text
localGatewayRouteTableId :: Prelude.Maybe Prelude.Text,
LocalGatewayRouteTable -> Maybe LocalGatewayRouteTableMode
mode :: Prelude.Maybe LocalGatewayRouteTableMode,
LocalGatewayRouteTable -> Maybe Text
outpostArn :: Prelude.Maybe Prelude.Text,
LocalGatewayRouteTable -> Maybe Text
ownerId :: Prelude.Maybe Prelude.Text,
LocalGatewayRouteTable -> Maybe Text
state :: Prelude.Maybe Prelude.Text,
LocalGatewayRouteTable -> Maybe StateReason
stateReason :: Prelude.Maybe StateReason,
LocalGatewayRouteTable -> Maybe [Tag]
tags :: Prelude.Maybe [Tag]
}
deriving (LocalGatewayRouteTable -> LocalGatewayRouteTable -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: LocalGatewayRouteTable -> LocalGatewayRouteTable -> Bool
$c/= :: LocalGatewayRouteTable -> LocalGatewayRouteTable -> Bool
== :: LocalGatewayRouteTable -> LocalGatewayRouteTable -> Bool
$c== :: LocalGatewayRouteTable -> LocalGatewayRouteTable -> Bool
Prelude.Eq, ReadPrec [LocalGatewayRouteTable]
ReadPrec LocalGatewayRouteTable
Int -> ReadS LocalGatewayRouteTable
ReadS [LocalGatewayRouteTable]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [LocalGatewayRouteTable]
$creadListPrec :: ReadPrec [LocalGatewayRouteTable]
readPrec :: ReadPrec LocalGatewayRouteTable
$creadPrec :: ReadPrec LocalGatewayRouteTable
readList :: ReadS [LocalGatewayRouteTable]
$creadList :: ReadS [LocalGatewayRouteTable]
readsPrec :: Int -> ReadS LocalGatewayRouteTable
$creadsPrec :: Int -> ReadS LocalGatewayRouteTable
Prelude.Read, Int -> LocalGatewayRouteTable -> ShowS
[LocalGatewayRouteTable] -> ShowS
LocalGatewayRouteTable -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [LocalGatewayRouteTable] -> ShowS
$cshowList :: [LocalGatewayRouteTable] -> ShowS
show :: LocalGatewayRouteTable -> String
$cshow :: LocalGatewayRouteTable -> String
showsPrec :: Int -> LocalGatewayRouteTable -> ShowS
$cshowsPrec :: Int -> LocalGatewayRouteTable -> ShowS
Prelude.Show, forall x. Rep LocalGatewayRouteTable x -> LocalGatewayRouteTable
forall x. LocalGatewayRouteTable -> Rep LocalGatewayRouteTable x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep LocalGatewayRouteTable x -> LocalGatewayRouteTable
$cfrom :: forall x. LocalGatewayRouteTable -> Rep LocalGatewayRouteTable x
Prelude.Generic)
newLocalGatewayRouteTable ::
LocalGatewayRouteTable
newLocalGatewayRouteTable :: LocalGatewayRouteTable
newLocalGatewayRouteTable =
LocalGatewayRouteTable'
{ $sel:localGatewayId:LocalGatewayRouteTable' :: Maybe Text
localGatewayId =
forall a. Maybe a
Prelude.Nothing,
$sel:localGatewayRouteTableArn:LocalGatewayRouteTable' :: Maybe Text
localGatewayRouteTableArn = forall a. Maybe a
Prelude.Nothing,
$sel:localGatewayRouteTableId:LocalGatewayRouteTable' :: Maybe Text
localGatewayRouteTableId = forall a. Maybe a
Prelude.Nothing,
$sel:mode:LocalGatewayRouteTable' :: Maybe LocalGatewayRouteTableMode
mode = forall a. Maybe a
Prelude.Nothing,
$sel:outpostArn:LocalGatewayRouteTable' :: Maybe Text
outpostArn = forall a. Maybe a
Prelude.Nothing,
$sel:ownerId:LocalGatewayRouteTable' :: Maybe Text
ownerId = forall a. Maybe a
Prelude.Nothing,
$sel:state:LocalGatewayRouteTable' :: Maybe Text
state = forall a. Maybe a
Prelude.Nothing,
$sel:stateReason:LocalGatewayRouteTable' :: Maybe StateReason
stateReason = forall a. Maybe a
Prelude.Nothing,
$sel:tags:LocalGatewayRouteTable' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing
}
localGatewayRouteTable_localGatewayId :: Lens.Lens' LocalGatewayRouteTable (Prelude.Maybe Prelude.Text)
localGatewayRouteTable_localGatewayId :: Lens' LocalGatewayRouteTable (Maybe Text)
localGatewayRouteTable_localGatewayId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LocalGatewayRouteTable' {Maybe Text
localGatewayId :: Maybe Text
$sel:localGatewayId:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe Text
localGatewayId} -> Maybe Text
localGatewayId) (\s :: LocalGatewayRouteTable
s@LocalGatewayRouteTable' {} Maybe Text
a -> LocalGatewayRouteTable
s {$sel:localGatewayId:LocalGatewayRouteTable' :: Maybe Text
localGatewayId = Maybe Text
a} :: LocalGatewayRouteTable)
localGatewayRouteTable_localGatewayRouteTableArn :: Lens.Lens' LocalGatewayRouteTable (Prelude.Maybe Prelude.Text)
localGatewayRouteTable_localGatewayRouteTableArn :: Lens' LocalGatewayRouteTable (Maybe Text)
localGatewayRouteTable_localGatewayRouteTableArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LocalGatewayRouteTable' {Maybe Text
localGatewayRouteTableArn :: Maybe Text
$sel:localGatewayRouteTableArn:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe Text
localGatewayRouteTableArn} -> Maybe Text
localGatewayRouteTableArn) (\s :: LocalGatewayRouteTable
s@LocalGatewayRouteTable' {} Maybe Text
a -> LocalGatewayRouteTable
s {$sel:localGatewayRouteTableArn:LocalGatewayRouteTable' :: Maybe Text
localGatewayRouteTableArn = Maybe Text
a} :: LocalGatewayRouteTable)
localGatewayRouteTable_localGatewayRouteTableId :: Lens.Lens' LocalGatewayRouteTable (Prelude.Maybe Prelude.Text)
localGatewayRouteTable_localGatewayRouteTableId :: Lens' LocalGatewayRouteTable (Maybe Text)
localGatewayRouteTable_localGatewayRouteTableId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LocalGatewayRouteTable' {Maybe Text
localGatewayRouteTableId :: Maybe Text
$sel:localGatewayRouteTableId:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe Text
localGatewayRouteTableId} -> Maybe Text
localGatewayRouteTableId) (\s :: LocalGatewayRouteTable
s@LocalGatewayRouteTable' {} Maybe Text
a -> LocalGatewayRouteTable
s {$sel:localGatewayRouteTableId:LocalGatewayRouteTable' :: Maybe Text
localGatewayRouteTableId = Maybe Text
a} :: LocalGatewayRouteTable)
localGatewayRouteTable_mode :: Lens.Lens' LocalGatewayRouteTable (Prelude.Maybe LocalGatewayRouteTableMode)
localGatewayRouteTable_mode :: Lens' LocalGatewayRouteTable (Maybe LocalGatewayRouteTableMode)
localGatewayRouteTable_mode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LocalGatewayRouteTable' {Maybe LocalGatewayRouteTableMode
mode :: Maybe LocalGatewayRouteTableMode
$sel:mode:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe LocalGatewayRouteTableMode
mode} -> Maybe LocalGatewayRouteTableMode
mode) (\s :: LocalGatewayRouteTable
s@LocalGatewayRouteTable' {} Maybe LocalGatewayRouteTableMode
a -> LocalGatewayRouteTable
s {$sel:mode:LocalGatewayRouteTable' :: Maybe LocalGatewayRouteTableMode
mode = Maybe LocalGatewayRouteTableMode
a} :: LocalGatewayRouteTable)
localGatewayRouteTable_outpostArn :: Lens.Lens' LocalGatewayRouteTable (Prelude.Maybe Prelude.Text)
localGatewayRouteTable_outpostArn :: Lens' LocalGatewayRouteTable (Maybe Text)
localGatewayRouteTable_outpostArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LocalGatewayRouteTable' {Maybe Text
outpostArn :: Maybe Text
$sel:outpostArn:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe Text
outpostArn} -> Maybe Text
outpostArn) (\s :: LocalGatewayRouteTable
s@LocalGatewayRouteTable' {} Maybe Text
a -> LocalGatewayRouteTable
s {$sel:outpostArn:LocalGatewayRouteTable' :: Maybe Text
outpostArn = Maybe Text
a} :: LocalGatewayRouteTable)
localGatewayRouteTable_ownerId :: Lens.Lens' LocalGatewayRouteTable (Prelude.Maybe Prelude.Text)
localGatewayRouteTable_ownerId :: Lens' LocalGatewayRouteTable (Maybe Text)
localGatewayRouteTable_ownerId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LocalGatewayRouteTable' {Maybe Text
ownerId :: Maybe Text
$sel:ownerId:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe Text
ownerId} -> Maybe Text
ownerId) (\s :: LocalGatewayRouteTable
s@LocalGatewayRouteTable' {} Maybe Text
a -> LocalGatewayRouteTable
s {$sel:ownerId:LocalGatewayRouteTable' :: Maybe Text
ownerId = Maybe Text
a} :: LocalGatewayRouteTable)
localGatewayRouteTable_state :: Lens.Lens' LocalGatewayRouteTable (Prelude.Maybe Prelude.Text)
localGatewayRouteTable_state :: Lens' LocalGatewayRouteTable (Maybe Text)
localGatewayRouteTable_state = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LocalGatewayRouteTable' {Maybe Text
state :: Maybe Text
$sel:state:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe Text
state} -> Maybe Text
state) (\s :: LocalGatewayRouteTable
s@LocalGatewayRouteTable' {} Maybe Text
a -> LocalGatewayRouteTable
s {$sel:state:LocalGatewayRouteTable' :: Maybe Text
state = Maybe Text
a} :: LocalGatewayRouteTable)
localGatewayRouteTable_stateReason :: Lens.Lens' LocalGatewayRouteTable (Prelude.Maybe StateReason)
localGatewayRouteTable_stateReason :: Lens' LocalGatewayRouteTable (Maybe StateReason)
localGatewayRouteTable_stateReason = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LocalGatewayRouteTable' {Maybe StateReason
stateReason :: Maybe StateReason
$sel:stateReason:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe StateReason
stateReason} -> Maybe StateReason
stateReason) (\s :: LocalGatewayRouteTable
s@LocalGatewayRouteTable' {} Maybe StateReason
a -> LocalGatewayRouteTable
s {$sel:stateReason:LocalGatewayRouteTable' :: Maybe StateReason
stateReason = Maybe StateReason
a} :: LocalGatewayRouteTable)
localGatewayRouteTable_tags :: Lens.Lens' LocalGatewayRouteTable (Prelude.Maybe [Tag])
localGatewayRouteTable_tags :: Lens' LocalGatewayRouteTable (Maybe [Tag])
localGatewayRouteTable_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LocalGatewayRouteTable' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: LocalGatewayRouteTable
s@LocalGatewayRouteTable' {} Maybe [Tag]
a -> LocalGatewayRouteTable
s {$sel:tags:LocalGatewayRouteTable' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: LocalGatewayRouteTable) 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
instance Data.FromXML LocalGatewayRouteTable where
parseXML :: [Node] -> Either String LocalGatewayRouteTable
parseXML [Node]
x =
Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe LocalGatewayRouteTableMode
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe StateReason
-> Maybe [Tag]
-> LocalGatewayRouteTable
LocalGatewayRouteTable'
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
"localGatewayId")
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
"localGatewayRouteTableArn")
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
"localGatewayRouteTableId")
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
"mode")
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
"outpostArn")
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
"ownerId")
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
"stateReason")
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")
)
instance Prelude.Hashable LocalGatewayRouteTable where
hashWithSalt :: Int -> LocalGatewayRouteTable -> Int
hashWithSalt Int
_salt LocalGatewayRouteTable' {Maybe [Tag]
Maybe Text
Maybe LocalGatewayRouteTableMode
Maybe StateReason
tags :: Maybe [Tag]
stateReason :: Maybe StateReason
state :: Maybe Text
ownerId :: Maybe Text
outpostArn :: Maybe Text
mode :: Maybe LocalGatewayRouteTableMode
localGatewayRouteTableId :: Maybe Text
localGatewayRouteTableArn :: Maybe Text
localGatewayId :: Maybe Text
$sel:tags:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe [Tag]
$sel:stateReason:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe StateReason
$sel:state:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe Text
$sel:ownerId:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe Text
$sel:outpostArn:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe Text
$sel:mode:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe LocalGatewayRouteTableMode
$sel:localGatewayRouteTableId:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe Text
$sel:localGatewayRouteTableArn:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe Text
$sel:localGatewayId:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
localGatewayId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
localGatewayRouteTableArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
localGatewayRouteTableId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe LocalGatewayRouteTableMode
mode
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
outpostArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
ownerId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
state
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe StateReason
stateReason
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
instance Prelude.NFData LocalGatewayRouteTable where
rnf :: LocalGatewayRouteTable -> ()
rnf LocalGatewayRouteTable' {Maybe [Tag]
Maybe Text
Maybe LocalGatewayRouteTableMode
Maybe StateReason
tags :: Maybe [Tag]
stateReason :: Maybe StateReason
state :: Maybe Text
ownerId :: Maybe Text
outpostArn :: Maybe Text
mode :: Maybe LocalGatewayRouteTableMode
localGatewayRouteTableId :: Maybe Text
localGatewayRouteTableArn :: Maybe Text
localGatewayId :: Maybe Text
$sel:tags:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe [Tag]
$sel:stateReason:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe StateReason
$sel:state:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe Text
$sel:ownerId:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe Text
$sel:outpostArn:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe Text
$sel:mode:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe LocalGatewayRouteTableMode
$sel:localGatewayRouteTableId:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe Text
$sel:localGatewayRouteTableArn:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe Text
$sel:localGatewayId:LocalGatewayRouteTable' :: LocalGatewayRouteTable -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
localGatewayId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
localGatewayRouteTableArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
localGatewayRouteTableId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LocalGatewayRouteTableMode
mode
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
outpostArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
ownerId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
state
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe StateReason
stateReason
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags