{-# 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.PrivateNetworks.UpdateNetworkSite
(
UpdateNetworkSite (..),
newUpdateNetworkSite,
updateNetworkSite_clientToken,
updateNetworkSite_description,
updateNetworkSite_networkSiteArn,
UpdateNetworkSiteResponse (..),
newUpdateNetworkSiteResponse,
updateNetworkSiteResponse_networkSite,
updateNetworkSiteResponse_tags,
)
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.PrivateNetworks.Types
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data UpdateNetworkSite = UpdateNetworkSite'
{
UpdateNetworkSite -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
UpdateNetworkSite -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
UpdateNetworkSite -> Text
networkSiteArn :: Prelude.Text
}
deriving (UpdateNetworkSite -> UpdateNetworkSite -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateNetworkSite -> UpdateNetworkSite -> Bool
$c/= :: UpdateNetworkSite -> UpdateNetworkSite -> Bool
== :: UpdateNetworkSite -> UpdateNetworkSite -> Bool
$c== :: UpdateNetworkSite -> UpdateNetworkSite -> Bool
Prelude.Eq, ReadPrec [UpdateNetworkSite]
ReadPrec UpdateNetworkSite
Int -> ReadS UpdateNetworkSite
ReadS [UpdateNetworkSite]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateNetworkSite]
$creadListPrec :: ReadPrec [UpdateNetworkSite]
readPrec :: ReadPrec UpdateNetworkSite
$creadPrec :: ReadPrec UpdateNetworkSite
readList :: ReadS [UpdateNetworkSite]
$creadList :: ReadS [UpdateNetworkSite]
readsPrec :: Int -> ReadS UpdateNetworkSite
$creadsPrec :: Int -> ReadS UpdateNetworkSite
Prelude.Read, Int -> UpdateNetworkSite -> ShowS
[UpdateNetworkSite] -> ShowS
UpdateNetworkSite -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateNetworkSite] -> ShowS
$cshowList :: [UpdateNetworkSite] -> ShowS
show :: UpdateNetworkSite -> String
$cshow :: UpdateNetworkSite -> String
showsPrec :: Int -> UpdateNetworkSite -> ShowS
$cshowsPrec :: Int -> UpdateNetworkSite -> ShowS
Prelude.Show, forall x. Rep UpdateNetworkSite x -> UpdateNetworkSite
forall x. UpdateNetworkSite -> Rep UpdateNetworkSite x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateNetworkSite x -> UpdateNetworkSite
$cfrom :: forall x. UpdateNetworkSite -> Rep UpdateNetworkSite x
Prelude.Generic)
newUpdateNetworkSite ::
Prelude.Text ->
UpdateNetworkSite
newUpdateNetworkSite :: Text -> UpdateNetworkSite
newUpdateNetworkSite Text
pNetworkSiteArn_ =
UpdateNetworkSite'
{ $sel:clientToken:UpdateNetworkSite' :: Maybe Text
clientToken = forall a. Maybe a
Prelude.Nothing,
$sel:description:UpdateNetworkSite' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:networkSiteArn:UpdateNetworkSite' :: Text
networkSiteArn = Text
pNetworkSiteArn_
}
updateNetworkSite_clientToken :: Lens.Lens' UpdateNetworkSite (Prelude.Maybe Prelude.Text)
updateNetworkSite_clientToken :: Lens' UpdateNetworkSite (Maybe Text)
updateNetworkSite_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateNetworkSite' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:UpdateNetworkSite' :: UpdateNetworkSite -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: UpdateNetworkSite
s@UpdateNetworkSite' {} Maybe Text
a -> UpdateNetworkSite
s {$sel:clientToken:UpdateNetworkSite' :: Maybe Text
clientToken = Maybe Text
a} :: UpdateNetworkSite)
updateNetworkSite_description :: Lens.Lens' UpdateNetworkSite (Prelude.Maybe Prelude.Text)
updateNetworkSite_description :: Lens' UpdateNetworkSite (Maybe Text)
updateNetworkSite_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateNetworkSite' {Maybe Text
description :: Maybe Text
$sel:description:UpdateNetworkSite' :: UpdateNetworkSite -> Maybe Text
description} -> Maybe Text
description) (\s :: UpdateNetworkSite
s@UpdateNetworkSite' {} Maybe Text
a -> UpdateNetworkSite
s {$sel:description:UpdateNetworkSite' :: Maybe Text
description = Maybe Text
a} :: UpdateNetworkSite)
updateNetworkSite_networkSiteArn :: Lens.Lens' UpdateNetworkSite Prelude.Text
updateNetworkSite_networkSiteArn :: Lens' UpdateNetworkSite Text
updateNetworkSite_networkSiteArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateNetworkSite' {Text
networkSiteArn :: Text
$sel:networkSiteArn:UpdateNetworkSite' :: UpdateNetworkSite -> Text
networkSiteArn} -> Text
networkSiteArn) (\s :: UpdateNetworkSite
s@UpdateNetworkSite' {} Text
a -> UpdateNetworkSite
s {$sel:networkSiteArn:UpdateNetworkSite' :: Text
networkSiteArn = Text
a} :: UpdateNetworkSite)
instance Core.AWSRequest UpdateNetworkSite where
type
AWSResponse UpdateNetworkSite =
UpdateNetworkSiteResponse
request :: (Service -> Service)
-> UpdateNetworkSite -> Request UpdateNetworkSite
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 UpdateNetworkSite
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateNetworkSite)))
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 -> forall a. FromJSON a => Object -> Either String a
Data.eitherParseJSON Object
x)
instance Prelude.Hashable UpdateNetworkSite where
hashWithSalt :: Int -> UpdateNetworkSite -> Int
hashWithSalt Int
_salt UpdateNetworkSite' {Maybe Text
Text
networkSiteArn :: Text
description :: Maybe Text
clientToken :: Maybe Text
$sel:networkSiteArn:UpdateNetworkSite' :: UpdateNetworkSite -> Text
$sel:description:UpdateNetworkSite' :: UpdateNetworkSite -> Maybe Text
$sel:clientToken:UpdateNetworkSite' :: UpdateNetworkSite -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
networkSiteArn
instance Prelude.NFData UpdateNetworkSite where
rnf :: UpdateNetworkSite -> ()
rnf UpdateNetworkSite' {Maybe Text
Text
networkSiteArn :: Text
description :: Maybe Text
clientToken :: Maybe Text
$sel:networkSiteArn:UpdateNetworkSite' :: UpdateNetworkSite -> Text
$sel:description:UpdateNetworkSite' :: UpdateNetworkSite -> Maybe Text
$sel:clientToken:UpdateNetworkSite' :: UpdateNetworkSite -> Maybe Text
..} =
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 Maybe Text
description
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
networkSiteArn
instance Data.ToHeaders UpdateNetworkSite where
toHeaders :: UpdateNetworkSite -> 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 UpdateNetworkSite where
toJSON :: UpdateNetworkSite -> Value
toJSON UpdateNetworkSite' {Maybe Text
Text
networkSiteArn :: Text
description :: Maybe Text
clientToken :: Maybe Text
$sel:networkSiteArn:UpdateNetworkSite' :: UpdateNetworkSite -> Text
$sel:description:UpdateNetworkSite' :: UpdateNetworkSite -> Maybe Text
$sel:clientToken:UpdateNetworkSite' :: UpdateNetworkSite -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (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,
(Key
"description" 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
description,
forall a. a -> Maybe a
Prelude.Just
(Key
"networkSiteArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
networkSiteArn)
]
)
instance Data.ToPath UpdateNetworkSite where
toPath :: UpdateNetworkSite -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/v1/network-sites/site"
instance Data.ToQuery UpdateNetworkSite where
toQuery :: UpdateNetworkSite -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty