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
instance NFData GetHealthCheck
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