{-# 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.Backup.UpdateGlobalSettings -- 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 whether the Amazon Web Services account is opted in to -- cross-account backup. Returns an error if the account is not an -- Organizations management account. Use the @DescribeGlobalSettings@ API -- to determine the current settings. module Amazonka.Backup.UpdateGlobalSettings ( -- * Creating a Request UpdateGlobalSettings (..), newUpdateGlobalSettings, -- * Request Lenses updateGlobalSettings_globalSettings, -- * Destructuring the Response UpdateGlobalSettingsResponse (..), newUpdateGlobalSettingsResponse, ) where import Amazonka.Backup.Types import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Data as Data import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Request as Request import qualified Amazonka.Response as Response -- | /See:/ 'newUpdateGlobalSettings' smart constructor. data UpdateGlobalSettings = UpdateGlobalSettings' { -- | A value for @isCrossAccountBackupEnabled@ and a Region. Example: -- @update-global-settings --global-settings isCrossAccountBackupEnabled=false --region us-west-2@. globalSettings :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text) } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'UpdateGlobalSettings' 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: -- -- 'globalSettings', 'updateGlobalSettings_globalSettings' - A value for @isCrossAccountBackupEnabled@ and a Region. Example: -- @update-global-settings --global-settings isCrossAccountBackupEnabled=false --region us-west-2@. newUpdateGlobalSettings :: UpdateGlobalSettings newUpdateGlobalSettings = UpdateGlobalSettings' { globalSettings = Prelude.Nothing } -- | A value for @isCrossAccountBackupEnabled@ and a Region. Example: -- @update-global-settings --global-settings isCrossAccountBackupEnabled=false --region us-west-2@. updateGlobalSettings_globalSettings :: Lens.Lens' UpdateGlobalSettings (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)) updateGlobalSettings_globalSettings = Lens.lens (\UpdateGlobalSettings' {globalSettings} -> globalSettings) (\s@UpdateGlobalSettings' {} a -> s {globalSettings = a} :: UpdateGlobalSettings) Prelude.. Lens.mapping Lens.coerced instance Core.AWSRequest UpdateGlobalSettings where type AWSResponse UpdateGlobalSettings = UpdateGlobalSettingsResponse request overrides = Request.putJSON (overrides defaultService) response = Response.receiveNull UpdateGlobalSettingsResponse' instance Prelude.Hashable UpdateGlobalSettings where hashWithSalt _salt UpdateGlobalSettings' {..} = _salt `Prelude.hashWithSalt` globalSettings instance Prelude.NFData UpdateGlobalSettings where rnf UpdateGlobalSettings' {..} = Prelude.rnf globalSettings instance Data.ToHeaders UpdateGlobalSettings where toHeaders = Prelude.const ( Prelude.mconcat [ "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToJSON UpdateGlobalSettings where toJSON UpdateGlobalSettings' {..} = Data.object ( Prelude.catMaybes [ ("GlobalSettings" Data..=) Prelude.<$> globalSettings ] ) instance Data.ToPath UpdateGlobalSettings where toPath = Prelude.const "/global-settings" instance Data.ToQuery UpdateGlobalSettings where toQuery = Prelude.const Prelude.mempty -- | /See:/ 'newUpdateGlobalSettingsResponse' smart constructor. data UpdateGlobalSettingsResponse = UpdateGlobalSettingsResponse' { } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'UpdateGlobalSettingsResponse' with all optional fields omitted. -- -- Use or to modify other optional fields. newUpdateGlobalSettingsResponse :: UpdateGlobalSettingsResponse newUpdateGlobalSettingsResponse = UpdateGlobalSettingsResponse' instance Prelude.NFData UpdateGlobalSettingsResponse where rnf _ = ()