{-# 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.ApplicationInsights.DeleteComponent
(
DeleteComponent (..),
newDeleteComponent,
deleteComponent_resourceGroupName,
deleteComponent_componentName,
DeleteComponentResponse (..),
newDeleteComponentResponse,
deleteComponentResponse_httpStatus,
)
where
import Amazonka.ApplicationInsights.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeleteComponent = DeleteComponent'
{
DeleteComponent -> Text
resourceGroupName :: Prelude.Text,
DeleteComponent -> Text
componentName :: 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 ->
Prelude.Text ->
DeleteComponent
newDeleteComponent :: Text -> Text -> DeleteComponent
newDeleteComponent
Text
pResourceGroupName_
Text
pComponentName_ =
DeleteComponent'
{ $sel:resourceGroupName:DeleteComponent' :: Text
resourceGroupName =
Text
pResourceGroupName_,
$sel:componentName:DeleteComponent' :: Text
componentName = Text
pComponentName_
}
deleteComponent_resourceGroupName :: Lens.Lens' DeleteComponent Prelude.Text
deleteComponent_resourceGroupName :: Lens' DeleteComponent Text
deleteComponent_resourceGroupName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteComponent' {Text
resourceGroupName :: Text
$sel:resourceGroupName:DeleteComponent' :: DeleteComponent -> Text
resourceGroupName} -> Text
resourceGroupName) (\s :: DeleteComponent
s@DeleteComponent' {} Text
a -> DeleteComponent
s {$sel:resourceGroupName:DeleteComponent' :: Text
resourceGroupName = Text
a} :: DeleteComponent)
deleteComponent_componentName :: Lens.Lens' DeleteComponent Prelude.Text
deleteComponent_componentName :: Lens' DeleteComponent Text
deleteComponent_componentName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteComponent' {Text
componentName :: Text
$sel:componentName:DeleteComponent' :: DeleteComponent -> Text
componentName} -> Text
componentName) (\s :: DeleteComponent
s@DeleteComponent' {} Text
a -> DeleteComponent
s {$sel:componentName:DeleteComponent' :: Text
componentName = 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, ToJSON a) => Service -> a -> Request a
Request.postJSON (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 -> () -> 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 -> DeleteComponentResponse
DeleteComponentResponse'
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 DeleteComponent where
hashWithSalt :: Int -> DeleteComponent -> Int
hashWithSalt Int
_salt DeleteComponent' {Text
componentName :: Text
resourceGroupName :: Text
$sel:componentName:DeleteComponent' :: DeleteComponent -> Text
$sel:resourceGroupName:DeleteComponent' :: DeleteComponent -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceGroupName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
componentName
instance Prelude.NFData DeleteComponent where
rnf :: DeleteComponent -> ()
rnf DeleteComponent' {Text
componentName :: Text
resourceGroupName :: Text
$sel:componentName:DeleteComponent' :: DeleteComponent -> Text
$sel:resourceGroupName:DeleteComponent' :: DeleteComponent -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
resourceGroupName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
componentName
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
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"EC2WindowsBarleyService.DeleteComponent" ::
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 DeleteComponent where
toJSON :: DeleteComponent -> Value
toJSON DeleteComponent' {Text
componentName :: Text
resourceGroupName :: Text
$sel:componentName:DeleteComponent' :: DeleteComponent -> Text
$sel:resourceGroupName:DeleteComponent' :: DeleteComponent -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"ResourceGroupName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
resourceGroupName),
forall a. a -> Maybe a
Prelude.Just
(Key
"ComponentName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
componentName)
]
)
instance Data.ToPath DeleteComponent where
toPath :: DeleteComponent -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DeleteComponent where
toQuery :: DeleteComponent -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteComponentResponse = DeleteComponentResponse'
{
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:httpStatus:DeleteComponentResponse' :: Int
httpStatus = Int
pHttpStatus_}
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
httpStatus :: Int
$sel:httpStatus:DeleteComponentResponse' :: DeleteComponentResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus