{-# 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.Lightsail.DeleteContainerImage
(
DeleteContainerImage (..),
newDeleteContainerImage,
deleteContainerImage_serviceName,
deleteContainerImage_image,
DeleteContainerImageResponse (..),
newDeleteContainerImageResponse,
deleteContainerImageResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Lightsail.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeleteContainerImage = DeleteContainerImage'
{
DeleteContainerImage -> Text
serviceName :: Prelude.Text,
DeleteContainerImage -> Text
image :: Prelude.Text
}
deriving (DeleteContainerImage -> DeleteContainerImage -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteContainerImage -> DeleteContainerImage -> Bool
$c/= :: DeleteContainerImage -> DeleteContainerImage -> Bool
== :: DeleteContainerImage -> DeleteContainerImage -> Bool
$c== :: DeleteContainerImage -> DeleteContainerImage -> Bool
Prelude.Eq, ReadPrec [DeleteContainerImage]
ReadPrec DeleteContainerImage
Int -> ReadS DeleteContainerImage
ReadS [DeleteContainerImage]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteContainerImage]
$creadListPrec :: ReadPrec [DeleteContainerImage]
readPrec :: ReadPrec DeleteContainerImage
$creadPrec :: ReadPrec DeleteContainerImage
readList :: ReadS [DeleteContainerImage]
$creadList :: ReadS [DeleteContainerImage]
readsPrec :: Int -> ReadS DeleteContainerImage
$creadsPrec :: Int -> ReadS DeleteContainerImage
Prelude.Read, Int -> DeleteContainerImage -> ShowS
[DeleteContainerImage] -> ShowS
DeleteContainerImage -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteContainerImage] -> ShowS
$cshowList :: [DeleteContainerImage] -> ShowS
show :: DeleteContainerImage -> String
$cshow :: DeleteContainerImage -> String
showsPrec :: Int -> DeleteContainerImage -> ShowS
$cshowsPrec :: Int -> DeleteContainerImage -> ShowS
Prelude.Show, forall x. Rep DeleteContainerImage x -> DeleteContainerImage
forall x. DeleteContainerImage -> Rep DeleteContainerImage x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteContainerImage x -> DeleteContainerImage
$cfrom :: forall x. DeleteContainerImage -> Rep DeleteContainerImage x
Prelude.Generic)
newDeleteContainerImage ::
Prelude.Text ->
Prelude.Text ->
DeleteContainerImage
newDeleteContainerImage :: Text -> Text -> DeleteContainerImage
newDeleteContainerImage Text
pServiceName_ Text
pImage_ =
DeleteContainerImage'
{ $sel:serviceName:DeleteContainerImage' :: Text
serviceName = Text
pServiceName_,
$sel:image:DeleteContainerImage' :: Text
image = Text
pImage_
}
deleteContainerImage_serviceName :: Lens.Lens' DeleteContainerImage Prelude.Text
deleteContainerImage_serviceName :: Lens' DeleteContainerImage Text
deleteContainerImage_serviceName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteContainerImage' {Text
serviceName :: Text
$sel:serviceName:DeleteContainerImage' :: DeleteContainerImage -> Text
serviceName} -> Text
serviceName) (\s :: DeleteContainerImage
s@DeleteContainerImage' {} Text
a -> DeleteContainerImage
s {$sel:serviceName:DeleteContainerImage' :: Text
serviceName = Text
a} :: DeleteContainerImage)
deleteContainerImage_image :: Lens.Lens' DeleteContainerImage Prelude.Text
deleteContainerImage_image :: Lens' DeleteContainerImage Text
deleteContainerImage_image = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteContainerImage' {Text
image :: Text
$sel:image:DeleteContainerImage' :: DeleteContainerImage -> Text
image} -> Text
image) (\s :: DeleteContainerImage
s@DeleteContainerImage' {} Text
a -> DeleteContainerImage
s {$sel:image:DeleteContainerImage' :: Text
image = Text
a} :: DeleteContainerImage)
instance Core.AWSRequest DeleteContainerImage where
type
AWSResponse DeleteContainerImage =
DeleteContainerImageResponse
request :: (Service -> Service)
-> DeleteContainerImage -> Request DeleteContainerImage
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DeleteContainerImage
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DeleteContainerImage)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> DeleteContainerImageResponse
DeleteContainerImageResponse'
forall (f :: * -> *) a b. Functor 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 DeleteContainerImage where
hashWithSalt :: Int -> DeleteContainerImage -> Int
hashWithSalt Int
_salt DeleteContainerImage' {Text
image :: Text
serviceName :: Text
$sel:image:DeleteContainerImage' :: DeleteContainerImage -> Text
$sel:serviceName:DeleteContainerImage' :: DeleteContainerImage -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
serviceName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
image
instance Prelude.NFData DeleteContainerImage where
rnf :: DeleteContainerImage -> ()
rnf DeleteContainerImage' {Text
image :: Text
serviceName :: Text
$sel:image:DeleteContainerImage' :: DeleteContainerImage -> Text
$sel:serviceName:DeleteContainerImage' :: DeleteContainerImage -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
serviceName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
image
instance Data.ToHeaders DeleteContainerImage where
toHeaders :: DeleteContainerImage -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"Lightsail_20161128.DeleteContainerImage" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON DeleteContainerImage where
toJSON :: DeleteContainerImage -> Value
toJSON DeleteContainerImage' {Text
image :: Text
serviceName :: Text
$sel:image:DeleteContainerImage' :: DeleteContainerImage -> Text
$sel:serviceName:DeleteContainerImage' :: DeleteContainerImage -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"serviceName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
serviceName),
forall a. a -> Maybe a
Prelude.Just (Key
"image" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
image)
]
)
instance Data.ToPath DeleteContainerImage where
toPath :: DeleteContainerImage -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DeleteContainerImage where
toQuery :: DeleteContainerImage -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteContainerImageResponse = DeleteContainerImageResponse'
{
DeleteContainerImageResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteContainerImageResponse
-> DeleteContainerImageResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteContainerImageResponse
-> DeleteContainerImageResponse -> Bool
$c/= :: DeleteContainerImageResponse
-> DeleteContainerImageResponse -> Bool
== :: DeleteContainerImageResponse
-> DeleteContainerImageResponse -> Bool
$c== :: DeleteContainerImageResponse
-> DeleteContainerImageResponse -> Bool
Prelude.Eq, ReadPrec [DeleteContainerImageResponse]
ReadPrec DeleteContainerImageResponse
Int -> ReadS DeleteContainerImageResponse
ReadS [DeleteContainerImageResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteContainerImageResponse]
$creadListPrec :: ReadPrec [DeleteContainerImageResponse]
readPrec :: ReadPrec DeleteContainerImageResponse
$creadPrec :: ReadPrec DeleteContainerImageResponse
readList :: ReadS [DeleteContainerImageResponse]
$creadList :: ReadS [DeleteContainerImageResponse]
readsPrec :: Int -> ReadS DeleteContainerImageResponse
$creadsPrec :: Int -> ReadS DeleteContainerImageResponse
Prelude.Read, Int -> DeleteContainerImageResponse -> ShowS
[DeleteContainerImageResponse] -> ShowS
DeleteContainerImageResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteContainerImageResponse] -> ShowS
$cshowList :: [DeleteContainerImageResponse] -> ShowS
show :: DeleteContainerImageResponse -> String
$cshow :: DeleteContainerImageResponse -> String
showsPrec :: Int -> DeleteContainerImageResponse -> ShowS
$cshowsPrec :: Int -> DeleteContainerImageResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteContainerImageResponse x -> DeleteContainerImageResponse
forall x.
DeleteContainerImageResponse -> Rep DeleteContainerImageResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteContainerImageResponse x -> DeleteContainerImageResponse
$cfrom :: forall x.
DeleteContainerImageResponse -> Rep DeleteContainerImageResponse x
Prelude.Generic)
newDeleteContainerImageResponse ::
Prelude.Int ->
DeleteContainerImageResponse
newDeleteContainerImageResponse :: Int -> DeleteContainerImageResponse
newDeleteContainerImageResponse Int
pHttpStatus_ =
DeleteContainerImageResponse'
{ $sel:httpStatus:DeleteContainerImageResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
deleteContainerImageResponse_httpStatus :: Lens.Lens' DeleteContainerImageResponse Prelude.Int
deleteContainerImageResponse_httpStatus :: Lens' DeleteContainerImageResponse Int
deleteContainerImageResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteContainerImageResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteContainerImageResponse' :: DeleteContainerImageResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteContainerImageResponse
s@DeleteContainerImageResponse' {} Int
a -> DeleteContainerImageResponse
s {$sel:httpStatus:DeleteContainerImageResponse' :: Int
httpStatus = Int
a} :: DeleteContainerImageResponse)
instance Prelude.NFData DeleteContainerImageResponse where
rnf :: DeleteContainerImageResponse -> ()
rnf DeleteContainerImageResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteContainerImageResponse' :: DeleteContainerImageResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus