{-# 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.ListRecoveryPointsByBackupVault
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Returns detailed information about the recovery points stored in a
-- backup vault.
--
-- This operation returns paginated results.
module Amazonka.Backup.ListRecoveryPointsByBackupVault
  ( -- * Creating a Request
    ListRecoveryPointsByBackupVault (..),
    newListRecoveryPointsByBackupVault,

    -- * Request Lenses
    listRecoveryPointsByBackupVault_byBackupPlanId,
    listRecoveryPointsByBackupVault_byCreatedAfter,
    listRecoveryPointsByBackupVault_byCreatedBefore,
    listRecoveryPointsByBackupVault_byParentRecoveryPointArn,
    listRecoveryPointsByBackupVault_byResourceArn,
    listRecoveryPointsByBackupVault_byResourceType,
    listRecoveryPointsByBackupVault_maxResults,
    listRecoveryPointsByBackupVault_nextToken,
    listRecoveryPointsByBackupVault_backupVaultName,

    -- * Destructuring the Response
    ListRecoveryPointsByBackupVaultResponse (..),
    newListRecoveryPointsByBackupVaultResponse,

    -- * Response Lenses
    listRecoveryPointsByBackupVaultResponse_nextToken,
    listRecoveryPointsByBackupVaultResponse_recoveryPoints,
    listRecoveryPointsByBackupVaultResponse_httpStatus,
  )
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:/ 'newListRecoveryPointsByBackupVault' smart constructor.
data ListRecoveryPointsByBackupVault = ListRecoveryPointsByBackupVault'
  { -- | Returns only recovery points that match the specified backup plan ID.
    ListRecoveryPointsByBackupVault -> Maybe Text
byBackupPlanId :: Prelude.Maybe Prelude.Text,
    -- | Returns only recovery points that were created after the specified
    -- timestamp.
    ListRecoveryPointsByBackupVault -> Maybe POSIX
byCreatedAfter :: Prelude.Maybe Data.POSIX,
    -- | Returns only recovery points that were created before the specified
    -- timestamp.
    ListRecoveryPointsByBackupVault -> Maybe POSIX
byCreatedBefore :: Prelude.Maybe Data.POSIX,
    -- | This returns only recovery points that match the specified parent
    -- (composite) recovery point Amazon Resource Name (ARN).
    ListRecoveryPointsByBackupVault -> Maybe Text
byParentRecoveryPointArn :: Prelude.Maybe Prelude.Text,
    -- | Returns only recovery points that match the specified resource Amazon
    -- Resource Name (ARN).
    ListRecoveryPointsByBackupVault -> Maybe Text
byResourceArn :: Prelude.Maybe Prelude.Text,
    -- | Returns only recovery points that match the specified resource type.
    ListRecoveryPointsByBackupVault -> Maybe Text
byResourceType :: Prelude.Maybe Prelude.Text,
    -- | The maximum number of items to be returned.
    ListRecoveryPointsByBackupVault -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | The next item following a partial list of returned items. For example,
    -- if a request is made to return @maxResults@ number of items, @NextToken@
    -- allows you to return more items in your list starting at the location
    -- pointed to by the next token.
    ListRecoveryPointsByBackupVault -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The name of a logical container where backups are stored. Backup vaults
    -- are identified by names that are unique to the account used to create
    -- them and the Amazon Web Services Region where they are created. They
    -- consist of lowercase letters, numbers, and hyphens.
    --
    -- Backup vault name might not be available when a supported service
    -- creates the backup.
    ListRecoveryPointsByBackupVault -> Text
backupVaultName :: Prelude.Text
  }
  deriving (ListRecoveryPointsByBackupVault
-> ListRecoveryPointsByBackupVault -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListRecoveryPointsByBackupVault
-> ListRecoveryPointsByBackupVault -> Bool
$c/= :: ListRecoveryPointsByBackupVault
-> ListRecoveryPointsByBackupVault -> Bool
== :: ListRecoveryPointsByBackupVault
-> ListRecoveryPointsByBackupVault -> Bool
$c== :: ListRecoveryPointsByBackupVault
-> ListRecoveryPointsByBackupVault -> Bool
Prelude.Eq, ReadPrec [ListRecoveryPointsByBackupVault]
ReadPrec ListRecoveryPointsByBackupVault
Int -> ReadS ListRecoveryPointsByBackupVault
ReadS [ListRecoveryPointsByBackupVault]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListRecoveryPointsByBackupVault]
$creadListPrec :: ReadPrec [ListRecoveryPointsByBackupVault]
readPrec :: ReadPrec ListRecoveryPointsByBackupVault
$creadPrec :: ReadPrec ListRecoveryPointsByBackupVault
readList :: ReadS [ListRecoveryPointsByBackupVault]
$creadList :: ReadS [ListRecoveryPointsByBackupVault]
readsPrec :: Int -> ReadS ListRecoveryPointsByBackupVault
$creadsPrec :: Int -> ReadS ListRecoveryPointsByBackupVault
Prelude.Read, Int -> ListRecoveryPointsByBackupVault -> ShowS
[ListRecoveryPointsByBackupVault] -> ShowS
ListRecoveryPointsByBackupVault -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListRecoveryPointsByBackupVault] -> ShowS
$cshowList :: [ListRecoveryPointsByBackupVault] -> ShowS
show :: ListRecoveryPointsByBackupVault -> String
$cshow :: ListRecoveryPointsByBackupVault -> String
showsPrec :: Int -> ListRecoveryPointsByBackupVault -> ShowS
$cshowsPrec :: Int -> ListRecoveryPointsByBackupVault -> ShowS
Prelude.Show, forall x.
Rep ListRecoveryPointsByBackupVault x
-> ListRecoveryPointsByBackupVault
forall x.
ListRecoveryPointsByBackupVault
-> Rep ListRecoveryPointsByBackupVault x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListRecoveryPointsByBackupVault x
-> ListRecoveryPointsByBackupVault
$cfrom :: forall x.
ListRecoveryPointsByBackupVault
-> Rep ListRecoveryPointsByBackupVault x
Prelude.Generic)

-- |
-- Create a value of 'ListRecoveryPointsByBackupVault' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'byBackupPlanId', 'listRecoveryPointsByBackupVault_byBackupPlanId' - Returns only recovery points that match the specified backup plan ID.
--
-- 'byCreatedAfter', 'listRecoveryPointsByBackupVault_byCreatedAfter' - Returns only recovery points that were created after the specified
-- timestamp.
--
-- 'byCreatedBefore', 'listRecoveryPointsByBackupVault_byCreatedBefore' - Returns only recovery points that were created before the specified
-- timestamp.
--
-- 'byParentRecoveryPointArn', 'listRecoveryPointsByBackupVault_byParentRecoveryPointArn' - This returns only recovery points that match the specified parent
-- (composite) recovery point Amazon Resource Name (ARN).
--
-- 'byResourceArn', 'listRecoveryPointsByBackupVault_byResourceArn' - Returns only recovery points that match the specified resource Amazon
-- Resource Name (ARN).
--
-- 'byResourceType', 'listRecoveryPointsByBackupVault_byResourceType' - Returns only recovery points that match the specified resource type.
--
-- 'maxResults', 'listRecoveryPointsByBackupVault_maxResults' - The maximum number of items to be returned.
--
-- 'nextToken', 'listRecoveryPointsByBackupVault_nextToken' - The next item following a partial list of returned items. For example,
-- if a request is made to return @maxResults@ number of items, @NextToken@
-- allows you to return more items in your list starting at the location
-- pointed to by the next token.
--
-- 'backupVaultName', 'listRecoveryPointsByBackupVault_backupVaultName' - The name of a logical container where backups are stored. Backup vaults
-- are identified by names that are unique to the account used to create
-- them and the Amazon Web Services Region where they are created. They
-- consist of lowercase letters, numbers, and hyphens.
--
-- Backup vault name might not be available when a supported service
-- creates the backup.
newListRecoveryPointsByBackupVault ::
  -- | 'backupVaultName'
  Prelude.Text ->
  ListRecoveryPointsByBackupVault
