{-# 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.SubnetCidrReservation 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.SubnetCidrReservationType
import Amazonka.EC2.Types.Tag
import qualified Amazonka.Prelude as Prelude
data SubnetCidrReservation = SubnetCidrReservation'
{
SubnetCidrReservation -> Maybe Text
cidr :: Prelude.Maybe Prelude.Text,
SubnetCidrReservation -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
SubnetCidrReservation -> Maybe Text
ownerId :: Prelude.Maybe Prelude.Text,
SubnetCidrReservation -> Maybe SubnetCidrReservationType
reservationType :: Prelude.Maybe SubnetCidrReservationType,
SubnetCidrReservation -> Maybe Text
subnetCidrReservationId :: Prelude.Maybe Prelude.Text,
SubnetCidrReservation -> Maybe Text
subnetId :: Prelude.Maybe Prelude.Text,
SubnetCidrReservation -> Maybe [Tag]
tags :: Prelude.Maybe [Tag]
}
deriving (SubnetCidrReservation -> SubnetCidrReservation -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SubnetCidrReservation -> SubnetCidrReservation -> Bool
$c/= :: SubnetCidrReservation -> SubnetCidrReservation -> Bool
== :: SubnetCidrReservation -> SubnetCidrReservation -> Bool
$c== :: SubnetCidrReservation -> SubnetCidrReservation -> Bool
Prelude.Eq, ReadPrec [SubnetCidrReservation]
ReadPrec SubnetCidrReservation
Int -> ReadS SubnetCidrReservation
ReadS [SubnetCidrReservation]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SubnetCidrReservation]
$creadListPrec :: ReadPrec [SubnetCidrReservation]
readPrec :: ReadPrec SubnetCidrReservation
$creadPrec :: ReadPrec SubnetCidrReservation
readList :: ReadS [SubnetCidrReservation]
$creadList :: ReadS [SubnetCidrReservation]
readsPrec :: Int -> ReadS SubnetCidrReservation
$creadsPrec :: Int -> ReadS SubnetCidrReservation
Prelude.Read, Int -> SubnetCidrReservation -> ShowS
[SubnetCidrReservation] -> ShowS
SubnetCidrReservation -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SubnetCidrReservation] -> ShowS
$cshowList :: [SubnetCidrReservation] -> ShowS
show :: SubnetCidrReservation -> String
$cshow :: SubnetCidrReservation -> String
showsPrec :: Int -> SubnetCidrReservation -> ShowS
$cshowsPrec :: Int -> SubnetCidrReservation -> ShowS
Prelude.Show, forall x. Rep SubnetCidrReservation x -> SubnetCidrReservation
forall x. SubnetCidrReservation -> Rep SubnetCidrReservation x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SubnetCidrReservation x -> SubnetCidrReservation
$cfrom :: forall x. SubnetCidrReservation -> Rep SubnetCidrReservation x
Prelude.Generic)
newSubnetCidrReservation ::
SubnetCidrReservation
newSubnetCidrReservation :: SubnetCidrReservation
newSubnetCidrReservation =
SubnetCidrReservation'
{ $sel:cidr:SubnetCidrReservation' :: Maybe Text
cidr = forall a. Maybe a
Prelude.Nothing,
$sel:description:SubnetCidrReservation' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:ownerId:SubnetCidrReservation' :: Maybe Text
ownerId = forall a. Maybe a
Prelude.Nothing,
$sel:reservationType:SubnetCidrReservation' :: Maybe SubnetCidrReservationType
reservationType = forall a. Maybe a
Prelude.Nothing,
$sel:subnetCidrReservationId:SubnetCidrReservation' :: Maybe Text
subnetCidrReservationId = forall a. Maybe a
Prelude.Nothing,
$sel:subnetId:SubnetCidrReservation' :: Maybe Text
subnetId = forall a. Maybe a
Prelude.Nothing,
$sel:tags:SubnetCidrReservation' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing
}
subnetCidrReservation_cidr :: Lens.Lens' SubnetCidrReservation (Prelude.Maybe Prelude.Text)
subnetCidrReservation_cidr :: Lens' SubnetCidrReservation (Maybe Text)
subnetCidrReservation_cidr = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SubnetCidrReservation' {Maybe Text
cidr :: Maybe Text
$sel:cidr:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe Text
cidr} -> Maybe Text
cidr) (\s :: SubnetCidrReservation
s@SubnetCidrReservation' {} Maybe Text
a -> SubnetCidrReservation
s {$sel:cidr:SubnetCidrReservation' :: Maybe Text
cidr = Maybe Text
a} :: SubnetCidrReservation)
subnetCidrReservation_description :: Lens.Lens' SubnetCidrReservation (Prelude.Maybe Prelude.Text)
subnetCidrReservation_description :: Lens' SubnetCidrReservation (Maybe Text)
subnetCidrReservation_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SubnetCidrReservation' {Maybe Text
description :: Maybe Text
$sel:description:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe Text
description} -> Maybe Text
description) (\s :: SubnetCidrReservation
s@SubnetCidrReservation' {} Maybe Text
a -> SubnetCidrReservation
s {$sel:description:SubnetCidrReservation' :: Maybe Text
description = Maybe Text
a} :: SubnetCidrReservation)
subnetCidrReservation_ownerId :: Lens.Lens' SubnetCidrReservation (Prelude.Maybe Prelude.Text)
subnetCidrReservation_ownerId :: Lens' SubnetCidrReservation (Maybe Text)
subnetCidrReservation_ownerId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SubnetCidrReservation' {Maybe Text
ownerId :: Maybe Text
$sel:ownerId:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe Text
ownerId} -> Maybe Text
ownerId) (\s :: SubnetCidrReservation
s@SubnetCidrReservation' {} Maybe Text
a -> SubnetCidrReservation
s {$sel:ownerId:SubnetCidrReservation' :: Maybe Text
ownerId = Maybe Text
a} :: SubnetCidrReservation)
subnetCidrReservation_reservationType :: Lens.Lens' SubnetCidrReservation (Prelude.Maybe SubnetCidrReservationType)
subnetCidrReservation_reservationType :: Lens' SubnetCidrReservation (Maybe SubnetCidrReservationType)
subnetCidrReservation_reservationType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SubnetCidrReservation' {Maybe SubnetCidrReservationType
reservationType :: Maybe SubnetCidrReservationType
$sel:reservationType:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe SubnetCidrReservationType
reservationType} -> Maybe SubnetCidrReservationType
reservationType) (\s :: SubnetCidrReservation
s@SubnetCidrReservation' {} Maybe SubnetCidrReservationType
a -> SubnetCidrReservation
s {$sel:reservationType:SubnetCidrReservation' :: Maybe SubnetCidrReservationType
reservationType = Maybe SubnetCidrReservationType
a} :: SubnetCidrReservation)
subnetCidrReservation_subnetCidrReservationId :: Lens.Lens' SubnetCidrReservation (Prelude.Maybe Prelude.Text)
subnetCidrReservation_subnetCidrReservationId :: Lens' SubnetCidrReservation (Maybe Text)
subnetCidrReservation_subnetCidrReservationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SubnetCidrReservation' {Maybe Text
subnetCidrReservationId :: Maybe Text
$sel:subnetCidrReservationId:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe Text
subnetCidrReservationId} -> Maybe Text
subnetCidrReservationId) (\s :: SubnetCidrReservation
s@SubnetCidrReservation' {} Maybe Text
a -> SubnetCidrReservation
s {$sel:subnetCidrReservationId:SubnetCidrReservation' :: Maybe Text
subnetCidrReservationId = Maybe Text
a} :: SubnetCidrReservation)
subnetCidrReservation_subnetId :: Lens.Lens' SubnetCidrReservation (Prelude.Maybe Prelude.Text)
subnetCidrReservation_subnetId :: Lens' SubnetCidrReservation (Maybe Text)
subnetCidrReservation_subnetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SubnetCidrReservation' {Maybe Text
subnetId :: Maybe Text
$sel:subnetId:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe Text
subnetId} -> Maybe Text
subnetId) (\s :: SubnetCidrReservation
s@SubnetCidrReservation' {} Maybe Text
a -> SubnetCidrReservation
s {$sel:subnetId:SubnetCidrReservation' :: Maybe Text
subnetId = Maybe Text
a} :: SubnetCidrReservation)
subnetCidrReservation_tags :: Lens.Lens' SubnetCidrReservation (Prelude.Maybe [Tag])
subnetCidrReservation_tags :: Lens' SubnetCidrReservation (Maybe [Tag])
subnetCidrReservation_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SubnetCidrReservation' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: SubnetCidrReservation
s@SubnetCidrReservation' {} Maybe [Tag]
a -> SubnetCidrReservation
s {$sel:tags:SubnetCidrReservation' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: SubnetCidrReservation) 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 SubnetCidrReservation where
parseXML :: [Node] -> Either String SubnetCidrReservation
parseXML [Node]
x =
Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe SubnetCidrReservationType
-> Maybe Text
-> Maybe Text
-> Maybe [Tag]
-> SubnetCidrReservation
SubnetCidrReservation'
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
"cidr")
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
"description")
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
"reservationType")
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
"subnetCidrReservationId")
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
"subnetId")
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 SubnetCidrReservation where
hashWithSalt :: Int -> SubnetCidrReservation -> Int
hashWithSalt Int
_salt SubnetCidrReservation' {Maybe [Tag]
Maybe Text
Maybe SubnetCidrReservationType
tags :: Maybe [Tag]
subnetId :: Maybe Text
subnetCidrReservationId :: Maybe Text
reservationType :: Maybe SubnetCidrReservationType
ownerId :: Maybe Text
description :: Maybe Text
cidr :: Maybe Text
$sel:tags:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe [Tag]
$sel:subnetId:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe Text
$sel:subnetCidrReservationId:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe Text
$sel:reservationType:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe SubnetCidrReservationType
$sel:ownerId:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe Text
$sel:description:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe Text
$sel:cidr:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
cidr
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
ownerId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SubnetCidrReservationType
reservationType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
subnetCidrReservationId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
subnetId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
instance Prelude.NFData SubnetCidrReservation where
rnf :: SubnetCidrReservation -> ()
rnf SubnetCidrReservation' {Maybe [Tag]
Maybe Text
Maybe SubnetCidrReservationType
tags :: Maybe [Tag]
subnetId :: Maybe Text
subnetCidrReservationId :: Maybe Text
reservationType :: Maybe SubnetCidrReservationType
ownerId :: Maybe Text
description :: Maybe Text
cidr :: Maybe Text
$sel:tags:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe [Tag]
$sel:subnetId:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe Text
$sel:subnetCidrReservationId:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe Text
$sel:reservationType:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe SubnetCidrReservationType
$sel:ownerId:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe Text
$sel:description:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe Text
$sel:cidr:SubnetCidrReservation' :: SubnetCidrReservation -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
cidr
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
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 SubnetCidrReservationType
reservationType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
subnetCidrReservationId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
subnetId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags