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