{-# 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.ActivateNetworkSite
(
ActivateNetworkSite (..),
newActivateNetworkSite,
activateNetworkSite_clientToken,
activateNetworkSite_networkSiteArn,
activateNetworkSite_shippingAddress,
ActivateNetworkSiteResponse (..),
newActivateNetworkSiteResponse,
activateNetworkSiteResponse_networkSite,
activateNetworkSiteResponse_httpStatus,
)
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 ActivateNetworkSite = ActivateNetworkSite'
{
ActivateNetworkSite -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
ActivateNetworkSite -> Text
networkSiteArn :: Prelude.Text,
ActivateNetworkSite -> Address
shippingAddress :: Address
}
deriving (ActivateNetworkSite -> ActivateNetworkSite -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ActivateNetworkSite -> ActivateNetworkSite -> Bool
$c/= :: ActivateNetworkSite -> ActivateNetworkSite -> Bool
== :: ActivateNetworkSite -> ActivateNetworkSite -> Bool
$c== :: ActivateNetworkSite -> ActivateNetworkSite -> Bool
Prelude.Eq, Int -> ActivateNetworkSite -> ShowS
[ActivateNetworkSite] -> ShowS
ActivateNetworkSite -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ActivateNetworkSite] -> ShowS
$cshowList :: [ActivateNetworkSite] -> ShowS
show :: ActivateNetworkSite -> String
$cshow :: ActivateNetworkSite -> String
showsPrec :: Int -> ActivateNetworkSite -> ShowS
$cshowsPrec :: Int -> ActivateNetworkSite -> ShowS
Prelude.Show, forall x. Rep ActivateNetworkSite x -> ActivateNetworkSite
forall x. ActivateNetworkSite -> Rep ActivateNetworkSite x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ActivateNetworkSite x -> ActivateNetworkSite
$cfrom :: forall x. ActivateNetworkSite -> Rep ActivateNetworkSite x
Prelude.Generic)
newActivateNetworkSite ::
Prelude.Text ->
Address ->
ActivateNetworkSite
newActivateNetworkSite :: Text -> Address -> ActivateNetworkSite
newActivateNetworkSite
Text
pNetworkSiteArn_
Address
pShippingAddress_ =
ActivateNetworkSite'
{ $sel:clientToken:ActivateNetworkSite' :: Maybe Text
clientToken = forall a. Maybe a
Prelude.Nothing,
$sel:networkSiteArn:ActivateNetworkSite' :: Text
networkSiteArn = Text
pNetworkSiteArn_,
$sel:shippingAddress:ActivateNetworkSite' :: Address
shippingAddress = Address
pShippingAddress_
}
activateNetworkSite_clientToken :: Lens.Lens' ActivateNetworkSite (Prelude.Maybe Prelude.Text)
activateNetworkSite_clientToken :: Lens' ActivateNetworkSite (Maybe Text)
activateNetworkSite_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActivateNetworkSite' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:ActivateNetworkSite' :: ActivateNetworkSite -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: ActivateNetworkSite
s@ActivateNetworkSite' {} Maybe Text
a -> ActivateNetworkSite
s {$sel:clientToken:ActivateNetworkSite' :: Maybe Text
clientToken = Maybe Text
a} :: ActivateNetworkSite)
activateNetworkSite_networkSiteArn :: Lens.Lens' ActivateNetworkSite Prelude.Text
activateNetworkSite_networkSiteArn :: Lens' ActivateNetworkSite Text
activateNetworkSite_networkSiteArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActivateNetworkSite' {Text
networkSiteArn :: Text
$sel:networkSiteArn:ActivateNetworkSite' :: ActivateNetworkSite -> Text
networkSiteArn} -> Text
networkSiteArn) (\s :: ActivateNetworkSite
s@ActivateNetworkSite' {} Text
a -> ActivateNetworkSite
s {$sel:networkSiteArn:ActivateNetworkSite' :: Text
networkSiteArn = Text
a} :: ActivateNetworkSite)
activateNetworkSite_shippingAddress :: Lens.Lens' ActivateNetworkSite Address
activateNetworkSite_shippingAddress :: Lens' ActivateNetworkSite Address
activateNetworkSite_shippingAddress = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActivateNetworkSite' {Address
shippingAddress :: Address
$sel:shippingAddress:ActivateNetworkSite' :: ActivateNetworkSite -> Address
shippingAddress} -> Address
shippingAddress) (\s :: ActivateNetworkSite
s@ActivateNetworkSite' {} Address
a -> ActivateNetworkSite
s {$sel:shippingAddress:ActivateNetworkSite' :: Address
shippingAddress = Address
a} :: ActivateNetworkSite)
instance Core.AWSRequest ActivateNetworkSite where
type
AWSResponse ActivateNetworkSite =
ActivateNetworkSiteResponse
request :: (Service -> Service)
-> ActivateNetworkSite -> Request ActivateNetworkSite
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 ActivateNetworkSite
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse ActivateNetworkSite)))
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 NetworkSite -> Int -> ActivateNetworkSiteResponse
ActivateNetworkSiteResponse'
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
"networkSite")
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 ActivateNetworkSite where
hashWithSalt :: Int -> ActivateNetworkSite -> Int
hashWithSalt Int
_salt ActivateNetworkSite' {Maybe Text
Text
Address
shippingAddress :: Address
networkSiteArn :: Text
clientToken :: Maybe Text
$sel:shippingAddress:ActivateNetworkSite' :: ActivateNetworkSite -> Address
$sel:networkSiteArn:ActivateNetworkSite' :: ActivateNetworkSite -> Text
$sel:clientToken:ActivateNetworkSite' :: ActivateNetworkSite -> 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` Text
networkSiteArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Address
shippingAddress
instance Prelude.NFData ActivateNetworkSite where
rnf :: ActivateNetworkSite -> ()
rnf ActivateNetworkSite' {Maybe Text
Text
Address
shippingAddress :: Address
networkSiteArn :: Text
clientToken :: Maybe Text
$sel:shippingAddress:ActivateNetworkSite' :: ActivateNetworkSite -> Address
$sel:networkSiteArn:ActivateNetworkSite' :: ActivateNetworkSite -> Text
$sel:clientToken:ActivateNetworkSite' :: ActivateNetworkSite -> 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 Text
networkSiteArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Address
shippingAddress
instance Data.ToHeaders ActivateNetworkSite where
toHeaders :: ActivateNetworkSite -> 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 ActivateNetworkSite where
toJSON :: ActivateNetworkSite -> Value
toJSON ActivateNetworkSite' {Maybe Text
Text
Address
shippingAddress :: Address
networkSiteArn :: Text
clientToken :: Maybe Text
$sel:shippingAddress:ActivateNetworkSite' :: ActivateNetworkSite -> Address
$sel:networkSiteArn:ActivateNetworkSite' :: ActivateNetworkSite -> Text
$sel:clientToken:ActivateNetworkSite' :: ActivateNetworkSite -> 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,
forall a. a -> Maybe a
Prelude.Just
(Key
"networkSiteArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
networkSiteArn),
forall a. a -> Maybe a
Prelude.Just
(Key
"shippingAddress" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Address
shippingAddress)
]
)
instance Data.ToPath ActivateNetworkSite where
toPath :: ActivateNetworkSite -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/v1/network-sites/activate"
instance Data.ToQuery ActivateNetworkSite where
toQuery :: ActivateNetworkSite -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data ActivateNetworkSiteResponse = ActivateNetworkSiteResponse'
{
ActivateNetworkSiteResponse -> Maybe NetworkSite
networkSite :: Prelude.Maybe NetworkSite,
ActivateNetworkSiteResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ActivateNetworkSiteResponse -> ActivateNetworkSiteResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ActivateNetworkSiteResponse -> ActivateNetworkSiteResponse -> Bool
$c/= :: ActivateNetworkSiteResponse -> ActivateNetworkSiteResponse -> Bool
== :: ActivateNetworkSiteResponse -> ActivateNetworkSiteResponse -> Bool
$c== :: ActivateNetworkSiteResponse -> ActivateNetworkSiteResponse -> Bool
Prelude.Eq, ReadPrec [ActivateNetworkSiteResponse]
ReadPrec ActivateNetworkSiteResponse
Int -> ReadS ActivateNetworkSiteResponse
ReadS [ActivateNetworkSiteResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ActivateNetworkSiteResponse]
$creadListPrec :: ReadPrec [ActivateNetworkSiteResponse]
readPrec :: ReadPrec ActivateNetworkSiteResponse
$creadPrec :: ReadPrec ActivateNetworkSiteResponse
readList :: ReadS [ActivateNetworkSiteResponse]
$creadList :: ReadS [ActivateNetworkSiteResponse]
readsPrec :: Int -> ReadS ActivateNetworkSiteResponse
$creadsPrec :: Int -> ReadS ActivateNetworkSiteResponse
Prelude.Read, Int -> ActivateNetworkSiteResponse -> ShowS
[ActivateNetworkSiteResponse] -> ShowS
ActivateNetworkSiteResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ActivateNetworkSiteResponse] -> ShowS
$cshowList :: [ActivateNetworkSiteResponse] -> ShowS
show :: ActivateNetworkSiteResponse -> String
$cshow :: ActivateNetworkSiteResponse -> String
showsPrec :: Int -> ActivateNetworkSiteResponse -> ShowS
$cshowsPrec :: Int -> ActivateNetworkSiteResponse -> ShowS
Prelude.Show, forall x.
Rep ActivateNetworkSiteResponse x -> ActivateNetworkSiteResponse
forall x.
ActivateNetworkSiteResponse -> Rep ActivateNetworkSiteResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ActivateNetworkSiteResponse x -> ActivateNetworkSiteResponse
$cfrom :: forall x.
ActivateNetworkSiteResponse -> Rep ActivateNetworkSiteResponse x
Prelude.Generic)
newActivateNetworkSiteResponse ::
Prelude.Int ->
ActivateNetworkSiteResponse
newActivateNetworkSiteResponse :: Int -> ActivateNetworkSiteResponse
newActivateNetworkSiteResponse Int
pHttpStatus_ =
ActivateNetworkSiteResponse'
{ $sel:networkSite:ActivateNetworkSiteResponse' :: Maybe NetworkSite
networkSite =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ActivateNetworkSiteResponse' :: Int
httpStatus = Int
pHttpStatus_
}
activateNetworkSiteResponse_networkSite :: Lens.Lens' ActivateNetworkSiteResponse (Prelude.Maybe NetworkSite)
activateNetworkSiteResponse_networkSite :: Lens' ActivateNetworkSiteResponse (Maybe NetworkSite)
activateNetworkSiteResponse_networkSite = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActivateNetworkSiteResponse' {Maybe NetworkSite
networkSite :: Maybe NetworkSite
$sel:networkSite:ActivateNetworkSiteResponse' :: ActivateNetworkSiteResponse -> Maybe NetworkSite
networkSite} -> Maybe NetworkSite
networkSite) (\s :: ActivateNetworkSiteResponse
s@ActivateNetworkSiteResponse' {} Maybe NetworkSite
a -> ActivateNetworkSiteResponse
s {$sel:networkSite:ActivateNetworkSiteResponse' :: Maybe NetworkSite
networkSite = Maybe NetworkSite
a} :: ActivateNetworkSiteResponse)
activateNetworkSiteResponse_httpStatus :: Lens.Lens' ActivateNetworkSiteResponse Prelude.Int
activateNetworkSiteResponse_httpStatus :: Lens' ActivateNetworkSiteResponse Int
activateNetworkSiteResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActivateNetworkSiteResponse' {Int
httpStatus :: Int
$sel:httpStatus:ActivateNetworkSiteResponse' :: ActivateNetworkSiteResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ActivateNetworkSiteResponse
s@ActivateNetworkSiteResponse' {} Int
a -> ActivateNetworkSiteResponse
s {$sel:httpStatus:ActivateNetworkSiteResponse' :: Int
httpStatus = Int
a} :: ActivateNetworkSiteResponse)
instance Prelude.NFData ActivateNetworkSiteResponse where
rnf :: ActivateNetworkSiteResponse -> ()
rnf ActivateNetworkSiteResponse' {Int
Maybe NetworkSite
httpStatus :: Int
networkSite :: Maybe NetworkSite
$sel:httpStatus:ActivateNetworkSiteResponse' :: ActivateNetworkSiteResponse -> Int
$sel:networkSite:ActivateNetworkSiteResponse' :: ActivateNetworkSiteResponse -> Maybe NetworkSite
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe NetworkSite
networkSite
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus