{-# 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 #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.MQ.DescribeConfigurationRevision -- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Returns the specified configuration revision for the specified configuration. module Network.AWS.MQ.DescribeConfigurationRevision ( -- * Creating a Request describeConfigurationRevision , DescribeConfigurationRevision -- * Request Lenses , dcrConfigurationRevision , dcrConfigurationId -- * Destructuring the Response , describeConfigurationRevisionResponse , DescribeConfigurationRevisionResponse -- * Response Lenses , dcrrsConfigurationId , dcrrsData , dcrrsDescription , dcrrsResponseStatus ) where import Network.AWS.Lens import Network.AWS.MQ.Types import Network.AWS.MQ.Types.Product import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response -- | /See:/ 'describeConfigurationRevision' smart constructor. data DescribeConfigurationRevision = DescribeConfigurationRevision' { _dcrConfigurationRevision :: !Text , _dcrConfigurationId :: !Text } deriving (Eq, Read, Show, Data, Typeable, Generic) -- | Creates a value of 'DescribeConfigurationRevision' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'dcrConfigurationRevision' - The revision of the configuration. -- -- * 'dcrConfigurationId' - The unique ID that Amazon MQ generates for the configuration. describeConfigurationRevision :: Text -- ^ 'dcrConfigurationRevision' -> Text -- ^ 'dcrConfigurationId' -> DescribeConfigurationRevision describeConfigurationRevision pConfigurationRevision_ pConfigurationId_ = DescribeConfigurationRevision' { _dcrConfigurationRevision = pConfigurationRevision_ , _dcrConfigurationId = pConfigurationId_ } -- | The revision of the configuration. dcrConfigurationRevision :: Lens' DescribeConfigurationRevision Text dcrConfigurationRevision = lens _dcrConfigurationRevision (\ s a -> s{_dcrConfigurationRevision = a}) -- | The unique ID that Amazon MQ generates for the configuration. dcrConfigurationId :: Lens' DescribeConfigurationRevision Text dcrConfigurationId = lens _dcrConfigurationId (\ s a -> s{_dcrConfigurationId = a}) instance AWSRequest DescribeConfigurationRevision where type Rs DescribeConfigurationRevision = DescribeConfigurationRevisionResponse request = get mq response = receiveJSON (\ s h x -> DescribeConfigurationRevisionResponse' <$> (x .?> "configurationId") <*> (x .?> "data") <*> (x .?> "description") <*> (pure (fromEnum s))) instance Hashable DescribeConfigurationRevision where instance NFData DescribeConfigurationRevision where instance ToHeaders DescribeConfigurationRevision where toHeaders = const (mconcat ["Content-Type" =# ("application/x-amz-json-1.1" :: ByteString)]) instance ToPath DescribeConfigurationRevision where toPath DescribeConfigurationRevision'{..} = mconcat ["/v1/configurations/", toBS _dcrConfigurationId, "/revisions/", toBS _dcrConfigurationRevision] instance ToQuery DescribeConfigurationRevision where toQuery = const mempty -- | /See:/ 'describeConfigurationRevisionResponse' smart constructor. data DescribeConfigurationRevisionResponse = DescribeConfigurationRevisionResponse' { _dcrrsConfigurationId :: !(Maybe Text) , _dcrrsData :: !(Maybe Text) , _dcrrsDescription :: !(Maybe Text) , _dcrrsResponseStatus :: !Int } deriving (Eq, Read, Show, Data, Typeable, Generic) -- | Creates a value of 'DescribeConfigurationRevisionResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'dcrrsConfigurationId' - Required. The unique ID that Amazon MQ generates for the configuration. -- -- * 'dcrrsData' - Required. The base64-encoded XML configuration. -- -- * 'dcrrsDescription' - The description of the configuration. -- -- * 'dcrrsResponseStatus' - -- | The response status code. describeConfigurationRevisionResponse :: Int -- ^ 'dcrrsResponseStatus' -> DescribeConfigurationRevisionResponse describeConfigurationRevisionResponse pResponseStatus_ = DescribeConfigurationRevisionResponse' { _dcrrsConfigurationId = Nothing , _dcrrsData = Nothing , _dcrrsDescription = Nothing , _dcrrsResponseStatus = pResponseStatus_ } -- | Required. The unique ID that Amazon MQ generates for the configuration. dcrrsConfigurationId :: Lens' DescribeConfigurationRevisionResponse (Maybe Text) dcrrsConfigurationId = lens _dcrrsConfigurationId (\ s a -> s{_dcrrsConfigurationId = a}) -- | Required. The base64-encoded XML configuration. dcrrsData :: Lens' DescribeConfigurationRevisionResponse (Maybe Text) dcrrsData = lens _dcrrsData (\ s a -> s{_dcrrsData = a}) -- | The description of the configuration. dcrrsDescription :: Lens' DescribeConfigurationRevisionResponse (Maybe Text) dcrrsDescription = lens _dcrrsDescription (\ s a -> s{_dcrrsDescription = a}) -- | -- | The response status code. dcrrsResponseStatus :: Lens' DescribeConfigurationRevisionResponse Int dcrrsResponseStatus = lens _dcrrsResponseStatus (\ s a -> s{_dcrrsResponseStatus = a}) instance NFData DescribeConfigurationRevisionResponse where