{-# 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.CustomerProfiles.DeleteIntegration
(
DeleteIntegration (..),
newDeleteIntegration,
deleteIntegration_domainName,
deleteIntegration_uri,
DeleteIntegrationResponse (..),
newDeleteIntegrationResponse,
deleteIntegrationResponse_httpStatus,
deleteIntegrationResponse_message,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import Amazonka.CustomerProfiles.Types
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 DeleteIntegration = DeleteIntegration'
{
DeleteIntegration -> Text
domainName :: Prelude.Text,
DeleteIntegration -> Text
uri :: Prelude.Text
}
deriving (DeleteIntegration -> DeleteIntegration -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteIntegration -> DeleteIntegration -> Bool
$c/= :: DeleteIntegration -> DeleteIntegration -> Bool
== :: DeleteIntegration -> DeleteIntegration -> Bool
$c== :: DeleteIntegration -> DeleteIntegration -> Bool
Prelude.Eq, ReadPrec [DeleteIntegration]
ReadPrec DeleteIntegration
Int -> ReadS DeleteIntegration
ReadS [DeleteIntegration]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteIntegration]
$creadListPrec :: ReadPrec [DeleteIntegration]
readPrec :: ReadPrec DeleteIntegration
$creadPrec :: ReadPrec DeleteIntegration
readList :: ReadS [DeleteIntegration]
$creadList :: ReadS [DeleteIntegration]
readsPrec :: Int -> ReadS DeleteIntegration
$creadsPrec :: Int -> ReadS DeleteIntegration
Prelude.Read, Int -> DeleteIntegration -> ShowS
[DeleteIntegration] -> ShowS
DeleteIntegration -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteIntegration] -> ShowS
$cshowList :: [DeleteIntegration] -> ShowS
show :: DeleteIntegration -> String
$cshow :: DeleteIntegration -> String
showsPrec :: Int -> DeleteIntegration -> ShowS
$cshowsPrec :: Int -> DeleteIntegration -> ShowS
Prelude.Show, forall x. Rep DeleteIntegration x -> DeleteIntegration
forall x. DeleteIntegration -> Rep DeleteIntegration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteIntegration x -> DeleteIntegration
$cfrom :: forall x. DeleteIntegration -> Rep DeleteIntegration x
Prelude.Generic)
newDeleteIntegration ::
Prelude.Text ->
Prelude.Text ->
DeleteIntegration
newDeleteIntegration :: Text -> Text -> DeleteIntegration
newDeleteIntegration Text
pDomainName_ Text
pUri_ =
DeleteIntegration'
{ $sel:domainName:DeleteIntegration' :: Text
domainName = Text
pDomainName_,
$sel:uri:DeleteIntegration' :: Text
uri = Text
pUri_
}
deleteIntegration_domainName :: Lens.Lens' DeleteIntegration Prelude.Text
deleteIntegration_domainName :: Lens' DeleteIntegration Text
deleteIntegration_domainName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteIntegration' {Text
domainName :: Text
$sel:domainName:DeleteIntegration' :: DeleteIntegration -> Text
domainName} -> Text
domainName) (\s :: DeleteIntegration
s@DeleteIntegration' {} Text
a -> DeleteIntegration
s {$sel:domainName:DeleteIntegration' :: Text
domainName = Text
a} :: DeleteIntegration)
deleteIntegration_uri :: Lens.Lens' DeleteIntegration Prelude.Text
deleteIntegration_uri :: Lens' DeleteIntegration Text
deleteIntegration_uri = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteIntegration' {Text
uri :: Text
$sel:uri:DeleteIntegration' :: DeleteIntegration -> Text
uri} -> Text
uri) (\s :: DeleteIntegration
s@DeleteIntegration' {} Text
a -> DeleteIntegration
s {$sel:uri:DeleteIntegration' :: Text
uri = Text
a} :: DeleteIntegration)
instance Core.AWSRequest DeleteIntegration where
type
AWSResponse DeleteIntegration =
DeleteIntegrationResponse
request :: (Service -> Service)
-> DeleteIntegration -> Request DeleteIntegration
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 DeleteIntegration
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DeleteIntegration)))
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 ->
Int -> Text -> DeleteIntegrationResponse
DeleteIntegrationResponse'
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))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"Message")
)
instance Prelude.Hashable DeleteIntegration where
hashWithSalt :: Int -> DeleteIntegration -> Int
hashWithSalt Int
_salt DeleteIntegration' {Text
uri :: Text
domainName :: Text
$sel:uri:DeleteIntegration' :: DeleteIntegration -> Text
$sel:domainName:DeleteIntegration' :: DeleteIntegration -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
domainName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
uri
instance Prelude.NFData DeleteIntegration where
rnf :: DeleteIntegration -> ()
rnf DeleteIntegration' {Text
uri :: Text
domainName :: Text
$sel:uri:DeleteIntegration' :: DeleteIntegration -> Text
$sel:domainName:DeleteIntegration' :: DeleteIntegration -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
domainName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
uri
instance Data.ToHeaders DeleteIntegration where
toHeaders :: DeleteIntegration -> 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 DeleteIntegration where
toJSON :: DeleteIntegration -> Value
toJSON DeleteIntegration' {Text
uri :: Text
domainName :: Text
$sel:uri:DeleteIntegration' :: DeleteIntegration -> Text
$sel:domainName:DeleteIntegration' :: DeleteIntegration -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"Uri" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
uri)]
)
instance Data.ToPath DeleteIntegration where
toPath :: DeleteIntegration -> ByteString
toPath DeleteIntegration' {Text
uri :: Text
domainName :: Text
$sel:uri:DeleteIntegration' :: DeleteIntegration -> Text
$sel:domainName:DeleteIntegration' :: DeleteIntegration -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/domains/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
domainName,
ByteString
"/integrations/delete"
]
instance Data.ToQuery DeleteIntegration where
toQuery :: DeleteIntegration -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteIntegrationResponse = DeleteIntegrationResponse'
{
DeleteIntegrationResponse -> Int
httpStatus :: Prelude.Int,
DeleteIntegrationResponse -> Text
message :: Prelude.Text
}
deriving (DeleteIntegrationResponse -> DeleteIntegrationResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteIntegrationResponse -> DeleteIntegrationResponse -> Bool
$c/= :: DeleteIntegrationResponse -> DeleteIntegrationResponse -> Bool
== :: DeleteIntegrationResponse -> DeleteIntegrationResponse -> Bool
$c== :: DeleteIntegrationResponse -> DeleteIntegrationResponse -> Bool
Prelude.Eq, ReadPrec [DeleteIntegrationResponse]
ReadPrec DeleteIntegrationResponse
Int -> ReadS DeleteIntegrationResponse
ReadS [DeleteIntegrationResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteIntegrationResponse]
$creadListPrec :: ReadPrec [DeleteIntegrationResponse]
readPrec :: ReadPrec DeleteIntegrationResponse
$creadPrec :: ReadPrec DeleteIntegrationResponse
readList :: ReadS [DeleteIntegrationResponse]
$creadList :: ReadS [DeleteIntegrationResponse]
readsPrec :: Int -> ReadS DeleteIntegrationResponse
$creadsPrec :: Int -> ReadS DeleteIntegrationResponse
Prelude.Read, Int -> DeleteIntegrationResponse -> ShowS
[DeleteIntegrationResponse] -> ShowS
DeleteIntegrationResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteIntegrationResponse] -> ShowS
$cshowList :: [DeleteIntegrationResponse] -> ShowS
show :: DeleteIntegrationResponse -> String
$cshow :: DeleteIntegrationResponse -> String
showsPrec :: Int -> DeleteIntegrationResponse -> ShowS
$cshowsPrec :: Int -> DeleteIntegrationResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteIntegrationResponse x -> DeleteIntegrationResponse
forall x.
DeleteIntegrationResponse -> Rep DeleteIntegrationResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteIntegrationResponse x -> DeleteIntegrationResponse
$cfrom :: forall x.
DeleteIntegrationResponse -> Rep DeleteIntegrationResponse x
Prelude.Generic)
newDeleteIntegrationResponse ::
Prelude.Int ->
Prelude.Text ->
DeleteIntegrationResponse
newDeleteIntegrationResponse :: Int -> Text -> DeleteIntegrationResponse
newDeleteIntegrationResponse Int
pHttpStatus_ Text
pMessage_ =
DeleteIntegrationResponse'
{ $sel:httpStatus:DeleteIntegrationResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:message:DeleteIntegrationResponse' :: Text
message = Text
pMessage_
}
deleteIntegrationResponse_httpStatus :: Lens.Lens' DeleteIntegrationResponse Prelude.Int
deleteIntegrationResponse_httpStatus :: Lens' DeleteIntegrationResponse Int
deleteIntegrationResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteIntegrationResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteIntegrationResponse' :: DeleteIntegrationResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteIntegrationResponse
s@DeleteIntegrationResponse' {} Int
a -> DeleteIntegrationResponse
s {$sel:httpStatus:DeleteIntegrationResponse' :: Int
httpStatus = Int
a} :: DeleteIntegrationResponse)
deleteIntegrationResponse_message :: Lens.Lens' DeleteIntegrationResponse Prelude.Text
deleteIntegrationResponse_message :: Lens' DeleteIntegrationResponse Text
deleteIntegrationResponse_message = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteIntegrationResponse' {Text
message :: Text
$sel:message:DeleteIntegrationResponse' :: DeleteIntegrationResponse -> Text
message} -> Text
message) (\s :: DeleteIntegrationResponse
s@DeleteIntegrationResponse' {} Text
a -> DeleteIntegrationResponse
s {$sel:message:DeleteIntegrationResponse' :: Text
message = Text
a} :: DeleteIntegrationResponse)
instance Prelude.NFData DeleteIntegrationResponse where
rnf :: DeleteIntegrationResponse -> ()
rnf DeleteIntegrationResponse' {Int
Text
message :: Text
httpStatus :: Int
$sel:message:DeleteIntegrationResponse' :: DeleteIntegrationResponse -> Text
$sel:httpStatus:DeleteIntegrationResponse' :: DeleteIntegrationResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
message