{-# 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.Outposts.GetSite
(
GetSite (..),
newGetSite,
getSite_siteId,
GetSiteResponse (..),
newGetSiteResponse,
getSiteResponse_site,
getSiteResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Outposts.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetSite = GetSite'
{
GetSite -> Text
siteId :: Prelude.Text
}
deriving (GetSite -> GetSite -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSite -> GetSite -> Bool
$c/= :: GetSite -> GetSite -> Bool
== :: GetSite -> GetSite -> Bool
$c== :: GetSite -> GetSite -> Bool
Prelude.Eq, ReadPrec [GetSite]
ReadPrec GetSite
Int -> ReadS GetSite
ReadS [GetSite]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSite]
$creadListPrec :: ReadPrec [GetSite]
readPrec :: ReadPrec GetSite
$creadPrec :: ReadPrec GetSite
readList :: ReadS [GetSite]
$creadList :: ReadS [GetSite]
readsPrec :: Int -> ReadS GetSite
$creadsPrec :: Int -> ReadS GetSite
Prelude.Read, Int -> GetSite -> ShowS
[GetSite] -> ShowS
GetSite -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSite] -> ShowS
$cshowList :: [GetSite] -> ShowS
show :: GetSite -> String
$cshow :: GetSite -> String
showsPrec :: Int -> GetSite -> ShowS
$cshowsPrec :: Int -> GetSite -> ShowS
Prelude.Show, forall x. Rep GetSite x -> GetSite
forall x. GetSite -> Rep GetSite x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetSite x -> GetSite
$cfrom :: forall x. GetSite -> Rep GetSite x
Prelude.Generic)
newGetSite ::
Prelude.Text ->
GetSite
newGetSite :: Text -> GetSite
newGetSite Text
pSiteId_ = GetSite' {$sel:siteId:GetSite' :: Text
siteId = Text
pSiteId_}
getSite_siteId :: Lens.Lens' GetSite Prelude.Text
getSite_siteId :: Lens' GetSite Text
getSite_siteId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSite' {Text
siteId :: Text
$sel:siteId:GetSite' :: GetSite -> Text
siteId} -> Text
siteId) (\s :: GetSite
s@GetSite' {} Text
a -> GetSite
s {$sel:siteId:GetSite' :: Text
siteId = Text
a} :: GetSite)
instance Core.AWSRequest GetSite where
type AWSResponse GetSite = GetSiteResponse
request :: (Service -> Service) -> GetSite -> Request GetSite
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetSite
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetSite)))
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 Site -> Int -> GetSiteResponse
GetSiteResponse'
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
"Site")
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 GetSite where
hashWithSalt :: Int -> GetSite -> Int
hashWithSalt Int
_salt GetSite' {Text
siteId :: Text
$sel:siteId:GetSite' :: GetSite -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
siteId
instance Prelude.NFData GetSite where
rnf :: GetSite -> ()
rnf GetSite' {Text
siteId :: Text
$sel:siteId:GetSite' :: GetSite -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
siteId
instance Data.ToHeaders GetSite where
toHeaders :: GetSite -> 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.ToPath GetSite where
toPath :: GetSite -> ByteString
toPath GetSite' {Text
siteId :: Text
$sel:siteId:GetSite' :: GetSite -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"/sites/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
siteId]
instance Data.ToQuery GetSite where
toQuery :: GetSite -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetSiteResponse = GetSiteResponse'
{ GetSiteResponse -> Maybe Site
site :: Prelude.Maybe Site,
GetSiteResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetSiteResponse -> GetSiteResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSiteResponse -> GetSiteResponse -> Bool
$c/= :: GetSiteResponse -> GetSiteResponse -> Bool
== :: GetSiteResponse -> GetSiteResponse -> Bool
$c== :: GetSiteResponse -> GetSiteResponse -> Bool
Prelude.Eq, ReadPrec [GetSiteResponse]
ReadPrec GetSiteResponse
Int -> ReadS GetSiteResponse
ReadS [GetSiteResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSiteResponse]
$creadListPrec :: ReadPrec [GetSiteResponse]
readPrec :: ReadPrec GetSiteResponse
$creadPrec :: ReadPrec GetSiteResponse
readList :: ReadS [GetSiteResponse]
$creadList :: ReadS [GetSiteResponse]
readsPrec :: Int -> ReadS GetSiteResponse
$creadsPrec :: Int -> ReadS GetSiteResponse
Prelude.Read, Int -> GetSiteResponse -> ShowS
[GetSiteResponse] -> ShowS
GetSiteResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSiteResponse] -> ShowS
$cshowList :: [GetSiteResponse] -> ShowS
show :: GetSiteResponse -> String
$cshow :: GetSiteResponse -> String
showsPrec :: Int -> GetSiteResponse -> ShowS
$cshowsPrec :: Int -> GetSiteResponse -> ShowS
Prelude.Show, forall x. Rep GetSiteResponse x -> GetSiteResponse
forall x. GetSiteResponse -> Rep GetSiteResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetSiteResponse x -> GetSiteResponse
$cfrom :: forall x. GetSiteResponse -> Rep GetSiteResponse x
Prelude.Generic)
newGetSiteResponse ::
Prelude.Int ->
GetSiteResponse
newGetSiteResponse :: Int -> GetSiteResponse
newGetSiteResponse Int
pHttpStatus_ =
GetSiteResponse'
{ $sel:site:GetSiteResponse' :: Maybe Site
site = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetSiteResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getSiteResponse_site :: Lens.Lens' GetSiteResponse (Prelude.Maybe Site)
getSiteResponse_site :: Lens' GetSiteResponse (Maybe Site)
getSiteResponse_site = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSiteResponse' {Maybe Site
site :: Maybe Site
$sel:site:GetSiteResponse' :: GetSiteResponse -> Maybe Site
site} -> Maybe Site
site) (\s :: GetSiteResponse
s@GetSiteResponse' {} Maybe Site
a -> GetSiteResponse
s {$sel:site:GetSiteResponse' :: Maybe Site
site = Maybe Site
a} :: GetSiteResponse)
getSiteResponse_httpStatus :: Lens.Lens' GetSiteResponse Prelude.Int
getSiteResponse_httpStatus :: Lens' GetSiteResponse Int
getSiteResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSiteResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetSiteResponse' :: GetSiteResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetSiteResponse
s@GetSiteResponse' {} Int
a -> GetSiteResponse
s {$sel:httpStatus:GetSiteResponse' :: Int
httpStatus = Int
a} :: GetSiteResponse)
instance Prelude.NFData GetSiteResponse where
rnf :: GetSiteResponse -> ()
rnf GetSiteResponse' {Int
Maybe Site
httpStatus :: Int
site :: Maybe Site
$sel:httpStatus:GetSiteResponse' :: GetSiteResponse -> Int
$sel:site:GetSiteResponse' :: GetSiteResponse -> Maybe Site
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Site
site
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus