{-# 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.RAM.DeleteResourceShare
(
DeleteResourceShare (..),
newDeleteResourceShare,
deleteResourceShare_clientToken,
deleteResourceShare_resourceShareArn,
DeleteResourceShareResponse (..),
newDeleteResourceShareResponse,
deleteResourceShareResponse_clientToken,
deleteResourceShareResponse_returnValue,
deleteResourceShareResponse_httpStatus,
)
where
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 Amazonka.RAM.Types
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeleteResourceShare = DeleteResourceShare'
{
DeleteResourceShare -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
DeleteResourceShare -> Text
resourceShareArn :: Prelude.Text
}
deriving (DeleteResourceShare -> DeleteResourceShare -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteResourceShare -> DeleteResourceShare -> Bool
$c/= :: DeleteResourceShare -> DeleteResourceShare -> Bool
== :: DeleteResourceShare -> DeleteResourceShare -> Bool
$c== :: DeleteResourceShare -> DeleteResourceShare -> Bool
Prelude.Eq, ReadPrec [DeleteResourceShare]
ReadPrec DeleteResourceShare
Int -> ReadS DeleteResourceShare
ReadS [DeleteResourceShare]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteResourceShare]
$creadListPrec :: ReadPrec [DeleteResourceShare]
readPrec :: ReadPrec DeleteResourceShare
$creadPrec :: ReadPrec DeleteResourceShare
readList :: ReadS [DeleteResourceShare]
$creadList :: ReadS [DeleteResourceShare]
readsPrec :: Int -> ReadS DeleteResourceShare
$creadsPrec :: Int -> ReadS DeleteResourceShare
Prelude.Read, Int -> DeleteResourceShare -> ShowS
[DeleteResourceShare] -> ShowS
DeleteResourceShare -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteResourceShare] -> ShowS
$cshowList :: [DeleteResourceShare] -> ShowS
show :: DeleteResourceShare -> String
$cshow :: DeleteResourceShare -> String
showsPrec :: Int -> DeleteResourceShare -> ShowS
$cshowsPrec :: Int -> DeleteResourceShare -> ShowS
Prelude.Show, forall x. Rep DeleteResourceShare x -> DeleteResourceShare
forall x. DeleteResourceShare -> Rep DeleteResourceShare x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteResourceShare x -> DeleteResourceShare
$cfrom :: forall x. DeleteResourceShare -> Rep DeleteResourceShare x
Prelude.Generic)
newDeleteResourceShare ::
Prelude.Text ->
DeleteResourceShare
newDeleteResourceShare :: Text -> DeleteResourceShare
newDeleteResourceShare Text
pResourceShareArn_ =
DeleteResourceShare'
{ $sel:clientToken:DeleteResourceShare' :: Maybe Text
clientToken = forall a. Maybe a
Prelude.Nothing,
$sel:resourceShareArn:DeleteResourceShare' :: Text
resourceShareArn = Text
pResourceShareArn_
}
deleteResourceShare_clientToken :: Lens.Lens' DeleteResourceShare (Prelude.Maybe Prelude.Text)
deleteResourceShare_clientToken :: Lens' DeleteResourceShare (Maybe Text)
deleteResourceShare_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteResourceShare' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:DeleteResourceShare' :: DeleteResourceShare -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: DeleteResourceShare
s@DeleteResourceShare' {} Maybe Text
a -> DeleteResourceShare
s {$sel:clientToken:DeleteResourceShare' :: Maybe Text
clientToken = Maybe Text
a} :: DeleteResourceShare)
deleteResourceShare_resourceShareArn :: Lens.Lens' DeleteResourceShare Prelude.Text
deleteResourceShare_resourceShareArn :: Lens' DeleteResourceShare Text
deleteResourceShare_resourceShareArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteResourceShare' {Text
resourceShareArn :: Text
$sel:resourceShareArn:DeleteResourceShare' :: DeleteResourceShare -> Text
resourceShareArn} -> Text
resourceShareArn) (\s :: DeleteResourceShare
s@DeleteResourceShare' {} Text
a -> DeleteResourceShare
s {$sel:resourceShareArn:DeleteResourceShare' :: Text
resourceShareArn = Text
a} :: DeleteResourceShare)
instance Core.AWSRequest DeleteResourceShare where
type
AWSResponse DeleteResourceShare =
DeleteResourceShareResponse
request :: (Service -> Service)
-> DeleteResourceShare -> Request DeleteResourceShare
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 DeleteResourceShare
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DeleteResourceShare)))
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 Bool -> Int -> DeleteResourceShareResponse
DeleteResourceShareResponse'
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
"clientToken")
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
"returnValue")
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 DeleteResourceShare where
hashWithSalt :: Int -> DeleteResourceShare -> Int
hashWithSalt Int
_salt DeleteResourceShare' {Maybe Text
Text
resourceShareArn :: Text
clientToken :: Maybe Text
$sel:resourceShareArn:DeleteResourceShare' :: DeleteResourceShare -> Text
$sel:clientToken:DeleteResourceShare' :: DeleteResourceShare -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceShareArn
instance Prelude.NFData DeleteResourceShare where
rnf :: DeleteResourceShare -> ()
rnf DeleteResourceShare' {Maybe Text
Text
resourceShareArn :: Text
clientToken :: Maybe Text
$sel:resourceShareArn:DeleteResourceShare' :: DeleteResourceShare -> Text
$sel:clientToken:DeleteResourceShare' :: DeleteResourceShare -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
resourceShareArn
instance Data.ToHeaders DeleteResourceShare where
toHeaders :: DeleteResourceShare -> 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 DeleteResourceShare where
toPath :: DeleteResourceShare -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/deleteresourceshare"
instance Data.ToQuery DeleteResourceShare where
toQuery :: DeleteResourceShare -> QueryString
toQuery DeleteResourceShare' {Maybe Text
Text
resourceShareArn :: Text
clientToken :: Maybe Text
$sel:resourceShareArn:DeleteResourceShare' :: DeleteResourceShare -> Text
$sel:clientToken:DeleteResourceShare' :: DeleteResourceShare -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"clientToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
clientToken,
ByteString
"resourceShareArn" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
resourceShareArn
]
data DeleteResourceShareResponse = DeleteResourceShareResponse'
{
DeleteResourceShareResponse -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
DeleteResourceShareResponse -> Maybe Bool
returnValue :: Prelude.Maybe Prelude.Bool,
DeleteResourceShareResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteResourceShareResponse -> DeleteResourceShareResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteResourceShareResponse -> DeleteResourceShareResponse -> Bool
$c/= :: DeleteResourceShareResponse -> DeleteResourceShareResponse -> Bool
== :: DeleteResourceShareResponse -> DeleteResourceShareResponse -> Bool
$c== :: DeleteResourceShareResponse -> DeleteResourceShareResponse -> Bool
Prelude.Eq, ReadPrec [DeleteResourceShareResponse]
ReadPrec DeleteResourceShareResponse
Int -> ReadS DeleteResourceShareResponse
ReadS [DeleteResourceShareResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteResourceShareResponse]
$creadListPrec :: ReadPrec [DeleteResourceShareResponse]
readPrec :: ReadPrec DeleteResourceShareResponse
$creadPrec :: ReadPrec DeleteResourceShareResponse
readList :: ReadS [DeleteResourceShareResponse]
$creadList :: ReadS [DeleteResourceShareResponse]
readsPrec :: Int -> ReadS DeleteResourceShareResponse
$creadsPrec :: Int -> ReadS DeleteResourceShareResponse
Prelude.Read, Int -> DeleteResourceShareResponse -> ShowS
[DeleteResourceShareResponse] -> ShowS
DeleteResourceShareResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteResourceShareResponse] -> ShowS
$cshowList :: [DeleteResourceShareResponse] -> ShowS
show :: DeleteResourceShareResponse -> String
$cshow :: DeleteResourceShareResponse -> String
showsPrec :: Int -> DeleteResourceShareResponse -> ShowS
$cshowsPrec :: Int -> DeleteResourceShareResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteResourceShareResponse x -> DeleteResourceShareResponse
forall x.
DeleteResourceShareResponse -> Rep DeleteResourceShareResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteResourceShareResponse x -> DeleteResourceShareResponse
$cfrom :: forall x.
DeleteResourceShareResponse -> Rep DeleteResourceShareResponse x
Prelude.Generic)
newDeleteResourceShareResponse ::
Prelude.Int ->
DeleteResourceShareResponse
newDeleteResourceShareResponse :: Int -> DeleteResourceShareResponse
newDeleteResourceShareResponse Int
pHttpStatus_ =
DeleteResourceShareResponse'
{ $sel:clientToken:DeleteResourceShareResponse' :: Maybe Text
clientToken =
forall a. Maybe a
Prelude.Nothing,
$sel:returnValue:DeleteResourceShareResponse' :: Maybe Bool
returnValue = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DeleteResourceShareResponse' :: Int
httpStatus = Int
pHttpStatus_
}
deleteResourceShareResponse_clientToken :: Lens.Lens' DeleteResourceShareResponse (Prelude.Maybe Prelude.Text)
deleteResourceShareResponse_clientToken :: Lens' DeleteResourceShareResponse (Maybe Text)
deleteResourceShareResponse_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteResourceShareResponse' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:DeleteResourceShareResponse' :: DeleteResourceShareResponse -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: DeleteResourceShareResponse
s@DeleteResourceShareResponse' {} Maybe Text
a -> DeleteResourceShareResponse
s {$sel:clientToken:DeleteResourceShareResponse' :: Maybe Text
clientToken = Maybe Text
a} :: DeleteResourceShareResponse)
deleteResourceShareResponse_returnValue :: Lens.Lens' DeleteResourceShareResponse (Prelude.Maybe Prelude.Bool)
deleteResourceShareResponse_returnValue :: Lens' DeleteResourceShareResponse (Maybe Bool)
deleteResourceShareResponse_returnValue = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteResourceShareResponse' {Maybe Bool
returnValue :: Maybe Bool
$sel:returnValue:DeleteResourceShareResponse' :: DeleteResourceShareResponse -> Maybe Bool
returnValue} -> Maybe Bool
returnValue) (\s :: DeleteResourceShareResponse
s@DeleteResourceShareResponse' {} Maybe Bool
a -> DeleteResourceShareResponse
s {$sel:returnValue:DeleteResourceShareResponse' :: Maybe Bool
returnValue = Maybe Bool
a} :: DeleteResourceShareResponse)
deleteResourceShareResponse_httpStatus :: Lens.Lens' DeleteResourceShareResponse Prelude.Int
deleteResourceShareResponse_httpStatus :: Lens' DeleteResourceShareResponse Int
deleteResourceShareResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteResourceShareResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteResourceShareResponse' :: DeleteResourceShareResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteResourceShareResponse
s@DeleteResourceShareResponse' {} Int
a -> DeleteResourceShareResponse
s {$sel:httpStatus:DeleteResourceShareResponse' :: Int
httpStatus = Int
a} :: DeleteResourceShareResponse)
instance Prelude.NFData DeleteResourceShareResponse where
rnf :: DeleteResourceShareResponse -> ()
rnf DeleteResourceShareResponse' {Int
Maybe Bool
Maybe Text
httpStatus :: Int
returnValue :: Maybe Bool
clientToken :: Maybe Text
$sel:httpStatus:DeleteResourceShareResponse' :: DeleteResourceShareResponse -> Int
$sel:returnValue:DeleteResourceShareResponse' :: DeleteResourceShareResponse -> Maybe Bool
$sel:clientToken:DeleteResourceShareResponse' :: DeleteResourceShareResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
returnValue
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus