{-# 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.ExportImageTask 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.ExportTaskS3Location
import Amazonka.EC2.Types.Tag
import qualified Amazonka.Prelude as Prelude
data ExportImageTask = ExportImageTask'
{
ExportImageTask -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
ExportImageTask -> Maybe Text
exportImageTaskId :: Prelude.Maybe Prelude.Text,
ExportImageTask -> Maybe Text
imageId :: Prelude.Maybe Prelude.Text,
ExportImageTask -> Maybe Text
progress :: Prelude.Maybe Prelude.Text,
ExportImageTask -> Maybe ExportTaskS3Location
s3ExportLocation :: Prelude.Maybe ExportTaskS3Location,
ExportImageTask -> Maybe Text
status :: Prelude.Maybe Prelude.Text,
ExportImageTask -> Maybe Text
statusMessage :: Prelude.Maybe Prelude.Text,
ExportImageTask -> Maybe [Tag]
tags :: Prelude.Maybe [Tag]
}
deriving (ExportImageTask -> ExportImageTask -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExportImageTask -> ExportImageTask -> Bool
$c/= :: ExportImageTask -> ExportImageTask -> Bool
== :: ExportImageTask -> ExportImageTask -> Bool
$c== :: ExportImageTask -> ExportImageTask -> Bool
Prelude.Eq, ReadPrec [ExportImageTask]
ReadPrec ExportImageTask
Int -> ReadS ExportImageTask
ReadS [ExportImageTask]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ExportImageTask]
$creadListPrec :: ReadPrec [ExportImageTask]
readPrec :: ReadPrec ExportImageTask
$creadPrec :: ReadPrec ExportImageTask
readList :: ReadS [ExportImageTask]
$creadList :: ReadS [ExportImageTask]
readsPrec :: Int -> ReadS ExportImageTask
$creadsPrec :: Int -> ReadS ExportImageTask
Prelude.Read, Int -> ExportImageTask -> ShowS
[ExportImageTask] -> ShowS
ExportImageTask -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExportImageTask] -> ShowS
$cshowList :: [ExportImageTask] -> ShowS
show :: ExportImageTask -> String
$cshow :: ExportImageTask -> String
showsPrec :: Int -> ExportImageTask -> ShowS
$cshowsPrec :: Int -> ExportImageTask -> ShowS
Prelude.Show, forall x. Rep ExportImageTask x -> ExportImageTask
forall x. ExportImageTask -> Rep ExportImageTask x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ExportImageTask x -> ExportImageTask
$cfrom :: forall x. ExportImageTask -> Rep ExportImageTask x
Prelude.Generic)
newExportImageTask ::
ExportImageTask
newExportImageTask :: ExportImageTask
newExportImageTask =
ExportImageTask'
{ $sel:description:ExportImageTask' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:exportImageTaskId:ExportImageTask' :: Maybe Text
exportImageTaskId = forall a. Maybe a
Prelude.Nothing,
$sel:imageId:ExportImageTask' :: Maybe Text
imageId = forall a. Maybe a
Prelude.Nothing,
$sel:progress:ExportImageTask' :: Maybe Text
progress = forall a. Maybe a
Prelude.Nothing,
$sel:s3ExportLocation:ExportImageTask' :: Maybe ExportTaskS3Location
s3ExportLocation = forall a. Maybe a
Prelude.Nothing,
$sel:status:ExportImageTask' :: Maybe Text
status = forall a. Maybe a
Prelude.Nothing,
$sel:statusMessage:ExportImageTask' :: Maybe Text
statusMessage = forall a. Maybe a
Prelude.Nothing,
$sel:tags:ExportImageTask' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing
}
exportImageTask_description :: Lens.Lens' ExportImageTask (Prelude.Maybe Prelude.Text)
exportImageTask_description :: Lens' ExportImageTask (Maybe Text)
exportImageTask_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ExportImageTask' {Maybe Text
description :: Maybe Text
$sel:description:ExportImageTask' :: ExportImageTask -> Maybe Text
description} -> Maybe Text
description) (\s :: ExportImageTask
s@ExportImageTask' {} Maybe Text
a -> ExportImageTask
s {$sel:description:ExportImageTask' :: Maybe Text
description = Maybe Text
a} :: ExportImageTask)
exportImageTask_exportImageTaskId :: Lens.Lens' ExportImageTask (Prelude.Maybe Prelude.Text)
exportImageTask_exportImageTaskId :: Lens' ExportImageTask (Maybe Text)
exportImageTask_exportImageTaskId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ExportImageTask' {Maybe Text
exportImageTaskId :: Maybe Text
$sel:exportImageTaskId:ExportImageTask' :: ExportImageTask -> Maybe Text
exportImageTaskId} -> Maybe Text
exportImageTaskId) (\s :: ExportImageTask
s@ExportImageTask' {} Maybe Text
a -> ExportImageTask
s {$sel:exportImageTaskId:ExportImageTask' :: Maybe Text
exportImageTaskId = Maybe Text
a} :: ExportImageTask)
exportImageTask_imageId :: Lens.Lens' ExportImageTask (Prelude.Maybe Prelude.Text)
exportImageTask_imageId :: Lens' ExportImageTask (Maybe Text)
exportImageTask_imageId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ExportImageTask' {Maybe Text
imageId :: Maybe Text
$sel:imageId:ExportImageTask' :: ExportImageTask -> Maybe Text
imageId} -> Maybe Text
imageId) (\s :: ExportImageTask
s@ExportImageTask' {} Maybe Text
a -> ExportImageTask
s {$sel:imageId:ExportImageTask' :: Maybe Text
imageId = Maybe Text
a} :: ExportImageTask)
exportImageTask_progress :: Lens.Lens' ExportImageTask (Prelude.Maybe Prelude.Text)
exportImageTask_progress :: Lens' ExportImageTask (Maybe Text)
exportImageTask_progress = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ExportImageTask' {Maybe Text
progress :: Maybe Text
$sel:progress:ExportImageTask' :: ExportImageTask -> Maybe Text
progress} -> Maybe Text
progress) (\s :: ExportImageTask
s@ExportImageTask' {} Maybe Text
a -> ExportImageTask
s {$sel:progress:ExportImageTask' :: Maybe Text
progress = Maybe Text
a} :: ExportImageTask)
exportImageTask_s3ExportLocation :: Lens.Lens' ExportImageTask (Prelude.Maybe ExportTaskS3Location)
exportImageTask_s3ExportLocation :: Lens' ExportImageTask (Maybe ExportTaskS3Location)
exportImageTask_s3ExportLocation = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ExportImageTask' {Maybe ExportTaskS3Location
s3ExportLocation :: Maybe ExportTaskS3Location
$sel:s3ExportLocation:ExportImageTask' :: ExportImageTask -> Maybe ExportTaskS3Location
s3ExportLocation} -> Maybe ExportTaskS3Location
s3ExportLocation) (\s :: ExportImageTask
s@ExportImageTask' {} Maybe ExportTaskS3Location
a -> ExportImageTask
s {$sel:s3ExportLocation:ExportImageTask' :: Maybe ExportTaskS3Location
s3ExportLocation = Maybe ExportTaskS3Location
a} :: ExportImageTask)
exportImageTask_status :: Lens.Lens' ExportImageTask (Prelude.Maybe Prelude.Text)
exportImageTask_status :: Lens' ExportImageTask (Maybe Text)
exportImageTask_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ExportImageTask' {Maybe Text
status :: Maybe Text
$sel:status:ExportImageTask' :: ExportImageTask -> Maybe Text
status} -> Maybe Text
status) (\s :: ExportImageTask
s@ExportImageTask' {} Maybe Text
a -> ExportImageTask
s {$sel:status:ExportImageTask' :: Maybe Text
status = Maybe Text
a} :: ExportImageTask)
exportImageTask_statusMessage :: Lens.Lens' ExportImageTask (Prelude.Maybe Prelude.Text)
exportImageTask_statusMessage :: Lens' ExportImageTask (Maybe Text)
exportImageTask_statusMessage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ExportImageTask' {Maybe Text
statusMessage :: Maybe Text
$sel:statusMessage:ExportImageTask' :: ExportImageTask -> Maybe Text
statusMessage} -> Maybe Text
statusMessage) (\s :: ExportImageTask
s@ExportImageTask' {} Maybe Text
a -> ExportImageTask
s {$sel:statusMessage:ExportImageTask' :: Maybe Text
statusMessage = Maybe Text
a} :: ExportImageTask)
exportImageTask_tags :: Lens.Lens' ExportImageTask (Prelude.Maybe [Tag])
exportImageTask_tags :: Lens' ExportImageTask (Maybe [Tag])
exportImageTask_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ExportImageTask' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:ExportImageTask' :: ExportImageTask -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: ExportImageTask
s@ExportImageTask' {} Maybe [Tag]
a -> ExportImageTask
s {$sel:tags:ExportImageTask' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: ExportImageTask) 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 ExportImageTask where
parseXML :: [Node] -> Either String ExportImageTask
parseXML [Node]
x =
Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe ExportTaskS3Location
-> Maybe Text
-> Maybe Text
-> Maybe [Tag]
-> ExportImageTask
ExportImageTask'
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
"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
"exportImageTaskId")
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
"progress")
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
"s3ExportLocation")
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
"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 ExportImageTask where
hashWithSalt :: Int -> ExportImageTask -> Int
hashWithSalt Int
_salt ExportImageTask' {Maybe [Tag]
Maybe Text
Maybe ExportTaskS3Location
tags :: Maybe [Tag]
statusMessage :: Maybe Text
status :: Maybe Text
s3ExportLocation :: Maybe ExportTaskS3Location
progress :: Maybe Text
imageId :: Maybe Text
exportImageTaskId :: Maybe Text
description :: Maybe Text
$sel:tags:ExportImageTask' :: ExportImageTask -> Maybe [Tag]
$sel:statusMessage:ExportImageTask' :: ExportImageTask -> Maybe Text
$sel:status:ExportImageTask' :: ExportImageTask -> Maybe Text
$sel:s3ExportLocation:ExportImageTask' :: ExportImageTask -> Maybe ExportTaskS3Location
$sel:progress:ExportImageTask' :: ExportImageTask -> Maybe Text
$sel:imageId:ExportImageTask' :: ExportImageTask -> Maybe Text
$sel:exportImageTaskId:ExportImageTask' :: ExportImageTask -> Maybe Text
$sel:description:ExportImageTask' :: ExportImageTask -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
exportImageTaskId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
imageId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
progress
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ExportTaskS3Location
s3ExportLocation
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 [Tag]
tags
instance Prelude.NFData ExportImageTask where
rnf :: ExportImageTask -> ()
rnf ExportImageTask' {Maybe [Tag]
Maybe Text
Maybe ExportTaskS3Location
tags :: Maybe [Tag]
statusMessage :: Maybe Text
status :: Maybe Text
s3ExportLocation :: Maybe ExportTaskS3Location
progress :: Maybe Text
imageId :: Maybe Text
exportImageTaskId :: Maybe Text
description :: Maybe Text
$sel:tags:ExportImageTask' :: ExportImageTask -> Maybe [Tag]
$sel:statusMessage:ExportImageTask' :: ExportImageTask -> Maybe Text
$sel:status:ExportImageTask' :: ExportImageTask -> Maybe Text
$sel:s3ExportLocation:ExportImageTask' :: ExportImageTask -> Maybe ExportTaskS3Location
$sel:progress:ExportImageTask' :: ExportImageTask -> Maybe Text
$sel:imageId:ExportImageTask' :: ExportImageTask -> Maybe Text
$sel:exportImageTaskId:ExportImageTask' :: ExportImageTask -> Maybe Text
$sel:description:ExportImageTask' :: ExportImageTask -> Maybe Text
..} =
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
exportImageTaskId
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
progress
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ExportTaskS3Location
s3ExportLocation
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 [Tag]
tags