{-# 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.ImportVolumeTaskDetails 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 ImportVolumeTaskDetails = ImportVolumeTaskDetails'
{
ImportVolumeTaskDetails -> Maybe Text
availabilityZone :: Prelude.Maybe Prelude.Text,
ImportVolumeTaskDetails -> Maybe Integer
bytesConverted :: Prelude.Maybe Prelude.Integer,
ImportVolumeTaskDetails -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
ImportVolumeTaskDetails -> Maybe DiskImageDescription
image :: Prelude.Maybe DiskImageDescription,
ImportVolumeTaskDetails -> Maybe DiskImageVolumeDescription
volume :: Prelude.Maybe DiskImageVolumeDescription
}
deriving (ImportVolumeTaskDetails -> ImportVolumeTaskDetails -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ImportVolumeTaskDetails -> ImportVolumeTaskDetails -> Bool
$c/= :: ImportVolumeTaskDetails -> ImportVolumeTaskDetails -> Bool
== :: ImportVolumeTaskDetails -> ImportVolumeTaskDetails -> Bool
$c== :: ImportVolumeTaskDetails -> ImportVolumeTaskDetails -> Bool
Prelude.Eq, ReadPrec [ImportVolumeTaskDetails]
ReadPrec ImportVolumeTaskDetails
Int -> ReadS ImportVolumeTaskDetails
ReadS [ImportVolumeTaskDetails]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ImportVolumeTaskDetails]
$creadListPrec :: ReadPrec [ImportVolumeTaskDetails]
readPrec :: ReadPrec ImportVolumeTaskDetails
$creadPrec :: ReadPrec ImportVolumeTaskDetails
readList :: ReadS [ImportVolumeTaskDetails]
$creadList :: ReadS [ImportVolumeTaskDetails]
readsPrec :: Int -> ReadS ImportVolumeTaskDetails
$creadsPrec :: Int -> ReadS ImportVolumeTaskDetails
Prelude.Read, Int -> ImportVolumeTaskDetails -> ShowS
[ImportVolumeTaskDetails] -> ShowS
ImportVolumeTaskDetails -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ImportVolumeTaskDetails] -> ShowS
$cshowList :: [ImportVolumeTaskDetails] -> ShowS
show :: ImportVolumeTaskDetails -> String
$cshow :: ImportVolumeTaskDetails -> String
showsPrec :: Int -> ImportVolumeTaskDetails -> ShowS
$cshowsPrec :: Int -> ImportVolumeTaskDetails -> ShowS
Prelude.Show, forall x. Rep ImportVolumeTaskDetails x -> ImportVolumeTaskDetails
forall x. ImportVolumeTaskDetails -> Rep ImportVolumeTaskDetails x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ImportVolumeTaskDetails x -> ImportVolumeTaskDetails
$cfrom :: forall x. ImportVolumeTaskDetails -> Rep ImportVolumeTaskDetails x
Prelude.Generic)
newImportVolumeTaskDetails ::
ImportVolumeTaskDetails
newImportVolumeTaskDetails :: ImportVolumeTaskDetails
newImportVolumeTaskDetails =
ImportVolumeTaskDetails'
{ $sel:availabilityZone:ImportVolumeTaskDetails' :: Maybe Text
availabilityZone =
forall a. Maybe a
Prelude.Nothing,
$sel:bytesConverted:ImportVolumeTaskDetails' :: Maybe Integer
bytesConverted = forall a. Maybe a
Prelude.Nothing,
$sel:description:ImportVolumeTaskDetails' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:image:ImportVolumeTaskDetails' :: Maybe DiskImageDescription
image = forall a. Maybe a
Prelude.Nothing,
$sel:volume:ImportVolumeTaskDetails' :: Maybe DiskImageVolumeDescription
volume = forall a. Maybe a
Prelude.Nothing
}
importVolumeTaskDetails_availabilityZone :: Lens.Lens' ImportVolumeTaskDetails (Prelude.Maybe Prelude.Text)
importVolumeTaskDetails_availabilityZone :: Lens' ImportVolumeTaskDetails (Maybe Text)
importVolumeTaskDetails_availabilityZone = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportVolumeTaskDetails' {Maybe Text
availabilityZone :: Maybe Text
$sel:availabilityZone:ImportVolumeTaskDetails' :: ImportVolumeTaskDetails -> Maybe Text
availabilityZone} -> Maybe Text
availabilityZone) (\s :: ImportVolumeTaskDetails
s@ImportVolumeTaskDetails' {} Maybe Text
a -> ImportVolumeTaskDetails
s {$sel:availabilityZone:ImportVolumeTaskDetails' :: Maybe Text
availabilityZone = Maybe Text
a} :: ImportVolumeTaskDetails)
importVolumeTaskDetails_bytesConverted :: Lens.Lens' ImportVolumeTaskDetails (Prelude.Maybe Prelude.Integer)
importVolumeTaskDetails_bytesConverted :: Lens' ImportVolumeTaskDetails (Maybe Integer)
importVolumeTaskDetails_bytesConverted = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportVolumeTaskDetails' {Maybe Integer
bytesConverted :: Maybe Integer
$sel:bytesConverted:ImportVolumeTaskDetails' :: ImportVolumeTaskDetails -> Maybe Integer
bytesConverted} -> Maybe Integer
bytesConverted) (\s :: ImportVolumeTaskDetails
s@ImportVolumeTaskDetails' {} Maybe Integer
a -> ImportVolumeTaskDetails
s {$sel:bytesConverted:ImportVolumeTaskDetails' :: Maybe Integer
bytesConverted = Maybe Integer
a} :: ImportVolumeTaskDetails)
importVolumeTaskDetails_description :: Lens.Lens' ImportVolumeTaskDetails (Prelude.Maybe Prelude.Text)
importVolumeTaskDetails_description :: Lens' ImportVolumeTaskDetails (Maybe Text)
importVolumeTaskDetails_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportVolumeTaskDetails' {Maybe Text
description :: Maybe Text
$sel:description:ImportVolumeTaskDetails' :: ImportVolumeTaskDetails -> Maybe Text
description} -> Maybe Text
description) (\s :: ImportVolumeTaskDetails
s@ImportVolumeTaskDetails' {} Maybe Text
a -> ImportVolumeTaskDetails
s {$sel:description:ImportVolumeTaskDetails' :: Maybe Text
description = Maybe Text
a} :: ImportVolumeTaskDetails)
importVolumeTaskDetails_image :: Lens.Lens' ImportVolumeTaskDetails (Prelude.Maybe DiskImageDescription)
importVolumeTaskDetails_image :: Lens' ImportVolumeTaskDetails (Maybe DiskImageDescription)
importVolumeTaskDetails_image = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportVolumeTaskDetails' {Maybe DiskImageDescription
image :: Maybe DiskImageDescription
$sel:image:ImportVolumeTaskDetails' :: ImportVolumeTaskDetails -> Maybe DiskImageDescription
image} -> Maybe DiskImageDescription
image) (\s :: ImportVolumeTaskDetails
s@ImportVolumeTaskDetails' {} Maybe DiskImageDescription
a -> ImportVolumeTaskDetails
s {$sel:image:ImportVolumeTaskDetails' :: Maybe DiskImageDescription
image = Maybe DiskImageDescription
a} :: ImportVolumeTaskDetails)
importVolumeTaskDetails_volume :: Lens.Lens' ImportVolumeTaskDetails (Prelude.Maybe DiskImageVolumeDescription)
importVolumeTaskDetails_volume :: Lens' ImportVolumeTaskDetails (Maybe DiskImageVolumeDescription)
importVolumeTaskDetails_volume = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportVolumeTaskDetails' {Maybe DiskImageVolumeDescription
volume :: Maybe DiskImageVolumeDescription
$sel:volume:ImportVolumeTaskDetails' :: ImportVolumeTaskDetails -> Maybe DiskImageVolumeDescription
volume} -> Maybe DiskImageVolumeDescription
volume) (\s :: ImportVolumeTaskDetails
s@ImportVolumeTaskDetails' {} Maybe DiskImageVolumeDescription
a -> ImportVolumeTaskDetails
s {$sel:volume:ImportVolumeTaskDetails' :: Maybe DiskImageVolumeDescription
volume = Maybe DiskImageVolumeDescription
a} :: ImportVolumeTaskDetails)
instance Data.FromXML ImportVolumeTaskDetails where
parseXML :: [Node] -> Either String ImportVolumeTaskDetails
parseXML [Node]
x =
Maybe Text
-> Maybe Integer
-> Maybe Text
-> Maybe DiskImageDescription
-> Maybe DiskImageVolumeDescription
-> ImportVolumeTaskDetails
ImportVolumeTaskDetails'
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
"volume")
instance Prelude.Hashable ImportVolumeTaskDetails where
hashWithSalt :: Int -> ImportVolumeTaskDetails -> Int
hashWithSalt Int
_salt ImportVolumeTaskDetails' {Maybe Integer
Maybe Text
Maybe DiskImageDescription
Maybe DiskImageVolumeDescription
volume :: Maybe DiskImageVolumeDescription
image :: Maybe DiskImageDescription
description :: Maybe Text
bytesConverted :: Maybe Integer
availabilityZone :: Maybe Text
$sel:volume:ImportVolumeTaskDetails' :: ImportVolumeTaskDetails -> Maybe DiskImageVolumeDescription
$sel:image:ImportVolumeTaskDetails' :: ImportVolumeTaskDetails -> Maybe DiskImageDescription
$sel:description:ImportVolumeTaskDetails' :: ImportVolumeTaskDetails -> Maybe Text
$sel:bytesConverted:ImportVolumeTaskDetails' :: ImportVolumeTaskDetails -> Maybe Integer
$sel:availabilityZone:ImportVolumeTaskDetails' :: ImportVolumeTaskDetails -> 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 DiskImageVolumeDescription
volume
instance Prelude.NFData ImportVolumeTaskDetails where
rnf :: ImportVolumeTaskDetails -> ()
rnf ImportVolumeTaskDetails' {Maybe Integer
Maybe Text
Maybe DiskImageDescription
Maybe DiskImageVolumeDescription
volume :: Maybe DiskImageVolumeDescription
image :: Maybe DiskImageDescription
description :: Maybe Text
bytesConverted :: Maybe Integer
availabilityZone :: Maybe Text
$sel:volume:ImportVolumeTaskDetails' :: ImportVolumeTaskDetails -> Maybe DiskImageVolumeDescription
$sel:image:ImportVolumeTaskDetails' :: ImportVolumeTaskDetails -> Maybe DiskImageDescription
$sel:description:ImportVolumeTaskDetails' :: ImportVolumeTaskDetails -> Maybe Text
$sel:bytesConverted:ImportVolumeTaskDetails' :: ImportVolumeTaskDetails -> Maybe Integer
$sel:availabilityZone:ImportVolumeTaskDetails' :: ImportVolumeTaskDetails -> 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 DiskImageVolumeDescription
volume