{-# 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
, dpaVerbose
, dpaAcceptLanguage
, dpaProvisioningArtifactId
, dpaProductId
, describeProvisioningArtifactResponse
, DescribeProvisioningArtifactResponse
, dpaprsStatus
, dpaprsInfo
, dpaprsProvisioningArtifactDetail
, dpaprsResponseStatus
) 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'
{ _dpaVerbose :: !(Maybe Bool)
, _dpaAcceptLanguage :: !(Maybe Text)
, _dpaProvisioningArtifactId :: !Text
, _dpaProductId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeProvisioningArtifact
:: Text
-> Text
-> DescribeProvisioningArtifact
describeProvisioningArtifact pProvisioningArtifactId_ pProductId_ =
DescribeProvisioningArtifact'
{ _dpaVerbose = Nothing
, _dpaAcceptLanguage = Nothing
, _dpaProvisioningArtifactId = pProvisioningArtifactId_
, _dpaProductId = pProductId_
}
dpaVerbose :: Lens' DescribeProvisioningArtifact (Maybe Bool)
dpaVerbose = lens _dpaVerbose (\ s a -> s{_dpaVerbose = a})
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 where
instance NFData DescribeProvisioningArtifact where
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
[("Verbose" .=) <$> _dpaVerbose,
("AcceptLanguage" .=) <$> _dpaAcceptLanguage,
Just
("ProvisioningArtifactId" .=
_dpaProvisioningArtifactId),
Just ("ProductId" .= _dpaProductId)])
instance ToPath DescribeProvisioningArtifact where
toPath = const "/"
instance ToQuery DescribeProvisioningArtifact where
toQuery = const mempty
data DescribeProvisioningArtifactResponse = DescribeProvisioningArtifactResponse'
{ _dpaprsStatus :: !(Maybe RequestStatus)
, _dpaprsInfo :: !(Maybe (Map Text Text))
, _dpaprsProvisioningArtifactDetail :: !(Maybe ProvisioningArtifactDetail)
, _dpaprsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeProvisioningArtifactResponse
:: Int
-> DescribeProvisioningArtifactResponse
describeProvisioningArtifactResponse pResponseStatus_ =
DescribeProvisioningArtifactResponse'
{ _dpaprsStatus = Nothing
, _dpaprsInfo = Nothing
, _dpaprsProvisioningArtifactDetail = Nothing
, _dpaprsResponseStatus = pResponseStatus_
}
dpaprsStatus :: Lens' DescribeProvisioningArtifactResponse (Maybe RequestStatus)
dpaprsStatus = lens _dpaprsStatus (\ s a -> s{_dpaprsStatus = a})
dpaprsInfo :: Lens' DescribeProvisioningArtifactResponse (HashMap Text Text)
dpaprsInfo = lens _dpaprsInfo (\ s a -> s{_dpaprsInfo = a}) . _Default . _Map
dpaprsProvisioningArtifactDetail :: Lens' DescribeProvisioningArtifactResponse (Maybe ProvisioningArtifactDetail)
dpaprsProvisioningArtifactDetail = lens _dpaprsProvisioningArtifactDetail (\ s a -> s{_dpaprsProvisioningArtifactDetail = a})
dpaprsResponseStatus :: Lens' DescribeProvisioningArtifactResponse Int
dpaprsResponseStatus = lens _dpaprsResponseStatus (\ s a -> s{_dpaprsResponseStatus = a})
instance NFData DescribeProvisioningArtifactResponse
where