{-# 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.QuickSight.UpdateFolder
(
UpdateFolder (..),
newUpdateFolder,
updateFolder_awsAccountId,
updateFolder_folderId,
updateFolder_name,
UpdateFolderResponse (..),
newUpdateFolderResponse,
updateFolderResponse_arn,
updateFolderResponse_folderId,
updateFolderResponse_requestId,
updateFolderResponse_status,
)
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.QuickSight.Types
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data UpdateFolder = UpdateFolder'
{
UpdateFolder -> Text
awsAccountId :: Prelude.Text,
UpdateFolder -> Text
folderId :: Prelude.Text,
UpdateFolder -> Text
name :: Prelude.Text
}
deriving (UpdateFolder -> UpdateFolder -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateFolder -> UpdateFolder -> Bool
$c/= :: UpdateFolder -> UpdateFolder -> Bool
== :: UpdateFolder -> UpdateFolder -> Bool
$c== :: UpdateFolder -> UpdateFolder -> Bool
Prelude.Eq, ReadPrec [UpdateFolder]
ReadPrec UpdateFolder
Int -> ReadS UpdateFolder
ReadS [UpdateFolder]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateFolder]
$creadListPrec :: ReadPrec [UpdateFolder]
readPrec :: ReadPrec UpdateFolder
$creadPrec :: ReadPrec UpdateFolder
readList :: ReadS [UpdateFolder]
$creadList :: ReadS [UpdateFolder]
readsPrec :: Int -> ReadS UpdateFolder
$creadsPrec :: Int -> ReadS UpdateFolder
Prelude.Read, Int -> UpdateFolder -> ShowS
[UpdateFolder] -> ShowS
UpdateFolder -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateFolder] -> ShowS
$cshowList :: [UpdateFolder] -> ShowS
show :: UpdateFolder -> String
$cshow :: UpdateFolder -> String
showsPrec :: Int -> UpdateFolder -> ShowS
$cshowsPrec :: Int -> UpdateFolder -> ShowS
Prelude.Show, forall x. Rep UpdateFolder x -> UpdateFolder
forall x. UpdateFolder -> Rep UpdateFolder x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateFolder x -> UpdateFolder
$cfrom :: forall x. UpdateFolder -> Rep UpdateFolder x
Prelude.Generic)
newUpdateFolder ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
UpdateFolder
newUpdateFolder :: Text -> Text -> Text -> UpdateFolder
newUpdateFolder Text
pAwsAccountId_ Text
pFolderId_ Text
pName_ =
UpdateFolder'
{ $sel:awsAccountId:UpdateFolder' :: Text
awsAccountId = Text
pAwsAccountId_,
$sel:folderId:UpdateFolder' :: Text
folderId = Text
pFolderId_,
$sel:name:UpdateFolder' :: Text
name = Text
pName_
}
updateFolder_awsAccountId :: Lens.Lens' UpdateFolder Prelude.Text
updateFolder_awsAccountId :: Lens' UpdateFolder Text
updateFolder_awsAccountId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateFolder' {Text
awsAccountId :: Text
$sel:awsAccountId:UpdateFolder' :: UpdateFolder -> Text
awsAccountId} -> Text
awsAccountId) (\s :: UpdateFolder
s@UpdateFolder' {} Text
a -> UpdateFolder
s {$sel:awsAccountId:UpdateFolder' :: Text
awsAccountId = Text
a} :: UpdateFolder)
updateFolder_folderId :: Lens.Lens' UpdateFolder Prelude.Text
updateFolder_folderId :: Lens' UpdateFolder Text
updateFolder_folderId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateFolder' {Text
folderId :: Text
$sel:folderId:UpdateFolder' :: UpdateFolder -> Text
folderId} -> Text
folderId) (\s :: UpdateFolder
s@UpdateFolder' {} Text
a -> UpdateFolder
s {$sel:folderId:UpdateFolder' :: Text
folderId = Text
a} :: UpdateFolder)
updateFolder_name :: Lens.Lens' UpdateFolder Prelude.Text
updateFolder_name :: Lens' UpdateFolder Text
updateFolder_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateFolder' {Text
name :: Text
$sel:name:UpdateFolder' :: UpdateFolder -> Text
name} -> Text
name) (\s :: UpdateFolder
s@UpdateFolder' {} Text
a -> UpdateFolder
s {$sel:name:UpdateFolder' :: Text
name = Text
a} :: UpdateFolder)
instance Core.AWSRequest UpdateFolder where
type AWSResponse UpdateFolder = UpdateFolderResponse
request :: (Service -> Service) -> UpdateFolder -> Request UpdateFolder
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateFolder
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse UpdateFolder)))
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 Text -> Maybe Text -> Int -> UpdateFolderResponse
UpdateFolderResponse'
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
"Arn")
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
"FolderId")
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
"RequestId")
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 UpdateFolder where
hashWithSalt :: Int -> UpdateFolder -> Int
hashWithSalt Int
_salt UpdateFolder' {Text
name :: Text
folderId :: Text
awsAccountId :: Text
$sel:name:UpdateFolder' :: UpdateFolder -> Text
$sel:folderId:UpdateFolder' :: UpdateFolder -> Text
$sel:awsAccountId:UpdateFolder' :: UpdateFolder -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
awsAccountId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
folderId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name
instance Prelude.NFData UpdateFolder where
rnf :: UpdateFolder -> ()
rnf UpdateFolder' {Text
name :: Text
folderId :: Text
awsAccountId :: Text
$sel:name:UpdateFolder' :: UpdateFolder -> Text
$sel:folderId:UpdateFolder' :: UpdateFolder -> Text
$sel:awsAccountId:UpdateFolder' :: UpdateFolder -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
awsAccountId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
folderId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name
instance Data.ToHeaders UpdateFolder where
toHeaders :: UpdateFolder -> 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.0" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON UpdateFolder where
toJSON :: UpdateFolder -> Value
toJSON UpdateFolder' {Text
name :: Text
folderId :: Text
awsAccountId :: Text
$sel:name:UpdateFolder' :: UpdateFolder -> Text
$sel:folderId:UpdateFolder' :: UpdateFolder -> Text
$sel:awsAccountId:UpdateFolder' :: UpdateFolder -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"Name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
name)]
)
instance Data.ToPath UpdateFolder where
toPath :: UpdateFolder -> ByteString
toPath UpdateFolder' {Text
name :: Text
folderId :: Text
awsAccountId :: Text
$sel:name:UpdateFolder' :: UpdateFolder -> Text
$sel:folderId:UpdateFolder' :: UpdateFolder -> Text
$sel:awsAccountId:UpdateFolder' :: UpdateFolder -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/accounts/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
awsAccountId,
ByteString
"/folders/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
folderId
]
instance Data.ToQuery UpdateFolder where
toQuery :: UpdateFolder -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateFolderResponse = UpdateFolderResponse'
{
UpdateFolderResponse -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
UpdateFolderResponse -> Maybe Text
folderId :: Prelude.Maybe Prelude.Text,
UpdateFolderResponse -> Maybe Text
requestId :: Prelude.Maybe Prelude.Text,
UpdateFolderResponse -> Int
status :: Prelude.Int
}
deriving (UpdateFolderResponse -> UpdateFolderResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateFolderResponse -> UpdateFolderResponse -> Bool
$c/= :: UpdateFolderResponse -> UpdateFolderResponse -> Bool
== :: UpdateFolderResponse -> UpdateFolderResponse -> Bool
$c== :: UpdateFolderResponse -> UpdateFolderResponse -> Bool
Prelude.Eq, ReadPrec [UpdateFolderResponse]
ReadPrec UpdateFolderResponse
Int -> ReadS UpdateFolderResponse
ReadS [UpdateFolderResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateFolderResponse]
$creadListPrec :: ReadPrec [UpdateFolderResponse]
readPrec :: ReadPrec UpdateFolderResponse
$creadPrec :: ReadPrec UpdateFolderResponse
readList :: ReadS [UpdateFolderResponse]
$creadList :: ReadS [UpdateFolderResponse]
readsPrec :: Int -> ReadS UpdateFolderResponse
$creadsPrec :: Int -> ReadS UpdateFolderResponse
Prelude.Read, Int -> UpdateFolderResponse -> ShowS
[UpdateFolderResponse] -> ShowS
UpdateFolderResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateFolderResponse] -> ShowS
$cshowList :: [UpdateFolderResponse] -> ShowS
show :: UpdateFolderResponse -> String
$cshow :: UpdateFolderResponse -> String
showsPrec :: Int -> UpdateFolderResponse -> ShowS
$cshowsPrec :: Int -> UpdateFolderResponse -> ShowS
Prelude.Show, forall x. Rep UpdateFolderResponse x -> UpdateFolderResponse
forall x. UpdateFolderResponse -> Rep UpdateFolderResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateFolderResponse x -> UpdateFolderResponse
$cfrom :: forall x. UpdateFolderResponse -> Rep UpdateFolderResponse x
Prelude.Generic)
newUpdateFolderResponse ::
Prelude.Int ->
UpdateFolderResponse
newUpdateFolderResponse :: Int -> UpdateFolderResponse
newUpdateFolderResponse Int
pStatus_ =
UpdateFolderResponse'
{ $sel:arn:UpdateFolderResponse' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
$sel:folderId:UpdateFolderResponse' :: Maybe Text
folderId = forall a. Maybe a
Prelude.Nothing,
$sel:requestId:UpdateFolderResponse' :: Maybe Text
requestId = forall a. Maybe a
Prelude.Nothing,
$sel:status:UpdateFolderResponse' :: Int
status = Int
pStatus_
}
updateFolderResponse_arn :: Lens.Lens' UpdateFolderResponse (Prelude.Maybe Prelude.Text)
updateFolderResponse_arn :: Lens' UpdateFolderResponse (Maybe Text)
updateFolderResponse_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateFolderResponse' {Maybe Text
arn :: Maybe Text
$sel:arn:UpdateFolderResponse' :: UpdateFolderResponse -> Maybe Text
arn} -> Maybe Text
arn) (\s :: UpdateFolderResponse
s@UpdateFolderResponse' {} Maybe Text
a -> UpdateFolderResponse
s {$sel:arn:UpdateFolderResponse' :: Maybe Text
arn = Maybe Text
a} :: UpdateFolderResponse)
updateFolderResponse_folderId :: Lens.Lens' UpdateFolderResponse (Prelude.Maybe Prelude.Text)
updateFolderResponse_folderId :: Lens' UpdateFolderResponse (Maybe Text)
updateFolderResponse_folderId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateFolderResponse' {Maybe Text
folderId :: Maybe Text
$sel:folderId:UpdateFolderResponse' :: UpdateFolderResponse -> Maybe Text
folderId} -> Maybe Text
folderId) (\s :: UpdateFolderResponse
s@UpdateFolderResponse' {} Maybe Text
a -> UpdateFolderResponse
s {$sel:folderId:UpdateFolderResponse' :: Maybe Text
folderId = Maybe Text
a} :: UpdateFolderResponse)
updateFolderResponse_requestId :: Lens.Lens' UpdateFolderResponse (Prelude.Maybe Prelude.Text)
updateFolderResponse_requestId :: Lens' UpdateFolderResponse (Maybe Text)
updateFolderResponse_requestId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateFolderResponse' {Maybe Text
requestId :: Maybe Text
$sel:requestId:UpdateFolderResponse' :: UpdateFolderResponse -> Maybe Text
requestId} -> Maybe Text
requestId) (\s :: UpdateFolderResponse
s@UpdateFolderResponse' {} Maybe Text
a -> UpdateFolderResponse
s {$sel:requestId:UpdateFolderResponse' :: Maybe Text
requestId = Maybe Text
a} :: UpdateFolderResponse)
updateFolderResponse_status :: Lens.Lens' UpdateFolderResponse Prelude.Int
updateFolderResponse_status :: Lens' UpdateFolderResponse Int
updateFolderResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateFolderResponse' {Int
status :: Int
$sel:status:UpdateFolderResponse' :: UpdateFolderResponse -> Int
status} -> Int
status) (\s :: UpdateFolderResponse
s@UpdateFolderResponse' {} Int
a -> UpdateFolderResponse
s {$sel:status:UpdateFolderResponse' :: Int
status = Int
a} :: UpdateFolderResponse)
instance Prelude.NFData UpdateFolderResponse where
rnf :: UpdateFolderResponse -> ()
rnf UpdateFolderResponse' {Int
Maybe Text
status :: Int
requestId :: Maybe Text
folderId :: Maybe Text
arn :: Maybe Text
$sel:status:UpdateFolderResponse' :: UpdateFolderResponse -> Int
$sel:requestId:UpdateFolderResponse' :: UpdateFolderResponse -> Maybe Text
$sel:folderId:UpdateFolderResponse' :: UpdateFolderResponse -> Maybe Text
$sel:arn:UpdateFolderResponse' :: UpdateFolderResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
arn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
folderId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
requestId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
status