{-# 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 #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Amazonka.GroundStation.UpdateEphemeris -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Updates an existing ephemeris module Amazonka.GroundStation.UpdateEphemeris ( -- * Creating a Request UpdateEphemeris (..), newUpdateEphemeris, -- * Request Lenses updateEphemeris_name, updateEphemeris_priority, updateEphemeris_enabled, updateEphemeris_ephemerisId, -- * Destructuring the Response EphemerisIdResponse (..), newEphemerisIdResponse, -- * Response Lenses 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 -- | /See:/ 'newUpdateEphemeris' smart constructor. data UpdateEphemeris = UpdateEphemeris' { -- | A name string associated with the ephemeris. Used as a human-readable -- identifier for the ephemeris. name :: Prelude.Maybe Prelude.Text, -- | Customer-provided priority score to establish the order in which -- overlapping ephemerides should be used. -- -- The default for customer-provided ephemeris priority is 1, and higher -- numbers take precedence. -- -- Priority must be 1 or greater priority :: Prelude.Maybe Prelude.Natural, -- | Whether the ephemeris is enabled or not. Changing this value will not -- require the ephemeris to be re-validated. enabled :: Prelude.Bool, -- | The AWS Ground Station ephemeris ID. ephemerisId :: Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'UpdateEphemeris' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'name', 'updateEphemeris_name' - A name string associated with the ephemeris. Used as a human-readable -- identifier for the ephemeris. -- -- 'priority', 'updateEphemeris_priority' - Customer-provided priority score to establish the order in which -- overlapping ephemerides should be used. -- -- The default for customer-provided ephemeris priority is 1, and higher -- numbers take precedence. -- -- Priority must be 1 or greater -- -- 'enabled', 'updateEphemeris_enabled' - Whether the ephemeris is enabled or not. Changing this value will not -- require the ephemeris to be re-validated. -- -- 'ephemerisId', 'updateEphemeris_ephemerisId' - The AWS Ground Station ephemeris ID. newUpdateEphemeris :: -- | 'enabled' Prelude.Bool -> -- | 'ephemerisId' Prelude.Text -> UpdateEphemeris newUpdateEphemeris pEnabled_ pEphemerisId_ = UpdateEphemeris' { name = Prelude.Nothing, priority = Prelude.Nothing, enabled = pEnabled_, ephemerisId = pEphemerisId_ } -- | A name string associated with the ephemeris. Used as a human-readable -- identifier for the ephemeris. updateEphemeris_name :: Lens.Lens' UpdateEphemeris (Prelude.Maybe Prelude.Text) updateEphemeris_name = Lens.lens (\UpdateEphemeris' {name} -> name) (\s@UpdateEphemeris' {} a -> s {name = a} :: UpdateEphemeris) -- | Customer-provided priority score to establish the order in which -- overlapping ephemerides should be used. -- -- The default for customer-provided ephemeris priority is 1, and higher -- numbers take precedence. -- -- Priority must be 1 or greater updateEphemeris_priority :: Lens.Lens' UpdateEphemeris (Prelude.Maybe Prelude.Natural) updateEphemeris_priority = Lens.lens (\UpdateEphemeris' {priority} -> priority) (\s@UpdateEphemeris' {} a -> s {priority = a} :: UpdateEphemeris) -- | Whether the ephemeris is enabled or not. Changing this value will not -- require the ephemeris to be re-validated. updateEphemeris_enabled :: Lens.Lens' UpdateEphemeris Prelude.Bool updateEphemeris_enabled = Lens.lens (\UpdateEphemeris' {enabled} -> enabled) (\s@UpdateEphemeris' {} a -> s {enabled = a} :: UpdateEphemeris) -- | The AWS Ground Station ephemeris ID. updateEphemeris_ephemerisId :: Lens.Lens' UpdateEphemeris Prelude.Text updateEphemeris_ephemerisId = Lens.lens (\UpdateEphemeris' {ephemerisId} -> ephemerisId) (\s@UpdateEphemeris' {} a -> s {ephemerisId = a} :: UpdateEphemeris) instance Core.AWSRequest UpdateEphemeris where type AWSResponse UpdateEphemeris = EphemerisIdResponse request overrides = Request.putJSON (overrides defaultService) response = Response.receiveJSON (\s h x -> Data.eitherParseJSON x) instance Prelude.Hashable UpdateEphemeris where hashWithSalt _salt UpdateEphemeris' {..} = _salt `Prelude.hashWithSalt` name `Prelude.hashWithSalt` priority `Prelude.hashWithSalt` enabled `Prelude.hashWithSalt` ephemerisId instance Prelude.NFData UpdateEphemeris where rnf UpdateEphemeris' {..} = Prelude.rnf name `Prelude.seq` Prelude.rnf priority `Prelude.seq` Prelude.rnf enabled `Prelude.seq` Prelude.rnf ephemerisId instance Data.ToHeaders UpdateEphemeris where toHeaders = Prelude.const ( Prelude.mconcat [ "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToJSON UpdateEphemeris where toJSON UpdateEphemeris' {..} = Data.object ( Prelude.catMaybes [ ("name" Data..=) Prelude.<$> name, ("priority" Data..=) Prelude.<$> priority, Prelude.Just ("enabled" Data..= enabled) ] ) instance Data.ToPath UpdateEphemeris where toPath UpdateEphemeris' {..} = Prelude.mconcat ["/ephemeris/", Data.toBS ephemerisId] instance Data.ToQuery UpdateEphemeris where toQuery = Prelude.const Prelude.mempty