{-# 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.ConversionTask 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.ConversionTaskState
import Amazonka.EC2.Types.ImportInstanceTaskDetails
import Amazonka.EC2.Types.ImportVolumeTaskDetails
import Amazonka.EC2.Types.Tag
import qualified Amazonka.Prelude as Prelude
data ConversionTask = ConversionTask'
{
ConversionTask -> Maybe Text
conversionTaskId :: Prelude.Maybe Prelude.Text,
ConversionTask -> Maybe Text
expirationTime :: Prelude.Maybe Prelude.Text,
ConversionTask -> Maybe ImportInstanceTaskDetails
importInstance :: Prelude.Maybe ImportInstanceTaskDetails,
ConversionTask -> Maybe ImportVolumeTaskDetails
importVolume :: Prelude.Maybe ImportVolumeTaskDetails,
ConversionTask -> Maybe ConversionTaskState
state :: Prelude.Maybe ConversionTaskState,
ConversionTask -> Maybe Text
statusMessage :: Prelude.Maybe Prelude.Text,
ConversionTask -> Maybe [Tag]
tags :: Prelude.Maybe [Tag]
}
deriving (ConversionTask -> ConversionTask -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ConversionTask -> ConversionTask -> Bool
$c/= :: ConversionTask -> ConversionTask -> Bool
== :: ConversionTask -> ConversionTask -> Bool
$c== :: ConversionTask -> ConversionTask -> Bool
Prelude.Eq, ReadPrec [ConversionTask]
ReadPrec ConversionTask
Int -> ReadS ConversionTask
ReadS [ConversionTask]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ConversionTask]
$creadListPrec :: ReadPrec [ConversionTask]
readPrec :: ReadPrec ConversionTask
$creadPrec :: ReadPrec ConversionTask
readList :: ReadS [ConversionTask]
$creadList :: ReadS [ConversionTask]
readsPrec :: Int -> ReadS ConversionTask
$creadsPrec :: Int -> ReadS ConversionTask
Prelude.Read, Int -> ConversionTask -> ShowS
[ConversionTask] -> ShowS
ConversionTask -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ConversionTask] -> ShowS
$cshowList :: [ConversionTask] -> ShowS
show :: ConversionTask -> String
$cshow :: ConversionTask -> String
showsPrec :: Int -> ConversionTask -> ShowS
$cshowsPrec :: Int -> ConversionTask -> ShowS
Prelude.Show, forall x. Rep ConversionTask x -> ConversionTask
forall x. ConversionTask -> Rep ConversionTask x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ConversionTask x -> ConversionTask
$cfrom :: forall x. ConversionTask -> Rep ConversionTask x
Prelude.Generic)
newConversionTask ::
ConversionTask
newConversionTask :: ConversionTask
newConversionTask =
ConversionTask'
{ $sel:conversionTaskId:ConversionTask' :: Maybe Text
conversionTaskId = forall a. Maybe a
Prelude.Nothing,
$sel:expirationTime:ConversionTask' :: Maybe Text
expirationTime = forall a. Maybe a
Prelude.Nothing,
$sel:importInstance:ConversionTask' :: Maybe ImportInstanceTaskDetails
importInstance = forall a. Maybe a
Prelude.Nothing,
$sel:importVolume:ConversionTask' :: Maybe ImportVolumeTaskDetails
importVolume = forall a. Maybe a
Prelude.Nothing,
$sel:state:ConversionTask' :: Maybe ConversionTaskState
state = forall a. Maybe a
Prelude.Nothing,
$sel:statusMessage:ConversionTask' :: Maybe Text
statusMessage = forall a. Maybe a
Prelude.Nothing,
$sel:tags:ConversionTask' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing
}
conversionTask_conversionTaskId :: Lens.Lens' ConversionTask (Prelude.Maybe Prelude.Text)
conversionTask_conversionTaskId :: Lens' ConversionTask (Maybe Text)
conversionTask_conversionTaskId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConversionTask' {Maybe Text
conversionTaskId :: Maybe Text
$sel:conversionTaskId:ConversionTask' :: ConversionTask -> Maybe Text
conversionTaskId} -> Maybe Text
conversionTaskId) (\s :: ConversionTask
s@ConversionTask' {} Maybe Text
a -> ConversionTask
s {$sel:conversionTaskId:ConversionTask' :: Maybe Text
conversionTaskId = Maybe Text
a} :: ConversionTask)
conversionTask_expirationTime :: Lens.Lens' ConversionTask (Prelude.Maybe Prelude.Text)
conversionTask_expirationTime :: Lens' ConversionTask (Maybe Text)
conversionTask_expirationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConversionTask' {Maybe Text
expirationTime :: Maybe Text
$sel:expirationTime:ConversionTask' :: ConversionTask -> Maybe Text
expirationTime} -> Maybe Text
expirationTime) (\s :: ConversionTask
s@ConversionTask' {} Maybe Text
a -> ConversionTask
s {$sel:expirationTime:ConversionTask' :: Maybe Text
expirationTime = Maybe Text
a} :: ConversionTask)
conversionTask_importInstance :: Lens.Lens' ConversionTask (Prelude.Maybe ImportInstanceTaskDetails)
conversionTask_importInstance :: Lens' ConversionTask (Maybe ImportInstanceTaskDetails)
conversionTask_importInstance = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConversionTask' {Maybe ImportInstanceTaskDetails
importInstance :: Maybe ImportInstanceTaskDetails
$sel:importInstance:ConversionTask' :: ConversionTask -> Maybe ImportInstanceTaskDetails
importInstance} -> Maybe ImportInstanceTaskDetails
importInstance) (\s :: ConversionTask
s@ConversionTask' {} Maybe ImportInstanceTaskDetails
a -> ConversionTask
s {$sel:importInstance:ConversionTask' :: Maybe ImportInstanceTaskDetails
importInstance = Maybe ImportInstanceTaskDetails
a} :: ConversionTask)
conversionTask_importVolume :: Lens.Lens' ConversionTask (Prelude.Maybe ImportVolumeTaskDetails)
conversionTask_importVolume :: Lens' ConversionTask (Maybe ImportVolumeTaskDetails)
conversionTask_importVolume = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConversionTask' {Maybe ImportVolumeTaskDetails
importVolume :: Maybe ImportVolumeTaskDetails
$sel:importVolume:ConversionTask' :: ConversionTask -> Maybe ImportVolumeTaskDetails
importVolume} -> Maybe ImportVolumeTaskDetails
importVolume) (\s :: ConversionTask
s@ConversionTask' {} Maybe ImportVolumeTaskDetails
a -> ConversionTask
s {$sel:importVolume:ConversionTask' :: Maybe ImportVolumeTaskDetails
importVolume = Maybe ImportVolumeTaskDetails
a} :: ConversionTask)
conversionTask_state :: Lens.Lens' ConversionTask (Prelude.Maybe ConversionTaskState)
conversionTask_state :: Lens' ConversionTask (Maybe ConversionTaskState)
conversionTask_state = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConversionTask' {Maybe ConversionTaskState
state :: Maybe ConversionTaskState
$sel:state:ConversionTask' :: ConversionTask -> Maybe ConversionTaskState
state} -> Maybe ConversionTaskState
state) (\s :: ConversionTask
s@ConversionTask' {} Maybe ConversionTaskState
a -> ConversionTask
s {$sel:state:ConversionTask' :: Maybe ConversionTaskState
state = Maybe ConversionTaskState
a} :: ConversionTask)
conversionTask_statusMessage :: Lens.Lens' ConversionTask (Prelude.Maybe Prelude.Text)
conversionTask_statusMessage :: Lens' ConversionTask (Maybe Text)
conversionTask_statusMessage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConversionTask' {Maybe Text
statusMessage :: Maybe Text
$sel:statusMessage:ConversionTask' :: ConversionTask -> Maybe Text
statusMessage} -> Maybe Text
statusMessage) (\s :: ConversionTask
s@ConversionTask' {} Maybe Text
a -> ConversionTask
s {$sel:statusMessage:ConversionTask' :: Maybe Text
statusMessage = Maybe Text
a} :: ConversionTask)
conversionTask_tags :: Lens.Lens' ConversionTask (Prelude.Maybe [Tag])
conversionTask_tags :: Lens' ConversionTask (Maybe [Tag])
conversionTask_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConversionTask' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:ConversionTask' :: ConversionTask -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: ConversionTask
s@ConversionTask' {} Maybe [Tag]
a -> ConversionTask
s {$sel:tags:ConversionTask' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: ConversionTask) 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 ConversionTask where
parseXML :: [Node] -> Either String ConversionTask
parseXML [Node]
x =
Maybe Text
-> Maybe Text
-> Maybe ImportInstanceTaskDetails
-> Maybe ImportVolumeTaskDetails
-> Maybe ConversionTaskState
-> Maybe Text
-> Maybe [Tag]
-> ConversionTask
ConversionTask'
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
"conversionTaskId")
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
"expirationTime")
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
"importInstance")
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
"importVolume")
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
"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
"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 ConversionTask where
hashWithSalt :: Int -> ConversionTask -> Int
hashWithSalt Int
_salt ConversionTask' {Maybe [Tag]
Maybe Text
Maybe ConversionTaskState
Maybe ImportVolumeTaskDetails
Maybe ImportInstanceTaskDetails
tags :: Maybe [Tag]
statusMessage :: Maybe Text
state :: Maybe ConversionTaskState
importVolume :: Maybe ImportVolumeTaskDetails
importInstance :: Maybe ImportInstanceTaskDetails
expirationTime :: Maybe Text
conversionTaskId :: Maybe Text
$sel:tags:ConversionTask' :: ConversionTask -> Maybe [Tag]
$sel:statusMessage:ConversionTask' :: ConversionTask -> Maybe Text
$sel:state:ConversionTask' :: ConversionTask -> Maybe ConversionTaskState
$sel:importVolume:ConversionTask' :: ConversionTask -> Maybe ImportVolumeTaskDetails
$sel:importInstance:ConversionTask' :: ConversionTask -> Maybe ImportInstanceTaskDetails
$sel:expirationTime:ConversionTask' :: ConversionTask -> Maybe Text
$sel:conversionTaskId:ConversionTask' :: ConversionTask -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
conversionTaskId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
expirationTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ImportInstanceTaskDetails
importInstance
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ImportVolumeTaskDetails
importVolume
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ConversionTaskState
state
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
statusMessage
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
instance Prelude.NFData ConversionTask where
rnf :: ConversionTask -> ()
rnf ConversionTask' {Maybe [Tag]
Maybe Text
Maybe ConversionTaskState
Maybe ImportVolumeTaskDetails
Maybe ImportInstanceTaskDetails
tags :: Maybe [Tag]
statusMessage :: Maybe Text
state :: Maybe ConversionTaskState
importVolume :: Maybe ImportVolumeTaskDetails
importInstance :: Maybe ImportInstanceTaskDetails
expirationTime :: Maybe Text
conversionTaskId :: Maybe Text
$sel:tags:ConversionTask' :: ConversionTask -> Maybe [Tag]
$sel:statusMessage:ConversionTask' :: ConversionTask -> Maybe Text
$sel:state:ConversionTask' :: ConversionTask -> Maybe ConversionTaskState
$sel:importVolume:ConversionTask' :: ConversionTask -> Maybe ImportVolumeTaskDetails
$sel:importInstance:ConversionTask' :: ConversionTask -> Maybe ImportInstanceTaskDetails
$sel:expirationTime:ConversionTask' :: ConversionTask -> Maybe Text
$sel:conversionTaskId:ConversionTask' :: ConversionTask -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
conversionTaskId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
expirationTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ImportInstanceTaskDetails
importInstance
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ImportVolumeTaskDetails
importVolume
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ConversionTaskState
state
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 [Tag]
tags