{-# 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.ImageBuilder.DeleteComponent
(
DeleteComponent (..),
newDeleteComponent,
deleteComponent_componentBuildVersionArn,
DeleteComponentResponse (..),
newDeleteComponentResponse,
deleteComponentResponse_componentBuildVersionArn,
deleteComponentResponse_requestId,
deleteComponentResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.ImageBuilder.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeleteComponent = DeleteComponent'
{
DeleteComponent -> Text
componentBuildVersionArn :: Prelude.Text
}
deriving (DeleteComponent -> DeleteComponent -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteComponent -> DeleteComponent -> Bool
$c/= :: DeleteComponent -> DeleteComponent -> Bool
== :: DeleteComponent -> DeleteComponent -> Bool
$c== :: DeleteComponent -> DeleteComponent -> Bool
Prelude.Eq, ReadPrec [DeleteComponent]
ReadPrec DeleteComponent
Int -> ReadS DeleteComponent
ReadS [DeleteComponent]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteComponent]
$creadListPrec :: ReadPrec [DeleteComponent]
readPrec :: ReadPrec DeleteComponent
$creadPrec :: ReadPrec DeleteComponent
readList :: ReadS [DeleteComponent]
$creadList :: ReadS [DeleteComponent]
readsPrec :: Int -> ReadS DeleteComponent
$creadsPrec :: Int -> ReadS DeleteComponent
Prelude.Read, Int -> DeleteComponent -> ShowS
[DeleteComponent] -> ShowS
DeleteComponent -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteComponent] -> ShowS
$cshowList :: [DeleteComponent] -> ShowS
show :: DeleteComponent -> String
$cshow :: DeleteComponent -> String
showsPrec :: Int -> DeleteComponent -> ShowS
$cshowsPrec :: Int -> DeleteComponent -> ShowS
Prelude.Show, forall x. Rep DeleteComponent x -> DeleteComponent
forall x. DeleteComponent -> Rep DeleteComponent x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteComponent x -> DeleteComponent
$cfrom :: forall x. DeleteComponent -> Rep DeleteComponent x
Prelude.Generic)
newDeleteComponent ::
Prelude.Text ->
DeleteComponent
newDeleteComponent :: Text -> DeleteComponent
newDeleteComponent Text
pComponentBuildVersionArn_ =
DeleteComponent'
{ $sel:componentBuildVersionArn:DeleteComponent' :: Text
componentBuildVersionArn =
Text
pComponentBuildVersionArn_
}
deleteComponent_componentBuildVersionArn :: Lens.Lens' DeleteComponent Prelude.Text
deleteComponent_componentBuildVersionArn :: Lens' DeleteComponent Text
deleteComponent_componentBuildVersionArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteComponent' {Text
componentBuildVersionArn :: Text
$sel:componentBuildVersionArn:DeleteComponent' :: DeleteComponent -> Text
componentBuildVersionArn} -> Text
componentBuildVersionArn) (\s :: DeleteComponent
s@DeleteComponent' {} Text
a -> DeleteComponent
s {$sel:componentBuildVersionArn:DeleteComponent' :: Text
componentBuildVersionArn = Text
a} :: DeleteComponent)
instance Core.AWSRequest DeleteComponent where
type
AWSResponse DeleteComponent =
DeleteComponentResponse
request :: (Service -> Service) -> DeleteComponent -> Request DeleteComponent
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.delete (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DeleteComponent
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DeleteComponent)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe Text -> Maybe Text -> Int -> DeleteComponentResponse
DeleteComponentResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"componentBuildVersionArn")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"requestId")
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 DeleteComponent where
hashWithSalt :: Int -> DeleteComponent -> Int
hashWithSalt Int
_salt DeleteComponent' {Text
componentBuildVersionArn :: Text
$sel:componentBuildVersionArn:DeleteComponent' :: DeleteComponent -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
componentBuildVersionArn
instance Prelude.NFData DeleteComponent where
rnf :: DeleteComponent -> ()
rnf DeleteComponent' {Text
componentBuildVersionArn :: Text
$sel:componentBuildVersionArn:DeleteComponent' :: DeleteComponent -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
componentBuildVersionArn
instance Data.ToHeaders DeleteComponent where
toHeaders :: DeleteComponent -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToPath DeleteComponent where
toPath :: DeleteComponent -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/DeleteComponent"
instance Data.ToQuery DeleteComponent where
toQuery :: DeleteComponent -> QueryString
toQuery DeleteComponent' {Text
componentBuildVersionArn :: Text
$sel:componentBuildVersionArn:DeleteComponent' :: DeleteComponent -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"componentBuildVersionArn"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
componentBuildVersionArn
]
data DeleteComponentResponse = DeleteComponentResponse'
{
DeleteComponentResponse -> Maybe Text
componentBuildVersionArn :: Prelude.Maybe Prelude.Text,
DeleteComponentResponse -> Maybe Text
requestId :: Prelude.Maybe Prelude.Text,
DeleteComponentResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteComponentResponse -> DeleteComponentResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteComponentResponse -> DeleteComponentResponse -> Bool
$c/= :: DeleteComponentResponse -> DeleteComponentResponse -> Bool
== :: DeleteComponentResponse -> DeleteComponentResponse -> Bool
$c== :: DeleteComponentResponse -> DeleteComponentResponse -> Bool
Prelude.Eq, ReadPrec [DeleteComponentResponse]
ReadPrec DeleteComponentResponse
Int -> ReadS DeleteComponentResponse
ReadS [DeleteComponentResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteComponentResponse]
$creadListPrec :: ReadPrec [DeleteComponentResponse]
readPrec :: ReadPrec DeleteComponentResponse
$creadPrec :: ReadPrec DeleteComponentResponse
readList :: ReadS [DeleteComponentResponse]
$creadList :: ReadS [DeleteComponentResponse]
readsPrec :: Int -> ReadS DeleteComponentResponse
$creadsPrec :: Int -> ReadS DeleteComponentResponse
Prelude.Read, Int -> DeleteComponentResponse -> ShowS
[DeleteComponentResponse] -> ShowS
DeleteComponentResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteComponentResponse] -> ShowS
$cshowList :: [DeleteComponentResponse] -> ShowS
show :: DeleteComponentResponse -> String
$cshow :: DeleteComponentResponse -> String
showsPrec :: Int -> DeleteComponentResponse -> ShowS
$cshowsPrec :: Int -> DeleteComponentResponse -> ShowS
Prelude.Show, forall x. Rep DeleteComponentResponse x -> DeleteComponentResponse
forall x. DeleteComponentResponse -> Rep DeleteComponentResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteComponentResponse x -> DeleteComponentResponse
$cfrom :: forall x. DeleteComponentResponse -> Rep DeleteComponentResponse x
Prelude.Generic)
newDeleteComponentResponse ::
Prelude.Int ->
DeleteComponentResponse
newDeleteComponentResponse :: Int -> DeleteComponentResponse
newDeleteComponentResponse Int
pHttpStatus_ =
DeleteComponentResponse'
{ $sel:componentBuildVersionArn:DeleteComponentResponse' :: Maybe Text
componentBuildVersionArn =
forall a. Maybe a
Prelude.Nothing,
$sel:requestId:DeleteComponentResponse' :: Maybe Text
requestId = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DeleteComponentResponse' :: Int
httpStatus = Int
pHttpStatus_
}
deleteComponentResponse_componentBuildVersionArn :: Lens.Lens' DeleteComponentResponse (Prelude.Maybe Prelude.Text)
deleteComponentResponse_componentBuildVersionArn :: Lens' DeleteComponentResponse (Maybe Text)
deleteComponentResponse_componentBuildVersionArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteComponentResponse' {Maybe Text
componentBuildVersionArn :: Maybe Text
$sel:componentBuildVersionArn:DeleteComponentResponse' :: DeleteComponentResponse -> Maybe Text
componentBuildVersionArn} -> Maybe Text
componentBuildVersionArn) (\s :: DeleteComponentResponse
s@DeleteComponentResponse' {} Maybe Text
a -> DeleteComponentResponse
s {$sel:componentBuildVersionArn:DeleteComponentResponse' :: Maybe Text
componentBuildVersionArn = Maybe Text
a} :: DeleteComponentResponse)
deleteComponentResponse_requestId :: Lens.Lens' DeleteComponentResponse (Prelude.Maybe Prelude.Text)
deleteComponentResponse_requestId :: Lens' DeleteComponentResponse (Maybe Text)
deleteComponentResponse_requestId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteComponentResponse' {Maybe Text
requestId :: Maybe Text
$sel:requestId:DeleteComponentResponse' :: DeleteComponentResponse -> Maybe Text
requestId} -> Maybe Text
requestId) (\s :: DeleteComponentResponse
s@DeleteComponentResponse' {} Maybe Text
a -> DeleteComponentResponse
s {$sel:requestId:DeleteComponentResponse' :: Maybe Text
requestId = Maybe Text
a} :: DeleteComponentResponse)
deleteComponentResponse_httpStatus :: Lens.Lens' DeleteComponentResponse Prelude.Int
deleteComponentResponse_httpStatus :: Lens' DeleteComponentResponse Int
deleteComponentResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteComponentResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteComponentResponse' :: DeleteComponentResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteComponentResponse
s@DeleteComponentResponse' {} Int
a -> DeleteComponentResponse
s {$sel:httpStatus:DeleteComponentResponse' :: Int
httpStatus = Int
a} :: DeleteComponentResponse)
instance Prelude.NFData DeleteComponentResponse where
rnf :: DeleteComponentResponse -> ()
rnf DeleteComponentResponse' {Int
Maybe Text
httpStatus :: Int
requestId :: Maybe Text
componentBuildVersionArn :: Maybe Text
$sel:httpStatus:DeleteComponentResponse' :: DeleteComponentResponse -> Int
$sel:requestId:DeleteComponentResponse' :: DeleteComponentResponse -> Maybe Text
$sel:componentBuildVersionArn:DeleteComponentResponse' :: DeleteComponentResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
componentBuildVersionArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
requestId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus