{-# 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.UpdateProvisionedProduct
(
updateProvisionedProduct
, UpdateProvisionedProduct
, uppProvisionedProductName
, uppProvisioningArtifactId
, uppAcceptLanguage
, uppPathId
, uppProvisioningParameters
, uppProvisionedProductId
, uppProductId
, uppUpdateToken
, updateProvisionedProductResponse
, UpdateProvisionedProductResponse
, upprsRecordDetail
, upprsResponseStatus
) 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 UpdateProvisionedProduct = UpdateProvisionedProduct'
{ _uppProvisionedProductName :: !(Maybe Text)
, _uppProvisioningArtifactId :: !(Maybe Text)
, _uppAcceptLanguage :: !(Maybe Text)
, _uppPathId :: !(Maybe Text)
, _uppProvisioningParameters :: !(Maybe [UpdateProvisioningParameter])
, _uppProvisionedProductId :: !(Maybe Text)
, _uppProductId :: !(Maybe Text)
, _uppUpdateToken :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateProvisionedProduct
:: Text
-> UpdateProvisionedProduct
updateProvisionedProduct pUpdateToken_ =
UpdateProvisionedProduct'
{ _uppProvisionedProductName = Nothing
, _uppProvisioningArtifactId = Nothing
, _uppAcceptLanguage = Nothing
, _uppPathId = Nothing
, _uppProvisioningParameters = Nothing
, _uppProvisionedProductId = Nothing
, _uppProductId = Nothing
, _uppUpdateToken = pUpdateToken_
}
uppProvisionedProductName :: Lens' UpdateProvisionedProduct (Maybe Text)
uppProvisionedProductName = lens _uppProvisionedProductName (\ s a -> s{_uppProvisionedProductName = a})
uppProvisioningArtifactId :: Lens' UpdateProvisionedProduct (Maybe Text)
uppProvisioningArtifactId = lens _uppProvisioningArtifactId (\ s a -> s{_uppProvisioningArtifactId = a})
uppAcceptLanguage :: Lens' UpdateProvisionedProduct (Maybe Text)
uppAcceptLanguage = lens _uppAcceptLanguage (\ s a -> s{_uppAcceptLanguage = a})
uppPathId :: Lens' UpdateProvisionedProduct (Maybe Text)
uppPathId = lens _uppPathId (\ s a -> s{_uppPathId = a})
uppProvisioningParameters :: Lens' UpdateProvisionedProduct [UpdateProvisioningParameter]
uppProvisioningParameters = lens _uppProvisioningParameters (\ s a -> s{_uppProvisioningParameters = a}) . _Default . _Coerce
uppProvisionedProductId :: Lens' UpdateProvisionedProduct (Maybe Text)
uppProvisionedProductId = lens _uppProvisionedProductId (\ s a -> s{_uppProvisionedProductId = a})
uppProductId :: Lens' UpdateProvisionedProduct (Maybe Text)
uppProductId = lens _uppProductId (\ s a -> s{_uppProductId = a})
uppUpdateToken :: Lens' UpdateProvisionedProduct Text
uppUpdateToken = lens _uppUpdateToken (\ s a -> s{_uppUpdateToken = a})
instance AWSRequest UpdateProvisionedProduct where
type Rs UpdateProvisionedProduct =
UpdateProvisionedProductResponse
request = postJSON serviceCatalog
response
= receiveJSON
(\ s h x ->
UpdateProvisionedProductResponse' <$>
(x .?> "RecordDetail") <*> (pure (fromEnum s)))
instance Hashable UpdateProvisionedProduct where
instance NFData UpdateProvisionedProduct where
instance ToHeaders UpdateProvisionedProduct where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWS242ServiceCatalogService.UpdateProvisionedProduct"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdateProvisionedProduct where
toJSON UpdateProvisionedProduct'{..}
= object
(catMaybes
[("ProvisionedProductName" .=) <$>
_uppProvisionedProductName,
("ProvisioningArtifactId" .=) <$>
_uppProvisioningArtifactId,
("AcceptLanguage" .=) <$> _uppAcceptLanguage,
("PathId" .=) <$> _uppPathId,
("ProvisioningParameters" .=) <$>
_uppProvisioningParameters,
("ProvisionedProductId" .=) <$>
_uppProvisionedProductId,
("ProductId" .=) <$> _uppProductId,
Just ("UpdateToken" .= _uppUpdateToken)])
instance ToPath UpdateProvisionedProduct where
toPath = const "/"
instance ToQuery UpdateProvisionedProduct where
toQuery = const mempty
data UpdateProvisionedProductResponse = UpdateProvisionedProductResponse'
{ _upprsRecordDetail :: !(Maybe RecordDetail)
, _upprsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateProvisionedProductResponse
:: Int
-> UpdateProvisionedProductResponse
updateProvisionedProductResponse pResponseStatus_ =
UpdateProvisionedProductResponse'
{_upprsRecordDetail = Nothing, _upprsResponseStatus = pResponseStatus_}
upprsRecordDetail :: Lens' UpdateProvisionedProductResponse (Maybe RecordDetail)
upprsRecordDetail = lens _upprsRecordDetail (\ s a -> s{_upprsRecordDetail = a})
upprsResponseStatus :: Lens' UpdateProvisionedProductResponse Int
upprsResponseStatus = lens _upprsResponseStatus (\ s a -> s{_upprsResponseStatus = a})
instance NFData UpdateProvisionedProductResponse
where