{-# 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.CodeStarNotifications.DeleteTarget
(
DeleteTarget (..),
newDeleteTarget,
deleteTarget_forceUnsubscribeAll,
deleteTarget_targetAddress,
DeleteTargetResponse (..),
newDeleteTargetResponse,
deleteTargetResponse_httpStatus,
)
where
import Amazonka.CodeStarNotifications.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 DeleteTarget = DeleteTarget'
{
DeleteTarget -> Maybe Bool
forceUnsubscribeAll :: Prelude.Maybe Prelude.Bool,
DeleteTarget -> Sensitive Text
targetAddress :: Data.Sensitive Prelude.Text
}
deriving (DeleteTarget -> DeleteTarget -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteTarget -> DeleteTarget -> Bool
$c/= :: DeleteTarget -> DeleteTarget -> Bool
== :: DeleteTarget -> DeleteTarget -> Bool
$c== :: DeleteTarget -> DeleteTarget -> Bool
Prelude.Eq, Int -> DeleteTarget -> ShowS
[DeleteTarget] -> ShowS
DeleteTarget -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteTarget] -> ShowS
$cshowList :: [DeleteTarget] -> ShowS
show :: DeleteTarget -> String
$cshow :: DeleteTarget -> String
showsPrec :: Int -> DeleteTarget -> ShowS
$cshowsPrec :: Int -> DeleteTarget -> ShowS
Prelude.Show, forall x. Rep DeleteTarget x -> DeleteTarget
forall x. DeleteTarget -> Rep DeleteTarget x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteTarget x -> DeleteTarget
$cfrom :: forall x. DeleteTarget -> Rep DeleteTarget x
Prelude.Generic)
newDeleteTarget ::
Prelude.Text ->
DeleteTarget
newDeleteTarget :: Text -> DeleteTarget
newDeleteTarget Text
pTargetAddress_ =
DeleteTarget'
{ $sel:forceUnsubscribeAll:DeleteTarget' :: Maybe Bool
forceUnsubscribeAll =
forall a. Maybe a
Prelude.Nothing,
$sel:targetAddress:DeleteTarget' :: Sensitive Text
targetAddress =
forall a. Iso' (Sensitive a) a
Data._Sensitive forall t b. AReview t b -> b -> t
Lens.# Text
pTargetAddress_
}
deleteTarget_forceUnsubscribeAll :: Lens.Lens' DeleteTarget (Prelude.Maybe Prelude.Bool)
deleteTarget_forceUnsubscribeAll :: Lens' DeleteTarget (Maybe Bool)
deleteTarget_forceUnsubscribeAll = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteTarget' {Maybe Bool
forceUnsubscribeAll :: Maybe Bool
$sel:forceUnsubscribeAll:DeleteTarget' :: DeleteTarget -> Maybe Bool
forceUnsubscribeAll} -> Maybe Bool
forceUnsubscribeAll) (\s :: DeleteTarget
s@DeleteTarget' {} Maybe Bool
a -> DeleteTarget
s {$sel:forceUnsubscribeAll:DeleteTarget' :: Maybe Bool
forceUnsubscribeAll = Maybe Bool
a} :: DeleteTarget)
deleteTarget_targetAddress :: Lens.Lens' DeleteTarget Prelude.Text
deleteTarget_targetAddress :: Lens' DeleteTarget Text
deleteTarget_targetAddress = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteTarget' {Sensitive Text
targetAddress :: Sensitive Text
$sel:targetAddress:DeleteTarget' :: DeleteTarget -> Sensitive Text
targetAddress} -> Sensitive Text
targetAddress) (\s :: DeleteTarget
s@DeleteTarget' {} Sensitive Text
a -> DeleteTarget
s {$sel:targetAddress:DeleteTarget' :: Sensitive Text
targetAddress = Sensitive Text
a} :: DeleteTarget) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a. Iso' (Sensitive a) a
Data._Sensitive
instance Core.AWSRequest DeleteTarget where
type AWSResponse DeleteTarget = DeleteTargetResponse
request :: (Service -> Service) -> DeleteTarget -> Request DeleteTarget
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 DeleteTarget
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DeleteTarget)))
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 -> DeleteTargetResponse
DeleteTargetResponse'
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 DeleteTarget where
hashWithSalt :: Int -> DeleteTarget -> Int
hashWithSalt Int
_salt DeleteTarget' {Maybe Bool
Sensitive Text
targetAddress :: Sensitive Text
forceUnsubscribeAll :: Maybe Bool
$sel:targetAddress:DeleteTarget' :: DeleteTarget -> Sensitive Text
$sel:forceUnsubscribeAll:DeleteTarget' :: DeleteTarget -> Maybe Bool
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
forceUnsubscribeAll
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Sensitive Text
targetAddress
instance Prelude.NFData DeleteTarget where
rnf :: DeleteTarget -> ()
rnf DeleteTarget' {Maybe Bool
Sensitive Text
targetAddress :: Sensitive Text
forceUnsubscribeAll :: Maybe Bool
$sel:targetAddress:DeleteTarget' :: DeleteTarget -> Sensitive Text
$sel:forceUnsubscribeAll:DeleteTarget' :: DeleteTarget -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
forceUnsubscribeAll
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Sensitive Text
targetAddress
instance Data.ToHeaders DeleteTarget where
toHeaders :: DeleteTarget -> 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.ToJSON DeleteTarget where
toJSON :: DeleteTarget -> Value
toJSON DeleteTarget' {Maybe Bool
Sensitive Text
targetAddress :: Sensitive Text
forceUnsubscribeAll :: Maybe Bool
$sel:targetAddress:DeleteTarget' :: DeleteTarget -> Sensitive Text
$sel:forceUnsubscribeAll:DeleteTarget' :: DeleteTarget -> Maybe Bool
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"ForceUnsubscribeAll" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
forceUnsubscribeAll,
forall a. a -> Maybe a
Prelude.Just
(Key
"TargetAddress" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Sensitive Text
targetAddress)
]
)
instance Data.ToPath DeleteTarget where
toPath :: DeleteTarget -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/deleteTarget"
instance Data.ToQuery DeleteTarget where
toQuery :: DeleteTarget -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteTargetResponse = DeleteTargetResponse'
{
DeleteTargetResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteTargetResponse -> DeleteTargetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteTargetResponse -> DeleteTargetResponse -> Bool
$c/= :: DeleteTargetResponse -> DeleteTargetResponse -> Bool
== :: DeleteTargetResponse -> DeleteTargetResponse -> Bool
$c== :: DeleteTargetResponse -> DeleteTargetResponse -> Bool
Prelude.Eq, ReadPrec [DeleteTargetResponse]
ReadPrec DeleteTargetResponse
Int -> ReadS DeleteTargetResponse
ReadS [DeleteTargetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteTargetResponse]
$creadListPrec :: ReadPrec [DeleteTargetResponse]
readPrec :: ReadPrec DeleteTargetResponse
$creadPrec :: ReadPrec DeleteTargetResponse
readList :: ReadS [DeleteTargetResponse]
$creadList :: ReadS [DeleteTargetResponse]
readsPrec :: Int -> ReadS DeleteTargetResponse
$creadsPrec :: Int -> ReadS DeleteTargetResponse
Prelude.Read, Int -> DeleteTargetResponse -> ShowS
[DeleteTargetResponse] -> ShowS
DeleteTargetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteTargetResponse] -> ShowS
$cshowList :: [DeleteTargetResponse] -> ShowS
show :: DeleteTargetResponse -> String
$cshow :: DeleteTargetResponse -> String
showsPrec :: Int -> DeleteTargetResponse -> ShowS
$cshowsPrec :: Int -> DeleteTargetResponse -> ShowS
Prelude.Show, forall x. Rep DeleteTargetResponse x -> DeleteTargetResponse
forall x. DeleteTargetResponse -> Rep DeleteTargetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteTargetResponse x -> DeleteTargetResponse
$cfrom :: forall x. DeleteTargetResponse -> Rep DeleteTargetResponse x
Prelude.Generic)
newDeleteTargetResponse ::
Prelude.Int ->
DeleteTargetResponse
newDeleteTargetResponse :: Int -> DeleteTargetResponse
newDeleteTargetResponse Int
pHttpStatus_ =
DeleteTargetResponse' {$sel:httpStatus:DeleteTargetResponse' :: Int
httpStatus = Int
pHttpStatus_}
deleteTargetResponse_httpStatus :: Lens.Lens' DeleteTargetResponse Prelude.Int
deleteTargetResponse_httpStatus :: Lens' DeleteTargetResponse Int
deleteTargetResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteTargetResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteTargetResponse' :: DeleteTargetResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteTargetResponse
s@DeleteTargetResponse' {} Int
a -> DeleteTargetResponse
s {$sel:httpStatus:DeleteTargetResponse' :: Int
httpStatus = Int
a} :: DeleteTargetResponse)
instance Prelude.NFData DeleteTargetResponse where
rnf :: DeleteTargetResponse -> ()
rnf DeleteTargetResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteTargetResponse' :: DeleteTargetResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus