{-# 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.ServiceCatalog.DescribeCopyProductStatus
(
describeCopyProductStatus
, DescribeCopyProductStatus
, dcpsAcceptLanguage
, dcpsCopyProductToken
, describeCopyProductStatusResponse
, DescribeCopyProductStatusResponse
, dcpsrsTargetProductId
, dcpsrsCopyProductStatus
, dcpsrsStatusDetail
, dcpsrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.ServiceCatalog.Types
import Network.AWS.ServiceCatalog.Types.Product
data DescribeCopyProductStatus = DescribeCopyProductStatus'
{ _dcpsAcceptLanguage :: !(Maybe Text)
, _dcpsCopyProductToken :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeCopyProductStatus
:: Text
-> DescribeCopyProductStatus
describeCopyProductStatus pCopyProductToken_ =
DescribeCopyProductStatus'
{_dcpsAcceptLanguage = Nothing, _dcpsCopyProductToken = pCopyProductToken_}
dcpsAcceptLanguage :: Lens' DescribeCopyProductStatus (Maybe Text)
dcpsAcceptLanguage = lens _dcpsAcceptLanguage (\ s a -> s{_dcpsAcceptLanguage = a})
dcpsCopyProductToken :: Lens' DescribeCopyProductStatus Text
dcpsCopyProductToken = lens _dcpsCopyProductToken (\ s a -> s{_dcpsCopyProductToken = a})
instance AWSRequest DescribeCopyProductStatus where
type Rs DescribeCopyProductStatus =
DescribeCopyProductStatusResponse
request = postJSON serviceCatalog
response
= receiveJSON
(\ s h x ->
DescribeCopyProductStatusResponse' <$>
(x .?> "TargetProductId") <*>
(x .?> "CopyProductStatus")
<*> (x .?> "StatusDetail")
<*> (pure (fromEnum s)))
instance Hashable DescribeCopyProductStatus where
instance NFData DescribeCopyProductStatus where
instance ToHeaders DescribeCopyProductStatus where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWS242ServiceCatalogService.DescribeCopyProductStatus"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeCopyProductStatus where
toJSON DescribeCopyProductStatus'{..}
= object
(catMaybes
[("AcceptLanguage" .=) <$> _dcpsAcceptLanguage,
Just ("CopyProductToken" .= _dcpsCopyProductToken)])
instance ToPath DescribeCopyProductStatus where
toPath = const "/"
instance ToQuery DescribeCopyProductStatus where
toQuery = const mempty
data DescribeCopyProductStatusResponse = DescribeCopyProductStatusResponse'
{ _dcpsrsTargetProductId :: !(Maybe Text)
, _dcpsrsCopyProductStatus :: !(Maybe CopyProductStatus)
, _dcpsrsStatusDetail :: !(Maybe Text)
, _dcpsrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeCopyProductStatusResponse
:: Int
-> DescribeCopyProductStatusResponse
describeCopyProductStatusResponse pResponseStatus_ =
DescribeCopyProductStatusResponse'
{ _dcpsrsTargetProductId = Nothing
, _dcpsrsCopyProductStatus = Nothing
, _dcpsrsStatusDetail = Nothing
, _dcpsrsResponseStatus = pResponseStatus_
}
dcpsrsTargetProductId :: Lens' DescribeCopyProductStatusResponse (Maybe Text)
dcpsrsTargetProductId = lens _dcpsrsTargetProductId (\ s a -> s{_dcpsrsTargetProductId = a})
dcpsrsCopyProductStatus :: Lens' DescribeCopyProductStatusResponse (Maybe CopyProductStatus)
dcpsrsCopyProductStatus = lens _dcpsrsCopyProductStatus (\ s a -> s{_dcpsrsCopyProductStatus = a})
dcpsrsStatusDetail :: Lens' DescribeCopyProductStatusResponse (Maybe Text)
dcpsrsStatusDetail = lens _dcpsrsStatusDetail (\ s a -> s{_dcpsrsStatusDetail = a})
dcpsrsResponseStatus :: Lens' DescribeCopyProductStatusResponse Int
dcpsrsResponseStatus = lens _dcpsrsResponseStatus (\ s a -> s{_dcpsrsResponseStatus = a})
instance NFData DescribeCopyProductStatusResponse
where