{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.Route53.GetHealthCheck
(
getHealthCheck
, GetHealthCheck
, ghcHealthCheckId
, getHealthCheckResponse
, GetHealthCheckResponse
, ghcrsResponseStatus
, ghcrsHealthCheck
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.Route53.Types
import Network.AWS.Route53.Types.Product
newtype GetHealthCheck = GetHealthCheck'
{ _ghcHealthCheckId :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getHealthCheck
:: Text
-> GetHealthCheck
getHealthCheck pHealthCheckId_ =
GetHealthCheck' {_ghcHealthCheckId = pHealthCheckId_}
ghcHealthCheckId :: Lens' GetHealthCheck Text
ghcHealthCheckId = lens _ghcHealthCheckId (\ s a -> s{_ghcHealthCheckId = a})
instance AWSRequest GetHealthCheck where
type Rs GetHealthCheck = GetHealthCheckResponse
request = get route53
response
= receiveXML
(\ s h x ->
GetHealthCheckResponse' <$>
(pure (fromEnum s)) <*> (x .@ "HealthCheck"))
instance Hashable GetHealthCheck where
instance NFData GetHealthCheck where
instance ToHeaders GetHealthCheck where
toHeaders = const mempty
instance ToPath GetHealthCheck where
toPath GetHealthCheck'{..}
= mconcat
["/2013-04-01/healthcheck/", toBS _ghcHealthCheckId]
instance ToQuery GetHealthCheck where
toQuery = const mempty
data GetHealthCheckResponse = GetHealthCheckResponse'
{ _ghcrsResponseStatus :: !Int
, _ghcrsHealthCheck :: !HealthCheck
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getHealthCheckResponse
:: Int
-> HealthCheck
-> GetHealthCheckResponse
getHealthCheckResponse pResponseStatus_ pHealthCheck_ =
GetHealthCheckResponse'
{_ghcrsResponseStatus = pResponseStatus_, _ghcrsHealthCheck = pHealthCheck_}
ghcrsResponseStatus :: Lens' GetHealthCheckResponse Int
ghcrsResponseStatus = lens _ghcrsResponseStatus (\ s a -> s{_ghcrsResponseStatus = a})
ghcrsHealthCheck :: Lens' GetHealthCheckResponse HealthCheck
ghcrsHealthCheck = lens _ghcrsHealthCheck (\ s a -> s{_ghcrsHealthCheck = a})
instance NFData GetHealthCheckResponse where