{-# 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.IoTWireless.UpdateResourcePosition
(
UpdateResourcePosition (..),
newUpdateResourcePosition,
updateResourcePosition_geoJsonPayload,
updateResourcePosition_resourceIdentifier,
updateResourcePosition_resourceType,
UpdateResourcePositionResponse (..),
newUpdateResourcePositionResponse,
updateResourcePositionResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IoTWireless.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data UpdateResourcePosition = UpdateResourcePosition'
{
UpdateResourcePosition -> Maybe ByteString
geoJsonPayload :: Prelude.Maybe Prelude.ByteString,
UpdateResourcePosition -> Text
resourceIdentifier :: Prelude.Text,
UpdateResourcePosition -> PositionResourceType
resourceType :: PositionResourceType
}
deriving (UpdateResourcePosition -> UpdateResourcePosition -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateResourcePosition -> UpdateResourcePosition -> Bool
$c/= :: UpdateResourcePosition -> UpdateResourcePosition -> Bool
== :: UpdateResourcePosition -> UpdateResourcePosition -> Bool
$c== :: UpdateResourcePosition -> UpdateResourcePosition -> Bool
Prelude.Eq, ReadPrec [UpdateResourcePosition]
ReadPrec UpdateResourcePosition
Int -> ReadS UpdateResourcePosition
ReadS [UpdateResourcePosition]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateResourcePosition]
$creadListPrec :: ReadPrec [UpdateResourcePosition]
readPrec :: ReadPrec UpdateResourcePosition
$creadPrec :: ReadPrec UpdateResourcePosition
readList :: ReadS [UpdateResourcePosition]
$creadList :: ReadS [UpdateResourcePosition]
readsPrec :: Int -> ReadS UpdateResourcePosition
$creadsPrec :: Int -> ReadS UpdateResourcePosition
Prelude.Read, Int -> UpdateResourcePosition -> ShowS
[UpdateResourcePosition] -> ShowS
UpdateResourcePosition -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateResourcePosition] -> ShowS
$cshowList :: [UpdateResourcePosition] -> ShowS
show :: UpdateResourcePosition -> String
$cshow :: UpdateResourcePosition -> String
showsPrec :: Int -> UpdateResourcePosition -> ShowS
$cshowsPrec :: Int -> UpdateResourcePosition -> ShowS
Prelude.Show, forall x. Rep UpdateResourcePosition x -> UpdateResourcePosition
forall x. UpdateResourcePosition -> Rep UpdateResourcePosition x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateResourcePosition x -> UpdateResourcePosition
$cfrom :: forall x. UpdateResourcePosition -> Rep UpdateResourcePosition x
Prelude.Generic)
newUpdateResourcePosition ::
Prelude.Text ->
PositionResourceType ->
UpdateResourcePosition
newUpdateResourcePosition :: Text -> PositionResourceType -> UpdateResourcePosition
newUpdateResourcePosition
Text
pResourceIdentifier_
PositionResourceType
pResourceType_ =
UpdateResourcePosition'
{ $sel:geoJsonPayload:UpdateResourcePosition' :: Maybe ByteString
geoJsonPayload =
forall a. Maybe a
Prelude.Nothing,
$sel:resourceIdentifier:UpdateResourcePosition' :: Text
resourceIdentifier = Text
pResourceIdentifier_,
$sel:resourceType:UpdateResourcePosition' :: PositionResourceType
resourceType = PositionResourceType
pResourceType_
}
updateResourcePosition_geoJsonPayload :: Lens.Lens' UpdateResourcePosition (Prelude.Maybe Prelude.ByteString)
updateResourcePosition_geoJsonPayload :: Lens' UpdateResourcePosition (Maybe ByteString)
updateResourcePosition_geoJsonPayload = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateResourcePosition' {Maybe ByteString
geoJsonPayload :: Maybe ByteString
$sel:geoJsonPayload:UpdateResourcePosition' :: UpdateResourcePosition -> Maybe ByteString
geoJsonPayload} -> Maybe ByteString
geoJsonPayload) (\s :: UpdateResourcePosition
s@UpdateResourcePosition' {} Maybe ByteString
a -> UpdateResourcePosition
s {$sel:geoJsonPayload:UpdateResourcePosition' :: Maybe ByteString
geoJsonPayload = Maybe ByteString
a} :: UpdateResourcePosition)
updateResourcePosition_resourceIdentifier :: Lens.Lens' UpdateResourcePosition Prelude.Text
updateResourcePosition_resourceIdentifier :: Lens' UpdateResourcePosition Text
updateResourcePosition_resourceIdentifier = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateResourcePosition' {Text
resourceIdentifier :: Text
$sel:resourceIdentifier:UpdateResourcePosition' :: UpdateResourcePosition -> Text
resourceIdentifier} -> Text
resourceIdentifier) (\s :: UpdateResourcePosition
s@UpdateResourcePosition' {} Text
a -> UpdateResourcePosition
s {$sel:resourceIdentifier:UpdateResourcePosition' :: Text
resourceIdentifier = Text
a} :: UpdateResourcePosition)
updateResourcePosition_resourceType :: Lens.Lens' UpdateResourcePosition PositionResourceType
updateResourcePosition_resourceType :: Lens' UpdateResourcePosition PositionResourceType
updateResourcePosition_resourceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateResourcePosition' {PositionResourceType
resourceType :: PositionResourceType
$sel:resourceType:UpdateResourcePosition' :: UpdateResourcePosition -> PositionResourceType
resourceType} -> PositionResourceType
resourceType) (\s :: UpdateResourcePosition
s@UpdateResourcePosition' {} PositionResourceType
a -> UpdateResourcePosition
s {$sel:resourceType:UpdateResourcePosition' :: PositionResourceType
resourceType = PositionResourceType
a} :: UpdateResourcePosition)
instance Core.AWSRequest UpdateResourcePosition where
type
AWSResponse UpdateResourcePosition =
UpdateResourcePositionResponse
request :: (Service -> Service)
-> UpdateResourcePosition -> Request UpdateResourcePosition
request Service -> Service
overrides =
forall a. (ToRequest a, ToBody a) => Service -> a -> Request a
Request.patchBody (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateResourcePosition
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateResourcePosition)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> UpdateResourcePositionResponse
UpdateResourcePositionResponse'
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))
)
instance Prelude.Hashable UpdateResourcePosition where
hashWithSalt :: Int -> UpdateResourcePosition -> Int
hashWithSalt Int
_salt UpdateResourcePosition' {Maybe ByteString
Text
PositionResourceType
resourceType :: PositionResourceType
resourceIdentifier :: Text
geoJsonPayload :: Maybe ByteString
$sel:resourceType:UpdateResourcePosition' :: UpdateResourcePosition -> PositionResourceType
$sel:resourceIdentifier:UpdateResourcePosition' :: UpdateResourcePosition -> Text
$sel:geoJsonPayload:UpdateResourcePosition' :: UpdateResourcePosition -> Maybe ByteString
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ByteString
geoJsonPayload
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceIdentifier
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` PositionResourceType
resourceType
instance Prelude.NFData UpdateResourcePosition where
rnf :: UpdateResourcePosition -> ()
rnf UpdateResourcePosition' {Maybe ByteString
Text
PositionResourceType
resourceType :: PositionResourceType
resourceIdentifier :: Text
geoJsonPayload :: Maybe ByteString
$sel:resourceType:UpdateResourcePosition' :: UpdateResourcePosition -> PositionResourceType
$sel:resourceIdentifier:UpdateResourcePosition' :: UpdateResourcePosition -> Text
$sel:geoJsonPayload:UpdateResourcePosition' :: UpdateResourcePosition -> Maybe ByteString
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ByteString
geoJsonPayload
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
resourceIdentifier
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf PositionResourceType
resourceType
instance Data.ToBody UpdateResourcePosition where
toBody :: UpdateResourcePosition -> RequestBody
toBody UpdateResourcePosition' {Maybe ByteString
Text
PositionResourceType
resourceType :: PositionResourceType
resourceIdentifier :: Text
geoJsonPayload :: Maybe ByteString
$sel:resourceType:UpdateResourcePosition' :: UpdateResourcePosition -> PositionResourceType
$sel:resourceIdentifier:UpdateResourcePosition' :: UpdateResourcePosition -> Text
$sel:geoJsonPayload:UpdateResourcePosition' :: UpdateResourcePosition -> Maybe ByteString
..} =
forall a. ToBody a => a -> RequestBody
Data.toBody Maybe ByteString
geoJsonPayload
instance Data.ToHeaders UpdateResourcePosition where
toHeaders :: UpdateResourcePosition -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath UpdateResourcePosition where
toPath :: UpdateResourcePosition -> ByteString
toPath UpdateResourcePosition' {Maybe ByteString
Text
PositionResourceType
resourceType :: PositionResourceType
resourceIdentifier :: Text
geoJsonPayload :: Maybe ByteString
$sel:resourceType:UpdateResourcePosition' :: UpdateResourcePosition -> PositionResourceType
$sel:resourceIdentifier:UpdateResourcePosition' :: UpdateResourcePosition -> Text
$sel:geoJsonPayload:UpdateResourcePosition' :: UpdateResourcePosition -> Maybe ByteString
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/resource-positions/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
resourceIdentifier
]
instance Data.ToQuery UpdateResourcePosition where
toQuery :: UpdateResourcePosition -> QueryString
toQuery UpdateResourcePosition' {Maybe ByteString
Text
PositionResourceType
resourceType :: PositionResourceType
resourceIdentifier :: Text
geoJsonPayload :: Maybe ByteString
$sel:resourceType:UpdateResourcePosition' :: UpdateResourcePosition -> PositionResourceType
$sel:resourceIdentifier:UpdateResourcePosition' :: UpdateResourcePosition -> Text
$sel:geoJsonPayload:UpdateResourcePosition' :: UpdateResourcePosition -> Maybe ByteString
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"resourceType" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: PositionResourceType
resourceType]
data UpdateResourcePositionResponse = UpdateResourcePositionResponse'
{
UpdateResourcePositionResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateResourcePositionResponse
-> UpdateResourcePositionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateResourcePositionResponse
-> UpdateResourcePositionResponse -> Bool
$c/= :: UpdateResourcePositionResponse
-> UpdateResourcePositionResponse -> Bool
== :: UpdateResourcePositionResponse
-> UpdateResourcePositionResponse -> Bool
$c== :: UpdateResourcePositionResponse
-> UpdateResourcePositionResponse -> Bool
Prelude.Eq, ReadPrec [UpdateResourcePositionResponse]
ReadPrec UpdateResourcePositionResponse
Int -> ReadS UpdateResourcePositionResponse
ReadS [UpdateResourcePositionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateResourcePositionResponse]
$creadListPrec :: ReadPrec [UpdateResourcePositionResponse]
readPrec :: ReadPrec UpdateResourcePositionResponse
$creadPrec :: ReadPrec UpdateResourcePositionResponse
readList :: ReadS [UpdateResourcePositionResponse]
$creadList :: ReadS [UpdateResourcePositionResponse]
readsPrec :: Int -> ReadS UpdateResourcePositionResponse
$creadsPrec :: Int -> ReadS UpdateResourcePositionResponse
Prelude.Read, Int -> UpdateResourcePositionResponse -> ShowS
[UpdateResourcePositionResponse] -> ShowS
UpdateResourcePositionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateResourcePositionResponse] -> ShowS
$cshowList :: [UpdateResourcePositionResponse] -> ShowS
show :: UpdateResourcePositionResponse -> String
$cshow :: UpdateResourcePositionResponse -> String
showsPrec :: Int -> UpdateResourcePositionResponse -> ShowS
$cshowsPrec :: Int -> UpdateResourcePositionResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateResourcePositionResponse x
-> UpdateResourcePositionResponse
forall x.
UpdateResourcePositionResponse
-> Rep UpdateResourcePositionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateResourcePositionResponse x
-> UpdateResourcePositionResponse
$cfrom :: forall x.
UpdateResourcePositionResponse
-> Rep UpdateResourcePositionResponse x
Prelude.Generic)
newUpdateResourcePositionResponse ::
Prelude.Int ->
UpdateResourcePositionResponse
newUpdateResourcePositionResponse :: Int -> UpdateResourcePositionResponse
newUpdateResourcePositionResponse Int
pHttpStatus_ =
UpdateResourcePositionResponse'
{ $sel:httpStatus:UpdateResourcePositionResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
updateResourcePositionResponse_httpStatus :: Lens.Lens' UpdateResourcePositionResponse Prelude.Int
updateResourcePositionResponse_httpStatus :: Lens' UpdateResourcePositionResponse Int
updateResourcePositionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateResourcePositionResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateResourcePositionResponse' :: UpdateResourcePositionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateResourcePositionResponse
s@UpdateResourcePositionResponse' {} Int
a -> UpdateResourcePositionResponse
s {$sel:httpStatus:UpdateResourcePositionResponse' :: Int
httpStatus = Int
a} :: UpdateResourcePositionResponse)
instance
Prelude.NFData
UpdateResourcePositionResponse
where
rnf :: UpdateResourcePositionResponse -> ()
rnf UpdateResourcePositionResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateResourcePositionResponse' :: UpdateResourcePositionResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus