{-# 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.CodeStar.DescribeProject
(
describeProject
, DescribeProject
, dId
, describeProjectResponse
, DescribeProjectResponse
, drsArn
, drsProjectTemplateId
, drsName
, drsId
, drsStackId
, drsClientRequestToken
, drsCreatedTimeStamp
, drsDescription
, drsResponseStatus
) where
import Network.AWS.CodeStar.Types
import Network.AWS.CodeStar.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DescribeProject = DescribeProject'
{ _dId :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeProject
:: Text
-> DescribeProject
describeProject pId_ = DescribeProject' {_dId = pId_}
dId :: Lens' DescribeProject Text
dId = lens _dId (\ s a -> s{_dId = a})
instance AWSRequest DescribeProject where
type Rs DescribeProject = DescribeProjectResponse
request = postJSON codeStar
response
= receiveJSON
(\ s h x ->
DescribeProjectResponse' <$>
(x .?> "arn") <*> (x .?> "projectTemplateId") <*>
(x .?> "name")
<*> (x .?> "id")
<*> (x .?> "stackId")
<*> (x .?> "clientRequestToken")
<*> (x .?> "createdTimeStamp")
<*> (x .?> "description")
<*> (pure (fromEnum s)))
instance Hashable DescribeProject where
instance NFData DescribeProject where
instance ToHeaders DescribeProject where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CodeStar_20170419.DescribeProject" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeProject where
toJSON DescribeProject'{..}
= object (catMaybes [Just ("id" .= _dId)])
instance ToPath DescribeProject where
toPath = const "/"
instance ToQuery DescribeProject where
toQuery = const mempty
data DescribeProjectResponse = DescribeProjectResponse'
{ _drsArn :: !(Maybe Text)
, _drsProjectTemplateId :: !(Maybe Text)
, _drsName :: !(Maybe (Sensitive Text))
, _drsId :: !(Maybe Text)
, _drsStackId :: !(Maybe Text)
, _drsClientRequestToken :: !(Maybe Text)
, _drsCreatedTimeStamp :: !(Maybe POSIX)
, _drsDescription :: !(Maybe (Sensitive Text))
, _drsResponseStatus :: !Int
} deriving (Eq, Show, Data, Typeable, Generic)
describeProjectResponse
:: Int
-> DescribeProjectResponse
describeProjectResponse pResponseStatus_ =
DescribeProjectResponse'
{ _drsArn = Nothing
, _drsProjectTemplateId = Nothing
, _drsName = Nothing
, _drsId = Nothing
, _drsStackId = Nothing
, _drsClientRequestToken = Nothing
, _drsCreatedTimeStamp = Nothing
, _drsDescription = Nothing
, _drsResponseStatus = pResponseStatus_
}
drsArn :: Lens' DescribeProjectResponse (Maybe Text)
drsArn = lens _drsArn (\ s a -> s{_drsArn = a})
drsProjectTemplateId :: Lens' DescribeProjectResponse (Maybe Text)
drsProjectTemplateId = lens _drsProjectTemplateId (\ s a -> s{_drsProjectTemplateId = a})
drsName :: Lens' DescribeProjectResponse (Maybe Text)
drsName = lens _drsName (\ s a -> s{_drsName = a}) . mapping _Sensitive
drsId :: Lens' DescribeProjectResponse (Maybe Text)
drsId = lens _drsId (\ s a -> s{_drsId = a})
drsStackId :: Lens' DescribeProjectResponse (Maybe Text)
drsStackId = lens _drsStackId (\ s a -> s{_drsStackId = a})
drsClientRequestToken :: Lens' DescribeProjectResponse (Maybe Text)
drsClientRequestToken = lens _drsClientRequestToken (\ s a -> s{_drsClientRequestToken = a})
drsCreatedTimeStamp :: Lens' DescribeProjectResponse (Maybe UTCTime)
drsCreatedTimeStamp = lens _drsCreatedTimeStamp (\ s a -> s{_drsCreatedTimeStamp = a}) . mapping _Time
drsDescription :: Lens' DescribeProjectResponse (Maybe Text)
drsDescription = lens _drsDescription (\ s a -> s{_drsDescription = a}) . mapping _Sensitive
drsResponseStatus :: Lens' DescribeProjectResponse Int
drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a})
instance NFData DescribeProjectResponse where