{-# 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.GetSiteAddress
(
GetSiteAddress (..),
newGetSiteAddress,
getSiteAddress_siteId,
getSiteAddress_addressType,
GetSiteAddressResponse (..),
newGetSiteAddressResponse,
getSiteAddressResponse_address,
getSiteAddressResponse_addressType,
getSiteAddressResponse_siteId,
getSiteAddressResponse_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 GetSiteAddress = GetSiteAddress'
{
GetSiteAddress -> Text
siteId :: Prelude.Text,
GetSiteAddress -> AddressType
addressType :: AddressType
}
deriving (GetSiteAddress -> GetSiteAddress -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSiteAddress -> GetSiteAddress -> Bool
$c/= :: GetSiteAddress -> GetSiteAddress -> Bool
== :: GetSiteAddress -> GetSiteAddress -> Bool
$c== :: GetSiteAddress -> GetSiteAddress -> Bool
Prelude.Eq, ReadPrec [GetSiteAddress]
ReadPrec GetSiteAddress
Int -> ReadS GetSiteAddress
ReadS [GetSiteAddress]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSiteAddress]
$creadListPrec :: ReadPrec [GetSiteAddress]
readPrec :: ReadPrec GetSiteAddress
$creadPrec :: ReadPrec GetSiteAddress
readList :: ReadS [GetSiteAddress]
$creadList :: ReadS [GetSiteAddress]
readsPrec :: Int -> ReadS GetSiteAddress
$creadsPrec :: Int -> ReadS GetSiteAddress
Prelude.Read, Int -> GetSiteAddress -> ShowS
[GetSiteAddress] -> ShowS
GetSiteAddress -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSiteAddress] -> ShowS
$cshowList :: [GetSiteAddress] -> ShowS
show :: GetSiteAddress -> String
$cshow :: GetSiteAddress -> String
showsPrec :: Int -> GetSiteAddress -> ShowS
$cshowsPrec :: Int -> GetSiteAddress -> ShowS
Prelude.Show, forall x. Rep GetSiteAddress x -> GetSiteAddress
forall x. GetSiteAddress -> Rep GetSiteAddress x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetSiteAddress x -> GetSiteAddress
$cfrom :: forall x. GetSiteAddress -> Rep GetSiteAddress x
Prelude.Generic)
newGetSiteAddress ::
Prelude.Text ->
AddressType ->
GetSiteAddress
newGetSiteAddress :: Text -> AddressType -> GetSiteAddress
newGetSiteAddress Text
pSiteId_ AddressType
pAddressType_ =
GetSiteAddress'
{ $sel:siteId:GetSiteAddress' :: Text
siteId = Text
pSiteId_,
$sel:addressType:GetSiteAddress' :: AddressType
addressType = AddressType
pAddressType_
}
getSiteAddress_siteId :: Lens.Lens' GetSiteAddress Prelude.Text
getSiteAddress_siteId :: Lens' GetSiteAddress Text
getSiteAddress_siteId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSiteAddress' {Text
siteId :: Text
$sel:siteId:GetSiteAddress' :: GetSiteAddress -> Text
siteId} -> Text
siteId) (\s :: GetSiteAddress
s@GetSiteAddress' {} Text
a -> GetSiteAddress
s {$sel:siteId:GetSiteAddress' :: Text
siteId = Text
a} :: GetSiteAddress)
getSiteAddress_addressType :: Lens.Lens' GetSiteAddress AddressType
getSiteAddress_addressType :: Lens' GetSiteAddress AddressType
getSiteAddress_addressType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSiteAddress' {AddressType
addressType :: AddressType
$sel:addressType:GetSiteAddress' :: GetSiteAddress -> AddressType
addressType} -> AddressType
addressType) (\s :: GetSiteAddress
s@GetSiteAddress' {} AddressType
a -> GetSiteAddress
s {$sel:addressType:GetSiteAddress' :: AddressType
addressType = AddressType
a} :: GetSiteAddress)
instance Core.AWSRequest GetSiteAddress where
type
AWSResponse GetSiteAddress =
GetSiteAddressResponse
request :: (Service -> Service) -> GetSiteAddress -> Request GetSiteAddress
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 GetSiteAddress
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetSiteAddress)))
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 Address
-> Maybe AddressType -> Maybe Text -> Int -> GetSiteAddressResponse
GetSiteAddressResponse'
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
"Address")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"AddressType")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"SiteId")
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 GetSiteAddress where
hashWithSalt :: Int -> GetSiteAddress -> Int
hashWithSalt Int
_salt GetSiteAddress' {Text
AddressType
addressType :: AddressType
siteId :: Text
$sel:addressType:GetSiteAddress' :: GetSiteAddress -> AddressType
$sel:siteId:GetSiteAddress' :: GetSiteAddress -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
siteId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` AddressType
addressType
instance Prelude.NFData GetSiteAddress where
rnf :: GetSiteAddress -> ()
rnf GetSiteAddress' {Text
AddressType
addressType :: AddressType
siteId :: Text
$sel:addressType:GetSiteAddress' :: GetSiteAddress -> AddressType
$sel:siteId:GetSiteAddress' :: GetSiteAddress -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
siteId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf AddressType
addressType
instance Data.ToHeaders GetSiteAddress where
toHeaders :: GetSiteAddress -> 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 GetSiteAddress where
toPath :: GetSiteAddress -> ByteString
toPath GetSiteAddress' {Text
AddressType
addressType :: AddressType
siteId :: Text
$sel:addressType:GetSiteAddress' :: GetSiteAddress -> AddressType
$sel:siteId:GetSiteAddress' :: GetSiteAddress -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/sites/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
siteId, ByteString
"/address"]
instance Data.ToQuery GetSiteAddress where
toQuery :: GetSiteAddress -> QueryString
toQuery GetSiteAddress' {Text
AddressType
addressType :: AddressType
siteId :: Text
$sel:addressType:GetSiteAddress' :: GetSiteAddress -> AddressType
$sel:siteId:GetSiteAddress' :: GetSiteAddress -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"AddressType" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: AddressType
addressType]
data GetSiteAddressResponse = GetSiteAddressResponse'
{
GetSiteAddressResponse -> Maybe Address
address :: Prelude.Maybe Address,
GetSiteAddressResponse -> Maybe AddressType
addressType :: Prelude.Maybe AddressType,
GetSiteAddressResponse -> Maybe Text
siteId :: Prelude.Maybe Prelude.Text,
GetSiteAddressResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetSiteAddressResponse -> GetSiteAddressResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSiteAddressResponse -> GetSiteAddressResponse -> Bool
$c/= :: GetSiteAddressResponse -> GetSiteAddressResponse -> Bool
== :: GetSiteAddressResponse -> GetSiteAddressResponse -> Bool
$c== :: GetSiteAddressResponse -> GetSiteAddressResponse -> Bool
Prelude.Eq, ReadPrec [GetSiteAddressResponse]
ReadPrec GetSiteAddressResponse
Int -> ReadS GetSiteAddressResponse
ReadS [GetSiteAddressResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSiteAddressResponse]
$creadListPrec :: ReadPrec [GetSiteAddressResponse]
readPrec :: ReadPrec GetSiteAddressResponse
$creadPrec :: ReadPrec GetSiteAddressResponse
readList :: ReadS [GetSiteAddressResponse]
$creadList :: ReadS [GetSiteAddressResponse]
readsPrec :: Int -> ReadS GetSiteAddressResponse
$creadsPrec :: Int -> ReadS GetSiteAddressResponse
Prelude.Read, Int -> GetSiteAddressResponse -> ShowS
[GetSiteAddressResponse] -> ShowS
GetSiteAddressResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSiteAddressResponse] -> ShowS
$cshowList :: [GetSiteAddressResponse] -> ShowS
show :: GetSiteAddressResponse -> String
$cshow :: GetSiteAddressResponse -> String
showsPrec :: Int -> GetSiteAddressResponse -> ShowS
$cshowsPrec :: Int -> GetSiteAddressResponse -> ShowS
Prelude.Show, forall x. Rep GetSiteAddressResponse x -> GetSiteAddressResponse
forall x. GetSiteAddressResponse -> Rep GetSiteAddressResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetSiteAddressResponse x -> GetSiteAddressResponse
$cfrom :: forall x. GetSiteAddressResponse -> Rep GetSiteAddressResponse x
Prelude.Generic)
newGetSiteAddressResponse ::
Prelude.Int ->
GetSiteAddressResponse
newGetSiteAddressResponse :: Int -> GetSiteAddressResponse
newGetSiteAddressResponse Int
pHttpStatus_ =
GetSiteAddressResponse'
{ $sel:address:GetSiteAddressResponse' :: Maybe Address
address = forall a. Maybe a
Prelude.Nothing,
$sel:addressType:GetSiteAddressResponse' :: Maybe AddressType
addressType = forall a. Maybe a
Prelude.Nothing,
$sel:siteId:GetSiteAddressResponse' :: Maybe Text
siteId = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetSiteAddressResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getSiteAddressResponse_address :: Lens.Lens' GetSiteAddressResponse (Prelude.Maybe Address)
getSiteAddressResponse_address :: Lens' GetSiteAddressResponse (Maybe Address)
getSiteAddressResponse_address = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSiteAddressResponse' {Maybe Address
address :: Maybe Address
$sel:address:GetSiteAddressResponse' :: GetSiteAddressResponse -> Maybe Address
address} -> Maybe Address
address) (\s :: GetSiteAddressResponse
s@GetSiteAddressResponse' {} Maybe Address
a -> GetSiteAddressResponse
s {$sel:address:GetSiteAddressResponse' :: Maybe Address
address = Maybe Address
a} :: GetSiteAddressResponse)
getSiteAddressResponse_addressType :: Lens.Lens' GetSiteAddressResponse (Prelude.Maybe AddressType)
getSiteAddressResponse_addressType :: Lens' GetSiteAddressResponse (Maybe AddressType)
getSiteAddressResponse_addressType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSiteAddressResponse' {Maybe AddressType
addressType :: Maybe AddressType
$sel:addressType:GetSiteAddressResponse' :: GetSiteAddressResponse -> Maybe AddressType
addressType} -> Maybe AddressType
addressType) (\s :: GetSiteAddressResponse
s@GetSiteAddressResponse' {} Maybe AddressType
a -> GetSiteAddressResponse
s {$sel:addressType:GetSiteAddressResponse' :: Maybe AddressType
addressType = Maybe AddressType
a} :: GetSiteAddressResponse)
getSiteAddressResponse_siteId :: Lens.Lens' GetSiteAddressResponse (Prelude.Maybe Prelude.Text)
getSiteAddressResponse_siteId :: Lens' GetSiteAddressResponse (Maybe Text)
getSiteAddressResponse_siteId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSiteAddressResponse' {Maybe Text
siteId :: Maybe Text
$sel:siteId:GetSiteAddressResponse' :: GetSiteAddressResponse -> Maybe Text
siteId} -> Maybe Text
siteId) (\s :: GetSiteAddressResponse
s@GetSiteAddressResponse' {} Maybe Text
a -> GetSiteAddressResponse
s {$sel:siteId:GetSiteAddressResponse' :: Maybe Text
siteId = Maybe Text
a} :: GetSiteAddressResponse)
getSiteAddressResponse_httpStatus :: Lens.Lens' GetSiteAddressResponse Prelude.Int
getSiteAddressResponse_httpStatus :: Lens' GetSiteAddressResponse Int
getSiteAddressResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSiteAddressResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetSiteAddressResponse' :: GetSiteAddressResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetSiteAddressResponse
s@GetSiteAddressResponse' {} Int
a -> GetSiteAddressResponse
s {$sel:httpStatus:GetSiteAddressResponse' :: Int
httpStatus = Int
a} :: GetSiteAddressResponse)
instance Prelude.NFData GetSiteAddressResponse where
rnf :: GetSiteAddressResponse -> ()
rnf GetSiteAddressResponse' {Int
Maybe Text
Maybe Address
Maybe AddressType
httpStatus :: Int
siteId :: Maybe Text
addressType :: Maybe AddressType
address :: Maybe Address
$sel:httpStatus:GetSiteAddressResponse' :: GetSiteAddressResponse -> Int
$sel:siteId:GetSiteAddressResponse' :: GetSiteAddressResponse -> Maybe Text
$sel:addressType:GetSiteAddressResponse' :: GetSiteAddressResponse -> Maybe AddressType
$sel:address:GetSiteAddressResponse' :: GetSiteAddressResponse -> Maybe Address
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Address
address
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AddressType
addressType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
siteId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus