{-# 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.ReplaceRootVolumeTask 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.ReplaceRootVolumeTaskState
import Amazonka.EC2.Types.Tag
import qualified Amazonka.Prelude as Prelude
data ReplaceRootVolumeTask = ReplaceRootVolumeTask'
{
ReplaceRootVolumeTask -> Maybe Text
completeTime :: Prelude.Maybe Prelude.Text,
ReplaceRootVolumeTask -> Maybe Bool
deleteReplacedRootVolume :: Prelude.Maybe Prelude.Bool,
ReplaceRootVolumeTask -> Maybe Text
imageId :: Prelude.Maybe Prelude.Text,
ReplaceRootVolumeTask -> Maybe Text
instanceId :: Prelude.Maybe Prelude.Text,
ReplaceRootVolumeTask -> Maybe Text
replaceRootVolumeTaskId :: Prelude.Maybe Prelude.Text,
ReplaceRootVolumeTask -> Maybe Text
snapshotId :: Prelude.Maybe Prelude.Text,
ReplaceRootVolumeTask -> Maybe Text
startTime :: Prelude.Maybe Prelude.Text,
ReplaceRootVolumeTask -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
ReplaceRootVolumeTask -> Maybe ReplaceRootVolumeTaskState
taskState :: Prelude.Maybe ReplaceRootVolumeTaskState
}
deriving (ReplaceRootVolumeTask -> ReplaceRootVolumeTask -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ReplaceRootVolumeTask -> ReplaceRootVolumeTask -> Bool
$c/= :: ReplaceRootVolumeTask -> ReplaceRootVolumeTask -> Bool
== :: ReplaceRootVolumeTask -> ReplaceRootVolumeTask -> Bool
$c== :: ReplaceRootVolumeTask -> ReplaceRootVolumeTask -> Bool
Prelude.Eq, ReadPrec [ReplaceRootVolumeTask]
ReadPrec ReplaceRootVolumeTask
Int -> ReadS ReplaceRootVolumeTask
ReadS [ReplaceRootVolumeTask]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ReplaceRootVolumeTask]
$creadListPrec :: ReadPrec [ReplaceRootVolumeTask]
readPrec :: ReadPrec ReplaceRootVolumeTask
$creadPrec :: ReadPrec ReplaceRootVolumeTask
readList :: ReadS [ReplaceRootVolumeTask]
$creadList :: ReadS [ReplaceRootVolumeTask]
readsPrec :: Int -> ReadS ReplaceRootVolumeTask
$creadsPrec :: Int -> ReadS ReplaceRootVolumeTask
Prelude.Read, Int -> ReplaceRootVolumeTask -> ShowS
[ReplaceRootVolumeTask] -> ShowS
ReplaceRootVolumeTask -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ReplaceRootVolumeTask] -> ShowS
$cshowList :: [ReplaceRootVolumeTask] -> ShowS
show :: ReplaceRootVolumeTask -> String
$cshow :: ReplaceRootVolumeTask -> String
showsPrec :: Int -> ReplaceRootVolumeTask -> ShowS
$cshowsPrec :: Int -> ReplaceRootVolumeTask -> ShowS
Prelude.Show, forall x. Rep ReplaceRootVolumeTask x -> ReplaceRootVolumeTask
forall x. ReplaceRootVolumeTask -> Rep ReplaceRootVolumeTask x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ReplaceRootVolumeTask x -> ReplaceRootVolumeTask
$cfrom :: forall x. ReplaceRootVolumeTask -> Rep ReplaceRootVolumeTask x
Prelude.Generic)
newReplaceRootVolumeTask ::
ReplaceRootVolumeTask
newReplaceRootVolumeTask :: ReplaceRootVolumeTask
newReplaceRootVolumeTask =
ReplaceRootVolumeTask'
{ $sel:completeTime:ReplaceRootVolumeTask' :: Maybe Text
completeTime =
forall a. Maybe a
Prelude.Nothing,
$sel:deleteReplacedRootVolume:ReplaceRootVolumeTask' :: Maybe Bool
deleteReplacedRootVolume = forall a. Maybe a
Prelude.Nothing,
$sel:imageId:ReplaceRootVolumeTask' :: Maybe Text
imageId = forall a. Maybe a
Prelude.Nothing,
$sel:instanceId:ReplaceRootVolumeTask' :: Maybe Text
instanceId = forall a. Maybe a
Prelude.Nothing,
$sel:replaceRootVolumeTaskId:ReplaceRootVolumeTask' :: Maybe Text
replaceRootVolumeTaskId = forall a. Maybe a
Prelude.Nothing,
$sel:snapshotId:ReplaceRootVolumeTask' :: Maybe Text
snapshotId = forall a. Maybe a
Prelude.Nothing,
$sel:startTime:ReplaceRootVolumeTask' :: Maybe Text
startTime = forall a. Maybe a
Prelude.Nothing,
$sel:tags:ReplaceRootVolumeTask' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
$sel:taskState:ReplaceRootVolumeTask' :: Maybe ReplaceRootVolumeTaskState
taskState = forall a. Maybe a
Prelude.Nothing
}
replaceRootVolumeTask_completeTime :: Lens.Lens' ReplaceRootVolumeTask (Prelude.Maybe Prelude.Text)
replaceRootVolumeTask_completeTime :: Lens' ReplaceRootVolumeTask (Maybe Text)
replaceRootVolumeTask_completeTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReplaceRootVolumeTask' {Maybe Text
completeTime :: Maybe Text
$sel:completeTime:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Text
completeTime} -> Maybe Text
completeTime) (\s :: ReplaceRootVolumeTask
s@ReplaceRootVolumeTask' {} Maybe Text
a -> ReplaceRootVolumeTask
s {$sel:completeTime:ReplaceRootVolumeTask' :: Maybe Text
completeTime = Maybe Text
a} :: ReplaceRootVolumeTask)
replaceRootVolumeTask_deleteReplacedRootVolume :: Lens.Lens' ReplaceRootVolumeTask (Prelude.Maybe Prelude.Bool)
replaceRootVolumeTask_deleteReplacedRootVolume :: Lens' ReplaceRootVolumeTask (Maybe Bool)
replaceRootVolumeTask_deleteReplacedRootVolume = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReplaceRootVolumeTask' {Maybe Bool
deleteReplacedRootVolume :: Maybe Bool
$sel:deleteReplacedRootVolume:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Bool
deleteReplacedRootVolume} -> Maybe Bool
deleteReplacedRootVolume) (\s :: ReplaceRootVolumeTask
s@ReplaceRootVolumeTask' {} Maybe Bool
a -> ReplaceRootVolumeTask
s {$sel:deleteReplacedRootVolume:ReplaceRootVolumeTask' :: Maybe Bool
deleteReplacedRootVolume = Maybe Bool
a} :: ReplaceRootVolumeTask)
replaceRootVolumeTask_imageId :: Lens.Lens' ReplaceRootVolumeTask (Prelude.Maybe Prelude.Text)
replaceRootVolumeTask_imageId :: Lens' ReplaceRootVolumeTask (Maybe Text)
replaceRootVolumeTask_imageId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReplaceRootVolumeTask' {Maybe Text
imageId :: Maybe Text
$sel:imageId:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Text
imageId} -> Maybe Text
imageId) (\s :: ReplaceRootVolumeTask
s@ReplaceRootVolumeTask' {} Maybe Text
a -> ReplaceRootVolumeTask
s {$sel:imageId:ReplaceRootVolumeTask' :: Maybe Text
imageId = Maybe Text
a} :: ReplaceRootVolumeTask)
replaceRootVolumeTask_instanceId :: Lens.Lens' ReplaceRootVolumeTask (Prelude.Maybe Prelude.Text)
replaceRootVolumeTask_instanceId :: Lens' ReplaceRootVolumeTask (Maybe Text)
replaceRootVolumeTask_instanceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReplaceRootVolumeTask' {Maybe Text
instanceId :: Maybe Text
$sel:instanceId:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Text
instanceId} -> Maybe Text
instanceId) (\s :: ReplaceRootVolumeTask
s@ReplaceRootVolumeTask' {} Maybe Text
a -> ReplaceRootVolumeTask
s {$sel:instanceId:ReplaceRootVolumeTask' :: Maybe Text
instanceId = Maybe Text
a} :: ReplaceRootVolumeTask)
replaceRootVolumeTask_replaceRootVolumeTaskId :: Lens.Lens' ReplaceRootVolumeTask (Prelude.Maybe Prelude.Text)
replaceRootVolumeTask_replaceRootVolumeTaskId :: Lens' ReplaceRootVolumeTask (Maybe Text)
replaceRootVolumeTask_replaceRootVolumeTaskId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReplaceRootVolumeTask' {Maybe Text
replaceRootVolumeTaskId :: Maybe Text
$sel:replaceRootVolumeTaskId:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Text
replaceRootVolumeTaskId} -> Maybe Text
replaceRootVolumeTaskId) (\s :: ReplaceRootVolumeTask
s@ReplaceRootVolumeTask' {} Maybe Text
a -> ReplaceRootVolumeTask
s {$sel:replaceRootVolumeTaskId:ReplaceRootVolumeTask' :: Maybe Text
replaceRootVolumeTaskId = Maybe Text
a} :: ReplaceRootVolumeTask)
replaceRootVolumeTask_snapshotId :: Lens.Lens' ReplaceRootVolumeTask (Prelude.Maybe Prelude.Text)
replaceRootVolumeTask_snapshotId :: Lens' ReplaceRootVolumeTask (Maybe Text)
replaceRootVolumeTask_snapshotId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReplaceRootVolumeTask' {Maybe Text
snapshotId :: Maybe Text
$sel:snapshotId:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Text
snapshotId} -> Maybe Text
snapshotId) (\s :: ReplaceRootVolumeTask
s@ReplaceRootVolumeTask' {} Maybe Text
a -> ReplaceRootVolumeTask
s {$sel:snapshotId:ReplaceRootVolumeTask' :: Maybe Text
snapshotId = Maybe Text
a} :: ReplaceRootVolumeTask)
replaceRootVolumeTask_startTime :: Lens.Lens' ReplaceRootVolumeTask (Prelude.Maybe Prelude.Text)
replaceRootVolumeTask_startTime :: Lens' ReplaceRootVolumeTask (Maybe Text)
replaceRootVolumeTask_startTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReplaceRootVolumeTask' {Maybe Text
startTime :: Maybe Text
$sel:startTime:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Text
startTime} -> Maybe Text
startTime) (\s :: ReplaceRootVolumeTask
s@ReplaceRootVolumeTask' {} Maybe Text
a -> ReplaceRootVolumeTask
s {$sel:startTime:ReplaceRootVolumeTask' :: Maybe Text
startTime = Maybe Text
a} :: ReplaceRootVolumeTask)
replaceRootVolumeTask_tags :: Lens.Lens' ReplaceRootVolumeTask (Prelude.Maybe [Tag])
replaceRootVolumeTask_tags :: Lens' ReplaceRootVolumeTask (Maybe [Tag])
replaceRootVolumeTask_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReplaceRootVolumeTask' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: ReplaceRootVolumeTask
s@ReplaceRootVolumeTask' {} Maybe [Tag]
a -> ReplaceRootVolumeTask
s {$sel:tags:ReplaceRootVolumeTask' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: ReplaceRootVolumeTask) 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
replaceRootVolumeTask_taskState :: Lens.Lens' ReplaceRootVolumeTask (Prelude.Maybe ReplaceRootVolumeTaskState)
replaceRootVolumeTask_taskState :: Lens' ReplaceRootVolumeTask (Maybe ReplaceRootVolumeTaskState)
replaceRootVolumeTask_taskState = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReplaceRootVolumeTask' {Maybe ReplaceRootVolumeTaskState
taskState :: Maybe ReplaceRootVolumeTaskState
$sel:taskState:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe ReplaceRootVolumeTaskState
taskState} -> Maybe ReplaceRootVolumeTaskState
taskState) (\s :: ReplaceRootVolumeTask
s@ReplaceRootVolumeTask' {} Maybe ReplaceRootVolumeTaskState
a -> ReplaceRootVolumeTask
s {$sel:taskState:ReplaceRootVolumeTask' :: Maybe ReplaceRootVolumeTaskState
taskState = Maybe ReplaceRootVolumeTaskState
a} :: ReplaceRootVolumeTask)
instance Data.FromXML ReplaceRootVolumeTask where
parseXML :: [Node] -> Either String ReplaceRootVolumeTask
parseXML [Node]
x =
Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [Tag]
-> Maybe ReplaceRootVolumeTaskState
-> ReplaceRootVolumeTask
ReplaceRootVolumeTask'
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
"completeTime")
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
"deleteReplacedRootVolume")
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
"imageId")
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
"instanceId")
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
"replaceRootVolumeTaskId")
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
"snapshotId")
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
"startTime")
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")
)
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
"taskState")
instance Prelude.Hashable ReplaceRootVolumeTask where
hashWithSalt :: Int -> ReplaceRootVolumeTask -> Int
hashWithSalt Int
_salt ReplaceRootVolumeTask' {Maybe Bool
Maybe [Tag]
Maybe Text
Maybe ReplaceRootVolumeTaskState
taskState :: Maybe ReplaceRootVolumeTaskState
tags :: Maybe [Tag]
startTime :: Maybe Text
snapshotId :: Maybe Text
replaceRootVolumeTaskId :: Maybe Text
instanceId :: Maybe Text
imageId :: Maybe Text
deleteReplacedRootVolume :: Maybe Bool
completeTime :: Maybe Text
$sel:taskState:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe ReplaceRootVolumeTaskState
$sel:tags:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe [Tag]
$sel:startTime:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Text
$sel:snapshotId:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Text
$sel:replaceRootVolumeTaskId:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Text
$sel:instanceId:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Text
$sel:imageId:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Text
$sel:deleteReplacedRootVolume:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Bool
$sel:completeTime:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
completeTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
deleteReplacedRootVolume
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
imageId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
instanceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
replaceRootVolumeTaskId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
snapshotId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
startTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ReplaceRootVolumeTaskState
taskState
instance Prelude.NFData ReplaceRootVolumeTask where
rnf :: ReplaceRootVolumeTask -> ()
rnf ReplaceRootVolumeTask' {Maybe Bool
Maybe [Tag]
Maybe Text
Maybe ReplaceRootVolumeTaskState
taskState :: Maybe ReplaceRootVolumeTaskState
tags :: Maybe [Tag]
startTime :: Maybe Text
snapshotId :: Maybe Text
replaceRootVolumeTaskId :: Maybe Text
instanceId :: Maybe Text
imageId :: Maybe Text
deleteReplacedRootVolume :: Maybe Bool
completeTime :: Maybe Text
$sel:taskState:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe ReplaceRootVolumeTaskState
$sel:tags:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe [Tag]
$sel:startTime:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Text
$sel:snapshotId:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Text
$sel:replaceRootVolumeTaskId:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Text
$sel:instanceId:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Text
$sel:imageId:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Text
$sel:deleteReplacedRootVolume:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Bool
$sel:completeTime:ReplaceRootVolumeTask' :: ReplaceRootVolumeTask -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
completeTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
deleteReplacedRootVolume
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
imageId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
instanceId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
replaceRootVolumeTaskId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
snapshotId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
startTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ReplaceRootVolumeTaskState
taskState