{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE NoImplicitPrelude #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} {-# OPTIONS_GHC -fno-warn-unused-matches #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Amazonka.FSx.Types.UpdateFileSystemWindowsConfiguration -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) module Amazonka.FSx.Types.UpdateFileSystemWindowsConfiguration where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Data as Data import Amazonka.FSx.Types.SelfManagedActiveDirectoryConfigurationUpdates import Amazonka.FSx.Types.WindowsAuditLogCreateConfiguration import qualified Amazonka.Prelude as Prelude -- | Updates the configuration for an existing Amazon FSx for Windows File -- Server file system. Amazon FSx only overwrites existing properties with -- non-null values provided in the request. -- -- /See:/ 'newUpdateFileSystemWindowsConfiguration' smart constructor. data UpdateFileSystemWindowsConfiguration = UpdateFileSystemWindowsConfiguration' { -- | The configuration that Amazon FSx for Windows File Server uses to audit -- and log user accesses of files, folders, and file shares on the Amazon -- FSx for Windows File Server file system.. auditLogConfiguration :: Prelude.Maybe WindowsAuditLogCreateConfiguration, -- | The number of days to retain automatic daily backups. Setting this to -- zero (0) disables automatic daily backups. You can retain automatic -- daily backups for a maximum of 90 days. For more information, see -- . automaticBackupRetentionDays :: Prelude.Maybe Prelude.Natural, -- | The preferred time to start the daily automatic backup, in the UTC time -- zone, for example, @02:00@ dailyAutomaticBackupStartTime :: Prelude.Maybe Prelude.Text, -- | The configuration Amazon FSx uses to join the Windows File Server -- instance to the self-managed Microsoft AD directory. You cannot make a -- self-managed Microsoft AD update request if there is an existing -- self-managed Microsoft AD update request in progress. selfManagedActiveDirectoryConfiguration :: Prelude.Maybe SelfManagedActiveDirectoryConfigurationUpdates, -- | Sets the target value for a file system\'s throughput capacity, in -- MB\/s, that you are updating the file system to. Valid values are 8, 16, -- 32, 64, 128, 256, 512, 1024, 2048. You cannot make a throughput capacity -- update request if there is an existing throughput capacity update -- request in progress. For more information, see -- . throughputCapacity :: Prelude.Maybe Prelude.Natural, -- | The preferred start time to perform weekly maintenance, formatted -- d:HH:MM in the UTC time zone. Where d is the weekday number, from 1 -- through 7, with 1 = Monday and 7 = Sunday. weeklyMaintenanceStartTime :: Prelude.Maybe Prelude.Text } deriving (Prelude.Eq, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'UpdateFileSystemWindowsConfiguration' 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: -- -- 'auditLogConfiguration', 'updateFileSystemWindowsConfiguration_auditLogConfiguration' - The configuration that Amazon FSx for Windows File Server uses to audit -- and log user accesses of files, folders, and file shares on the Amazon -- FSx for Windows File Server file system.. -- -- 'automaticBackupRetentionDays', 'updateFileSystemWindowsConfiguration_automaticBackupRetentionDays' - The number of days to retain automatic daily backups. Setting this to -- zero (0) disables automatic daily backups. You can retain automatic -- daily backups for a maximum of 90 days. For more information, see -- . -- -- 'dailyAutomaticBackupStartTime', 'updateFileSystemWindowsConfiguration_dailyAutomaticBackupStartTime' - The preferred time to start the daily automatic backup, in the UTC time -- zone, for example, @02:00@ -- -- 'selfManagedActiveDirectoryConfiguration', 'updateFileSystemWindowsConfiguration_selfManagedActiveDirectoryConfiguration' - The configuration Amazon FSx uses to join the Windows File Server -- instance to the self-managed Microsoft AD directory. You cannot make a -- self-managed Microsoft AD update request if there is an existing -- self-managed Microsoft AD update request in progress. -- -- 'throughputCapacity', 'updateFileSystemWindowsConfiguration_throughputCapacity' - Sets the target value for a file system\'s throughput capacity, in -- MB\/s, that you are updating the file system to. Valid values are 8, 16, -- 32, 64, 128, 256, 512, 1024, 2048. You cannot make a throughput capacity -- update request if there is an existing throughput capacity update -- request in progress. For more information, see -- . -- -- 'weeklyMaintenanceStartTime', 'updateFileSystemWindowsConfiguration_weeklyMaintenanceStartTime' - The preferred start time to perform weekly maintenance, formatted -- d:HH:MM in the UTC time zone. Where d is the weekday number, from 1 -- through 7, with 1 = Monday and 7 = Sunday. newUpdateFileSystemWindowsConfiguration :: UpdateFileSystemWindowsConfiguration newUpdateFileSystemWindowsConfiguration = UpdateFileSystemWindowsConfiguration' { auditLogConfiguration = Prelude.Nothing, automaticBackupRetentionDays = Prelude.Nothing, dailyAutomaticBackupStartTime = Prelude.Nothing, selfManagedActiveDirectoryConfiguration = Prelude.Nothing, throughputCapacity = Prelude.Nothing, weeklyMaintenanceStartTime = Prelude.Nothing } -- | The configuration that Amazon FSx for Windows File Server uses to audit -- and log user accesses of files, folders, and file shares on the Amazon -- FSx for Windows File Server file system.. updateFileSystemWindowsConfiguration_auditLogConfiguration :: Lens.Lens' UpdateFileSystemWindowsConfiguration (Prelude.Maybe WindowsAuditLogCreateConfiguration) updateFileSystemWindowsConfiguration_auditLogConfiguration = Lens.lens (\UpdateFileSystemWindowsConfiguration' {auditLogConfiguration} -> auditLogConfiguration) (\s@UpdateFileSystemWindowsConfiguration' {} a -> s {auditLogConfiguration = a} :: UpdateFileSystemWindowsConfiguration) -- | The number of days to retain automatic daily backups. Setting this to -- zero (0) disables automatic daily backups. You can retain automatic -- daily backups for a maximum of 90 days. For more information, see -- . updateFileSystemWindowsConfiguration_automaticBackupRetentionDays :: Lens.Lens' UpdateFileSystemWindowsConfiguration (Prelude.Maybe Prelude.Natural) updateFileSystemWindowsConfiguration_automaticBackupRetentionDays = Lens.lens (\UpdateFileSystemWindowsConfiguration' {automaticBackupRetentionDays} -> automaticBackupRetentionDays) (\s@UpdateFileSystemWindowsConfiguration' {} a -> s {automaticBackupRetentionDays = a} :: UpdateFileSystemWindowsConfiguration) -- | The preferred time to start the daily automatic backup, in the UTC time -- zone, for example, @02:00@ updateFileSystemWindowsConfiguration_dailyAutomaticBackupStartTime :: Lens.Lens' UpdateFileSystemWindowsConfiguration (Prelude.Maybe Prelude.Text) updateFileSystemWindowsConfiguration_dailyAutomaticBackupStartTime = Lens.lens (\UpdateFileSystemWindowsConfiguration' {dailyAutomaticBackupStartTime} -> dailyAutomaticBackupStartTime) (\s@UpdateFileSystemWindowsConfiguration' {} a -> s {dailyAutomaticBackupStartTime = a} :: UpdateFileSystemWindowsConfiguration) -- | The configuration Amazon FSx uses to join the Windows File Server -- instance to the self-managed Microsoft AD directory. You cannot make a -- self-managed Microsoft AD update request if there is an existing -- self-managed Microsoft AD update request in progress. updateFileSystemWindowsConfiguration_selfManagedActiveDirectoryConfiguration :: Lens.Lens' UpdateFileSystemWindowsConfiguration (Prelude.Maybe SelfManagedActiveDirectoryConfigurationUpdates) updateFileSystemWindowsConfiguration_selfManagedActiveDirectoryConfiguration = Lens.lens (\UpdateFileSystemWindowsConfiguration' {selfManagedActiveDirectoryConfiguration} -> selfManagedActiveDirectoryConfiguration) (\s@UpdateFileSystemWindowsConfiguration' {} a -> s {selfManagedActiveDirectoryConfiguration = a} :: UpdateFileSystemWindowsConfiguration) -- | Sets the target value for a file system\'s throughput capacity, in -- MB\/s, that you are updating the file system to. Valid values are 8, 16, -- 32, 64, 128, 256, 512, 1024, 2048. You cannot make a throughput capacity -- update request if there is an existing throughput capacity update -- request in progress. For more information, see -- . updateFileSystemWindowsConfiguration_throughputCapacity :: Lens.Lens' UpdateFileSystemWindowsConfiguration (Prelude.Maybe Prelude.Natural) updateFileSystemWindowsConfiguration_throughputCapacity = Lens.lens (\UpdateFileSystemWindowsConfiguration' {throughputCapacity} -> throughputCapacity) (\s@UpdateFileSystemWindowsConfiguration' {} a -> s {throughputCapacity = a} :: UpdateFileSystemWindowsConfiguration) -- | The preferred start time to perform weekly maintenance, formatted -- d:HH:MM in the UTC time zone. Where d is the weekday number, from 1 -- through 7, with 1 = Monday and 7 = Sunday. updateFileSystemWindowsConfiguration_weeklyMaintenanceStartTime :: Lens.Lens' UpdateFileSystemWindowsConfiguration (Prelude.Maybe Prelude.Text) updateFileSystemWindowsConfiguration_weeklyMaintenanceStartTime = Lens.lens (\UpdateFileSystemWindowsConfiguration' {weeklyMaintenanceStartTime} -> weeklyMaintenanceStartTime) (\s@UpdateFileSystemWindowsConfiguration' {} a -> s {weeklyMaintenanceStartTime = a} :: UpdateFileSystemWindowsConfiguration) instance Prelude.Hashable UpdateFileSystemWindowsConfiguration where hashWithSalt _salt UpdateFileSystemWindowsConfiguration' {..} = _salt `Prelude.hashWithSalt` auditLogConfiguration `Prelude.hashWithSalt` automaticBackupRetentionDays `Prelude.hashWithSalt` dailyAutomaticBackupStartTime `Prelude.hashWithSalt` selfManagedActiveDirectoryConfiguration `Prelude.hashWithSalt` throughputCapacity `Prelude.hashWithSalt` weeklyMaintenanceStartTime instance Prelude.NFData UpdateFileSystemWindowsConfiguration where rnf UpdateFileSystemWindowsConfiguration' {..} = Prelude.rnf auditLogConfiguration `Prelude.seq` Prelude.rnf automaticBackupRetentionDays `Prelude.seq` Prelude.rnf dailyAutomaticBackupStartTime `Prelude.seq` Prelude.rnf selfManagedActiveDirectoryConfiguration `Prelude.seq` Prelude.rnf throughputCapacity `Prelude.seq` Prelude.rnf weeklyMaintenanceStartTime instance Data.ToJSON UpdateFileSystemWindowsConfiguration where toJSON UpdateFileSystemWindowsConfiguration' {..} = Data.object ( Prelude.catMaybes [ ("AuditLogConfiguration" Data..=) Prelude.<$> auditLogConfiguration, ("AutomaticBackupRetentionDays" Data..=) Prelude.<$> automaticBackupRetentionDays, ("DailyAutomaticBackupStartTime" Data..=) Prelude.<$> dailyAutomaticBackupStartTime, ("SelfManagedActiveDirectoryConfiguration" Data..=) Prelude.<$> selfManagedActiveDirectoryConfiguration, ("ThroughputCapacity" Data..=) Prelude.<$> throughputCapacity, ("WeeklyMaintenanceStartTime" Data..=) Prelude.<$> weeklyMaintenanceStartTime ] )