amazonka-route53-2.0: gen/Amazonka/Route53/GetHealthCheckLastFailureReason.hs
{-# 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.Route53.GetHealthCheckLastFailureReason
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Gets the reason that a specified health check failed most recently.
module Amazonka.Route53.GetHealthCheckLastFailureReason
( -- * Creating a Request
GetHealthCheckLastFailureReason (..),
newGetHealthCheckLastFailureReason,
-- * Request Lenses
getHealthCheckLastFailureReason_healthCheckId,
-- * Destructuring the Response
GetHealthCheckLastFailureReasonResponse (..),
newGetHealthCheckLastFailureReasonResponse,
-- * Response Lenses
getHealthCheckLastFailureReasonResponse_httpStatus,
getHealthCheckLastFailureReasonResponse_healthCheckObservations,
)
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.Route53.Types
-- | A request for the reason that a health check failed most recently.
--
-- /See:/ 'newGetHealthCheckLastFailureReason' smart constructor.
data GetHealthCheckLastFailureReason = GetHealthCheckLastFailureReason'
{ -- | The ID for the health check for which you want the last failure reason.
-- When you created the health check, @CreateHealthCheck@ returned the ID
-- in the response, in the @HealthCheckId@ element.
--
-- If you want to get the last failure reason for a calculated health
-- check, you must use the Amazon Route 53 console or the CloudWatch
-- console. You can\'t use @GetHealthCheckLastFailureReason@ for a
-- calculated health check.
healthCheckId :: Prelude.Text
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'GetHealthCheckLastFailureReason' 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:
--
-- 'healthCheckId', 'getHealthCheckLastFailureReason_healthCheckId' - The ID for the health check for which you want the last failure reason.
-- When you created the health check, @CreateHealthCheck@ returned the ID
-- in the response, in the @HealthCheckId@ element.
--
-- If you want to get the last failure reason for a calculated health
-- check, you must use the Amazon Route 53 console or the CloudWatch
-- console. You can\'t use @GetHealthCheckLastFailureReason@ for a
-- calculated health check.
newGetHealthCheckLastFailureReason ::
-- | 'healthCheckId'
Prelude.Text ->
GetHealthCheckLastFailureReason
newGetHealthCheckLastFailureReason pHealthCheckId_ =
GetHealthCheckLastFailureReason'
{ healthCheckId =
pHealthCheckId_
}
-- | The ID for the health check for which you want the last failure reason.
-- When you created the health check, @CreateHealthCheck@ returned the ID
-- in the response, in the @HealthCheckId@ element.
--
-- If you want to get the last failure reason for a calculated health
-- check, you must use the Amazon Route 53 console or the CloudWatch
-- console. You can\'t use @GetHealthCheckLastFailureReason@ for a
-- calculated health check.
getHealthCheckLastFailureReason_healthCheckId :: Lens.Lens' GetHealthCheckLastFailureReason Prelude.Text
getHealthCheckLastFailureReason_healthCheckId = Lens.lens (\GetHealthCheckLastFailureReason' {healthCheckId} -> healthCheckId) (\s@GetHealthCheckLastFailureReason' {} a -> s {healthCheckId = a} :: GetHealthCheckLastFailureReason)
instance
Core.AWSRequest
GetHealthCheckLastFailureReason
where
type
AWSResponse GetHealthCheckLastFailureReason =
GetHealthCheckLastFailureReasonResponse
request overrides =
Request.get (overrides defaultService)
response =
Response.receiveXML
( \s h x ->
GetHealthCheckLastFailureReasonResponse'
Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
Prelude.<*> ( x
Data..@? "HealthCheckObservations"
Core..!@ Prelude.mempty
Prelude.>>= Data.parseXMLList "HealthCheckObservation"
)
)
instance
Prelude.Hashable
GetHealthCheckLastFailureReason
where
hashWithSalt
_salt
GetHealthCheckLastFailureReason' {..} =
_salt `Prelude.hashWithSalt` healthCheckId
instance
Prelude.NFData
GetHealthCheckLastFailureReason
where
rnf GetHealthCheckLastFailureReason' {..} =
Prelude.rnf healthCheckId
instance
Data.ToHeaders
GetHealthCheckLastFailureReason
where
toHeaders = Prelude.const Prelude.mempty
instance Data.ToPath GetHealthCheckLastFailureReason where
toPath GetHealthCheckLastFailureReason' {..} =
Prelude.mconcat
[ "/2013-04-01/healthcheck/",
Data.toBS healthCheckId,
"/lastfailurereason"
]
instance Data.ToQuery GetHealthCheckLastFailureReason where
toQuery = Prelude.const Prelude.mempty
-- | A complex type that contains the response to a
-- @GetHealthCheckLastFailureReason@ request.
--
-- /See:/ 'newGetHealthCheckLastFailureReasonResponse' smart constructor.
data GetHealthCheckLastFailureReasonResponse = GetHealthCheckLastFailureReasonResponse'
{ -- | The response's http status code.
httpStatus :: Prelude.Int,
-- | A list that contains one @Observation@ element for each Amazon Route 53
-- health checker that is reporting a last failure reason.
healthCheckObservations :: [HealthCheckObservation]
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'GetHealthCheckLastFailureReasonResponse' 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:
--
-- 'httpStatus', 'getHealthCheckLastFailureReasonResponse_httpStatus' - The response's http status code.
--
-- 'healthCheckObservations', 'getHealthCheckLastFailureReasonResponse_healthCheckObservations' - A list that contains one @Observation@ element for each Amazon Route 53
-- health checker that is reporting a last failure reason.
newGetHealthCheckLastFailureReasonResponse ::
-- | 'httpStatus'
Prelude.Int ->
GetHealthCheckLastFailureReasonResponse
newGetHealthCheckLastFailureReasonResponse
pHttpStatus_ =
GetHealthCheckLastFailureReasonResponse'
{ httpStatus =
pHttpStatus_,
healthCheckObservations =
Prelude.mempty
}
-- | The response's http status code.
getHealthCheckLastFailureReasonResponse_httpStatus :: Lens.Lens' GetHealthCheckLastFailureReasonResponse Prelude.Int
getHealthCheckLastFailureReasonResponse_httpStatus = Lens.lens (\GetHealthCheckLastFailureReasonResponse' {httpStatus} -> httpStatus) (\s@GetHealthCheckLastFailureReasonResponse' {} a -> s {httpStatus = a} :: GetHealthCheckLastFailureReasonResponse)
-- | A list that contains one @Observation@ element for each Amazon Route 53
-- health checker that is reporting a last failure reason.
getHealthCheckLastFailureReasonResponse_healthCheckObservations :: Lens.Lens' GetHealthCheckLastFailureReasonResponse [HealthCheckObservation]
getHealthCheckLastFailureReasonResponse_healthCheckObservations = Lens.lens (\GetHealthCheckLastFailureReasonResponse' {healthCheckObservations} -> healthCheckObservations) (\s@GetHealthCheckLastFailureReasonResponse' {} a -> s {healthCheckObservations = a} :: GetHealthCheckLastFailureReasonResponse) Prelude.. Lens.coerced
instance
Prelude.NFData
GetHealthCheckLastFailureReasonResponse
where
rnf GetHealthCheckLastFailureReasonResponse' {..} =
Prelude.rnf httpStatus
`Prelude.seq` Prelude.rnf healthCheckObservations