{-# 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.OpsWorks.DescribeStackProvisioningParameters -- Copyright : (c) 2013-2015 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Requests a description of a stack\'s provisioning parameters. -- -- __Required Permissions__: To use this action, an IAM user must have a -- Show, Deploy, or Manage permissions level for the stack or an attached -- policy that explicitly grants permissions. For more information on user -- permissions, see -- . -- -- /See:/ for DescribeStackProvisioningParameters. module Network.AWS.OpsWorks.DescribeStackProvisioningParameters ( -- * Creating a Request describeStackProvisioningParameters , DescribeStackProvisioningParameters -- * Request Lenses , dsppStackId -- * Destructuring the Response , describeStackProvisioningParametersResponse , DescribeStackProvisioningParametersResponse -- * Response Lenses , dspprsAgentInstallerURL , dspprsParameters , dspprsResponseStatus ) where import Network.AWS.Lens import Network.AWS.OpsWorks.Types import Network.AWS.OpsWorks.Types.Product import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response -- | /See:/ 'describeStackProvisioningParameters' smart constructor. newtype DescribeStackProvisioningParameters = DescribeStackProvisioningParameters' { _dsppStackId :: Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'DescribeStackProvisioningParameters' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'dsppStackId' describeStackProvisioningParameters :: Text -- ^ 'dsppStackId' -> DescribeStackProvisioningParameters describeStackProvisioningParameters pStackId_ = DescribeStackProvisioningParameters' { _dsppStackId = pStackId_ } -- | The stack ID dsppStackId :: Lens' DescribeStackProvisioningParameters Text dsppStackId = lens _dsppStackId (\ s a -> s{_dsppStackId = a}); instance AWSRequest DescribeStackProvisioningParameters where type Rs DescribeStackProvisioningParameters = DescribeStackProvisioningParametersResponse request = postJSON opsWorks response = receiveJSON (\ s h x -> DescribeStackProvisioningParametersResponse' <$> (x .?> "AgentInstallerUrl") <*> (x .?> "Parameters" .!@ mempty) <*> (pure (fromEnum s))) instance ToHeaders DescribeStackProvisioningParameters where toHeaders = const (mconcat ["X-Amz-Target" =# ("OpsWorks_20130218.DescribeStackProvisioningParameters" :: ByteString), "Content-Type" =# ("application/x-amz-json-1.1" :: ByteString)]) instance ToJSON DescribeStackProvisioningParameters where toJSON DescribeStackProvisioningParameters'{..} = object (catMaybes [Just ("StackId" .= _dsppStackId)]) instance ToPath DescribeStackProvisioningParameters where toPath = const "/" instance ToQuery DescribeStackProvisioningParameters where toQuery = const mempty -- | Contains the response to a 'DescribeStackProvisioningParameters' -- request. -- -- /See:/ 'describeStackProvisioningParametersResponse' smart constructor. data DescribeStackProvisioningParametersResponse = DescribeStackProvisioningParametersResponse' { _dspprsAgentInstallerURL :: !(Maybe Text) , _dspprsParameters :: !(Maybe (Map Text Text)) , _dspprsResponseStatus :: !Int } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'DescribeStackProvisioningParametersResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'dspprsAgentInstallerURL' -- -- * 'dspprsParameters' -- -- * 'dspprsResponseStatus' describeStackProvisioningParametersResponse :: Int -- ^ 'dspprsResponseStatus' -> DescribeStackProvisioningParametersResponse describeStackProvisioningParametersResponse pResponseStatus_ = DescribeStackProvisioningParametersResponse' { _dspprsAgentInstallerURL = Nothing , _dspprsParameters = Nothing , _dspprsResponseStatus = pResponseStatus_ } -- | The AWS OpsWorks agent installer\'s URL. dspprsAgentInstallerURL :: Lens' DescribeStackProvisioningParametersResponse (Maybe Text) dspprsAgentInstallerURL = lens _dspprsAgentInstallerURL (\ s a -> s{_dspprsAgentInstallerURL = a}); -- | An embedded object that contains the provisioning parameters. dspprsParameters :: Lens' DescribeStackProvisioningParametersResponse (HashMap Text Text) dspprsParameters = lens _dspprsParameters (\ s a -> s{_dspprsParameters = a}) . _Default . _Map; -- | The response status code. dspprsResponseStatus :: Lens' DescribeStackProvisioningParametersResponse Int dspprsResponseStatus = lens _dspprsResponseStatus (\ s a -> s{_dspprsResponseStatus = a});