{-# 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.Discovery.DescribeContinuousExports
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Lists exports as specified by ID. All continuous exports associated with
-- your user account can be listed if you call @DescribeContinuousExports@
-- as is without passing any parameters.
--
-- This operation returns paginated results.
module Amazonka.Discovery.DescribeContinuousExports
  ( -- * Creating a Request
    DescribeContinuousExports (..),
    newDescribeContinuousExports,

    -- * Request Lenses
    describeContinuousExports_exportIds,
    describeContinuousExports_maxResults,
    describeContinuousExports_nextToken,

    -- * Destructuring the Response
    DescribeContinuousExportsResponse (..),
    newDescribeContinuousExportsResponse,

    -- * Response Lenses
    describeContinuousExportsResponse_descriptions,
    describeContinuousExportsResponse_nextToken,
    describeContinuousExportsResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Discovery.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newDescribeContinuousExports' smart constructor.
data DescribeContinuousExports = DescribeContinuousExports'
  { -- | The unique IDs assigned to the exports.
    DescribeContinuousExports -> Maybe [Text]
exportIds :: Prelude.Maybe [Prelude.Text],
    -- | A number between 1 and 100 specifying the maximum number of continuous
    -- export descriptions returned.
    DescribeContinuousExports -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | The token from the previous call to @DescribeExportTasks@.
    DescribeContinuousExports -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text
  }
  deriving (DescribeContinuousExports -> DescribeContinuousExports -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeContinuousExports -> DescribeContinuousExports -> Bool
$c/= :: DescribeContinuousExports -> DescribeContinuousExports -> Bool
== :: DescribeContinuousExports -> DescribeContinuousExports -> Bool
$c== :: DescribeContinuousExports -> DescribeContinuousExports -> Bool
Prelude.Eq, ReadPrec [DescribeContinuousExports]
ReadPrec DescribeContinuousExports
Int -> ReadS DescribeContinuousExports
ReadS [DescribeContinuousExports]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeContinuousExports]
$creadListPrec :: ReadPrec [DescribeContinuousExports]
readPrec :: ReadPrec DescribeContinuousExports
$creadPrec :: ReadPrec DescribeContinuousExports
readList :: ReadS [DescribeContinuousExports]
$creadList :: ReadS [DescribeContinuousExports]
readsPrec :: Int -> ReadS DescribeContinuousExports
$creadsPrec :: Int -> ReadS DescribeContinuousExports
Prelude.Read, Int -> DescribeContinuousExports -> ShowS
[DescribeContinuousExports] -> ShowS
DescribeContinuousExports -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeContinuousExports] -> ShowS
$cshowList :: [DescribeContinuousExports] -> ShowS
show :: DescribeContinuousExports -> String
$cshow :: DescribeContinuousExports -> String
showsPrec :: Int -> DescribeContinuousExports -> ShowS
$cshowsPrec :: Int -> DescribeContinuousExports -> ShowS
Prelude.Show, forall x.
Rep DescribeContinuousExports x -> DescribeContinuousExports
forall x.
DescribeContinuousExports -> Rep DescribeContinuousExports x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeContinuousExports x -> DescribeContinuousExports
$cfrom :: forall x.
DescribeContinuousExports -> Rep DescribeContinuousExports x
Prelude.Generic)

-- |
-- Create a value of 'DescribeContinuousExports' 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:
--
-- 'exportIds', 'describeContinuousExports_exportIds' - The unique IDs assigned to the exports.
--
-- 'maxResults', 'describeContinuousExports_maxResults' - A number between 1 and 100 specifying the maximum number of continuous
-- export descriptions returned.
--
-- 'nextToken', 'describeContinuousExports_nextToken' - The token from the previous call to @DescribeExportTasks@.
newDescribeContinuousExports ::
  DescribeContinuousExports
newDescribeContinuousExports :: DescribeContinuousExports
newDescribeContinuousExports =
  DescribeContinuousExports'
    { $sel:exportIds:DescribeContinuousExports' :: Maybe [Text]
exportIds =
        forall a. Maybe a
Prelude.Nothing,
      $sel:maxResults:DescribeContinuousExports' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:DescribeContinuousExports' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing
    }

-- | The unique IDs assigned to the exports.
describeContinuousExports_exportIds :: Lens.Lens' DescribeContinuousExports (Prelude.Maybe [Prelude.Text])
describeContinuousExports_exportIds :: Lens' DescribeContinuousExports (Maybe [Text])
describeContinuousExports_exportIds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeContinuousExports' {Maybe [Text]
exportIds :: Maybe [Text]
$sel:exportIds:DescribeContinuousExports' :: DescribeContinuousExports -> Maybe [Text]
exportIds} -> Maybe [Text]
exportIds) (\s :: DescribeContinuousExports
s@DescribeContinuousExports' {} Maybe [Text]
a -> DescribeContinuousExports
s {$sel:exportIds:DescribeContinuousExports' :: Maybe [Text]
exportIds = Maybe [Text]
a} :: DescribeContinuousExports) 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

-- | A number between 1 and 100 specifying the maximum number of continuous
-- export descriptions returned.
describeContinuousExports_maxResults :: Lens.Lens' DescribeContinuousExports (Prelude.Maybe Prelude.Natural)
describeContinuousExports_maxResults :: Lens' DescribeContinuousExports (Maybe Natural)
describeContinuousExports_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeContinuousExports' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:DescribeContinuousExports' :: DescribeContinuousExports -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: DescribeContinuousExports
s@DescribeContinuousExports' {} Maybe Natural
a -> DescribeContinuousExports
s {$sel:maxResults:DescribeContinuousExports' :: Maybe Natural
maxResults = Maybe Natural
a} :: DescribeContinuousExports)

-- | The token from the previous call to @DescribeExportTasks@.
describeContinuousExports_nextToken :: Lens.Lens' DescribeContinuousExports (Prelude.Maybe Prelude.Text)
describeContinuousExports_nextToken :: Lens' DescribeContinuousExports (Maybe Text)
describeContinuousExports_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeContinuousExports' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeContinuousExports' :: DescribeContinuousExports -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeContinuousExports
s@DescribeContinuousExports' {} Maybe Text
a -> DescribeContinuousExports
s {$sel:nextToken:DescribeContinuousExports' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeContinuousExports)

instance Core.AWSPager DescribeContinuousExports where
  page :: DescribeContinuousExports
-> AWSResponse DescribeContinuousExports
-> Maybe DescribeContinuousExports
page DescribeContinuousExports
rq AWSResponse DescribeContinuousExports
rs
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse DescribeContinuousExports
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeContinuousExportsResponse (Maybe Text)
describeContinuousExportsResponse_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 DescribeContinuousExports
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens'
  DescribeContinuousExportsResponse
  (Maybe [ContinuousExportDescription])
describeContinuousExportsResponse_descriptions
            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.$ DescribeContinuousExports
rq
          forall a b. a -> (a -> b) -> b
Prelude.& Lens' DescribeContinuousExports (Maybe Text)
describeContinuousExports_nextToken
          forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse DescribeContinuousExports
rs
          forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeContinuousExportsResponse (Maybe Text)
describeContinuousExportsResponse_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 DescribeContinuousExports where
  type
    AWSResponse DescribeContinuousExports =
      DescribeContinuousExportsResponse
  request :: (Service -> Service)
-> DescribeContinuousExports -> Request DescribeContinuousExports
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeContinuousExports
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeContinuousExports)))
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 [ContinuousExportDescription]
-> Maybe Text -> Int -> DescribeContinuousExportsResponse
DescribeContinuousExportsResponse'
            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
"descriptions" 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 DescribeContinuousExports where
  hashWithSalt :: Int -> DescribeContinuousExports -> Int
hashWithSalt Int
_salt DescribeContinuousExports' {Maybe Natural
Maybe [Text]
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
exportIds :: Maybe [Text]
$sel:nextToken:DescribeContinuousExports' :: DescribeContinuousExports -> Maybe Text
$sel:maxResults:DescribeContinuousExports' :: DescribeContinuousExports -> Maybe Natural
$sel:exportIds:DescribeContinuousExports' :: DescribeContinuousExports -> Maybe [Text]
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
exportIds
      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 DescribeContinuousExports where
  rnf :: DescribeContinuousExports -> ()
rnf DescribeContinuousExports' {Maybe Natural
Maybe [Text]
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
exportIds :: Maybe [Text]
$sel:nextToken:DescribeContinuousExports' :: DescribeContinuousExports -> Maybe Text
$sel:maxResults:DescribeContinuousExports' :: DescribeContinuousExports -> Maybe Natural
$sel:exportIds:DescribeContinuousExports' :: DescribeContinuousExports -> Maybe [Text]
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
exportIds
      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 DescribeContinuousExports where
  toHeaders :: DescribeContinuousExports -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"AWSPoseidonService_V2015_11_01.DescribeContinuousExports" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON DescribeContinuousExports where
  toJSON :: DescribeContinuousExports -> Value
toJSON DescribeContinuousExports' {Maybe Natural
Maybe [Text]
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
exportIds :: Maybe [Text]
$sel:nextToken:DescribeContinuousExports' :: DescribeContinuousExports -> Maybe Text
$sel:maxResults:DescribeContinuousExports' :: DescribeContinuousExports -> Maybe Natural
$sel:exportIds:DescribeContinuousExports' :: DescribeContinuousExports -> Maybe [Text]
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"exportIds" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
exportIds,
            (Key
"maxResults" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
maxResults,
            (Key
"nextToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
nextToken
          ]
      )

instance Data.ToPath DescribeContinuousExports where
  toPath :: DescribeContinuousExports -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery DescribeContinuousExports where
  toQuery :: DescribeContinuousExports -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newDescribeContinuousExportsResponse' smart constructor.
data DescribeContinuousExportsResponse = DescribeContinuousExportsResponse'
  { -- | A list of continuous export descriptions.
    DescribeContinuousExportsResponse
-> Maybe [ContinuousExportDescription]
descriptions :: Prelude.Maybe [ContinuousExportDescription],
    -- | The token from the previous call to @DescribeExportTasks@.
    DescribeContinuousExportsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    DescribeContinuousExportsResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeContinuousExportsResponse
-> DescribeContinuousExportsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeContinuousExportsResponse
-> DescribeContinuousExportsResponse -> Bool
$c/= :: DescribeContinuousExportsResponse
-> DescribeContinuousExportsResponse -> Bool
== :: DescribeContinuousExportsResponse
-> DescribeContinuousExportsResponse -> Bool
$c== :: DescribeContinuousExportsResponse
-> DescribeContinuousExportsResponse -> Bool
Prelude.Eq, ReadPrec [DescribeContinuousExportsResponse]
ReadPrec DescribeContinuousExportsResponse
Int -> ReadS DescribeContinuousExportsResponse
ReadS [DescribeContinuousExportsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeContinuousExportsResponse]
$creadListPrec :: ReadPrec [DescribeContinuousExportsResponse]
readPrec :: ReadPrec DescribeContinuousExportsResponse
$creadPrec :: ReadPrec DescribeContinuousExportsResponse
readList :: ReadS [DescribeContinuousExportsResponse]
$creadList :: ReadS [DescribeContinuousExportsResponse]
readsPrec :: Int -> ReadS DescribeContinuousExportsResponse
$creadsPrec :: Int -> ReadS DescribeContinuousExportsResponse
Prelude.Read, Int -> DescribeContinuousExportsResponse -> ShowS
[DescribeContinuousExportsResponse] -> ShowS
DescribeContinuousExportsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeContinuousExportsResponse] -> ShowS
$cshowList :: [DescribeContinuousExportsResponse] -> ShowS
show :: DescribeContinuousExportsResponse -> String
$cshow :: DescribeContinuousExportsResponse -> String
showsPrec :: Int -> DescribeContinuousExportsResponse -> ShowS
$cshowsPrec :: Int -> DescribeContinuousExportsResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeContinuousExportsResponse x
-> DescribeContinuousExportsResponse
forall x.
DescribeContinuousExportsResponse
-> Rep DescribeContinuousExportsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeContinuousExportsResponse x
-> DescribeContinuousExportsResponse
$cfrom :: forall x.
DescribeContinuousExportsResponse
-> Rep DescribeContinuousExportsResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeContinuousExportsResponse' 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:
--
-- 'descriptions', 'describeContinuousExportsResponse_descriptions' - A list of continuous export descriptions.
--
-- 'nextToken', 'describeContinuousExportsResponse_nextToken' - The token from the previous call to @DescribeExportTasks@.
--
-- 'httpStatus', 'describeContinuousExportsResponse_httpStatus' - The response's http status code.
newDescribeContinuousExportsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeContinuousExportsResponse
newDescribeContinuousExportsResponse :: Int -> DescribeContinuousExportsResponse
newDescribeContinuousExportsResponse Int
pHttpStatus_ =
  DescribeContinuousExportsResponse'
    { $sel:descriptions:DescribeContinuousExportsResponse' :: Maybe [ContinuousExportDescription]
descriptions =
        forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:DescribeContinuousExportsResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeContinuousExportsResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | A list of continuous export descriptions.
describeContinuousExportsResponse_descriptions :: Lens.Lens' DescribeContinuousExportsResponse (Prelude.Maybe [ContinuousExportDescription])
describeContinuousExportsResponse_descriptions :: Lens'
  DescribeContinuousExportsResponse
  (Maybe [ContinuousExportDescription])
describeContinuousExportsResponse_descriptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeContinuousExportsResponse' {Maybe [ContinuousExportDescription]
descriptions :: Maybe [ContinuousExportDescription]
$sel:descriptions:DescribeContinuousExportsResponse' :: DescribeContinuousExportsResponse
-> Maybe [ContinuousExportDescription]
descriptions} -> Maybe [ContinuousExportDescription]
descriptions) (\s :: DescribeContinuousExportsResponse
s@DescribeContinuousExportsResponse' {} Maybe [ContinuousExportDescription]
a -> DescribeContinuousExportsResponse
s {$sel:descriptions:DescribeContinuousExportsResponse' :: Maybe [ContinuousExportDescription]
descriptions = Maybe [ContinuousExportDescription]
a} :: DescribeContinuousExportsResponse) 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 token from the previous call to @DescribeExportTasks@.
describeContinuousExportsResponse_nextToken :: Lens.Lens' DescribeContinuousExportsResponse (Prelude.Maybe Prelude.Text)
describeContinuousExportsResponse_nextToken :: Lens' DescribeContinuousExportsResponse (Maybe Text)
describeContinuousExportsResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeContinuousExportsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeContinuousExportsResponse' :: DescribeContinuousExportsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeContinuousExportsResponse
s@DescribeContinuousExportsResponse' {} Maybe Text
a -> DescribeContinuousExportsResponse
s {$sel:nextToken:DescribeContinuousExportsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeContinuousExportsResponse)

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

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