{-# 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.DrS.Types.RecoveryInstanceDataReplicationInfoReplicatedDisk -- 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.DrS.Types.RecoveryInstanceDataReplicationInfoReplicatedDisk where 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 -- | A disk that should be replicated. -- -- /See:/ 'newRecoveryInstanceDataReplicationInfoReplicatedDisk' smart constructor. data RecoveryInstanceDataReplicationInfoReplicatedDisk = RecoveryInstanceDataReplicationInfoReplicatedDisk' { -- | The size of the replication backlog in bytes. backloggedStorageBytes :: Prelude.Maybe Prelude.Natural, -- | The name of the device. deviceName :: Prelude.Maybe Prelude.Text, -- | The amount of data replicated so far in bytes. replicatedStorageBytes :: Prelude.Maybe Prelude.Natural, -- | The amount of data to be rescanned in bytes. rescannedStorageBytes :: Prelude.Maybe Prelude.Natural, -- | The total amount of data to be replicated in bytes. totalStorageBytes :: Prelude.Maybe Prelude.Natural } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'RecoveryInstanceDataReplicationInfoReplicatedDisk' 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: -- -- 'backloggedStorageBytes', 'recoveryInstanceDataReplicationInfoReplicatedDisk_backloggedStorageBytes' - The size of the replication backlog in bytes. -- -- 'deviceName', 'recoveryInstanceDataReplicationInfoReplicatedDisk_deviceName' - The name of the device. -- -- 'replicatedStorageBytes', 'recoveryInstanceDataReplicationInfoReplicatedDisk_replicatedStorageBytes' - The amount of data replicated so far in bytes. -- -- 'rescannedStorageBytes', 'recoveryInstanceDataReplicationInfoReplicatedDisk_rescannedStorageBytes' - The amount of data to be rescanned in bytes. -- -- 'totalStorageBytes', 'recoveryInstanceDataReplicationInfoReplicatedDisk_totalStorageBytes' - The total amount of data to be replicated in bytes. newRecoveryInstanceDataReplicationInfoReplicatedDisk :: RecoveryInstanceDataReplicationInfoReplicatedDisk newRecoveryInstanceDataReplicationInfoReplicatedDisk = RecoveryInstanceDataReplicationInfoReplicatedDisk' { backloggedStorageBytes = Prelude.Nothing, deviceName = Prelude.Nothing, replicatedStorageBytes = Prelude.Nothing, rescannedStorageBytes = Prelude.Nothing, totalStorageBytes = Prelude.Nothing } -- | The size of the replication backlog in bytes. recoveryInstanceDataReplicationInfoReplicatedDisk_backloggedStorageBytes :: Lens.Lens' RecoveryInstanceDataReplicationInfoReplicatedDisk (Prelude.Maybe Prelude.Natural) recoveryInstanceDataReplicationInfoReplicatedDisk_backloggedStorageBytes = Lens.lens (\RecoveryInstanceDataReplicationInfoReplicatedDisk' {backloggedStorageBytes} -> backloggedStorageBytes) (\s@RecoveryInstanceDataReplicationInfoReplicatedDisk' {} a -> s {backloggedStorageBytes = a} :: RecoveryInstanceDataReplicationInfoReplicatedDisk) -- | The name of the device. recoveryInstanceDataReplicationInfoReplicatedDisk_deviceName :: Lens.Lens' RecoveryInstanceDataReplicationInfoReplicatedDisk (Prelude.Maybe Prelude.Text) recoveryInstanceDataReplicationInfoReplicatedDisk_deviceName = Lens.lens (\RecoveryInstanceDataReplicationInfoReplicatedDisk' {deviceName} -> deviceName) (\s@RecoveryInstanceDataReplicationInfoReplicatedDisk' {} a -> s {deviceName = a} :: RecoveryInstanceDataReplicationInfoReplicatedDisk) -- | The amount of data replicated so far in bytes. recoveryInstanceDataReplicationInfoReplicatedDisk_replicatedStorageBytes :: Lens.Lens' RecoveryInstanceDataReplicationInfoReplicatedDisk (Prelude.Maybe Prelude.Natural) recoveryInstanceDataReplicationInfoReplicatedDisk_replicatedStorageBytes = Lens.lens (\RecoveryInstanceDataReplicationInfoReplicatedDisk' {replicatedStorageBytes} -> replicatedStorageBytes) (\s@RecoveryInstanceDataReplicationInfoReplicatedDisk' {} a -> s {replicatedStorageBytes = a} :: RecoveryInstanceDataReplicationInfoReplicatedDisk) -- | The amount of data to be rescanned in bytes. recoveryInstanceDataReplicationInfoReplicatedDisk_rescannedStorageBytes :: Lens.Lens' RecoveryInstanceDataReplicationInfoReplicatedDisk (Prelude.Maybe Prelude.Natural) recoveryInstanceDataReplicationInfoReplicatedDisk_rescannedStorageBytes = Lens.lens (\RecoveryInstanceDataReplicationInfoReplicatedDisk' {rescannedStorageBytes} -> rescannedStorageBytes) (\s@RecoveryInstanceDataReplicationInfoReplicatedDisk' {} a -> s {rescannedStorageBytes = a} :: RecoveryInstanceDataReplicationInfoReplicatedDisk) -- | The total amount of data to be replicated in bytes. recoveryInstanceDataReplicationInfoReplicatedDisk_totalStorageBytes :: Lens.Lens' RecoveryInstanceDataReplicationInfoReplicatedDisk (Prelude.Maybe Prelude.Natural) recoveryInstanceDataReplicationInfoReplicatedDisk_totalStorageBytes = Lens.lens (\RecoveryInstanceDataReplicationInfoReplicatedDisk' {totalStorageBytes} -> totalStorageBytes) (\s@RecoveryInstanceDataReplicationInfoReplicatedDisk' {} a -> s {totalStorageBytes = a} :: RecoveryInstanceDataReplicationInfoReplicatedDisk) instance Data.FromJSON RecoveryInstanceDataReplicationInfoReplicatedDisk where parseJSON = Data.withObject "RecoveryInstanceDataReplicationInfoReplicatedDisk" ( \x -> RecoveryInstanceDataReplicationInfoReplicatedDisk' Prelude.<$> (x Data..:? "backloggedStorageBytes") Prelude.<*> (x Data..:? "deviceName") Prelude.<*> (x Data..:? "replicatedStorageBytes") Prelude.<*> (x Data..:? "rescannedStorageBytes") Prelude.<*> (x Data..:? "totalStorageBytes") ) instance Prelude.Hashable RecoveryInstanceDataReplicationInfoReplicatedDisk where hashWithSalt _salt RecoveryInstanceDataReplicationInfoReplicatedDisk' {..} = _salt `Prelude.hashWithSalt` backloggedStorageBytes `Prelude.hashWithSalt` deviceName `Prelude.hashWithSalt` replicatedStorageBytes `Prelude.hashWithSalt` rescannedStorageBytes `Prelude.hashWithSalt` totalStorageBytes instance Prelude.NFData RecoveryInstanceDataReplicationInfoReplicatedDisk where rnf RecoveryInstanceDataReplicationInfoReplicatedDisk' {..} = Prelude.rnf backloggedStorageBytes `Prelude.seq` Prelude.rnf deviceName `Prelude.seq` Prelude.rnf replicatedStorageBytes `Prelude.seq` Prelude.rnf rescannedStorageBytes `Prelude.seq` Prelude.rnf totalStorageBytes