{-# 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.WorkDocs.UpdateFolder
(
UpdateFolder (..),
newUpdateFolder,
updateFolder_authenticationToken,
updateFolder_name,
updateFolder_parentFolderId,
updateFolder_resourceState,
updateFolder_folderId,
UpdateFolderResponse (..),
newUpdateFolderResponse,
)
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 qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.WorkDocs.Types
data UpdateFolder = UpdateFolder'
{
UpdateFolder -> Maybe (Sensitive Text)
authenticationToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),
UpdateFolder -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
UpdateFolder -> Maybe Text
parentFolderId :: Prelude.Maybe Prelude.Text,
UpdateFolder -> Maybe ResourceStateType
resourceState :: Prelude.Maybe ResourceStateType,
UpdateFolder -> Text
folderId :: 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, 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 ->
UpdateFolder
newUpdateFolder :: Text -> UpdateFolder
newUpdateFolder Text
pFolderId_ =
UpdateFolder'
{ $sel:authenticationToken:UpdateFolder' :: Maybe (Sensitive Text)
authenticationToken =
forall a. Maybe a
Prelude.Nothing,
$sel:name:UpdateFolder' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
$sel:parentFolderId:UpdateFolder' :: Maybe Text
parentFolderId = forall a. Maybe a
Prelude.Nothing,
$sel:resourceState:UpdateFolder' :: Maybe ResourceStateType
resourceState = forall a. Maybe a
Prelude.Nothing,
$sel:folderId:UpdateFolder' :: Text
folderId = Text
pFolderId_
}
updateFolder_authenticationToken :: Lens.Lens' UpdateFolder (Prelude.Maybe Prelude.Text)
updateFolder_authenticationToken :: Lens' UpdateFolder (Maybe Text)
updateFolder_authenticationToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateFolder' {Maybe (Sensitive Text)
authenticationToken :: Maybe (Sensitive Text)
$sel:authenticationToken:UpdateFolder' :: UpdateFolder -> Maybe (Sensitive Text)
authenticationToken} -> Maybe (Sensitive Text)
authenticationToken) (\s :: UpdateFolder
s@UpdateFolder' {} Maybe (Sensitive Text)
a -> UpdateFolder
s {$sel:authenticationToken:UpdateFolder' :: Maybe (Sensitive Text)
authenticationToken = Maybe (Sensitive Text)
a} :: UpdateFolder) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall a. Iso' (Sensitive a) a
Data._Sensitive
updateFolder_name :: Lens.Lens' UpdateFolder (Prelude.Maybe Prelude.Text)
updateFolder_name :: Lens' UpdateFolder (Maybe Text)
updateFolder_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateFolder' {Maybe Text
name :: Maybe Text
$sel:name:UpdateFolder' :: UpdateFolder -> Maybe Text
name} -> Maybe Text
name) (\s :: UpdateFolder
s@UpdateFolder' {} Maybe Text
a -> UpdateFolder
s {$sel:name:UpdateFolder' :: Maybe Text
name = Maybe Text
a} :: UpdateFolder)
updateFolder_parentFolderId :: Lens.Lens' UpdateFolder (Prelude.Maybe Prelude.Text)
updateFolder_parentFolderId :: Lens' UpdateFolder (Maybe Text)
updateFolder_parentFolderId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateFolder' {Maybe Text
parentFolderId :: Maybe Text
$sel:parentFolderId:UpdateFolder' :: UpdateFolder -> Maybe Text
parentFolderId} -> Maybe Text
parentFolderId) (\s :: UpdateFolder
s@UpdateFolder' {} Maybe Text
a -> UpdateFolder
s {$sel:parentFolderId:UpdateFolder' :: Maybe Text
parentFolderId = Maybe Text
a} :: UpdateFolder)
updateFolder_resourceState :: Lens.Lens' UpdateFolder (Prelude.Maybe ResourceStateType)
updateFolder_resourceState :: Lens' UpdateFolder (Maybe ResourceStateType)
updateFolder_resourceState = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateFolder' {Maybe ResourceStateType
resourceState :: Maybe ResourceStateType
$sel:resourceState:UpdateFolder' :: UpdateFolder -> Maybe ResourceStateType
resourceState} -> Maybe ResourceStateType
resourceState) (\s :: UpdateFolder
s@UpdateFolder' {} Maybe ResourceStateType
a -> UpdateFolder
s {$sel:resourceState:UpdateFolder' :: Maybe ResourceStateType
resourceState = Maybe ResourceStateType
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)
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.patchJSON (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 =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull UpdateFolderResponse
UpdateFolderResponse'
instance Prelude.Hashable UpdateFolder where
hashWithSalt :: Int -> UpdateFolder -> Int
hashWithSalt Int
_salt UpdateFolder' {Maybe Text
Maybe (Sensitive Text)
Maybe ResourceStateType
Text
folderId :: Text
resourceState :: Maybe ResourceStateType
parentFolderId :: Maybe Text
name :: Maybe Text
authenticationToken :: Maybe (Sensitive Text)
$sel:folderId:UpdateFolder' :: UpdateFolder -> Text
$sel:resourceState:UpdateFolder' :: UpdateFolder -> Maybe ResourceStateType
$sel:parentFolderId:UpdateFolder' :: UpdateFolder -> Maybe Text
$sel:name:UpdateFolder' :: UpdateFolder -> Maybe Text
$sel:authenticationToken:UpdateFolder' :: UpdateFolder -> Maybe (Sensitive Text)
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive Text)
authenticationToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
parentFolderId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ResourceStateType
resourceState
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
folderId
instance Prelude.NFData UpdateFolder where
rnf :: UpdateFolder -> ()
rnf UpdateFolder' {Maybe Text
Maybe (Sensitive Text)
Maybe ResourceStateType
Text
folderId :: Text
resourceState :: Maybe ResourceStateType
parentFolderId :: Maybe Text
name :: Maybe Text
authenticationToken :: Maybe (Sensitive Text)
$sel:folderId:UpdateFolder' :: UpdateFolder -> Text
$sel:resourceState:UpdateFolder' :: UpdateFolder -> Maybe ResourceStateType
$sel:parentFolderId:UpdateFolder' :: UpdateFolder -> Maybe Text
$sel:name:UpdateFolder' :: UpdateFolder -> Maybe Text
$sel:authenticationToken:UpdateFolder' :: UpdateFolder -> Maybe (Sensitive Text)
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
authenticationToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
parentFolderId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ResourceStateType
resourceState
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
folderId
instance Data.ToHeaders UpdateFolder where
toHeaders :: UpdateFolder -> [Header]
toHeaders UpdateFolder' {Maybe Text
Maybe (Sensitive Text)
Maybe ResourceStateType
Text
folderId :: Text
resourceState :: Maybe ResourceStateType
parentFolderId :: Maybe Text
name :: Maybe Text
authenticationToken :: Maybe (Sensitive Text)
$sel:folderId:UpdateFolder' :: UpdateFolder -> Text
$sel:resourceState:UpdateFolder' :: UpdateFolder -> Maybe ResourceStateType
$sel:parentFolderId:UpdateFolder' :: UpdateFolder -> Maybe Text
$sel:name:UpdateFolder' :: UpdateFolder -> Maybe Text
$sel:authenticationToken:UpdateFolder' :: UpdateFolder -> Maybe (Sensitive Text)
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Authentication" forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# Maybe (Sensitive Text)
authenticationToken,
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# (ByteString
"application/x-amz-json-1.1" :: Prelude.ByteString)
]
instance Data.ToJSON UpdateFolder where
toJSON :: UpdateFolder -> Value
toJSON UpdateFolder' {Maybe Text
Maybe (Sensitive Text)
Maybe ResourceStateType
Text
folderId :: Text
resourceState :: Maybe ResourceStateType
parentFolderId :: Maybe Text
name :: Maybe Text
authenticationToken :: Maybe (Sensitive Text)
$sel:folderId:UpdateFolder' :: UpdateFolder -> Text
$sel:resourceState:UpdateFolder' :: UpdateFolder -> Maybe ResourceStateType
$sel:parentFolderId:UpdateFolder' :: UpdateFolder -> Maybe Text
$sel:name:UpdateFolder' :: UpdateFolder -> Maybe Text
$sel:authenticationToken:UpdateFolder' :: UpdateFolder -> Maybe (Sensitive Text)
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
name,
(Key
"ParentFolderId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
parentFolderId,
(Key
"ResourceState" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ResourceStateType
resourceState
]
)
instance Data.ToPath UpdateFolder where
toPath :: UpdateFolder -> ByteString
toPath UpdateFolder' {Maybe Text
Maybe (Sensitive Text)
Maybe ResourceStateType
Text
folderId :: Text
resourceState :: Maybe ResourceStateType
parentFolderId :: Maybe Text
name :: Maybe Text
authenticationToken :: Maybe (Sensitive Text)
$sel:folderId:UpdateFolder' :: UpdateFolder -> Text
$sel:resourceState:UpdateFolder' :: UpdateFolder -> Maybe ResourceStateType
$sel:parentFolderId:UpdateFolder' :: UpdateFolder -> Maybe Text
$sel:name:UpdateFolder' :: UpdateFolder -> Maybe Text
$sel:authenticationToken:UpdateFolder' :: UpdateFolder -> Maybe (Sensitive Text)
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/api/v1/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'
{
}
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 ::
UpdateFolderResponse
newUpdateFolderResponse :: UpdateFolderResponse
newUpdateFolderResponse = UpdateFolderResponse
UpdateFolderResponse'
instance Prelude.NFData UpdateFolderResponse where
rnf :: UpdateFolderResponse -> ()
rnf UpdateFolderResponse
_ = ()