{-# 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.Lightsail.DeleteLoadBalancerTLSCertificate
(
deleteLoadBalancerTLSCertificate
, DeleteLoadBalancerTLSCertificate
, dlbtcForce
, dlbtcLoadBalancerName
, dlbtcCertificateName
, deleteLoadBalancerTLSCertificateResponse
, DeleteLoadBalancerTLSCertificateResponse
, dlbtcrsOperations
, dlbtcrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Lightsail.Types
import Network.AWS.Lightsail.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DeleteLoadBalancerTLSCertificate = DeleteLoadBalancerTLSCertificate'
{ _dlbtcForce :: !(Maybe Bool)
, _dlbtcLoadBalancerName :: !Text
, _dlbtcCertificateName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteLoadBalancerTLSCertificate
:: Text
-> Text
-> DeleteLoadBalancerTLSCertificate
deleteLoadBalancerTLSCertificate pLoadBalancerName_ pCertificateName_ =
DeleteLoadBalancerTLSCertificate'
{ _dlbtcForce = Nothing
, _dlbtcLoadBalancerName = pLoadBalancerName_
, _dlbtcCertificateName = pCertificateName_
}
dlbtcForce :: Lens' DeleteLoadBalancerTLSCertificate (Maybe Bool)
dlbtcForce = lens _dlbtcForce (\ s a -> s{_dlbtcForce = a})
dlbtcLoadBalancerName :: Lens' DeleteLoadBalancerTLSCertificate Text
dlbtcLoadBalancerName = lens _dlbtcLoadBalancerName (\ s a -> s{_dlbtcLoadBalancerName = a})
dlbtcCertificateName :: Lens' DeleteLoadBalancerTLSCertificate Text
dlbtcCertificateName = lens _dlbtcCertificateName (\ s a -> s{_dlbtcCertificateName = a})
instance AWSRequest DeleteLoadBalancerTLSCertificate
where
type Rs DeleteLoadBalancerTLSCertificate =
DeleteLoadBalancerTLSCertificateResponse
request = postJSON lightsail
response
= receiveJSON
(\ s h x ->
DeleteLoadBalancerTLSCertificateResponse' <$>
(x .?> "operations" .!@ mempty) <*>
(pure (fromEnum s)))
instance Hashable DeleteLoadBalancerTLSCertificate
where
instance NFData DeleteLoadBalancerTLSCertificate
where
instance ToHeaders DeleteLoadBalancerTLSCertificate
where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("Lightsail_20161128.DeleteLoadBalancerTlsCertificate"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DeleteLoadBalancerTLSCertificate
where
toJSON DeleteLoadBalancerTLSCertificate'{..}
= object
(catMaybes
[("force" .=) <$> _dlbtcForce,
Just ("loadBalancerName" .= _dlbtcLoadBalancerName),
Just ("certificateName" .= _dlbtcCertificateName)])
instance ToPath DeleteLoadBalancerTLSCertificate
where
toPath = const "/"
instance ToQuery DeleteLoadBalancerTLSCertificate
where
toQuery = const mempty
data DeleteLoadBalancerTLSCertificateResponse = DeleteLoadBalancerTLSCertificateResponse'
{ _dlbtcrsOperations :: !(Maybe [Operation])
, _dlbtcrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteLoadBalancerTLSCertificateResponse
:: Int
-> DeleteLoadBalancerTLSCertificateResponse
deleteLoadBalancerTLSCertificateResponse pResponseStatus_ =
DeleteLoadBalancerTLSCertificateResponse'
{_dlbtcrsOperations = Nothing, _dlbtcrsResponseStatus = pResponseStatus_}
dlbtcrsOperations :: Lens' DeleteLoadBalancerTLSCertificateResponse [Operation]
dlbtcrsOperations = lens _dlbtcrsOperations (\ s a -> s{_dlbtcrsOperations = a}) . _Default . _Coerce
dlbtcrsResponseStatus :: Lens' DeleteLoadBalancerTLSCertificateResponse Int
dlbtcrsResponseStatus = lens _dlbtcrsResponseStatus (\ s a -> s{_dlbtcrsResponseStatus = a})
instance NFData
DeleteLoadBalancerTLSCertificateResponse
where