{-# 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.GroundStation.UpdateEphemeris
(
UpdateEphemeris (..),
newUpdateEphemeris,
updateEphemeris_name,
updateEphemeris_priority,
updateEphemeris_enabled,
updateEphemeris_ephemerisId,
EphemerisIdResponse (..),
newEphemerisIdResponse,
ephemerisIdResponse_ephemerisId,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.GroundStation.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data UpdateEphemeris = UpdateEphemeris'
{
UpdateEphemeris -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
UpdateEphemeris -> Maybe Natural
priority :: Prelude.Maybe Prelude.Natural,
UpdateEphemeris -> Bool
enabled :: Prelude.Bool,
UpdateEphemeris -> Text
ephemerisId :: Prelude.Text
}
deriving (UpdateEphemeris -> UpdateEphemeris -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateEphemeris -> UpdateEphemeris -> Bool
$c/= :: UpdateEphemeris -> UpdateEphemeris -> Bool
== :: UpdateEphemeris -> UpdateEphemeris -> Bool
$c== :: UpdateEphemeris -> UpdateEphemeris -> Bool
Prelude.Eq, ReadPrec [UpdateEphemeris]
ReadPrec UpdateEphemeris
Int -> ReadS UpdateEphemeris
ReadS [UpdateEphemeris]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateEphemeris]
$creadListPrec :: ReadPrec [UpdateEphemeris]
readPrec :: ReadPrec UpdateEphemeris
$creadPrec :: ReadPrec UpdateEphemeris
readList :: ReadS [UpdateEphemeris]
$creadList :: ReadS [UpdateEphemeris]
readsPrec :: Int -> ReadS UpdateEphemeris
$creadsPrec :: Int -> ReadS UpdateEphemeris
Prelude.Read, Int -> UpdateEphemeris -> ShowS
[UpdateEphemeris] -> ShowS
UpdateEphemeris -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateEphemeris] -> ShowS
$cshowList :: [UpdateEphemeris] -> ShowS
show :: UpdateEphemeris -> String
$cshow :: UpdateEphemeris -> String
showsPrec :: Int -> UpdateEphemeris -> ShowS
$cshowsPrec :: Int -> UpdateEphemeris -> ShowS
Prelude.Show, forall x. Rep UpdateEphemeris x -> UpdateEphemeris
forall x. UpdateEphemeris -> Rep UpdateEphemeris x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateEphemeris x -> UpdateEphemeris
$cfrom :: forall x. UpdateEphemeris -> Rep UpdateEphemeris x
Prelude.Generic)
newUpdateEphemeris ::
Prelude.Bool ->
Prelude.Text ->
UpdateEphemeris
newUpdateEphemeris :: Bool -> Text -> UpdateEphemeris
newUpdateEphemeris Bool
pEnabled_ Text
pEphemerisId_ =
UpdateEphemeris'
{ $sel:name:UpdateEphemeris' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
$sel:priority:UpdateEphemeris' :: Maybe Natural
priority = forall a. Maybe a
Prelude.Nothing,
$sel:enabled:UpdateEphemeris' :: Bool
enabled = Bool
pEnabled_,
$sel:ephemerisId:UpdateEphemeris' :: Text
ephemerisId = Text
pEphemerisId_
}
updateEphemeris_name :: Lens.Lens' UpdateEphemeris (Prelude.Maybe Prelude.Text)
updateEphemeris_name :: Lens' UpdateEphemeris (Maybe Text)
updateEphemeris_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEphemeris' {Maybe Text
name :: Maybe Text
$sel:name:UpdateEphemeris' :: UpdateEphemeris -> Maybe Text
name} -> Maybe Text
name) (\s :: UpdateEphemeris
s@UpdateEphemeris' {} Maybe Text
a -> UpdateEphemeris
s {$sel:name:UpdateEphemeris' :: Maybe Text
name = Maybe Text
a} :: UpdateEphemeris)
updateEphemeris_priority :: Lens.Lens' UpdateEphemeris (Prelude.Maybe Prelude.Natural)
updateEphemeris_priority :: Lens' UpdateEphemeris (Maybe Natural)
updateEphemeris_priority = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEphemeris' {Maybe Natural
priority :: Maybe Natural
$sel:priority:UpdateEphemeris' :: UpdateEphemeris -> Maybe Natural
priority} -> Maybe Natural
priority) (\s :: UpdateEphemeris
s@UpdateEphemeris' {} Maybe Natural
a -> UpdateEphemeris
s {$sel:priority:UpdateEphemeris' :: Maybe Natural
priority = Maybe Natural
a} :: UpdateEphemeris)
updateEphemeris_enabled :: Lens.Lens' UpdateEphemeris Prelude.Bool
updateEphemeris_enabled :: Lens' UpdateEphemeris Bool
updateEphemeris_enabled = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEphemeris' {Bool
enabled :: Bool
$sel:enabled:UpdateEphemeris' :: UpdateEphemeris -> Bool
enabled} -> Bool
enabled) (\s :: UpdateEphemeris
s@UpdateEphemeris' {} Bool
a -> UpdateEphemeris
s {$sel:enabled:UpdateEphemeris' :: Bool
enabled = Bool
a} :: UpdateEphemeris)
updateEphemeris_ephemerisId :: Lens.Lens' UpdateEphemeris Prelude.Text
updateEphemeris_ephemerisId :: Lens' UpdateEphemeris Text
updateEphemeris_ephemerisId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEphemeris' {Text
ephemerisId :: Text
$sel:ephemerisId:UpdateEphemeris' :: UpdateEphemeris -> Text
ephemerisId} -> Text
ephemerisId) (\s :: UpdateEphemeris
s@UpdateEphemeris' {} Text
a -> UpdateEphemeris
s {$sel:ephemerisId:UpdateEphemeris' :: Text
ephemerisId = Text
a} :: UpdateEphemeris)
instance Core.AWSRequest UpdateEphemeris where
type
AWSResponse UpdateEphemeris =
EphemerisIdResponse
request :: (Service -> Service) -> UpdateEphemeris -> Request UpdateEphemeris
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 UpdateEphemeris
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse UpdateEphemeris)))
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 UpdateEphemeris where
hashWithSalt :: Int -> UpdateEphemeris -> Int
hashWithSalt Int
_salt UpdateEphemeris' {Bool
Maybe Natural
Maybe Text
Text
ephemerisId :: Text
enabled :: Bool
priority :: Maybe Natural
name :: Maybe Text
$sel:ephemerisId:UpdateEphemeris' :: UpdateEphemeris -> Text
$sel:enabled:UpdateEphemeris' :: UpdateEphemeris -> Bool
$sel:priority:UpdateEphemeris' :: UpdateEphemeris -> Maybe Natural
$sel:name:UpdateEphemeris' :: UpdateEphemeris -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
priority
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Bool
enabled
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
ephemerisId
instance Prelude.NFData UpdateEphemeris where
rnf :: UpdateEphemeris -> ()
rnf UpdateEphemeris' {Bool
Maybe Natural
Maybe Text
Text
ephemerisId :: Text
enabled :: Bool
priority :: Maybe Natural
name :: Maybe Text
$sel:ephemerisId:UpdateEphemeris' :: UpdateEphemeris -> Text
$sel:enabled:UpdateEphemeris' :: UpdateEphemeris -> Bool
$sel:priority:UpdateEphemeris' :: UpdateEphemeris -> Maybe Natural
$sel:name:UpdateEphemeris' :: UpdateEphemeris -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
priority
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Bool
enabled
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
ephemerisId
instance Data.ToHeaders UpdateEphemeris where
toHeaders :: UpdateEphemeris -> 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 UpdateEphemeris where
toJSON :: UpdateEphemeris -> Value
toJSON UpdateEphemeris' {Bool
Maybe Natural
Maybe Text
Text
ephemerisId :: Text
enabled :: Bool
priority :: Maybe Natural
name :: Maybe Text
$sel:ephemerisId:UpdateEphemeris' :: UpdateEphemeris -> Text
$sel:enabled:UpdateEphemeris' :: UpdateEphemeris -> Bool
$sel:priority:UpdateEphemeris' :: UpdateEphemeris -> Maybe Natural
$sel:name:UpdateEphemeris' :: UpdateEphemeris -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"name" 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
name,
(Key
"priority" 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 Natural
priority,
forall a. a -> Maybe a
Prelude.Just (Key
"enabled" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Bool
enabled)
]
)
instance Data.ToPath UpdateEphemeris where
toPath :: UpdateEphemeris -> ByteString
toPath UpdateEphemeris' {Bool
Maybe Natural
Maybe Text
Text
ephemerisId :: Text
enabled :: Bool
priority :: Maybe Natural
name :: Maybe Text
$sel:ephemerisId:UpdateEphemeris' :: UpdateEphemeris -> Text
$sel:enabled:UpdateEphemeris' :: UpdateEphemeris -> Bool
$sel:priority:UpdateEphemeris' :: UpdateEphemeris -> Maybe Natural
$sel:name:UpdateEphemeris' :: UpdateEphemeris -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/ephemeris/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
ephemerisId]
instance Data.ToQuery UpdateEphemeris where
toQuery :: UpdateEphemeris -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty