module Network.AWS.SSM.DescribeDocument
(
DescribeDocument
, describeDocument
, ddName
, DescribeDocumentResponse
, describeDocumentResponse
, ddrDocument
) where
import Network.AWS.Data (Object)
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.SSM.Types
import qualified GHC.Exts
newtype DescribeDocument = DescribeDocument
{ _ddName :: Text
} deriving (Eq, Ord, Read, Show, Monoid, IsString)
describeDocument :: Text
-> DescribeDocument
describeDocument p1 = DescribeDocument
{ _ddName = p1
}
ddName :: Lens' DescribeDocument Text
ddName = lens _ddName (\s a -> s { _ddName = a })
newtype DescribeDocumentResponse = DescribeDocumentResponse
{ _ddrDocument :: Maybe DocumentDescription
} deriving (Eq, Read, Show)
describeDocumentResponse :: DescribeDocumentResponse
describeDocumentResponse = DescribeDocumentResponse
{ _ddrDocument = Nothing
}
ddrDocument :: Lens' DescribeDocumentResponse (Maybe DocumentDescription)
ddrDocument = lens _ddrDocument (\s a -> s { _ddrDocument = a })
instance ToPath DescribeDocument where
toPath = const "/"
instance ToQuery DescribeDocument where
toQuery = const mempty
instance ToHeaders DescribeDocument
instance ToJSON DescribeDocument where
toJSON DescribeDocument{..} = object
[ "Name" .= _ddName
]
instance AWSRequest DescribeDocument where
type Sv DescribeDocument = SSM
type Rs DescribeDocument = DescribeDocumentResponse
request = post "DescribeDocument"
response = jsonResponse
instance FromJSON DescribeDocumentResponse where
parseJSON = withObject "DescribeDocumentResponse" $ \o -> DescribeDocumentResponse
<$> o .:? "Document"