{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.EC2.CreateStoreImageTask
(
CreateStoreImageTask (..),
newCreateStoreImageTask,
createStoreImageTask_dryRun,
createStoreImageTask_s3ObjectTags,
createStoreImageTask_imageId,
createStoreImageTask_bucket,
CreateStoreImageTaskResponse (..),
newCreateStoreImageTaskResponse,
createStoreImageTaskResponse_objectKey,
createStoreImageTaskResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EC2.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data CreateStoreImageTask = CreateStoreImageTask'
{
CreateStoreImageTask -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
CreateStoreImageTask -> Maybe [S3ObjectTag]
s3ObjectTags :: Prelude.Maybe [S3ObjectTag],
CreateStoreImageTask -> Text
imageId :: Prelude.Text,
CreateStoreImageTask -> Text
bucket :: Prelude.Text
}
deriving (CreateStoreImageTask -> CreateStoreImageTask -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateStoreImageTask -> CreateStoreImageTask -> Bool
$c/= :: CreateStoreImageTask -> CreateStoreImageTask -> Bool
== :: CreateStoreImageTask -> CreateStoreImageTask -> Bool
$c== :: CreateStoreImageTask -> CreateStoreImageTask -> Bool
Prelude.Eq, ReadPrec [CreateStoreImageTask]
ReadPrec CreateStoreImageTask
Int -> ReadS CreateStoreImageTask
ReadS [CreateStoreImageTask]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateStoreImageTask]
$creadListPrec :: ReadPrec [CreateStoreImageTask]
readPrec :: ReadPrec CreateStoreImageTask
$creadPrec :: ReadPrec CreateStoreImageTask
readList :: ReadS [CreateStoreImageTask]
$creadList :: ReadS [CreateStoreImageTask]
readsPrec :: Int -> ReadS CreateStoreImageTask
$creadsPrec :: Int -> ReadS CreateStoreImageTask
Prelude.Read, Int -> CreateStoreImageTask -> ShowS
[CreateStoreImageTask] -> ShowS
CreateStoreImageTask -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateStoreImageTask] -> ShowS
$cshowList :: [CreateStoreImageTask] -> ShowS
show :: CreateStoreImageTask -> String
$cshow :: CreateStoreImageTask -> String
showsPrec :: Int -> CreateStoreImageTask -> ShowS
$cshowsPrec :: Int -> CreateStoreImageTask -> ShowS
Prelude.Show, forall x. Rep CreateStoreImageTask x -> CreateStoreImageTask
forall x. CreateStoreImageTask -> Rep CreateStoreImageTask x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateStoreImageTask x -> CreateStoreImageTask
$cfrom :: forall x. CreateStoreImageTask -> Rep CreateStoreImageTask x
Prelude.Generic)
newCreateStoreImageTask ::
Prelude.Text ->
Prelude.Text ->
CreateStoreImageTask
newCreateStoreImageTask :: Text -> Text -> CreateStoreImageTask
newCreateStoreImageTask Text
pImageId_ Text
pBucket_ =
CreateStoreImageTask'
{ $sel:dryRun:CreateStoreImageTask' :: Maybe Bool
dryRun = forall a. Maybe a
Prelude.Nothing,
$sel:s3ObjectTags:CreateStoreImageTask' :: Maybe [S3ObjectTag]
s3ObjectTags = forall a. Maybe a
Prelude.Nothing,
$sel:imageId:CreateStoreImageTask' :: Text
imageId = Text
pImageId_,
$sel:bucket:CreateStoreImageTask' :: Text
bucket = Text
pBucket_
}
createStoreImageTask_dryRun :: Lens.Lens' CreateStoreImageTask (Prelude.Maybe Prelude.Bool)
createStoreImageTask_dryRun :: Lens' CreateStoreImageTask (Maybe Bool)
createStoreImageTask_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStoreImageTask' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:CreateStoreImageTask' :: CreateStoreImageTask -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: CreateStoreImageTask
s@CreateStoreImageTask' {} Maybe Bool
a -> CreateStoreImageTask
s {$sel:dryRun:CreateStoreImageTask' :: Maybe Bool
dryRun = Maybe Bool
a} :: CreateStoreImageTask)
createStoreImageTask_s3ObjectTags :: Lens.Lens' CreateStoreImageTask (Prelude.Maybe [S3ObjectTag])
createStoreImageTask_s3ObjectTags :: Lens' CreateStoreImageTask (Maybe [S3ObjectTag])
createStoreImageTask_s3ObjectTags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStoreImageTask' {Maybe [S3ObjectTag]
s3ObjectTags :: Maybe [S3ObjectTag]
$sel:s3ObjectTags:CreateStoreImageTask' :: CreateStoreImageTask -> Maybe [S3ObjectTag]
s3ObjectTags} -> Maybe [S3ObjectTag]
s3ObjectTags) (\s :: CreateStoreImageTask
s@CreateStoreImageTask' {} Maybe [S3ObjectTag]
a -> CreateStoreImageTask
s {$sel:s3ObjectTags:CreateStoreImageTask' :: Maybe [S3ObjectTag]
s3ObjectTags = Maybe [S3ObjectTag]
a} :: CreateStoreImageTask) 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
createStoreImageTask_imageId :: Lens.Lens' CreateStoreImageTask Prelude.Text
createStoreImageTask_imageId :: Lens' CreateStoreImageTask Text
createStoreImageTask_imageId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStoreImageTask' {Text
imageId :: Text
$sel:imageId:CreateStoreImageTask' :: CreateStoreImageTask -> Text
imageId} -> Text
imageId) (\s :: CreateStoreImageTask
s@CreateStoreImageTask' {} Text
a -> CreateStoreImageTask
s {$sel:imageId:CreateStoreImageTask' :: Text
imageId = Text
a} :: CreateStoreImageTask)
createStoreImageTask_bucket :: Lens.Lens' CreateStoreImageTask Prelude.Text
createStoreImageTask_bucket :: Lens' CreateStoreImageTask Text
createStoreImageTask_bucket = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStoreImageTask' {Text
bucket :: Text
$sel:bucket:CreateStoreImageTask' :: CreateStoreImageTask -> Text
bucket} -> Text
bucket) (\s :: CreateStoreImageTask
s@CreateStoreImageTask' {} Text
a -> CreateStoreImageTask
s {$sel:bucket:CreateStoreImageTask' :: Text
bucket = Text
a} :: CreateStoreImageTask)
instance Core.AWSRequest CreateStoreImageTask where
type
AWSResponse CreateStoreImageTask =
CreateStoreImageTaskResponse
request :: (Service -> Service)
-> CreateStoreImageTask -> Request CreateStoreImageTask
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy CreateStoreImageTask
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateStoreImageTask)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXML
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe Text -> Int -> CreateStoreImageTaskResponse
CreateStoreImageTaskResponse'
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
"objectKey")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable CreateStoreImageTask where
hashWithSalt :: Int -> CreateStoreImageTask -> Int
hashWithSalt Int
_salt CreateStoreImageTask' {Maybe Bool
Maybe [S3ObjectTag]
Text
bucket :: Text
imageId :: Text
s3ObjectTags :: Maybe [S3ObjectTag]
dryRun :: Maybe Bool
$sel:bucket:CreateStoreImageTask' :: CreateStoreImageTask -> Text
$sel:imageId:CreateStoreImageTask' :: CreateStoreImageTask -> Text
$sel:s3ObjectTags:CreateStoreImageTask' :: CreateStoreImageTask -> Maybe [S3ObjectTag]
$sel:dryRun:CreateStoreImageTask' :: CreateStoreImageTask -> Maybe Bool
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [S3ObjectTag]
s3ObjectTags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
imageId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
bucket
instance Prelude.NFData CreateStoreImageTask where
rnf :: CreateStoreImageTask -> ()
rnf CreateStoreImageTask' {Maybe Bool
Maybe [S3ObjectTag]
Text
bucket :: Text
imageId :: Text
s3ObjectTags :: Maybe [S3ObjectTag]
dryRun :: Maybe Bool
$sel:bucket:CreateStoreImageTask' :: CreateStoreImageTask -> Text
$sel:imageId:CreateStoreImageTask' :: CreateStoreImageTask -> Text
$sel:s3ObjectTags:CreateStoreImageTask' :: CreateStoreImageTask -> Maybe [S3ObjectTag]
$sel:dryRun:CreateStoreImageTask' :: CreateStoreImageTask -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
dryRun
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [S3ObjectTag]
s3ObjectTags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
imageId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
bucket
instance Data.ToHeaders CreateStoreImageTask where
toHeaders :: CreateStoreImageTask -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath CreateStoreImageTask where
toPath :: CreateStoreImageTask -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateStoreImageTask where
toQuery :: CreateStoreImageTask -> QueryString
toQuery CreateStoreImageTask' {Maybe Bool
Maybe [S3ObjectTag]
Text
bucket :: Text
imageId :: Text
s3ObjectTags :: Maybe [S3ObjectTag]
dryRun :: Maybe Bool
$sel:bucket:CreateStoreImageTask' :: CreateStoreImageTask -> Text
$sel:imageId:CreateStoreImageTask' :: CreateStoreImageTask -> Text
$sel:s3ObjectTags:CreateStoreImageTask' :: CreateStoreImageTask -> Maybe [S3ObjectTag]
$sel:dryRun:CreateStoreImageTask' :: CreateStoreImageTask -> Maybe Bool
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"CreateStoreImageTask" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2016-11-15" :: Prelude.ByteString),
ByteString
"DryRun" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
dryRun,
forall a. ToQuery a => a -> QueryString
Data.toQuery
( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"S3ObjectTag"
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [S3ObjectTag]
s3ObjectTags
),
ByteString
"ImageId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
imageId,
ByteString
"Bucket" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
bucket
]
data CreateStoreImageTaskResponse = CreateStoreImageTaskResponse'
{
CreateStoreImageTaskResponse -> Maybe Text
objectKey :: Prelude.Maybe Prelude.Text,
CreateStoreImageTaskResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateStoreImageTaskResponse
-> CreateStoreImageTaskResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateStoreImageTaskResponse
-> CreateStoreImageTaskResponse -> Bool
$c/= :: CreateStoreImageTaskResponse
-> CreateStoreImageTaskResponse -> Bool
== :: CreateStoreImageTaskResponse
-> CreateStoreImageTaskResponse -> Bool
$c== :: CreateStoreImageTaskResponse
-> CreateStoreImageTaskResponse -> Bool
Prelude.Eq, ReadPrec [CreateStoreImageTaskResponse]
ReadPrec CreateStoreImageTaskResponse
Int -> ReadS CreateStoreImageTaskResponse
ReadS [CreateStoreImageTaskResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateStoreImageTaskResponse]
$creadListPrec :: ReadPrec [CreateStoreImageTaskResponse]
readPrec :: ReadPrec CreateStoreImageTaskResponse
$creadPrec :: ReadPrec CreateStoreImageTaskResponse
readList :: ReadS [CreateStoreImageTaskResponse]
$creadList :: ReadS [CreateStoreImageTaskResponse]
readsPrec :: Int -> ReadS CreateStoreImageTaskResponse
$creadsPrec :: Int -> ReadS CreateStoreImageTaskResponse
Prelude.Read, Int -> CreateStoreImageTaskResponse -> ShowS
[CreateStoreImageTaskResponse] -> ShowS
CreateStoreImageTaskResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateStoreImageTaskResponse] -> ShowS
$cshowList :: [CreateStoreImageTaskResponse] -> ShowS
show :: CreateStoreImageTaskResponse -> String
$cshow :: CreateStoreImageTaskResponse -> String
showsPrec :: Int -> CreateStoreImageTaskResponse -> ShowS
$cshowsPrec :: Int -> CreateStoreImageTaskResponse -> ShowS
Prelude.Show, forall x.
Rep CreateStoreImageTaskResponse x -> CreateStoreImageTaskResponse
forall x.
CreateStoreImageTaskResponse -> Rep CreateStoreImageTaskResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateStoreImageTaskResponse x -> CreateStoreImageTaskResponse
$cfrom :: forall x.
CreateStoreImageTaskResponse -> Rep CreateStoreImageTaskResponse x
Prelude.Generic)
newCreateStoreImageTaskResponse ::
Prelude.Int ->
CreateStoreImageTaskResponse
newCreateStoreImageTaskResponse :: Int -> CreateStoreImageTaskResponse
newCreateStoreImageTaskResponse Int
pHttpStatus_ =
CreateStoreImageTaskResponse'
{ $sel:objectKey:CreateStoreImageTaskResponse' :: Maybe Text
objectKey =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateStoreImageTaskResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createStoreImageTaskResponse_objectKey :: Lens.Lens' CreateStoreImageTaskResponse (Prelude.Maybe Prelude.Text)
createStoreImageTaskResponse_objectKey :: Lens' CreateStoreImageTaskResponse (Maybe Text)
createStoreImageTaskResponse_objectKey = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStoreImageTaskResponse' {Maybe Text
objectKey :: Maybe Text
$sel:objectKey:CreateStoreImageTaskResponse' :: CreateStoreImageTaskResponse -> Maybe Text
objectKey} -> Maybe Text
objectKey) (\s :: CreateStoreImageTaskResponse
s@CreateStoreImageTaskResponse' {} Maybe Text
a -> CreateStoreImageTaskResponse
s {$sel:objectKey:CreateStoreImageTaskResponse' :: Maybe Text
objectKey = Maybe Text
a} :: CreateStoreImageTaskResponse)
createStoreImageTaskResponse_httpStatus :: Lens.Lens' CreateStoreImageTaskResponse Prelude.Int
createStoreImageTaskResponse_httpStatus :: Lens' CreateStoreImageTaskResponse Int
createStoreImageTaskResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStoreImageTaskResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateStoreImageTaskResponse' :: CreateStoreImageTaskResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateStoreImageTaskResponse
s@CreateStoreImageTaskResponse' {} Int
a -> CreateStoreImageTaskResponse
s {$sel:httpStatus:CreateStoreImageTaskResponse' :: Int
httpStatus = Int
a} :: CreateStoreImageTaskResponse)
instance Prelude.NFData CreateStoreImageTaskResponse where
rnf :: CreateStoreImageTaskResponse -> ()
rnf CreateStoreImageTaskResponse' {Int
Maybe Text
httpStatus :: Int
objectKey :: Maybe Text
$sel:httpStatus:CreateStoreImageTaskResponse' :: CreateStoreImageTaskResponse -> Int
$sel:objectKey:CreateStoreImageTaskResponse' :: CreateStoreImageTaskResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
objectKey
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus