{-# 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.Route53RecoveryControlConfig.ListAssociatedRoute53HealthChecks
-- 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 an array of all Amazon Route 53 health checks associated with a
-- specific routing control.
--
-- This operation returns paginated results.
module Amazonka.Route53RecoveryControlConfig.ListAssociatedRoute53HealthChecks
  ( -- * Creating a Request
    ListAssociatedRoute53HealthChecks (..),
    newListAssociatedRoute53HealthChecks,

    -- * Request Lenses
    listAssociatedRoute53HealthChecks_maxResults,
    listAssociatedRoute53HealthChecks_nextToken,
    listAssociatedRoute53HealthChecks_routingControlArn,

    -- * Destructuring the Response
    ListAssociatedRoute53HealthChecksResponse (..),
    newListAssociatedRoute53HealthChecksResponse,

    -- * Response Lenses
    listAssociatedRoute53HealthChecksResponse_healthCheckIds,
    listAssociatedRoute53HealthChecksResponse_nextToken,
    listAssociatedRoute53HealthChecksResponse_httpStatus,
  )
where

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

-- | /See:/ 'newListAssociatedRoute53HealthChecks' smart constructor.
data ListAssociatedRoute53HealthChecks = ListAssociatedRoute53HealthChecks'
  { -- | The number of objects that you want to return with this call.
    ListAssociatedRoute53HealthChecks -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | The token that identifies which batch of results you want to see.
    ListAssociatedRoute53HealthChecks -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the routing control.
    ListAssociatedRoute53HealthChecks -> Text
routingControlArn :: Prelude.Text
  }
  deriving (ListAssociatedRoute53HealthChecks
-> ListAssociatedRoute53HealthChecks -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListAssociatedRoute53HealthChecks
-> ListAssociatedRoute53HealthChecks -> Bool
$c/= :: ListAssociatedRoute53HealthChecks
-> ListAssociatedRoute53HealthChecks -> Bool
== :: ListAssociatedRoute53HealthChecks
-> ListAssociatedRoute53HealthChecks -> Bool
$c== :: ListAssociatedRoute53HealthChecks
-> ListAssociatedRoute53HealthChecks -> Bool
Prelude.Eq, ReadPrec [ListAssociatedRoute53HealthChecks]
ReadPrec ListAssociatedRoute53HealthChecks
Int -> ReadS ListAssociatedRoute53HealthChecks
ReadS [ListAssociatedRoute53HealthChecks]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListAssociatedRoute53HealthChecks]
$creadListPrec :: ReadPrec [ListAssociatedRoute53HealthChecks]
readPrec :: ReadPrec ListAssociatedRoute53HealthChecks
$creadPrec :: ReadPrec ListAssociatedRoute53HealthChecks
readList :: ReadS [ListAssociatedRoute53HealthChecks]
$creadList :: ReadS [ListAssociatedRoute53HealthChecks]
readsPrec :: Int -> ReadS ListAssociatedRoute53HealthChecks
$creadsPrec :: Int -> ReadS ListAssociatedRoute53HealthChecks
Prelude.Read, Int -> ListAssociatedRoute53HealthChecks -> ShowS
[ListAssociatedRoute53HealthChecks] -> ShowS
ListAssociatedRoute53HealthChecks -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListAssociatedRoute53HealthChecks] -> ShowS
$cshowList :: [ListAssociatedRoute53HealthChecks] -> ShowS
show :: ListAssociatedRoute53HealthChecks -> String
$cshow :: ListAssociatedRoute53HealthChecks -> String
showsPrec :: Int -> ListAssociatedRoute53HealthChecks -> ShowS
$cshowsPrec :: Int -> ListAssociatedRoute53HealthChecks -> ShowS
Prelude.Show, forall x.
Rep ListAssociatedRoute53HealthChecks x
-> ListAssociatedRoute53HealthChecks
forall x.
ListAssociatedRoute53HealthChecks
-> Rep ListAssociatedRoute53HealthChecks x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListAssociatedRoute53HealthChecks x
-> ListAssociatedRoute53HealthChecks
$cfrom :: forall x.
ListAssociatedRoute53HealthChecks
-> Rep ListAssociatedRoute53HealthChecks x
Prelude.Generic)

-- |
-- Create a value of 'ListAssociatedRoute53HealthChecks' 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:
--
-- 'maxResults', 'listAssociatedRoute53HealthChecks_maxResults' - The number of objects that you want to return with this call.
--
-- 'nextToken', 'listAssociatedRoute53HealthChecks_nextToken' - The token that identifies which batch of results you want to see.
--
-- 'routingControlArn', 'listAssociatedRoute53HealthChecks_routingControlArn' - The Amazon Resource Name (ARN) of the routing control.
newListAssociatedRoute53HealthChecks ::
  -- | 'routingControlArn'
  Prelude.Text ->
  ListAssociatedRoute53HealthChecks
newListAssociatedRoute53HealthChecks :: Text -> ListAssociatedRoute53HealthChecks
newListAssociatedRoute53HealthChecks
  Text
pRoutingControlArn_ =
    ListAssociatedRoute53HealthChecks'
      { $sel:maxResults:ListAssociatedRoute53HealthChecks' :: Maybe Natural
maxResults =
          forall a. Maybe a
Prelude.Nothing,
        $sel:nextToken:ListAssociatedRoute53HealthChecks' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
        $sel:routingControlArn:ListAssociatedRoute53HealthChecks' :: Text
routingControlArn = Text
pRoutingControlArn_
      }

-- | The number of objects that you want to return with this call.
listAssociatedRoute53HealthChecks_maxResults :: Lens.Lens' ListAssociatedRoute53HealthChecks (Prelude.Maybe Prelude.Natural)
listAssociatedRoute53HealthChecks_maxResults :: Lens' ListAssociatedRoute53HealthChecks (Maybe Natural)
listAssociatedRoute53HealthChecks_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAssociatedRoute53HealthChecks' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListAssociatedRoute53HealthChecks' :: ListAssociatedRoute53HealthChecks -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListAssociatedRoute53HealthChecks
s@ListAssociatedRoute53HealthChecks' {} Maybe Natural
a -> ListAssociatedRoute53HealthChecks
s {$sel:maxResults:ListAssociatedRoute53HealthChecks' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListAssociatedRoute53HealthChecks)

-- | The token that identifies which batch of results you want to see.
listAssociatedRoute53HealthChecks_nextToken :: Lens.Lens' ListAssociatedRoute53HealthChecks (Prelude.Maybe Prelude.Text)
listAssociatedRoute53HealthChecks_nextToken :: Lens' ListAssociatedRoute53HealthChecks (Maybe Text)
listAssociatedRoute53HealthChecks_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAssociatedRoute53HealthChecks' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListAssociatedRoute53HealthChecks' :: ListAssociatedRoute53HealthChecks -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListAssociatedRoute53HealthChecks
s@ListAssociatedRoute53HealthChecks' {} Maybe Text
a -> ListAssociatedRoute53HealthChecks
s {$sel:nextToken:ListAssociatedRoute53HealthChecks' :: Maybe Text
nextToken = Maybe Text
a} :: ListAssociatedRoute53HealthChecks)

-- | The Amazon Resource Name (ARN) of the routing control.
listAssociatedRoute53HealthChecks_routingControlArn :: Lens.Lens' ListAssociatedRoute53HealthChecks Prelude.Text
listAssociatedRoute53HealthChecks_routingControlArn :: Lens' ListAssociatedRoute53HealthChecks Text
listAssociatedRoute53HealthChecks_routingControlArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAssociatedRoute53HealthChecks' {Text
routingControlArn :: Text
$sel:routingControlArn:ListAssociatedRoute53HealthChecks' :: ListAssociatedRoute53HealthChecks -> Text
routingControlArn} -> Text
routingControlArn) (\s :: ListAssociatedRoute53HealthChecks
s@ListAssociatedRoute53HealthChecks' {} Text
a -> ListAssociatedRoute53HealthChecks
s {$sel:routingControlArn:ListAssociatedRoute53HealthChecks' :: Text
routingControlArn = Text
a} :: ListAssociatedRoute53HealthChecks)

instance
  Core.AWSPager
    ListAssociatedRoute53HealthChecks
  where
  page :: ListAssociatedRoute53HealthChecks
-> AWSResponse ListAssociatedRoute53HealthChecks
-> Maybe ListAssociatedRoute53HealthChecks
page ListAssociatedRoute53HealthChecks
rq AWSResponse ListAssociatedRoute53HealthChecks
rs
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListAssociatedRoute53HealthChecks
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListAssociatedRoute53HealthChecksResponse (Maybe Text)
listAssociatedRoute53HealthChecksResponse_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 ListAssociatedRoute53HealthChecks
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListAssociatedRoute53HealthChecksResponse (Maybe [Text])
listAssociatedRoute53HealthChecksResponse_healthCheckIds
            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.$ ListAssociatedRoute53HealthChecks
rq
          forall a b. a -> (a -> b) -> b
Prelude.& Lens' ListAssociatedRoute53HealthChecks (Maybe Text)
listAssociatedRoute53HealthChecks_nextToken
          forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListAssociatedRoute53HealthChecks
rs
          forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListAssociatedRoute53HealthChecksResponse (Maybe Text)
listAssociatedRoute53HealthChecksResponse_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
    ListAssociatedRoute53HealthChecks
  where
  type
    AWSResponse ListAssociatedRoute53HealthChecks =
      ListAssociatedRoute53HealthChecksResponse
  request :: (Service -> Service)
-> ListAssociatedRoute53HealthChecks
-> Request ListAssociatedRoute53HealthChecks
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 ListAssociatedRoute53HealthChecks
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse ListAssociatedRoute53HealthChecks)))
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 Text -> Int -> ListAssociatedRoute53HealthChecksResponse
ListAssociatedRoute53HealthChecksResponse'
            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
"HealthCheckIds" 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
    ListAssociatedRoute53HealthChecks
  where
  hashWithSalt :: Int -> ListAssociatedRoute53HealthChecks -> Int
hashWithSalt
    Int
_salt
    ListAssociatedRoute53HealthChecks' {Maybe Natural
Maybe Text
Text
routingControlArn :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:routingControlArn:ListAssociatedRoute53HealthChecks' :: ListAssociatedRoute53HealthChecks -> Text
$sel:nextToken:ListAssociatedRoute53HealthChecks' :: ListAssociatedRoute53HealthChecks -> Maybe Text
$sel:maxResults:ListAssociatedRoute53HealthChecks' :: ListAssociatedRoute53HealthChecks -> Maybe Natural
..} =
      Int
_salt
        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
routingControlArn

instance
  Prelude.NFData
    ListAssociatedRoute53HealthChecks
  where
  rnf :: ListAssociatedRoute53HealthChecks -> ()
rnf ListAssociatedRoute53HealthChecks' {Maybe Natural
Maybe Text
Text
routingControlArn :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:routingControlArn:ListAssociatedRoute53HealthChecks' :: ListAssociatedRoute53HealthChecks -> Text
$sel:nextToken:ListAssociatedRoute53HealthChecks' :: ListAssociatedRoute53HealthChecks -> Maybe Text
$sel:maxResults:ListAssociatedRoute53HealthChecks' :: ListAssociatedRoute53HealthChecks -> Maybe Natural
..} =
    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
routingControlArn

instance
  Data.ToHeaders
    ListAssociatedRoute53HealthChecks
  where
  toHeaders :: ListAssociatedRoute53HealthChecks -> 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
    ListAssociatedRoute53HealthChecks
  where
  toPath :: ListAssociatedRoute53HealthChecks -> ByteString
toPath ListAssociatedRoute53HealthChecks' {Maybe Natural
Maybe Text
Text
routingControlArn :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:routingControlArn:ListAssociatedRoute53HealthChecks' :: ListAssociatedRoute53HealthChecks -> Text
$sel:nextToken:ListAssociatedRoute53HealthChecks' :: ListAssociatedRoute53HealthChecks -> Maybe Text
$sel:maxResults:ListAssociatedRoute53HealthChecks' :: ListAssociatedRoute53HealthChecks -> Maybe Natural
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/routingcontrol/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
routingControlArn,
        ByteString
"/associatedRoute53HealthChecks"
      ]

instance
  Data.ToQuery
    ListAssociatedRoute53HealthChecks
  where
  toQuery :: ListAssociatedRoute53HealthChecks -> QueryString
toQuery ListAssociatedRoute53HealthChecks' {Maybe Natural
Maybe Text
Text
routingControlArn :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:routingControlArn:ListAssociatedRoute53HealthChecks' :: ListAssociatedRoute53HealthChecks -> Text
$sel:nextToken:ListAssociatedRoute53HealthChecks' :: ListAssociatedRoute53HealthChecks -> Maybe Text
$sel:maxResults:ListAssociatedRoute53HealthChecks' :: ListAssociatedRoute53HealthChecks -> Maybe Natural
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ 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:/ 'newListAssociatedRoute53HealthChecksResponse' smart constructor.
data ListAssociatedRoute53HealthChecksResponse = ListAssociatedRoute53HealthChecksResponse'
  { -- | Identifiers for the health checks.
    ListAssociatedRoute53HealthChecksResponse -> Maybe [Text]
healthCheckIds :: Prelude.Maybe [Prelude.Text],
    -- | Next token for listing health checks.
    ListAssociatedRoute53HealthChecksResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    ListAssociatedRoute53HealthChecksResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListAssociatedRoute53HealthChecksResponse
-> ListAssociatedRoute53HealthChecksResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListAssociatedRoute53HealthChecksResponse
-> ListAssociatedRoute53HealthChecksResponse -> Bool
$c/= :: ListAssociatedRoute53HealthChecksResponse
-> ListAssociatedRoute53HealthChecksResponse -> Bool
== :: ListAssociatedRoute53HealthChecksResponse
-> ListAssociatedRoute53HealthChecksResponse -> Bool
$c== :: ListAssociatedRoute53HealthChecksResponse
-> ListAssociatedRoute53HealthChecksResponse -> Bool
Prelude.Eq, ReadPrec [ListAssociatedRoute53HealthChecksResponse]
ReadPrec ListAssociatedRoute53HealthChecksResponse
Int -> ReadS ListAssociatedRoute53HealthChecksResponse
ReadS [ListAssociatedRoute53HealthChecksResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListAssociatedRoute53HealthChecksResponse]
$creadListPrec :: ReadPrec [ListAssociatedRoute53HealthChecksResponse]
readPrec :: ReadPrec ListAssociatedRoute53HealthChecksResponse
$creadPrec :: ReadPrec ListAssociatedRoute53HealthChecksResponse
readList :: ReadS [ListAssociatedRoute53HealthChecksResponse]
$creadList :: ReadS [ListAssociatedRoute53HealthChecksResponse]
readsPrec :: Int -> ReadS ListAssociatedRoute53HealthChecksResponse
$creadsPrec :: Int -> ReadS ListAssociatedRoute53HealthChecksResponse
Prelude.Read, Int -> ListAssociatedRoute53HealthChecksResponse -> ShowS
[ListAssociatedRoute53HealthChecksResponse] -> ShowS
ListAssociatedRoute53HealthChecksResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListAssociatedRoute53HealthChecksResponse] -> ShowS
$cshowList :: [ListAssociatedRoute53HealthChecksResponse] -> ShowS
show :: ListAssociatedRoute53HealthChecksResponse -> String
$cshow :: ListAssociatedRoute53HealthChecksResponse -> String
showsPrec :: Int -> ListAssociatedRoute53HealthChecksResponse -> ShowS
$cshowsPrec :: Int -> ListAssociatedRoute53HealthChecksResponse -> ShowS
Prelude.Show, forall x.
Rep ListAssociatedRoute53HealthChecksResponse x
-> ListAssociatedRoute53HealthChecksResponse
forall x.
ListAssociatedRoute53HealthChecksResponse
-> Rep ListAssociatedRoute53HealthChecksResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListAssociatedRoute53HealthChecksResponse x
-> ListAssociatedRoute53HealthChecksResponse
$cfrom :: forall x.
ListAssociatedRoute53HealthChecksResponse
-> Rep ListAssociatedRoute53HealthChecksResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListAssociatedRoute53HealthChecksResponse' 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:
--
-- 'healthCheckIds', 'listAssociatedRoute53HealthChecksResponse_healthCheckIds' - Identifiers for the health checks.
--
-- 'nextToken', 'listAssociatedRoute53HealthChecksResponse_nextToken' - Next token for listing health checks.
--
-- 'httpStatus', 'listAssociatedRoute53HealthChecksResponse_httpStatus' - The response's http status code.
newListAssociatedRoute53HealthChecksResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListAssociatedRoute53HealthChecksResponse
newListAssociatedRoute53HealthChecksResponse :: Int -> ListAssociatedRoute53HealthChecksResponse
newListAssociatedRoute53HealthChecksResponse
  Int
pHttpStatus_ =
    ListAssociatedRoute53HealthChecksResponse'
      { $sel:healthCheckIds:ListAssociatedRoute53HealthChecksResponse' :: Maybe [Text]
healthCheckIds =
          forall a. Maybe a
Prelude.Nothing,
        $sel:nextToken:ListAssociatedRoute53HealthChecksResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:ListAssociatedRoute53HealthChecksResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | Identifiers for the health checks.
listAssociatedRoute53HealthChecksResponse_healthCheckIds :: Lens.Lens' ListAssociatedRoute53HealthChecksResponse (Prelude.Maybe [Prelude.Text])
listAssociatedRoute53HealthChecksResponse_healthCheckIds :: Lens' ListAssociatedRoute53HealthChecksResponse (Maybe [Text])
listAssociatedRoute53HealthChecksResponse_healthCheckIds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAssociatedRoute53HealthChecksResponse' {Maybe [Text]
healthCheckIds :: Maybe [Text]
$sel:healthCheckIds:ListAssociatedRoute53HealthChecksResponse' :: ListAssociatedRoute53HealthChecksResponse -> Maybe [Text]
healthCheckIds} -> Maybe [Text]
healthCheckIds) (\s :: ListAssociatedRoute53HealthChecksResponse
s@ListAssociatedRoute53HealthChecksResponse' {} Maybe [Text]
a -> ListAssociatedRoute53HealthChecksResponse
s {$sel:healthCheckIds:ListAssociatedRoute53HealthChecksResponse' :: Maybe [Text]
healthCheckIds = Maybe [Text]
a} :: ListAssociatedRoute53HealthChecksResponse) 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

-- | Next token for listing health checks.
listAssociatedRoute53HealthChecksResponse_nextToken :: Lens.Lens' ListAssociatedRoute53HealthChecksResponse (Prelude.Maybe Prelude.Text)
listAssociatedRoute53HealthChecksResponse_nextToken :: Lens' ListAssociatedRoute53HealthChecksResponse (Maybe Text)
listAssociatedRoute53HealthChecksResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAssociatedRoute53HealthChecksResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListAssociatedRoute53HealthChecksResponse' :: ListAssociatedRoute53HealthChecksResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListAssociatedRoute53HealthChecksResponse
s@ListAssociatedRoute53HealthChecksResponse' {} Maybe Text
a -> ListAssociatedRoute53HealthChecksResponse
s {$sel:nextToken:ListAssociatedRoute53HealthChecksResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListAssociatedRoute53HealthChecksResponse)

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

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