{-# 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.WorkSpacesWeb.UpdateBrowserSettings
(
UpdateBrowserSettings (..),
newUpdateBrowserSettings,
updateBrowserSettings_browserPolicy,
updateBrowserSettings_clientToken,
updateBrowserSettings_browserSettingsArn,
UpdateBrowserSettingsResponse (..),
newUpdateBrowserSettingsResponse,
updateBrowserSettingsResponse_httpStatus,
updateBrowserSettingsResponse_browserSettings,
)
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.WorkSpacesWeb.Types
data UpdateBrowserSettings = UpdateBrowserSettings'
{
UpdateBrowserSettings -> Maybe (Sensitive Text)
browserPolicy :: Prelude.Maybe (Data.Sensitive Prelude.Text),
UpdateBrowserSettings -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
UpdateBrowserSettings -> Text
browserSettingsArn :: Prelude.Text
}
deriving (UpdateBrowserSettings -> UpdateBrowserSettings -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateBrowserSettings -> UpdateBrowserSettings -> Bool
$c/= :: UpdateBrowserSettings -> UpdateBrowserSettings -> Bool
== :: UpdateBrowserSettings -> UpdateBrowserSettings -> Bool
$c== :: UpdateBrowserSettings -> UpdateBrowserSettings -> Bool
Prelude.Eq, Int -> UpdateBrowserSettings -> ShowS
[UpdateBrowserSettings] -> ShowS
UpdateBrowserSettings -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateBrowserSettings] -> ShowS
$cshowList :: [UpdateBrowserSettings] -> ShowS
show :: UpdateBrowserSettings -> String
$cshow :: UpdateBrowserSettings -> String
showsPrec :: Int -> UpdateBrowserSettings -> ShowS
$cshowsPrec :: Int -> UpdateBrowserSettings -> ShowS
Prelude.Show, forall x. Rep UpdateBrowserSettings x -> UpdateBrowserSettings
forall x. UpdateBrowserSettings -> Rep UpdateBrowserSettings x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateBrowserSettings x -> UpdateBrowserSettings
$cfrom :: forall x. UpdateBrowserSettings -> Rep UpdateBrowserSettings x
Prelude.Generic)
newUpdateBrowserSettings ::
Prelude.Text ->
UpdateBrowserSettings
newUpdateBrowserSettings :: Text -> UpdateBrowserSettings
newUpdateBrowserSettings Text
pBrowserSettingsArn_ =
UpdateBrowserSettings'
{ $sel:browserPolicy:UpdateBrowserSettings' :: Maybe (Sensitive Text)
browserPolicy =
forall a. Maybe a
Prelude.Nothing,
$sel:clientToken:UpdateBrowserSettings' :: Maybe Text
clientToken = forall a. Maybe a
Prelude.Nothing,
$sel:browserSettingsArn:UpdateBrowserSettings' :: Text
browserSettingsArn = Text
pBrowserSettingsArn_
}
updateBrowserSettings_browserPolicy :: Lens.Lens' UpdateBrowserSettings (Prelude.Maybe Prelude.Text)
updateBrowserSettings_browserPolicy :: Lens' UpdateBrowserSettings (Maybe Text)
updateBrowserSettings_browserPolicy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBrowserSettings' {Maybe (Sensitive Text)
browserPolicy :: Maybe (Sensitive Text)
$sel:browserPolicy:UpdateBrowserSettings' :: UpdateBrowserSettings -> Maybe (Sensitive Text)
browserPolicy} -> Maybe (Sensitive Text)
browserPolicy) (\s :: UpdateBrowserSettings
s@UpdateBrowserSettings' {} Maybe (Sensitive Text)
a -> UpdateBrowserSettings
s {$sel:browserPolicy:UpdateBrowserSettings' :: Maybe (Sensitive Text)
browserPolicy = Maybe (Sensitive Text)
a} :: UpdateBrowserSettings) 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
updateBrowserSettings_clientToken :: Lens.Lens' UpdateBrowserSettings (Prelude.Maybe Prelude.Text)
updateBrowserSettings_clientToken :: Lens' UpdateBrowserSettings (Maybe Text)
updateBrowserSettings_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBrowserSettings' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:UpdateBrowserSettings' :: UpdateBrowserSettings -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: UpdateBrowserSettings
s@UpdateBrowserSettings' {} Maybe Text
a -> UpdateBrowserSettings
s {$sel:clientToken:UpdateBrowserSettings' :: Maybe Text
clientToken = Maybe Text
a} :: UpdateBrowserSettings)
updateBrowserSettings_browserSettingsArn :: Lens.Lens' UpdateBrowserSettings Prelude.Text
updateBrowserSettings_browserSettingsArn :: Lens' UpdateBrowserSettings Text
updateBrowserSettings_browserSettingsArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBrowserSettings' {Text
browserSettingsArn :: Text
$sel:browserSettingsArn:UpdateBrowserSettings' :: UpdateBrowserSettings -> Text
browserSettingsArn} -> Text
browserSettingsArn) (\s :: UpdateBrowserSettings
s@UpdateBrowserSettings' {} Text
a -> UpdateBrowserSettings
s {$sel:browserSettingsArn:UpdateBrowserSettings' :: Text
browserSettingsArn = Text
a} :: UpdateBrowserSettings)
instance Core.AWSRequest UpdateBrowserSettings where
type
AWSResponse UpdateBrowserSettings =
UpdateBrowserSettingsResponse
request :: (Service -> Service)
-> UpdateBrowserSettings -> Request UpdateBrowserSettings
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 UpdateBrowserSettings
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateBrowserSettings)))
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 ->
Int -> BrowserSettings -> UpdateBrowserSettingsResponse
UpdateBrowserSettingsResponse'
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))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"browserSettings")
)
instance Prelude.Hashable UpdateBrowserSettings where
hashWithSalt :: Int -> UpdateBrowserSettings -> Int
hashWithSalt Int
_salt UpdateBrowserSettings' {Maybe Text
Maybe (Sensitive Text)
Text
browserSettingsArn :: Text
clientToken :: Maybe Text
browserPolicy :: Maybe (Sensitive Text)
$sel:browserSettingsArn:UpdateBrowserSettings' :: UpdateBrowserSettings -> Text
$sel:clientToken:UpdateBrowserSettings' :: UpdateBrowserSettings -> Maybe Text
$sel:browserPolicy:UpdateBrowserSettings' :: UpdateBrowserSettings -> Maybe (Sensitive Text)
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive Text)
browserPolicy
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
browserSettingsArn
instance Prelude.NFData UpdateBrowserSettings where
rnf :: UpdateBrowserSettings -> ()
rnf UpdateBrowserSettings' {Maybe Text
Maybe (Sensitive Text)
Text
browserSettingsArn :: Text
clientToken :: Maybe Text
browserPolicy :: Maybe (Sensitive Text)
$sel:browserSettingsArn:UpdateBrowserSettings' :: UpdateBrowserSettings -> Text
$sel:clientToken:UpdateBrowserSettings' :: UpdateBrowserSettings -> Maybe Text
$sel:browserPolicy:UpdateBrowserSettings' :: UpdateBrowserSettings -> Maybe (Sensitive Text)
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
browserPolicy
seq :: forall a b. a -> b -> b
`Prelude.seq` 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
browserSettingsArn
instance Data.ToHeaders UpdateBrowserSettings where
toHeaders :: UpdateBrowserSettings -> 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 UpdateBrowserSettings where
toJSON :: UpdateBrowserSettings -> Value
toJSON UpdateBrowserSettings' {Maybe Text
Maybe (Sensitive Text)
Text
browserSettingsArn :: Text
clientToken :: Maybe Text
browserPolicy :: Maybe (Sensitive Text)
$sel:browserSettingsArn:UpdateBrowserSettings' :: UpdateBrowserSettings -> Text
$sel:clientToken:UpdateBrowserSettings' :: UpdateBrowserSettings -> Maybe Text
$sel:browserPolicy:UpdateBrowserSettings' :: UpdateBrowserSettings -> Maybe (Sensitive Text)
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"browserPolicy" 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 (Sensitive Text)
browserPolicy,
(Key
"clientToken" 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
clientToken
]
)
instance Data.ToPath UpdateBrowserSettings where
toPath :: UpdateBrowserSettings -> ByteString
toPath UpdateBrowserSettings' {Maybe Text
Maybe (Sensitive Text)
Text
browserSettingsArn :: Text
clientToken :: Maybe Text
browserPolicy :: Maybe (Sensitive Text)
$sel:browserSettingsArn:UpdateBrowserSettings' :: UpdateBrowserSettings -> Text
$sel:clientToken:UpdateBrowserSettings' :: UpdateBrowserSettings -> Maybe Text
$sel:browserPolicy:UpdateBrowserSettings' :: UpdateBrowserSettings -> Maybe (Sensitive Text)
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/browserSettings/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
browserSettingsArn]
instance Data.ToQuery UpdateBrowserSettings where
toQuery :: UpdateBrowserSettings -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateBrowserSettingsResponse = UpdateBrowserSettingsResponse'
{
UpdateBrowserSettingsResponse -> Int
httpStatus :: Prelude.Int,
UpdateBrowserSettingsResponse -> BrowserSettings
browserSettings :: BrowserSettings
}
deriving (UpdateBrowserSettingsResponse
-> UpdateBrowserSettingsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateBrowserSettingsResponse
-> UpdateBrowserSettingsResponse -> Bool
$c/= :: UpdateBrowserSettingsResponse
-> UpdateBrowserSettingsResponse -> Bool
== :: UpdateBrowserSettingsResponse
-> UpdateBrowserSettingsResponse -> Bool
$c== :: UpdateBrowserSettingsResponse
-> UpdateBrowserSettingsResponse -> Bool
Prelude.Eq, Int -> UpdateBrowserSettingsResponse -> ShowS
[UpdateBrowserSettingsResponse] -> ShowS
UpdateBrowserSettingsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateBrowserSettingsResponse] -> ShowS
$cshowList :: [UpdateBrowserSettingsResponse] -> ShowS
show :: UpdateBrowserSettingsResponse -> String
$cshow :: UpdateBrowserSettingsResponse -> String
showsPrec :: Int -> UpdateBrowserSettingsResponse -> ShowS
$cshowsPrec :: Int -> UpdateBrowserSettingsResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateBrowserSettingsResponse x
-> UpdateBrowserSettingsResponse
forall x.
UpdateBrowserSettingsResponse
-> Rep UpdateBrowserSettingsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateBrowserSettingsResponse x
-> UpdateBrowserSettingsResponse
$cfrom :: forall x.
UpdateBrowserSettingsResponse
-> Rep UpdateBrowserSettingsResponse x
Prelude.Generic)
newUpdateBrowserSettingsResponse ::
Prelude.Int ->
BrowserSettings ->
UpdateBrowserSettingsResponse
newUpdateBrowserSettingsResponse :: Int -> BrowserSettings -> UpdateBrowserSettingsResponse
newUpdateBrowserSettingsResponse
Int
pHttpStatus_
BrowserSettings
pBrowserSettings_ =
UpdateBrowserSettingsResponse'
{ $sel:httpStatus:UpdateBrowserSettingsResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:browserSettings:UpdateBrowserSettingsResponse' :: BrowserSettings
browserSettings = BrowserSettings
pBrowserSettings_
}
updateBrowserSettingsResponse_httpStatus :: Lens.Lens' UpdateBrowserSettingsResponse Prelude.Int
updateBrowserSettingsResponse_httpStatus :: Lens' UpdateBrowserSettingsResponse Int
updateBrowserSettingsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBrowserSettingsResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateBrowserSettingsResponse' :: UpdateBrowserSettingsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateBrowserSettingsResponse
s@UpdateBrowserSettingsResponse' {} Int
a -> UpdateBrowserSettingsResponse
s {$sel:httpStatus:UpdateBrowserSettingsResponse' :: Int
httpStatus = Int
a} :: UpdateBrowserSettingsResponse)
updateBrowserSettingsResponse_browserSettings :: Lens.Lens' UpdateBrowserSettingsResponse BrowserSettings
updateBrowserSettingsResponse_browserSettings :: Lens' UpdateBrowserSettingsResponse BrowserSettings
updateBrowserSettingsResponse_browserSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBrowserSettingsResponse' {BrowserSettings
browserSettings :: BrowserSettings
$sel:browserSettings:UpdateBrowserSettingsResponse' :: UpdateBrowserSettingsResponse -> BrowserSettings
browserSettings} -> BrowserSettings
browserSettings) (\s :: UpdateBrowserSettingsResponse
s@UpdateBrowserSettingsResponse' {} BrowserSettings
a -> UpdateBrowserSettingsResponse
s {$sel:browserSettings:UpdateBrowserSettingsResponse' :: BrowserSettings
browserSettings = BrowserSettings
a} :: UpdateBrowserSettingsResponse)
instance Prelude.NFData UpdateBrowserSettingsResponse where
rnf :: UpdateBrowserSettingsResponse -> ()
rnf UpdateBrowserSettingsResponse' {Int
BrowserSettings
browserSettings :: BrowserSettings
httpStatus :: Int
$sel:browserSettings:UpdateBrowserSettingsResponse' :: UpdateBrowserSettingsResponse -> BrowserSettings
$sel:httpStatus:UpdateBrowserSettingsResponse' :: UpdateBrowserSettingsResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf BrowserSettings
browserSettings