{-# 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.ListBackupJobs
-- 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 a list of existing backup jobs for an authenticated account for
-- the last 30 days. For a longer period of time, consider using these
-- <https://docs.aws.amazon.com/aws-backup/latest/devguide/monitoring.html monitoring tools>.
--
-- This operation returns paginated results.
module Amazonka.Backup.ListBackupJobs
  ( -- * Creating a Request
    ListBackupJobs (..),
    newListBackupJobs,

    -- * Request Lenses
    listBackupJobs_byAccountId,
    listBackupJobs_byBackupVaultName,
    listBackupJobs_byCompleteAfter,
    listBackupJobs_byCompleteBefore,
    listBackupJobs_byCreatedAfter,
    listBackupJobs_byCreatedBefore,
    listBackupJobs_byParentJobId,
    listBackupJobs_byResourceArn,
    listBackupJobs_byResourceType,
    listBackupJobs_byState,
    listBackupJobs_maxResults,
    listBackupJobs_nextToken,

    -- * Destructuring the Response
    ListBackupJobsResponse (..),
    newListBackupJobsResponse,

    -- * Response Lenses
    listBackupJobsResponse_backupJobs,
    listBackupJobsResponse_nextToken,
    listBackupJobsResponse_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:/ 'newListBackupJobs' smart constructor.
data ListBackupJobs = ListBackupJobs'
  { -- | The account ID to list the jobs from. Returns only backup jobs
    -- associated with the specified account ID.
    --
    -- If used from an Organizations management account, passing @*@ returns
    -- all jobs across the organization.
    ListBackupJobs -> Maybe Text
byAccountId :: Prelude.Maybe Prelude.Text,
    -- | Returns only backup jobs that will be stored in the specified backup
    -- vault. 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.
    ListBackupJobs -> Maybe Text
byBackupVaultName :: Prelude.Maybe Prelude.Text,
    -- | Returns only backup jobs completed after a date expressed in Unix format
    -- and Coordinated Universal Time (UTC).
    ListBackupJobs -> Maybe POSIX
byCompleteAfter :: Prelude.Maybe Data.POSIX,
    -- | Returns only backup jobs completed before a date expressed in Unix
    -- format and Coordinated Universal Time (UTC).
    ListBackupJobs -> Maybe POSIX
byCompleteBefore :: Prelude.Maybe Data.POSIX,
    -- | Returns only backup jobs that were created after the specified date.
    ListBackupJobs -> Maybe POSIX
byCreatedAfter :: Prelude.Maybe Data.POSIX,
    -- | Returns only backup jobs that were created before the specified date.
    ListBackupJobs -> Maybe POSIX
byCreatedBefore :: Prelude.Maybe Data.POSIX,
    -- | This is a filter to list child (nested) jobs based on parent job ID.
    ListBackupJobs -> Maybe Text
byParentJobId :: Prelude.Maybe Prelude.Text,
    -- | Returns only backup jobs that match the specified resource Amazon
    -- Resource Name (ARN).
    ListBackupJobs -> Maybe Text
byResourceArn :: Prelude.Maybe Prelude.Text,
    -- | Returns only backup jobs for the specified resources:
    --
    -- -   @Aurora@ for Amazon Aurora
    --
    -- -   @DocumentDB@ for Amazon DocumentDB (with MongoDB compatibility)
    --
    -- -   @DynamoDB@ for Amazon DynamoDB
    --
    -- -   @EBS@ for Amazon Elastic Block Store
    --
    -- -   @EC2@ for Amazon Elastic Compute Cloud
    --
    -- -   @EFS@ for Amazon Elastic File System
    --
    -- -   @FSx@ for Amazon FSx
    --
    -- -   @Neptune@ for Amazon Neptune
    --
    -- -   @RDS@ for Amazon Relational Database Service
    --
    -- -   @Storage Gateway@ for Storage Gateway
    --
    -- -   @S3@ for Amazon S3
    --
    -- -   @VirtualMachine@ for virtual machines
    ListBackupJobs -> Maybe Text
byResourceType :: Prelude.Maybe Prelude.Text,
    -- | Returns only backup jobs that are in the specified state.
    ListBackupJobs -> Maybe BackupJobState
byState :: Prelude.Maybe BackupJobState,
    -- | The maximum number of items to be returned.
    ListBackupJobs -> 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.
    ListBackupJobs -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text
  }
  deriving (ListBackupJobs -> ListBackupJobs -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListBackupJobs -> ListBackupJobs -> Bool
$c/= :: ListBackupJobs -> ListBackupJobs -> Bool
== :: ListBackupJobs -> ListBackupJobs -> Bool
$c== :: ListBackupJobs -> ListBackupJobs -> Bool
Prelude.Eq, ReadPrec [ListBackupJobs]
ReadPrec ListBackupJobs
Int -> ReadS ListBackupJobs
ReadS [ListBackupJobs]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListBackupJobs]
$creadListPrec :: ReadPrec [ListBackupJobs]
readPrec :: ReadPrec ListBackupJobs
$creadPrec :: ReadPrec ListBackupJobs
readList :: ReadS [ListBackupJobs]
$creadList :: ReadS [ListBackupJobs]
readsPrec :: Int -> ReadS ListBackupJobs
$creadsPrec :: Int -> ReadS ListBackupJobs
Prelude.Read, Int -> ListBackupJobs -> ShowS
[ListBackupJobs] -> ShowS
ListBackupJobs -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListBackupJobs] -> ShowS
$cshowList :: [ListBackupJobs] -> ShowS
show :: ListBackupJobs -> String
$cshow :: ListBackupJobs -> String
showsPrec :: Int -> ListBackupJobs -> ShowS
$cshowsPrec :: Int -> ListBackupJobs -> ShowS
Prelude.Show, forall x. Rep ListBackupJobs x -> ListBackupJobs
forall x. ListBackupJobs -> Rep ListBackupJobs x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListBackupJobs x -> ListBackupJobs
$cfrom :: forall x. ListBackupJobs -> Rep ListBackupJobs x
Prelude.Generic)

-- |
-- Create a value of 'ListBackupJobs' 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:
--
-- 'byAccountId', 'listBackupJobs_byAccountId' - The account ID to list the jobs from. Returns only backup jobs
-- associated with the specified account ID.
--
-- If used from an Organizations management account, passing @*@ returns
-- all jobs across the organization.
--
-- 'byBackupVaultName', 'listBackupJobs_byBackupVaultName' - Returns only backup jobs that will be stored in the specified backup
-- vault. 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.
--
-- 'byCompleteAfter', 'listBackupJobs_byCompleteAfter' - Returns only backup jobs completed after a date expressed in Unix format
-- and Coordinated Universal Time (UTC).
--
-- 'byCompleteBefore', 'listBackupJobs_byCompleteBefore' - Returns only backup jobs completed before a date expressed in Unix
-- format and Coordinated Universal Time (UTC).
--
-- 'byCreatedAfter', 'listBackupJobs_byCreatedAfter' - Returns only backup jobs that were created after the specified date.
--
-- 'byCreatedBefore', 'listBackupJobs_byCreatedBefore' - Returns only backup jobs that were created before the specified date.
--
-- 'byParentJobId', 'listBackupJobs_byParentJobId' - This is a filter to list child (nested) jobs based on parent job ID.
--
-- 'byResourceArn', 'listBackupJobs_byResourceArn' - Returns only backup jobs that match the specified resource Amazon
-- Resource Name (ARN).
--
-- 'byResourceType', 'listBackupJobs_byResourceType' - Returns only backup jobs for the specified resources:
--
-- -   @Aurora@ for Amazon Aurora
--
-- -   @DocumentDB@ for Amazon DocumentDB (with MongoDB compatibility)
--
-- -   @DynamoDB@ for Amazon DynamoDB
--
-- -   @EBS@ for Amazon Elastic Block Store
--
-- -   @EC2@ for Amazon Elastic Compute Cloud
--
-- -   @EFS@ for Amazon Elastic File System
--
-- -   @FSx@ for Amazon FSx
--
-- -   @Neptune@ for Amazon Neptune
--
-- -   @RDS@ for Amazon Relational Database Service
--
-- -   @Storage Gateway@ for Storage Gateway
--
-- -   @S3@ for Amazon S3
--
-- -   @VirtualMachine@ for virtual machines
--
-- 'byState', 'listBackupJobs_byState' - Returns only backup jobs that are in the specified state.
--
-- 'maxResults', 'listBackupJobs_maxResults' - The maximum number of items to be returned.
--
-- 'nextToken', 'listBackupJobs_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.
newListBackupJobs ::
  ListBackupJobs
newListBackupJobs :: ListBackupJobs
newListBackupJobs =
  ListBackupJobs'
    { $sel:byAccountId:ListBackupJobs' :: Maybe Text
byAccountId = forall a. Maybe a
Prelude.Nothing,
      $sel:byBackupVaultName:ListBackupJobs' :: Maybe Text
byBackupVaultName = forall a. Maybe a
Prelude.Nothing,
      $sel:byCompleteAfter:ListBackupJobs' :: Maybe POSIX
byCompleteAfter = forall a. Maybe a
Prelude.Nothing,
      $sel:byCompleteBefore:ListBackupJobs' :: Maybe POSIX
byCompleteBefore = forall a. Maybe a
Prelude.Nothing,
      $sel:byCreatedAfter:ListBackupJobs' :: Maybe POSIX
byCreatedAfter = forall a. Maybe a
Prelude.Nothing,
      $sel:byCreatedBefore:ListBackupJobs' :: Maybe POSIX
byCreatedBefore = forall a. Maybe a
Prelude.Nothing,
      $sel:byParentJobId:ListBackupJobs' :: Maybe Text
byParentJobId = forall a. Maybe a
Prelude.Nothing,
      $sel:byResourceArn:ListBackupJobs' :: Maybe Text
byResourceArn = forall a. Maybe a
Prelude.Nothing,
      $sel:byResourceType:ListBackupJobs' :: Maybe Text
byResourceType = forall a. Maybe a
Prelude.Nothing,
      $sel:byState:ListBackupJobs' :: Maybe BackupJobState
byState = forall a. Maybe a
Prelude.Nothing,
      $sel:maxResults:ListBackupJobs' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListBackupJobs' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing
    }

-- | The account ID to list the jobs from. Returns only backup jobs
-- associated with the specified account ID.
--
-- If used from an Organizations management account, passing @*@ returns
-- all jobs across the organization.
listBackupJobs_byAccountId :: Lens.Lens' ListBackupJobs (Prelude.Maybe Prelude.Text)
listBackupJobs_byAccountId :: Lens' ListBackupJobs (Maybe Text)
listBackupJobs_byAccountId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListBackupJobs' {Maybe Text
byAccountId :: Maybe Text
$sel:byAccountId:ListBackupJobs' :: ListBackupJobs -> Maybe Text
byAccountId} -> Maybe Text
byAccountId) (\s :: ListBackupJobs
s@ListBackupJobs' {} Maybe Text
a -> ListBackupJobs
s {$sel:byAccountId:ListBackupJobs' :: Maybe Text
byAccountId = Maybe Text
a} :: ListBackupJobs)

-- | Returns only backup jobs that will be stored in the specified backup
-- vault. 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.
listBackupJobs_byBackupVaultName :: Lens.Lens' ListBackupJobs (Prelude.Maybe Prelude.Text)
listBackupJobs_byBackupVaultName :: Lens' ListBackupJobs (Maybe Text)
listBackupJobs_byBackupVaultName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListBackupJobs' {Maybe Text
byBackupVaultName :: Maybe Text
$sel:byBackupVaultName:ListBackupJobs' :: ListBackupJobs -> Maybe Text
byBackupVaultName} -> Maybe Text
byBackupVaultName) (\s :: ListBackupJobs
s@ListBackupJobs' {} Maybe Text
a -> ListBackupJobs
s {$sel:byBackupVaultName:ListBackupJobs' :: Maybe Text
byBackupVaultName = Maybe Text
a} :: ListBackupJobs)

-- | Returns only backup jobs completed after a date expressed in Unix format
-- and Coordinated Universal Time (UTC).
listBackupJobs_byCompleteAfter :: Lens.Lens' ListBackupJobs (Prelude.Maybe Prelude.UTCTime)
listBackupJobs_byCompleteAfter :: Lens' ListBackupJobs (Maybe UTCTime)
listBackupJobs_byCompleteAfter = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListBackupJobs' {Maybe POSIX
byCompleteAfter :: Maybe POSIX
$sel:byCompleteAfter:ListBackupJobs' :: ListBackupJobs -> Maybe POSIX
byCompleteAfter} -> Maybe POSIX
byCompleteAfter) (\s :: ListBackupJobs
s@ListBackupJobs' {} Maybe POSIX
a -> ListBackupJobs
s {$sel:byCompleteAfter:ListBackupJobs' :: Maybe POSIX
byCompleteAfter = Maybe POSIX
a} :: ListBackupJobs) 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 backup jobs completed before a date expressed in Unix
-- format and Coordinated Universal Time (UTC).
listBackupJobs_byCompleteBefore :: Lens.Lens' ListBackupJobs (Prelude.Maybe Prelude.UTCTime)
listBackupJobs_byCompleteBefore :: Lens' ListBackupJobs (Maybe UTCTime)
listBackupJobs_byCompleteBefore = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListBackupJobs' {Maybe POSIX
byCompleteBefore :: Maybe POSIX
$sel:byCompleteBefore:ListBackupJobs' :: ListBackupJobs -> Maybe POSIX
byCompleteBefore} -> Maybe POSIX
byCompleteBefore) (\s :: ListBackupJobs
s@ListBackupJobs' {} Maybe POSIX
a -> ListBackupJobs
s {$sel:byCompleteBefore:ListBackupJobs' :: Maybe POSIX
byCompleteBefore = Maybe POSIX
a} :: ListBackupJobs) 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 backup jobs that were created after the specified date.
listBackupJobs_byCreatedAfter :: Lens.Lens' ListBackupJobs (Prelude.Maybe Prelude.UTCTime)
listBackupJobs_byCreatedAfter :: Lens' ListBackupJobs (Maybe UTCTime)
listBackupJobs_byCreatedAfter = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListBackupJobs' {Maybe POSIX
byCreatedAfter :: Maybe POSIX
$sel:byCreatedAfter:ListBackupJobs' :: ListBackupJobs -> Maybe POSIX
byCreatedAfter} -> Maybe POSIX
byCreatedAfter) (\s :: ListBackupJobs
s@ListBackupJobs' {} Maybe POSIX
a -> ListBackupJobs
s {$sel:byCreatedAfter:ListBackupJobs' :: Maybe POSIX
byCreatedAfter = Maybe POSIX
a} :: ListBackupJobs) 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 backup jobs that were created before the specified date.
listBackupJobs_byCreatedBefore :: Lens.Lens' ListBackupJobs (Prelude.Maybe Prelude.UTCTime)
listBackupJobs_byCreatedBefore :: Lens' ListBackupJobs (Maybe UTCTime)
listBackupJobs_byCreatedBefore = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListBackupJobs' {Maybe POSIX
byCreatedBefore :: Maybe POSIX
$sel:byCreatedBefore:ListBackupJobs' :: ListBackupJobs -> Maybe POSIX
byCreatedBefore} -> Maybe POSIX
byCreatedBefore) (\s :: ListBackupJobs
s@ListBackupJobs' {} Maybe POSIX
a -> ListBackupJobs
s {$sel:byCreatedBefore:ListBackupJobs' :: Maybe POSIX
byCreatedBefore = Maybe POSIX
a} :: ListBackupJobs) 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 is a filter to list child (nested) jobs based on parent job ID.
listBackupJobs_byParentJobId :: Lens.Lens' ListBackupJobs (Prelude.Maybe Prelude.Text)
listBackupJobs_byParentJobId :: Lens' ListBackupJobs (Maybe Text)
listBackupJobs_byParentJobId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListBackupJobs' {Maybe Text
byParentJobId :: Maybe Text
$sel:byParentJobId:ListBackupJobs' :: ListBackupJobs -> Maybe Text
byParentJobId} -> Maybe Text
byParentJobId) (\s :: ListBackupJobs
s@ListBackupJobs' {} Maybe Text
a -> ListBackupJobs
s {$sel:byParentJobId:ListBackupJobs' :: Maybe Text
byParentJobId = Maybe Text
a} :: ListBackupJobs)

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

-- | Returns only backup jobs for the specified resources:
--
-- -   @Aurora@ for Amazon Aurora
--
-- -   @DocumentDB@ for Amazon DocumentDB (with MongoDB compatibility)
--
-- -   @DynamoDB@ for Amazon DynamoDB
--
-- -   @EBS@ for Amazon Elastic Block Store
--
-- -   @EC2@ for Amazon Elastic Compute Cloud
--
-- -   @EFS@ for Amazon Elastic File System
--
-- -   @FSx@ for Amazon FSx
--
-- -   @Neptune@ for Amazon Neptune
--
-- -   @RDS@ for Amazon Relational Database Service
--
-- -   @Storage Gateway@ for Storage Gateway
--
-- -   @S3@ for Amazon S3
--
-- -   @VirtualMachine@ for virtual machines
listBackupJobs_byResourceType :: Lens.Lens' ListBackupJobs (Prelude.Maybe Prelude.Text)
listBackupJobs_byResourceType :: Lens' ListBackupJobs (Maybe Text)
listBackupJobs_byResourceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListBackupJobs' {Maybe Text
byResourceType :: Maybe Text
$sel:byResourceType:ListBackupJobs' :: ListBackupJobs -> Maybe Text
byResourceType} -> Maybe Text
byResourceType) (\s :: ListBackupJobs
s@ListBackupJobs' {} Maybe Text
a -> ListBackupJobs
s {$sel:byResourceType:ListBackupJobs' :: Maybe Text
byResourceType = Maybe Text
a} :: ListBackupJobs)

-- | Returns only backup jobs that are in the specified state.
listBackupJobs_byState :: Lens.Lens' ListBackupJobs (Prelude.Maybe BackupJobState)
listBackupJobs_byState :: Lens' ListBackupJobs (Maybe BackupJobState)
listBackupJobs_byState = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListBackupJobs' {Maybe BackupJobState
byState :: Maybe BackupJobState
$sel:byState:ListBackupJobs' :: ListBackupJobs -> Maybe BackupJobState
byState} -> Maybe BackupJobState
byState) (\s :: ListBackupJobs
s@ListBackupJobs' {} Maybe BackupJobState
a -> ListBackupJobs
s {$sel:byState:ListBackupJobs' :: Maybe BackupJobState
byState = Maybe BackupJobState
a} :: ListBackupJobs)

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

-- | 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.
listBackupJobs_nextToken :: Lens.Lens' ListBackupJobs (Prelude.Maybe Prelude.Text)
listBackupJobs_nextToken :: Lens' ListBackupJobs (Maybe Text)
listBackupJobs_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListBackupJobs' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListBackupJobs' :: ListBackupJobs -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListBackupJobs
s@ListBackupJobs' {} Maybe Text
a -> ListBackupJobs
s {$sel:nextToken:ListBackupJobs' :: Maybe Text
nextToken = Maybe Text
a} :: ListBackupJobs)

instance Core.AWSPager ListBackupJobs where
  page :: ListBackupJobs
-> AWSResponse ListBackupJobs -> Maybe ListBackupJobs
page ListBackupJobs
rq AWSResponse ListBackupJobs
rs
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListBackupJobs
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListBackupJobsResponse (Maybe Text)
listBackupJobsResponse_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 ListBackupJobs
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListBackupJobsResponse (Maybe [BackupJob])
listBackupJobsResponse_backupJobs
            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.$ ListBackupJobs
rq
          forall a b. a -> (a -> b) -> b
Prelude.& Lens' ListBackupJobs (Maybe Text)
listBackupJobs_nextToken
          forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListBackupJobs
rs
          forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListBackupJobsResponse (Maybe Text)
listBackupJobsResponse_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 ListBackupJobs where
  type
    AWSResponse ListBackupJobs =
      ListBackupJobsResponse
  request :: (Service -> Service) -> ListBackupJobs -> Request ListBackupJobs
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 ListBackupJobs
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse ListBackupJobs)))
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 [BackupJob] -> Maybe Text -> Int -> ListBackupJobsResponse
ListBackupJobsResponse'
            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
"BackupJobs" 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.<*> (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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable ListBackupJobs where
  hashWithSalt :: Int -> ListBackupJobs -> Int
hashWithSalt Int
_salt ListBackupJobs' {Maybe Natural
Maybe Text
Maybe POSIX
Maybe BackupJobState
nextToken :: Maybe Text
maxResults :: Maybe Natural
byState :: Maybe BackupJobState
byResourceType :: Maybe Text
byResourceArn :: Maybe Text
byParentJobId :: Maybe Text
byCreatedBefore :: Maybe POSIX
byCreatedAfter :: Maybe POSIX
byCompleteBefore :: Maybe POSIX
byCompleteAfter :: Maybe POSIX
byBackupVaultName :: Maybe Text
byAccountId :: Maybe Text
$sel:nextToken:ListBackupJobs' :: ListBackupJobs -> Maybe Text
$sel:maxResults:ListBackupJobs' :: ListBackupJobs -> Maybe Natural
$sel:byState:ListBackupJobs' :: ListBackupJobs -> Maybe BackupJobState
$sel:byResourceType:ListBackupJobs' :: ListBackupJobs -> Maybe Text
$sel:byResourceArn:ListBackupJobs' :: ListBackupJobs -> Maybe Text
$sel:byParentJobId:ListBackupJobs' :: ListBackupJobs -> Maybe Text
$sel:byCreatedBefore:ListBackupJobs' :: ListBackupJobs -> Maybe POSIX
$sel:byCreatedAfter:ListBackupJobs' :: ListBackupJobs -> Maybe POSIX
$sel:byCompleteBefore:ListBackupJobs' :: ListBackupJobs -> Maybe POSIX
$sel:byCompleteAfter:ListBackupJobs' :: ListBackupJobs -> Maybe POSIX
$sel:byBackupVaultName:ListBackupJobs' :: ListBackupJobs -> Maybe Text
$sel:byAccountId:ListBackupJobs' :: ListBackupJobs -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
byAccountId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
byBackupVaultName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
byCompleteAfter
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
byCompleteBefore
      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
byParentJobId
      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 BackupJobState
byState
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken

instance Prelude.NFData ListBackupJobs where
  rnf :: ListBackupJobs -> ()
rnf ListBackupJobs' {Maybe Natural
Maybe Text
Maybe POSIX
Maybe BackupJobState
nextToken :: Maybe Text
maxResults :: Maybe Natural
byState :: Maybe BackupJobState
byResourceType :: Maybe Text
byResourceArn :: Maybe Text
byParentJobId :: Maybe Text
byCreatedBefore :: Maybe POSIX
byCreatedAfter :: Maybe POSIX
byCompleteBefore :: Maybe POSIX
byCompleteAfter :: Maybe POSIX
byBackupVaultName :: Maybe Text
byAccountId :: Maybe Text
$sel:nextToken:ListBackupJobs' :: ListBackupJobs -> Maybe Text
$sel:maxResults:ListBackupJobs' :: ListBackupJobs -> Maybe Natural
$sel:byState:ListBackupJobs' :: ListBackupJobs -> Maybe BackupJobState
$sel:byResourceType:ListBackupJobs' :: ListBackupJobs -> Maybe Text
$sel:byResourceArn:ListBackupJobs' :: ListBackupJobs -> Maybe Text
$sel:byParentJobId:ListBackupJobs' :: ListBackupJobs -> Maybe Text
$sel:byCreatedBefore:ListBackupJobs' :: ListBackupJobs -> Maybe POSIX
$sel:byCreatedAfter:ListBackupJobs' :: ListBackupJobs -> Maybe POSIX
$sel:byCompleteBefore:ListBackupJobs' :: ListBackupJobs -> Maybe POSIX
$sel:byCompleteAfter:ListBackupJobs' :: ListBackupJobs -> Maybe POSIX
$sel:byBackupVaultName:ListBackupJobs' :: ListBackupJobs -> Maybe Text
$sel:byAccountId:ListBackupJobs' :: ListBackupJobs -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
byAccountId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
byBackupVaultName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
byCompleteAfter
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
byCompleteBefore
      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
byParentJobId
      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 BackupJobState
byState
      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

instance Data.ToHeaders ListBackupJobs where
  toHeaders :: ListBackupJobs -> 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 ListBackupJobs where
  toPath :: ListBackupJobs -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/backup-jobs/"

instance Data.ToQuery ListBackupJobs where
  toQuery :: ListBackupJobs -> QueryString
toQuery ListBackupJobs' {Maybe Natural
Maybe Text
Maybe POSIX
Maybe BackupJobState
nextToken :: Maybe Text
maxResults :: Maybe Natural
byState :: Maybe BackupJobState
byResourceType :: Maybe Text
byResourceArn :: Maybe Text
byParentJobId :: Maybe Text
byCreatedBefore :: Maybe POSIX
byCreatedAfter :: Maybe POSIX
byCompleteBefore :: Maybe POSIX
byCompleteAfter :: Maybe POSIX
byBackupVaultName :: Maybe Text
byAccountId :: Maybe Text
$sel:nextToken:ListBackupJobs' :: ListBackupJobs -> Maybe Text
$sel:maxResults:ListBackupJobs' :: ListBackupJobs -> Maybe Natural
$sel:byState:ListBackupJobs' :: ListBackupJobs -> Maybe BackupJobState
$sel:byResourceType:ListBackupJobs' :: ListBackupJobs -> Maybe Text
$sel:byResourceArn:ListBackupJobs' :: ListBackupJobs -> Maybe Text
$sel:byParentJobId:ListBackupJobs' :: ListBackupJobs -> Maybe Text
$sel:byCreatedBefore:ListBackupJobs' :: ListBackupJobs -> Maybe POSIX
$sel:byCreatedAfter:ListBackupJobs' :: ListBackupJobs -> Maybe POSIX
$sel:byCompleteBefore:ListBackupJobs' :: ListBackupJobs -> Maybe POSIX
$sel:byCompleteAfter:ListBackupJobs' :: ListBackupJobs -> Maybe POSIX
$sel:byBackupVaultName:ListBackupJobs' :: ListBackupJobs -> Maybe Text
$sel:byAccountId:ListBackupJobs' :: ListBackupJobs -> Maybe Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"accountId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
byAccountId,
        ByteString
"backupVaultName" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
byBackupVaultName,
        ByteString
"completeAfter" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe POSIX
byCompleteAfter,
        ByteString
"completeBefore" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe POSIX
byCompleteBefore,
        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
"parentJobId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
byParentJobId,
        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
"state" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe BackupJobState
byState,
        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:/ 'newListBackupJobsResponse' smart constructor.
data ListBackupJobsResponse = ListBackupJobsResponse'
  { -- | An array of structures containing metadata about your backup jobs
    -- returned in JSON format.
    ListBackupJobsResponse -> Maybe [BackupJob]
backupJobs :: Prelude.Maybe [BackupJob],
    -- | 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.
    ListBackupJobsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    ListBackupJobsResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListBackupJobsResponse -> ListBackupJobsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListBackupJobsResponse -> ListBackupJobsResponse -> Bool
$c/= :: ListBackupJobsResponse -> ListBackupJobsResponse -> Bool
== :: ListBackupJobsResponse -> ListBackupJobsResponse -> Bool
$c== :: ListBackupJobsResponse -> ListBackupJobsResponse -> Bool
Prelude.Eq, ReadPrec [ListBackupJobsResponse]
ReadPrec ListBackupJobsResponse
Int -> ReadS ListBackupJobsResponse
ReadS [ListBackupJobsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListBackupJobsResponse]
$creadListPrec :: ReadPrec [ListBackupJobsResponse]
readPrec :: ReadPrec ListBackupJobsResponse
$creadPrec :: ReadPrec ListBackupJobsResponse
readList :: ReadS [ListBackupJobsResponse]
$creadList :: ReadS [ListBackupJobsResponse]
readsPrec :: Int -> ReadS ListBackupJobsResponse
$creadsPrec :: Int -> ReadS ListBackupJobsResponse
Prelude.Read, Int -> ListBackupJobsResponse -> ShowS
[ListBackupJobsResponse] -> ShowS
ListBackupJobsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListBackupJobsResponse] -> ShowS
$cshowList :: [ListBackupJobsResponse] -> ShowS
show :: ListBackupJobsResponse -> String
$cshow :: ListBackupJobsResponse -> String
showsPrec :: Int -> ListBackupJobsResponse -> ShowS
$cshowsPrec :: Int -> ListBackupJobsResponse -> ShowS
Prelude.Show, forall x. Rep ListBackupJobsResponse x -> ListBackupJobsResponse
forall x. ListBackupJobsResponse -> Rep ListBackupJobsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListBackupJobsResponse x -> ListBackupJobsResponse
$cfrom :: forall x. ListBackupJobsResponse -> Rep ListBackupJobsResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListBackupJobsResponse' 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:
--
-- 'backupJobs', 'listBackupJobsResponse_backupJobs' - An array of structures containing metadata about your backup jobs
-- returned in JSON format.
--
-- 'nextToken', 'listBackupJobsResponse_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.
--
-- 'httpStatus', 'listBackupJobsResponse_httpStatus' - The response's http status code.
newListBackupJobsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListBackupJobsResponse
newListBackupJobsResponse :: Int -> ListBackupJobsResponse
newListBackupJobsResponse Int
pHttpStatus_ =
  ListBackupJobsResponse'
    { $sel:backupJobs:ListBackupJobsResponse' :: Maybe [BackupJob]
backupJobs =
        forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListBackupJobsResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ListBackupJobsResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | An array of structures containing metadata about your backup jobs
-- returned in JSON format.
listBackupJobsResponse_backupJobs :: Lens.Lens' ListBackupJobsResponse (Prelude.Maybe [BackupJob])
listBackupJobsResponse_backupJobs :: Lens' ListBackupJobsResponse (Maybe [BackupJob])
listBackupJobsResponse_backupJobs = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListBackupJobsResponse' {Maybe [BackupJob]
backupJobs :: Maybe [BackupJob]
$sel:backupJobs:ListBackupJobsResponse' :: ListBackupJobsResponse -> Maybe [BackupJob]
backupJobs} -> Maybe [BackupJob]
backupJobs) (\s :: ListBackupJobsResponse
s@ListBackupJobsResponse' {} Maybe [BackupJob]
a -> ListBackupJobsResponse
s {$sel:backupJobs:ListBackupJobsResponse' :: Maybe [BackupJob]
backupJobs = Maybe [BackupJob]
a} :: ListBackupJobsResponse) 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 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.
listBackupJobsResponse_nextToken :: Lens.Lens' ListBackupJobsResponse (Prelude.Maybe Prelude.Text)
listBackupJobsResponse_nextToken :: Lens' ListBackupJobsResponse (Maybe Text)
listBackupJobsResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListBackupJobsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListBackupJobsResponse' :: ListBackupJobsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListBackupJobsResponse
s@ListBackupJobsResponse' {} Maybe Text
a -> ListBackupJobsResponse
s {$sel:nextToken:ListBackupJobsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListBackupJobsResponse)

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

instance Prelude.NFData ListBackupJobsResponse where
  rnf :: ListBackupJobsResponse -> ()
rnf ListBackupJobsResponse' {Int
Maybe [BackupJob]
Maybe Text
httpStatus :: Int
nextToken :: Maybe Text
backupJobs :: Maybe [BackupJob]
$sel:httpStatus:ListBackupJobsResponse' :: ListBackupJobsResponse -> Int
$sel:nextToken:ListBackupJobsResponse' :: ListBackupJobsResponse -> Maybe Text
$sel:backupJobs:ListBackupJobsResponse' :: ListBackupJobsResponse -> Maybe [BackupJob]
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe [BackupJob]
backupJobs
      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 Int
httpStatus