{-# 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.ImportInstanceVolumeDetailItem 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.DiskImageDescription
import Amazonka.EC2.Types.DiskImageVolumeDescription
import qualified Amazonka.Prelude as Prelude
data ImportInstanceVolumeDetailItem = ImportInstanceVolumeDetailItem'
{
ImportInstanceVolumeDetailItem -> Maybe Text
availabilityZone :: Prelude.Maybe Prelude.Text,
ImportInstanceVolumeDetailItem -> Maybe Integer
bytesConverted :: Prelude.Maybe Prelude.Integer,
ImportInstanceVolumeDetailItem -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
ImportInstanceVolumeDetailItem -> Maybe DiskImageDescription
image :: Prelude.Maybe DiskImageDescription,
ImportInstanceVolumeDetailItem -> Maybe Text
status :: Prelude.Maybe Prelude.Text,
ImportInstanceVolumeDetailItem -> Maybe Text
statusMessage :: Prelude.Maybe Prelude.Text,
ImportInstanceVolumeDetailItem -> Maybe DiskImageVolumeDescription
volume :: Prelude.Maybe DiskImageVolumeDescription
}
deriving (ImportInstanceVolumeDetailItem
-> ImportInstanceVolumeDetailItem -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ImportInstanceVolumeDetailItem
-> ImportInstanceVolumeDetailItem -> Bool
$c/= :: ImportInstanceVolumeDetailItem
-> ImportInstanceVolumeDetailItem -> Bool
== :: ImportInstanceVolumeDetailItem
-> ImportInstanceVolumeDetailItem -> Bool
$c== :: ImportInstanceVolumeDetailItem
-> ImportInstanceVolumeDetailItem -> Bool
Prelude.Eq, ReadPrec [ImportInstanceVolumeDetailItem]
ReadPrec ImportInstanceVolumeDetailItem
Int -> ReadS ImportInstanceVolumeDetailItem
ReadS [ImportInstanceVolumeDetailItem]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ImportInstanceVolumeDetailItem]
$creadListPrec :: ReadPrec [ImportInstanceVolumeDetailItem]
readPrec :: ReadPrec ImportInstanceVolumeDetailItem
$creadPrec :: ReadPrec ImportInstanceVolumeDetailItem
readList :: ReadS [ImportInstanceVolumeDetailItem]
$creadList :: ReadS [ImportInstanceVolumeDetailItem]
readsPrec :: Int -> ReadS ImportInstanceVolumeDetailItem
$creadsPrec :: Int -> ReadS ImportInstanceVolumeDetailItem
Prelude.Read, Int -> ImportInstanceVolumeDetailItem -> ShowS
[ImportInstanceVolumeDetailItem] -> ShowS
ImportInstanceVolumeDetailItem -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ImportInstanceVolumeDetailItem] -> ShowS
$cshowList :: [ImportInstanceVolumeDetailItem] -> ShowS
show :: ImportInstanceVolumeDetailItem -> String
$cshow :: ImportInstanceVolumeDetailItem -> String
showsPrec :: Int -> ImportInstanceVolumeDetailItem -> ShowS
$cshowsPrec :: Int -> ImportInstanceVolumeDetailItem -> ShowS
Prelude.Show, forall x.
Rep ImportInstanceVolumeDetailItem x
-> ImportInstanceVolumeDetailItem
forall x.
ImportInstanceVolumeDetailItem
-> Rep ImportInstanceVolumeDetailItem x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ImportInstanceVolumeDetailItem x
-> ImportInstanceVolumeDetailItem
$cfrom :: forall x.
ImportInstanceVolumeDetailItem
-> Rep ImportInstanceVolumeDetailItem x
Prelude.Generic)
newImportInstanceVolumeDetailItem ::
ImportInstanceVolumeDetailItem
newImportInstanceVolumeDetailItem :: ImportInstanceVolumeDetailItem
newImportInstanceVolumeDetailItem =
ImportInstanceVolumeDetailItem'
{ $sel:availabilityZone:ImportInstanceVolumeDetailItem' :: Maybe Text
availabilityZone =
forall a. Maybe a
Prelude.Nothing,
$sel:bytesConverted:ImportInstanceVolumeDetailItem' :: Maybe Integer
bytesConverted = forall a. Maybe a
Prelude.Nothing,
$sel:description:ImportInstanceVolumeDetailItem' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:image:ImportInstanceVolumeDetailItem' :: Maybe DiskImageDescription
image = forall a. Maybe a
Prelude.Nothing,
$sel:status:ImportInstanceVolumeDetailItem' :: Maybe Text
status = forall a. Maybe a
Prelude.Nothing,
$sel:statusMessage:ImportInstanceVolumeDetailItem' :: Maybe Text
statusMessage = forall a. Maybe a
Prelude.Nothing,
$sel:volume:ImportInstanceVolumeDetailItem' :: Maybe DiskImageVolumeDescription
volume = forall a. Maybe a
Prelude.Nothing
}
importInstanceVolumeDetailItem_availabilityZone :: Lens.Lens' ImportInstanceVolumeDetailItem (Prelude.Maybe Prelude.Text)
importInstanceVolumeDetailItem_availabilityZone :: Lens' ImportInstanceVolumeDetailItem (Maybe Text)
importInstanceVolumeDetailItem_availabilityZone = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportInstanceVolumeDetailItem' {Maybe Text
availabilityZone :: Maybe Text
$sel:availabilityZone:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe Text
availabilityZone} -> Maybe Text
availabilityZone) (\s :: ImportInstanceVolumeDetailItem
s@ImportInstanceVolumeDetailItem' {} Maybe Text
a -> ImportInstanceVolumeDetailItem
s {$sel:availabilityZone:ImportInstanceVolumeDetailItem' :: Maybe Text
availabilityZone = Maybe Text
a} :: ImportInstanceVolumeDetailItem)
importInstanceVolumeDetailItem_bytesConverted :: Lens.Lens' ImportInstanceVolumeDetailItem (Prelude.Maybe Prelude.Integer)
importInstanceVolumeDetailItem_bytesConverted :: Lens' ImportInstanceVolumeDetailItem (Maybe Integer)
importInstanceVolumeDetailItem_bytesConverted = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportInstanceVolumeDetailItem' {Maybe Integer
bytesConverted :: Maybe Integer
$sel:bytesConverted:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe Integer
bytesConverted} -> Maybe Integer
bytesConverted) (\s :: ImportInstanceVolumeDetailItem
s@ImportInstanceVolumeDetailItem' {} Maybe Integer
a -> ImportInstanceVolumeDetailItem
s {$sel:bytesConverted:ImportInstanceVolumeDetailItem' :: Maybe Integer
bytesConverted = Maybe Integer
a} :: ImportInstanceVolumeDetailItem)
importInstanceVolumeDetailItem_description :: Lens.Lens' ImportInstanceVolumeDetailItem (Prelude.Maybe Prelude.Text)
importInstanceVolumeDetailItem_description :: Lens' ImportInstanceVolumeDetailItem (Maybe Text)
importInstanceVolumeDetailItem_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportInstanceVolumeDetailItem' {Maybe Text
description :: Maybe Text
$sel:description:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe Text
description} -> Maybe Text
description) (\s :: ImportInstanceVolumeDetailItem
s@ImportInstanceVolumeDetailItem' {} Maybe Text
a -> ImportInstanceVolumeDetailItem
s {$sel:description:ImportInstanceVolumeDetailItem' :: Maybe Text
description = Maybe Text
a} :: ImportInstanceVolumeDetailItem)
importInstanceVolumeDetailItem_image :: Lens.Lens' ImportInstanceVolumeDetailItem (Prelude.Maybe DiskImageDescription)
importInstanceVolumeDetailItem_image :: Lens' ImportInstanceVolumeDetailItem (Maybe DiskImageDescription)
importInstanceVolumeDetailItem_image = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportInstanceVolumeDetailItem' {Maybe DiskImageDescription
image :: Maybe DiskImageDescription
$sel:image:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe DiskImageDescription
image} -> Maybe DiskImageDescription
image) (\s :: ImportInstanceVolumeDetailItem
s@ImportInstanceVolumeDetailItem' {} Maybe DiskImageDescription
a -> ImportInstanceVolumeDetailItem
s {$sel:image:ImportInstanceVolumeDetailItem' :: Maybe DiskImageDescription
image = Maybe DiskImageDescription
a} :: ImportInstanceVolumeDetailItem)
importInstanceVolumeDetailItem_status :: Lens.Lens' ImportInstanceVolumeDetailItem (Prelude.Maybe Prelude.Text)
importInstanceVolumeDetailItem_status :: Lens' ImportInstanceVolumeDetailItem (Maybe Text)
importInstanceVolumeDetailItem_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportInstanceVolumeDetailItem' {Maybe Text
status :: Maybe Text
$sel:status:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe Text
status} -> Maybe Text
status) (\s :: ImportInstanceVolumeDetailItem
s@ImportInstanceVolumeDetailItem' {} Maybe Text
a -> ImportInstanceVolumeDetailItem
s {$sel:status:ImportInstanceVolumeDetailItem' :: Maybe Text
status = Maybe Text
a} :: ImportInstanceVolumeDetailItem)
importInstanceVolumeDetailItem_statusMessage :: Lens.Lens' ImportInstanceVolumeDetailItem (Prelude.Maybe Prelude.Text)
importInstanceVolumeDetailItem_statusMessage :: Lens' ImportInstanceVolumeDetailItem (Maybe Text)
importInstanceVolumeDetailItem_statusMessage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportInstanceVolumeDetailItem' {Maybe Text
statusMessage :: Maybe Text
$sel:statusMessage:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe Text
statusMessage} -> Maybe Text
statusMessage) (\s :: ImportInstanceVolumeDetailItem
s@ImportInstanceVolumeDetailItem' {} Maybe Text
a -> ImportInstanceVolumeDetailItem
s {$sel:statusMessage:ImportInstanceVolumeDetailItem' :: Maybe Text
statusMessage = Maybe Text
a} :: ImportInstanceVolumeDetailItem)
importInstanceVolumeDetailItem_volume :: Lens.Lens' ImportInstanceVolumeDetailItem (Prelude.Maybe DiskImageVolumeDescription)
importInstanceVolumeDetailItem_volume :: Lens'
ImportInstanceVolumeDetailItem (Maybe DiskImageVolumeDescription)
importInstanceVolumeDetailItem_volume = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportInstanceVolumeDetailItem' {Maybe DiskImageVolumeDescription
volume :: Maybe DiskImageVolumeDescription
$sel:volume:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe DiskImageVolumeDescription
volume} -> Maybe DiskImageVolumeDescription
volume) (\s :: ImportInstanceVolumeDetailItem
s@ImportInstanceVolumeDetailItem' {} Maybe DiskImageVolumeDescription
a -> ImportInstanceVolumeDetailItem
s {$sel:volume:ImportInstanceVolumeDetailItem' :: Maybe DiskImageVolumeDescription
volume = Maybe DiskImageVolumeDescription
a} :: ImportInstanceVolumeDetailItem)
instance Data.FromXML ImportInstanceVolumeDetailItem where
parseXML :: [Node] -> Either String ImportInstanceVolumeDetailItem
parseXML [Node]
x =
Maybe Text
-> Maybe Integer
-> Maybe Text
-> Maybe DiskImageDescription
-> Maybe Text
-> Maybe Text
-> Maybe DiskImageVolumeDescription
-> ImportInstanceVolumeDetailItem
ImportInstanceVolumeDetailItem'
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
"availabilityZone")
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
"bytesConverted")
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
"image")
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
"status")
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
"statusMessage")
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
"volume")
instance
Prelude.Hashable
ImportInstanceVolumeDetailItem
where
hashWithSalt :: Int -> ImportInstanceVolumeDetailItem -> Int
hashWithSalt
Int
_salt
ImportInstanceVolumeDetailItem' {Maybe Integer
Maybe Text
Maybe DiskImageDescription
Maybe DiskImageVolumeDescription
volume :: Maybe DiskImageVolumeDescription
statusMessage :: Maybe Text
status :: Maybe Text
image :: Maybe DiskImageDescription
description :: Maybe Text
bytesConverted :: Maybe Integer
availabilityZone :: Maybe Text
$sel:volume:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe DiskImageVolumeDescription
$sel:statusMessage:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe Text
$sel:status:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe Text
$sel:image:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe DiskImageDescription
$sel:description:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe Text
$sel:bytesConverted:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe Integer
$sel:availabilityZone:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
availabilityZone
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
bytesConverted
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DiskImageDescription
image
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
status
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
statusMessage
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DiskImageVolumeDescription
volume
instance
Prelude.NFData
ImportInstanceVolumeDetailItem
where
rnf :: ImportInstanceVolumeDetailItem -> ()
rnf ImportInstanceVolumeDetailItem' {Maybe Integer
Maybe Text
Maybe DiskImageDescription
Maybe DiskImageVolumeDescription
volume :: Maybe DiskImageVolumeDescription
statusMessage :: Maybe Text
status :: Maybe Text
image :: Maybe DiskImageDescription
description :: Maybe Text
bytesConverted :: Maybe Integer
availabilityZone :: Maybe Text
$sel:volume:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe DiskImageVolumeDescription
$sel:statusMessage:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe Text
$sel:status:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe Text
$sel:image:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe DiskImageDescription
$sel:description:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe Text
$sel:bytesConverted:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe Integer
$sel:availabilityZone:ImportInstanceVolumeDetailItem' :: ImportInstanceVolumeDetailItem -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
availabilityZone
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
bytesConverted
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 DiskImageDescription
image
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
status
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
statusMessage
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DiskImageVolumeDescription
volume