newListRecoveryPointsByBackupVault :: Text -> ListRecoveryPointsByBackupVault
newListRecoveryPointsByBackupVault Text
pBackupVaultName_ =
  ListRecoveryPointsByBackupVault'
    { $sel:byBackupPlanId:ListRecoveryPointsByBackupVault' :: Maybe Text
byBackupPlanId =
        forall a. Maybe a
Prelude.Nothing,
      $sel:byCreatedAfter:ListRecoveryPointsByBackupVault' :: Maybe POSIX
byCreatedAfter = forall a. Maybe a
Prelude.Nothing,
      $sel:byCreatedBefore:ListRecoveryPointsByBackupVault' :: Maybe POSIX
byCreatedBefore = forall a. Maybe a
Prelude.Nothing,
      $sel:byParentRecoveryPointArn:ListRecoveryPointsByBackupVault' :: Maybe Text
byParentRecoveryPointArn = forall a. Maybe a
Prelude.Nothing,
      $sel:byResourceArn:ListRecoveryPointsByBackupVault' :: Maybe Text
byResourceArn = forall a. Maybe a
Prelude.Nothing,
      $sel:byResourceType:ListRecoveryPointsByBackupVault' :: Maybe Text
byResourceType = forall a. Maybe a
Prelude.Nothing,
      $sel:maxResults:ListRecoveryPointsByBackupVault' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListRecoveryPointsByBackupVault' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:backupVaultName:ListRecoveryPointsByBackupVault' :: Text
backupVaultName = Text
pBackupVaultName_
    }

-- | Returns only recovery points that match the specified backup plan ID.
listRecoveryPointsByBackupVault_byBackupPlanId :: Lens.Lens' ListRecoveryPointsByBackupVault (Prelude.Maybe Prelude.Text)
listRecoveryPointsByBackupVault_byBackupPlanId :: Lens' ListRecoveryPointsByBackupVault (Maybe Text)
listRecoveryPointsByBackupVault_byBackupPlanId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListRecoveryPointsByBackupVault' {Maybe Text
byBackupPlanId :: Maybe Text
$sel:byBackupPlanId:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
byBackupPlanId} -> Maybe Text
byBackupPlanId) (\s :: ListRecoveryPointsByBackupVault
s@ListRecoveryPointsByBackupVault' {} Maybe Text
a -> ListRecoveryPointsByBackupVault
s {$sel:byBackupPlanId:ListRecoveryPointsByBackupVault' :: Maybe Text
byBackupPlanId = Maybe Text
a} :: ListRecoveryPointsByBackupVault)

-- | Returns only recovery points that were created after the specified
-- timestamp.
listRecoveryPointsByBackupVault_byCreatedAfter :: Lens.Lens' ListRecoveryPointsByBackupVault (Prelude.Maybe Prelude.UTCTime)
listRecoveryPointsByBackupVault_byCreatedAfter :: Lens' ListRecoveryPointsByBackupVault (Maybe UTCTime)
listRecoveryPointsByBackupVault_byCreatedAfter = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListRecoveryPointsByBackupVault' {Maybe POSIX
byCreatedAfter :: Maybe POSIX
$sel:byCreatedAfter:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe POSIX
byCreatedAfter} -> Maybe POSIX
byCreatedAfter) (\s :: ListRecoveryPointsByBackupVault
s@ListRecoveryPointsByBackupVault' {} Maybe POSIX
a -> ListRecoveryPointsByBackupVault
s {$sel:byCreatedAfter:ListRecoveryPointsByBackupVault' :: Maybe POSIX
byCreatedAfter = Maybe POSIX
a} :: ListRecoveryPointsByBackupVault) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | Returns only recovery points that were created before the specified
-- timestamp.
listRecoveryPointsByBackupVault_byCreatedBefore :: Lens.Lens' ListRecoveryPointsByBackupVault (Prelude.Maybe Prelude.UTCTime)
listRecoveryPointsByBackupVault_byCreatedBefore :: Lens' ListRecoveryPointsByBackupVault (Maybe UTCTime)
listRecoveryPointsByBackupVault_byCreatedBefore = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListRecoveryPointsByBackupVault' {Maybe POSIX
byCreatedBefore :: Maybe POSIX
$sel:byCreatedBefore:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe POSIX
byCreatedBefore} -> Maybe POSIX
byCreatedBefore) (\s :: ListRecoveryPointsByBackupVault
s@ListRecoveryPointsByBackupVault' {} Maybe POSIX
a -> ListRecoveryPointsByBackupVault
s {$sel:byCreatedBefore:ListRecoveryPointsByBackupVault' :: Maybe POSIX
byCreatedBefore = Maybe POSIX
a} :: ListRecoveryPointsByBackupVault) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | This returns only recovery points that match the specified parent
-- (composite) recovery point Amazon Resource Name (ARN).
listRecoveryPointsByBackupVault_byParentRecoveryPointArn :: Lens.Lens' ListRecoveryPointsByBackupVault (Prelude.Maybe Prelude.Text)
listRecoveryPointsByBackupVault_byParentRecoveryPointArn :: Lens' ListRecoveryPointsByBackupVault (Maybe Text)
listRecoveryPointsByBackupVault_byParentRecoveryPointArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListRecoveryPointsByBackupVault' {Maybe Text
byParentRecoveryPointArn :: Maybe Text
$sel:byParentRecoveryPointArn:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
byParentRecoveryPointArn} -> Maybe Text
byParentRecoveryPointArn) (\s :: ListRecoveryPointsByBackupVault
s@ListRecoveryPointsByBackupVault' {} Maybe Text
a -> ListRecoveryPointsByBackupVault
s {$sel:byParentRecoveryPointArn:ListRecoveryPointsByBackupVault' :: Maybe Text
byParentRecoveryPointArn = Maybe Text
a} :: ListRecoveryPointsByBackupVault)

-- | Returns only recovery points that match the specified resource Amazon
-- Resource Name (ARN).
listRecoveryPointsByBackupVault_byResourceArn :: Lens.Lens' ListRecoveryPointsByBackupVault (Prelude.Maybe Prelude.Text)
listRecoveryPointsByBackupVault_byResourceArn :: Lens' ListRecoveryPointsByBackupVault (Maybe Text)
listRecoveryPointsByBackupVault_byResourceArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListRecoveryPointsByBackupVault' {Maybe Text
byResourceArn :: Maybe Text
$sel:byResourceArn:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
byResourceArn} -> Maybe Text
byResourceArn) (\s :: ListRecoveryPointsByBackupVault
s@ListRecoveryPointsByBackupVault' {} Maybe Text
a -> ListRecoveryPointsByBackupVault
s {$sel:byResourceArn:ListRecoveryPointsByBackupVault' :: Maybe Text
byResourceArn = Maybe Text
a} :: ListRecoveryPointsByBackupVault)

-- | Returns only recovery points that match the specified resource type.
listRecoveryPointsByBackupVault_byResourceType :: Lens.Lens' ListRecoveryPointsByBackupVault (Prelude.Maybe Prelude.Text)
listRecoveryPointsByBackupVault_byResourceType :: Lens' ListRecoveryPointsByBackupVault (Maybe Text)
listRecoveryPointsByBackupVault_byResourceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListRecoveryPointsByBackupVault' {Maybe Text
byResourceType :: Maybe Text
$sel:byResourceType:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
byResourceType} -> Maybe Text
byResourceType) (\s :: ListRecoveryPointsByBackupVault
s@ListRecoveryPointsByBackupVault' {} Maybe Text
a -> ListRecoveryPointsByBackupVault
s {$sel:byResourceType:ListRecoveryPointsByBackupVault' :: Maybe Text
byResourceType = Maybe Text
a} :: ListRecoveryPointsByBackupVault)

-- | The maximum number of items to be returned.
listRecoveryPointsByBackupVault_maxResults :: Lens.Lens' ListRecoveryPointsByBackupVault (Prelude.Maybe Prelude.Natural)
listRecoveryPointsByBackupVault_maxResults :: Lens' ListRecoveryPointsByBackupVault (Maybe Natural)
listRecoveryPointsByBackupVault_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListRecoveryPointsByBackupVault' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListRecoveryPointsByBackupVault
s@ListRecoveryPointsByBackupVault' {} Maybe Natural
a -> ListRecoveryPointsByBackupVault
s {$sel:maxResults:ListRecoveryPointsByBackupVault' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListRecoveryPointsByBackupVault)

-- | The next item following a partial list of returned items. For example,
-- if a request is made to return @maxResults@ number of items, @NextToken@
-- allows you to return more items in your list starting at the location
-- pointed to by the next token.
listRecoveryPointsByBackupVault_nextToken :: Lens.Lens' ListRecoveryPointsByBackupVault (Prelude.Maybe Prelude.Text)
listRecoveryPointsByBackupVault_nextToken :: Lens' ListRecoveryPointsByBackupVault (Maybe Text)
listRecoveryPointsByBackupVault_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListRecoveryPointsByBackupVault' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListRecoveryPointsByBackupVault
s@ListRecoveryPointsByBackupVault' {} Maybe Text
a -> ListRecoveryPointsByBackupVault
s {$sel:nextToken:ListRecoveryPointsByBackupVault' :: Maybe Text
nextToken = Maybe Text
a} :: ListRecoveryPointsByBackupVault)

-- | The name of a logical container where backups are stored. Backup vaults
-- are identified by names that are unique to the account used to create
-- them and the Amazon Web Services Region where they are created. They
-- consist of lowercase letters, numbers, and hyphens.
--
-- Backup vault name might not be available when a supported service
-- creates the backup.
listRecoveryPointsByBackupVault_backupVaultName :: Lens.Lens' ListRecoveryPointsByBackupVault Prelude.Text
listRecoveryPointsByBackupVault_backupVaultName :: Lens' ListRecoveryPointsByBackupVault Text
listRecoveryPointsByBackupVault_backupVaultName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListRecoveryPointsByBackupVault' {Text
backupVaultName :: Text
$sel:backupVaultName:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Text
backupVaultName} -> Text
backupVaultName) (\s :: ListRecoveryPointsByBackupVault
s@ListRecoveryPointsByBackupVault' {} Text
a -> ListRecoveryPointsByBackupVault
s {$sel:backupVaultName:ListRecoveryPointsByBackupVault' :: Text
backupVaultName = Text
a} :: ListRecoveryPointsByBackupVault)

instance
  Core.AWSPager
    ListRecoveryPointsByBackupVault
  where
  page :: ListRecoveryPointsByBackupVault
-> AWSResponse ListRecoveryPointsByBackupVault
-> Maybe ListRecoveryPointsByBackupVault
page ListRecoveryPointsByBackupVault
rq AWSResponse ListRecoveryPointsByBackupVault
rs
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListRecoveryPointsByBackupVault
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListRecoveryPointsByBackupVaultResponse (Maybe Text)
listRecoveryPointsByBackupVaultResponse_nextToken
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
        forall a. Maybe a
Prelude.Nothing
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListRecoveryPointsByBackupVault
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens'
  ListRecoveryPointsByBackupVaultResponse
  (Maybe [RecoveryPointByBackupVault])
listRecoveryPointsByBackupVaultResponse_recoveryPoints
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
        forall a. Maybe a
Prelude.Nothing
    | Bool
Prelude.otherwise =
        forall a. a -> Maybe a
Prelude.Just
          forall a b. (a -> b) -> a -> b
Prelude.$ ListRecoveryPointsByBackupVault
rq
          forall a b. a -> (a -> b) -> b
Prelude.& Lens' ListRecoveryPointsByBackupVault (Maybe Text)
listRecoveryPointsByBackupVault_nextToken
          forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListRecoveryPointsByBackupVault
rs
          forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListRecoveryPointsByBackupVaultResponse (Maybe Text)
listRecoveryPointsByBackupVaultResponse_nextToken
          forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just

instance
  Core.AWSRequest
    ListRecoveryPointsByBackupVault
  where
  type
    AWSResponse ListRecoveryPointsByBackupVault =
      ListRecoveryPointsByBackupVaultResponse
  request :: (Service -> Service)
-> ListRecoveryPointsByBackupVault
-> Request ListRecoveryPointsByBackupVault
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy ListRecoveryPointsByBackupVault
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse ListRecoveryPointsByBackupVault)))
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 ->
          Maybe Text
-> Maybe [RecoveryPointByBackupVault]
-> Int
-> ListRecoveryPointsByBackupVaultResponse
ListRecoveryPointsByBackupVaultResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"NextToken")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"RecoveryPoints" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance
  Prelude.Hashable
    ListRecoveryPointsByBackupVault
  where
  hashWithSalt :: Int -> ListRecoveryPointsByBackupVault -> Int
hashWithSalt
    Int
_salt
    ListRecoveryPointsByBackupVault' {Maybe Natural
Maybe Text
Maybe POSIX
Text
backupVaultName :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
byResourceType :: Maybe Text
byResourceArn :: Maybe Text
byParentRecoveryPointArn :: Maybe Text
byCreatedBefore :: Maybe POSIX
byCreatedAfter :: Maybe POSIX
byBackupPlanId :: Maybe Text
$sel:backupVaultName:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Text
$sel:nextToken:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
$sel:maxResults:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Natural
$sel:byResourceType:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
$sel:byResourceArn:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
$sel:byParentRecoveryPointArn:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
$sel:byCreatedBefore:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe POSIX
$sel:byCreatedAfter:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe POSIX
$sel:byBackupPlanId:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
byBackupPlanId
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
byCreatedAfter
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
byCreatedBefore
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
byParentRecoveryPointArn
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
byResourceArn
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
byResourceType
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
backupVaultName

instance
  Prelude.NFData
    ListRecoveryPointsByBackupVault
  where
  rnf :: ListRecoveryPointsByBackupVault -> ()
rnf ListRecoveryPointsByBackupVault' {Maybe Natural
Maybe Text
Maybe POSIX
Text
backupVaultName :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
byResourceType :: Maybe Text
byResourceArn :: Maybe Text
byParentRecoveryPointArn :: Maybe Text
byCreatedBefore :: Maybe POSIX
byCreatedAfter :: Maybe POSIX
byBackupPlanId :: Maybe Text
$sel:backupVaultName:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Text
$sel:nextToken:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
$sel:maxResults:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Natural
$sel:byResourceType:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
$sel:byResourceArn:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
$sel:byParentRecoveryPointArn:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
$sel:byCreatedBefore:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe POSIX
$sel:byCreatedAfter:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe POSIX
$sel:byBackupPlanId:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
byBackupPlanId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
byCreatedAfter
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
byCreatedBefore
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
byParentRecoveryPointArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
byResourceArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
byResourceType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
backupVaultName

instance
  Data.ToHeaders
    ListRecoveryPointsByBackupVault
  where
  toHeaders :: ListRecoveryPointsByBackupVault -> 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.ToPath ListRecoveryPointsByBackupVault where
  toPath :: ListRecoveryPointsByBackupVault -> ByteString
toPath ListRecoveryPointsByBackupVault' {Maybe Natural
Maybe Text
Maybe POSIX
Text
backupVaultName :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
byResourceType :: Maybe Text
byResourceArn :: Maybe Text
byParentRecoveryPointArn :: Maybe Text
byCreatedBefore :: Maybe POSIX
byCreatedAfter :: Maybe POSIX
byBackupPlanId :: Maybe Text
$sel:backupVaultName:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Text
$sel:nextToken:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
$sel:maxResults:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Natural
$sel:byResourceType:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
$sel:byResourceArn:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
$sel:byParentRecoveryPointArn:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
$sel:byCreatedBefore:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe POSIX
$sel:byCreatedAfter:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe POSIX
$sel:byBackupPlanId:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/backup-vaults/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
backupVaultName,
        ByteString
"/recovery-points/"
      ]

instance Data.ToQuery ListRecoveryPointsByBackupVault where
  toQuery :: ListRecoveryPointsByBackupVault -> QueryString
toQuery ListRecoveryPointsByBackupVault' {Maybe Natural
Maybe Text
Maybe POSIX
Text
backupVaultName :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
byResourceType :: Maybe Text
byResourceArn :: Maybe Text
byParentRecoveryPointArn :: Maybe Text
byCreatedBefore :: Maybe POSIX
byCreatedAfter :: Maybe POSIX
byBackupPlanId :: Maybe Text
$sel:backupVaultName:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Text
$sel:nextToken:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
$sel:maxResults:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Natural
$sel:byResourceType:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
$sel:byResourceArn:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
$sel:byParentRecoveryPointArn:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
$sel:byCreatedBefore:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe POSIX
$sel:byCreatedAfter:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe POSIX
$sel:byBackupPlanId:ListRecoveryPointsByBackupVault' :: ListRecoveryPointsByBackupVault -> Maybe Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"backupPlanId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
byBackupPlanId,
        ByteString
"createdAfter" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe POSIX
byCreatedAfter,
        ByteString
"createdBefore" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe POSIX
byCreatedBefore,
        ByteString
"parentRecoveryPointArn"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
byParentRecoveryPointArn,
        ByteString
"resourceArn" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
byResourceArn,
        ByteString
"resourceType" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
byResourceType,
        ByteString
"maxResults" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Natural
maxResults,
        ByteString
"nextToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
nextToken
      ]

