{-# 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.DirectoryService.AcceptSharedDirectory
(
AcceptSharedDirectory (..),
newAcceptSharedDirectory,
acceptSharedDirectory_sharedDirectoryId,
AcceptSharedDirectoryResponse (..),
newAcceptSharedDirectoryResponse,
acceptSharedDirectoryResponse_sharedDirectory,
acceptSharedDirectoryResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.DirectoryService.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data AcceptSharedDirectory = AcceptSharedDirectory'
{
AcceptSharedDirectory -> Text
sharedDirectoryId :: Prelude.Text
}
deriving (AcceptSharedDirectory -> AcceptSharedDirectory -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AcceptSharedDirectory -> AcceptSharedDirectory -> Bool
$c/= :: AcceptSharedDirectory -> AcceptSharedDirectory -> Bool
== :: AcceptSharedDirectory -> AcceptSharedDirectory -> Bool
$c== :: AcceptSharedDirectory -> AcceptSharedDirectory -> Bool
Prelude.Eq, ReadPrec [AcceptSharedDirectory]
ReadPrec AcceptSharedDirectory
Int -> ReadS AcceptSharedDirectory
ReadS [AcceptSharedDirectory]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AcceptSharedDirectory]
$creadListPrec :: ReadPrec [AcceptSharedDirectory]
readPrec :: ReadPrec AcceptSharedDirectory
$creadPrec :: ReadPrec AcceptSharedDirectory
readList :: ReadS [AcceptSharedDirectory]
$creadList :: ReadS [AcceptSharedDirectory]
readsPrec :: Int -> ReadS AcceptSharedDirectory
$creadsPrec :: Int -> ReadS AcceptSharedDirectory
Prelude.Read, Int -> AcceptSharedDirectory -> ShowS
[AcceptSharedDirectory] -> ShowS
AcceptSharedDirectory -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AcceptSharedDirectory] -> ShowS
$cshowList :: [AcceptSharedDirectory] -> ShowS
show :: AcceptSharedDirectory -> String
$cshow :: AcceptSharedDirectory -> String
showsPrec :: Int -> AcceptSharedDirectory -> ShowS
$cshowsPrec :: Int -> AcceptSharedDirectory -> ShowS
Prelude.Show, forall x. Rep AcceptSharedDirectory x -> AcceptSharedDirectory
forall x. AcceptSharedDirectory -> Rep AcceptSharedDirectory x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AcceptSharedDirectory x -> AcceptSharedDirectory
$cfrom :: forall x. AcceptSharedDirectory -> Rep AcceptSharedDirectory x
Prelude.Generic)
newAcceptSharedDirectory ::
Prelude.Text ->
AcceptSharedDirectory
newAcceptSharedDirectory :: Text -> AcceptSharedDirectory
newAcceptSharedDirectory Text
pSharedDirectoryId_ =
AcceptSharedDirectory'
{ $sel:sharedDirectoryId:AcceptSharedDirectory' :: Text
sharedDirectoryId =
Text
pSharedDirectoryId_
}
acceptSharedDirectory_sharedDirectoryId :: Lens.Lens' AcceptSharedDirectory Prelude.Text
acceptSharedDirectory_sharedDirectoryId :: Lens' AcceptSharedDirectory Text
acceptSharedDirectory_sharedDirectoryId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AcceptSharedDirectory' {Text
sharedDirectoryId :: Text
$sel:sharedDirectoryId:AcceptSharedDirectory' :: AcceptSharedDirectory -> Text
sharedDirectoryId} -> Text
sharedDirectoryId) (\s :: AcceptSharedDirectory
s@AcceptSharedDirectory' {} Text
a -> AcceptSharedDirectory
s {$sel:sharedDirectoryId:AcceptSharedDirectory' :: Text
sharedDirectoryId = Text
a} :: AcceptSharedDirectory)
instance Core.AWSRequest AcceptSharedDirectory where
type
AWSResponse AcceptSharedDirectory =
AcceptSharedDirectoryResponse
request :: (Service -> Service)
-> AcceptSharedDirectory -> Request AcceptSharedDirectory
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 AcceptSharedDirectory
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse AcceptSharedDirectory)))
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 SharedDirectory -> Int -> AcceptSharedDirectoryResponse
AcceptSharedDirectoryResponse'
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
"SharedDirectory")
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 AcceptSharedDirectory where
hashWithSalt :: Int -> AcceptSharedDirectory -> Int
hashWithSalt Int
_salt AcceptSharedDirectory' {Text
sharedDirectoryId :: Text
$sel:sharedDirectoryId:AcceptSharedDirectory' :: AcceptSharedDirectory -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
sharedDirectoryId
instance Prelude.NFData AcceptSharedDirectory where
rnf :: AcceptSharedDirectory -> ()
rnf AcceptSharedDirectory' {Text
sharedDirectoryId :: Text
$sel:sharedDirectoryId:AcceptSharedDirectory' :: AcceptSharedDirectory -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
sharedDirectoryId
instance Data.ToHeaders AcceptSharedDirectory where
toHeaders :: AcceptSharedDirectory -> 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
"DirectoryService_20150416.AcceptSharedDirectory" ::
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 AcceptSharedDirectory where
toJSON :: AcceptSharedDirectory -> Value
toJSON AcceptSharedDirectory' {Text
sharedDirectoryId :: Text
$sel:sharedDirectoryId:AcceptSharedDirectory' :: AcceptSharedDirectory -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"SharedDirectoryId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
sharedDirectoryId)
]
)
instance Data.ToPath AcceptSharedDirectory where
toPath :: AcceptSharedDirectory -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery AcceptSharedDirectory where
toQuery :: AcceptSharedDirectory -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data AcceptSharedDirectoryResponse = AcceptSharedDirectoryResponse'
{
AcceptSharedDirectoryResponse -> Maybe SharedDirectory
sharedDirectory :: Prelude.Maybe SharedDirectory,
AcceptSharedDirectoryResponse -> Int
httpStatus :: Prelude.Int
}
deriving (AcceptSharedDirectoryResponse
-> AcceptSharedDirectoryResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AcceptSharedDirectoryResponse
-> AcceptSharedDirectoryResponse -> Bool
$c/= :: AcceptSharedDirectoryResponse
-> AcceptSharedDirectoryResponse -> Bool
== :: AcceptSharedDirectoryResponse
-> AcceptSharedDirectoryResponse -> Bool
$c== :: AcceptSharedDirectoryResponse
-> AcceptSharedDirectoryResponse -> Bool
Prelude.Eq, Int -> AcceptSharedDirectoryResponse -> ShowS
[AcceptSharedDirectoryResponse] -> ShowS
AcceptSharedDirectoryResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AcceptSharedDirectoryResponse] -> ShowS
$cshowList :: [AcceptSharedDirectoryResponse] -> ShowS
show :: AcceptSharedDirectoryResponse -> String
$cshow :: AcceptSharedDirectoryResponse -> String
showsPrec :: Int -> AcceptSharedDirectoryResponse -> ShowS
$cshowsPrec :: Int -> AcceptSharedDirectoryResponse -> ShowS
Prelude.Show, forall x.
Rep AcceptSharedDirectoryResponse x
-> AcceptSharedDirectoryResponse
forall x.
AcceptSharedDirectoryResponse
-> Rep AcceptSharedDirectoryResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AcceptSharedDirectoryResponse x
-> AcceptSharedDirectoryResponse
$cfrom :: forall x.
AcceptSharedDirectoryResponse
-> Rep AcceptSharedDirectoryResponse x
Prelude.Generic)
newAcceptSharedDirectoryResponse ::
Prelude.Int ->
AcceptSharedDirectoryResponse
newAcceptSharedDirectoryResponse :: Int -> AcceptSharedDirectoryResponse
newAcceptSharedDirectoryResponse Int
pHttpStatus_ =
AcceptSharedDirectoryResponse'
{ $sel:sharedDirectory:AcceptSharedDirectoryResponse' :: Maybe SharedDirectory
sharedDirectory =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:AcceptSharedDirectoryResponse' :: Int
httpStatus = Int
pHttpStatus_
}
acceptSharedDirectoryResponse_sharedDirectory :: Lens.Lens' AcceptSharedDirectoryResponse (Prelude.Maybe SharedDirectory)
acceptSharedDirectoryResponse_sharedDirectory :: Lens' AcceptSharedDirectoryResponse (Maybe SharedDirectory)
acceptSharedDirectoryResponse_sharedDirectory = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AcceptSharedDirectoryResponse' {Maybe SharedDirectory
sharedDirectory :: Maybe SharedDirectory
$sel:sharedDirectory:AcceptSharedDirectoryResponse' :: AcceptSharedDirectoryResponse -> Maybe SharedDirectory
sharedDirectory} -> Maybe SharedDirectory
sharedDirectory) (\s :: AcceptSharedDirectoryResponse
s@AcceptSharedDirectoryResponse' {} Maybe SharedDirectory
a -> AcceptSharedDirectoryResponse
s {$sel:sharedDirectory:AcceptSharedDirectoryResponse' :: Maybe SharedDirectory
sharedDirectory = Maybe SharedDirectory
a} :: AcceptSharedDirectoryResponse)
acceptSharedDirectoryResponse_httpStatus :: Lens.Lens' AcceptSharedDirectoryResponse Prelude.Int
acceptSharedDirectoryResponse_httpStatus :: Lens' AcceptSharedDirectoryResponse Int
acceptSharedDirectoryResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AcceptSharedDirectoryResponse' {Int
httpStatus :: Int
$sel:httpStatus:AcceptSharedDirectoryResponse' :: AcceptSharedDirectoryResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: AcceptSharedDirectoryResponse
s@AcceptSharedDirectoryResponse' {} Int
a -> AcceptSharedDirectoryResponse
s {$sel:httpStatus:AcceptSharedDirectoryResponse' :: Int
httpStatus = Int
a} :: AcceptSharedDirectoryResponse)
instance Prelude.NFData AcceptSharedDirectoryResponse where
rnf :: AcceptSharedDirectoryResponse -> ()
rnf AcceptSharedDirectoryResponse' {Int
Maybe SharedDirectory
httpStatus :: Int
sharedDirectory :: Maybe SharedDirectory
$sel:httpStatus:AcceptSharedDirectoryResponse' :: AcceptSharedDirectoryResponse -> Int
$sel:sharedDirectory:AcceptSharedDirectoryResponse' :: AcceptSharedDirectoryResponse -> Maybe SharedDirectory
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe SharedDirectory
sharedDirectory
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus