{-# 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.DescribeProvisioningArtifact
(
describeProvisioningArtifact
, DescribeProvisioningArtifact
, dpaAcceptLanguage
, dpaProvisioningArtifactId
, dpaProductId
, describeProvisioningArtifactResponse
, DescribeProvisioningArtifactResponse
, desrsStatus
, desrsInfo
, desrsProvisioningArtifactDetail
, desrsResponseStatus
) 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 DescribeProvisioningArtifact = DescribeProvisioningArtifact'
{ _dpaAcceptLanguage :: !(Maybe Text)
, _dpaProvisioningArtifactId :: !Text
, _dpaProductId :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeProvisioningArtifact
:: Text
-> Text
-> DescribeProvisioningArtifact
describeProvisioningArtifact pProvisioningArtifactId_ pProductId_ =
DescribeProvisioningArtifact'
{ _dpaAcceptLanguage = Nothing
, _dpaProvisioningArtifactId = pProvisioningArtifactId_
, _dpaProductId = pProductId_
}
dpaAcceptLanguage :: Lens' DescribeProvisioningArtifact (Maybe Text)
dpaAcceptLanguage = lens _dpaAcceptLanguage (\ s a -> s{_dpaAcceptLanguage = a});
dpaProvisioningArtifactId :: Lens' DescribeProvisioningArtifact Text
dpaProvisioningArtifactId = lens _dpaProvisioningArtifactId (\ s a -> s{_dpaProvisioningArtifactId = a});
dpaProductId :: Lens' DescribeProvisioningArtifact Text
dpaProductId = lens _dpaProductId (\ s a -> s{_dpaProductId = a});
instance AWSRequest DescribeProvisioningArtifact
where
type Rs DescribeProvisioningArtifact =
DescribeProvisioningArtifactResponse
request = postJSON serviceCatalog
response
= receiveJSON
(\ s h x ->
DescribeProvisioningArtifactResponse' <$>
(x .?> "Status") <*> (x .?> "Info" .!@ mempty) <*>
(x .?> "ProvisioningArtifactDetail")
<*> (pure (fromEnum s)))
instance Hashable DescribeProvisioningArtifact
instance NFData DescribeProvisioningArtifact
instance ToHeaders DescribeProvisioningArtifact where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWS242ServiceCatalogService.DescribeProvisioningArtifact"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeProvisioningArtifact where
toJSON DescribeProvisioningArtifact'{..}
= object
(catMaybes
[("AcceptLanguage" .=) <$> _dpaAcceptLanguage,
Just
("ProvisioningArtifactId" .=
_dpaProvisioningArtifactId),
Just ("ProductId" .= _dpaProductId)])
instance ToPath DescribeProvisioningArtifact where
toPath = const "/"
instance ToQuery DescribeProvisioningArtifact where
toQuery = const mempty
data DescribeProvisioningArtifactResponse = DescribeProvisioningArtifactResponse'
{ _desrsStatus :: !(Maybe RequestStatus)
, _desrsInfo :: !(Maybe (Map Text Text))
, _desrsProvisioningArtifactDetail :: !(Maybe ProvisioningArtifactDetail)
, _desrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeProvisioningArtifactResponse
:: Int
-> DescribeProvisioningArtifactResponse
describeProvisioningArtifactResponse pResponseStatus_ =
DescribeProvisioningArtifactResponse'
{ _desrsStatus = Nothing
, _desrsInfo = Nothing
, _desrsProvisioningArtifactDetail = Nothing
, _desrsResponseStatus = pResponseStatus_
}
desrsStatus :: Lens' DescribeProvisioningArtifactResponse (Maybe RequestStatus)
desrsStatus = lens _desrsStatus (\ s a -> s{_desrsStatus = a});
desrsInfo :: Lens' DescribeProvisioningArtifactResponse (HashMap Text Text)
desrsInfo = lens _desrsInfo (\ s a -> s{_desrsInfo = a}) . _Default . _Map;
desrsProvisioningArtifactDetail :: Lens' DescribeProvisioningArtifactResponse (Maybe ProvisioningArtifactDetail)
desrsProvisioningArtifactDetail = lens _desrsProvisioningArtifactDetail (\ s a -> s{_desrsProvisioningArtifactDetail = a});
desrsResponseStatus :: Lens' DescribeProvisioningArtifactResponse Int
desrsResponseStatus = lens _desrsResponseStatus (\ s a -> s{_desrsResponseStatus = a});
instance NFData DescribeProvisioningArtifactResponse