-- | /See:/ 'newListRecoveryPointsByBackupVaultResponse' smart constructor.
data ListRecoveryPointsByBackupVaultResponse = ListRecoveryPointsByBackupVaultResponse'
  { -- | The next item following a partial list of returned items. For example,
    -- if a request is made to return @maxResults@ number of items, @NextToken@
    -- allows you to return more items in your list starting at the location
    -- pointed to by the next token.
    ListRecoveryPointsByBackupVaultResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | An array of objects that contain detailed information about recovery
    -- points saved in a backup vault.
    ListRecoveryPointsByBackupVaultResponse
-> Maybe [RecoveryPointByBackupVault]
recoveryPoints :: Prelude.Maybe [RecoveryPointByBackupVault],
    -- | The response's http status code.
    ListRecoveryPointsByBackupVaultResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListRecoveryPointsByBackupVaultResponse
-> ListRecoveryPointsByBackupVaultResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListRecoveryPointsByBackupVaultResponse
-> ListRecoveryPointsByBackupVaultResponse -> Bool
$c/= :: ListRecoveryPointsByBackupVaultResponse
-> ListRecoveryPointsByBackupVaultResponse -> Bool
== :: ListRecoveryPointsByBackupVaultResponse
-> ListRecoveryPointsByBackupVaultResponse -> Bool
$c== :: ListRecoveryPointsByBackupVaultResponse
-> ListRecoveryPointsByBackupVaultResponse -> Bool
Prelude.Eq, ReadPrec [ListRecoveryPointsByBackupVaultResponse]
ReadPrec ListRecoveryPointsByBackupVaultResponse
Int -> ReadS ListRecoveryPointsByBackupVaultResponse
ReadS [ListRecoveryPointsByBackupVaultResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListRecoveryPointsByBackupVaultResponse]
$creadListPrec :: ReadPrec [ListRecoveryPointsByBackupVaultResponse]
readPrec :: ReadPrec ListRecoveryPointsByBackupVaultResponse
$creadPrec :: ReadPrec ListRecoveryPointsByBackupVaultResponse
readList :: ReadS [ListRecoveryPointsByBackupVaultResponse]
$creadList :: ReadS [ListRecoveryPointsByBackupVaultResponse]
readsPrec :: Int -> ReadS ListRecoveryPointsByBackupVaultResponse
$creadsPrec :: Int -> ReadS ListRecoveryPointsByBackupVaultResponse
Prelude.Read, Int -> ListRecoveryPointsByBackupVaultResponse -> ShowS
[ListRecoveryPointsByBackupVaultResponse] -> ShowS
ListRecoveryPointsByBackupVaultResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListRecoveryPointsByBackupVaultResponse] -> ShowS
$cshowList :: [ListRecoveryPointsByBackupVaultResponse] -> ShowS
show :: ListRecoveryPointsByBackupVaultResponse -> String
$cshow :: ListRecoveryPointsByBackupVaultResponse -> String
showsPrec :: Int -> ListRecoveryPointsByBackupVaultResponse -> ShowS
$cshowsPrec :: Int -> ListRecoveryPointsByBackupVaultResponse -> ShowS
Prelude.Show, forall x.
Rep ListRecoveryPointsByBackupVaultResponse x
-> ListRecoveryPointsByBackupVaultResponse
forall x.
ListRecoveryPointsByBackupVaultResponse
-> Rep ListRecoveryPointsByBackupVaultResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListRecoveryPointsByBackupVaultResponse x
-> ListRecoveryPointsByBackupVaultResponse
$cfrom :: forall x.
ListRecoveryPointsByBackupVaultResponse
-> Rep ListRecoveryPointsByBackupVaultResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListRecoveryPointsByBackupVaultResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'nextToken', 'listRecoveryPointsByBackupVaultResponse_nextToken' - The next item following a partial list of returned items. For example,
-- if a request is made to return @maxResults@ number of items, @NextToken@
-- allows you to return more items in your list starting at the location
-- pointed to by the next token.
--
-- 'recoveryPoints', 'listRecoveryPointsByBackupVaultResponse_recoveryPoints' - An array of objects that contain detailed information about recovery
-- points saved in a backup vault.
--
-- 'httpStatus', 'listRecoveryPointsByBackupVaultResponse_httpStatus' - The response's http status code.
newListRecoveryPointsByBackupVaultResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListRecoveryPointsByBackupVaultResponse
newListRecoveryPointsByBackupVaultResponse :: Int -> ListRecoveryPointsByBackupVaultResponse
newListRecoveryPointsByBackupVaultResponse
  Int
pHttpStatus_ =
    ListRecoveryPointsByBackupVaultResponse'
      { $sel:nextToken:ListRecoveryPointsByBackupVaultResponse' :: Maybe Text
nextToken =
          forall a. Maybe a
Prelude.Nothing,
        $sel:recoveryPoints:ListRecoveryPointsByBackupVaultResponse' :: Maybe [RecoveryPointByBackupVault]
recoveryPoints = forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:ListRecoveryPointsByBackupVaultResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | The next item following a partial list of returned items. For example,
-- if a request is made to return @maxResults@ number of items, @NextToken@
-- allows you to return more items in your list starting at the location
-- pointed to by the next token.
listRecoveryPointsByBackupVaultResponse_nextToken :: Lens.Lens' ListRecoveryPointsByBackupVaultResponse (Prelude.Maybe Prelude.Text)
listRecoveryPointsByBackupVaultResponse_nextToken :: Lens' ListRecoveryPointsByBackupVaultResponse (Maybe Text)
listRecoveryPointsByBackupVaultResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListRecoveryPointsByBackupVaultResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListRecoveryPointsByBackupVaultResponse' :: ListRecoveryPointsByBackupVaultResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListRecoveryPointsByBackupVaultResponse
s@ListRecoveryPointsByBackupVaultResponse' {} Maybe Text
a -> ListRecoveryPointsByBackupVaultResponse
s {$sel:nextToken:ListRecoveryPointsByBackupVaultResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListRecoveryPointsByBackupVaultResponse)

-- | An array of objects that contain detailed information about recovery
-- points saved in a backup vault.
listRecoveryPointsByBackupVaultResponse_recoveryPoints :: Lens.Lens' ListRecoveryPointsByBackupVaultResponse (Prelude.Maybe [RecoveryPointByBackupVault])
listRecoveryPointsByBackupVaultResponse_recoveryPoints :: Lens'
  ListRecoveryPointsByBackupVaultResponse
  (Maybe [RecoveryPointByBackupVault])
listRecoveryPointsByBackupVaultResponse_recoveryPoints = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListRecoveryPointsByBackupVaultResponse' {Maybe [RecoveryPointByBackupVault]
recoveryPoints :: Maybe [RecoveryPointByBackupVault]
$sel:recoveryPoints:ListRecoveryPointsByBackupVaultResponse' :: ListRecoveryPointsByBackupVaultResponse
-> Maybe [RecoveryPointByBackupVault]
recoveryPoints} -> Maybe [RecoveryPointByBackupVault]
recoveryPoints) (\s :: ListRecoveryPointsByBackupVaultResponse
s@ListRecoveryPointsByBackupVaultResponse' {} Maybe [RecoveryPointByBackupVault]
a -> ListRecoveryPointsByBackupVaultResponse
s {$sel:recoveryPoints:ListRecoveryPointsByBackupVaultResponse' :: Maybe [RecoveryPointByBackupVault]
recoveryPoints = Maybe [RecoveryPointByBackupVault]
a} :: ListRecoveryPointsByBackupVaultResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The response's http status code.
listRecoveryPointsByBackupVaultResponse_httpStatus :: Lens.Lens' ListRecoveryPointsByBackupVaultResponse Prelude.Int
listRecoveryPointsByBackupVaultResponse_httpStatus :: Lens' ListRecoveryPointsByBackupVaultResponse Int
listRecoveryPointsByBackupVaultResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListRecoveryPointsByBackupVaultResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListRecoveryPointsByBackupVaultResponse' :: ListRecoveryPointsByBackupVaultResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListRecoveryPointsByBackupVaultResponse
s@ListRecoveryPointsByBackupVaultResponse' {} Int
a -> ListRecoveryPointsByBackupVaultResponse
s {$sel:httpStatus:ListRecoveryPointsByBackupVaultResponse' :: Int
httpStatus = Int
a} :: ListRecoveryPointsByBackupVaultResponse)

instance
  Prelude.NFData
    ListRecoveryPointsByBackupVaultResponse
  where
  rnf :: ListRecoveryPointsByBackupVaultResponse -> ()
rnf ListRecoveryPointsByBackupVaultResponse' {Int
Maybe [RecoveryPointByBackupVault]
Maybe Text
httpStatus :: Int
recoveryPoints :: Maybe [RecoveryPointByBackupVault]
nextToken :: Maybe Text
$sel:httpStatus:ListRecoveryPointsByBackupVaultResponse' :: ListRecoveryPointsByBackupVaultResponse -> Int
$sel:recoveryPoints:ListRecoveryPointsByBackupVaultResponse' :: ListRecoveryPointsByBackupVaultResponse
-> Maybe [RecoveryPointByBackupVault]
$sel:nextToken:ListRecoveryPointsByBackupVaultResponse' :: ListRecoveryPointsByBackupVaultResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [RecoveryPointByBackupVault]
recoveryPoints
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus