stratosphere-0.15.2: library-gen/Stratosphere/Resources/ApiGatewayDocumentationVersion.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html
module Stratosphere.Resources.ApiGatewayDocumentationVersion where
import Stratosphere.ResourceImports
-- | Full data type definition for ApiGatewayDocumentationVersion. See
-- 'apiGatewayDocumentationVersion' for a more convenient constructor.
data ApiGatewayDocumentationVersion =
ApiGatewayDocumentationVersion
{ _apiGatewayDocumentationVersionDescription :: Maybe (Val Text)
, _apiGatewayDocumentationVersionDocumentationVersion :: Val Text
, _apiGatewayDocumentationVersionRestApiId :: Val Text
} deriving (Show, Eq)
instance ToJSON ApiGatewayDocumentationVersion where
toJSON ApiGatewayDocumentationVersion{..} =
object $
catMaybes
[ fmap (("Description",) . toJSON) _apiGatewayDocumentationVersionDescription
, (Just . ("DocumentationVersion",) . toJSON) _apiGatewayDocumentationVersionDocumentationVersion
, (Just . ("RestApiId",) . toJSON) _apiGatewayDocumentationVersionRestApiId
]
instance FromJSON ApiGatewayDocumentationVersion where
parseJSON (Object obj) =
ApiGatewayDocumentationVersion <$>
(obj .:? "Description") <*>
(obj .: "DocumentationVersion") <*>
(obj .: "RestApiId")
parseJSON _ = mempty
-- | Constructor for 'ApiGatewayDocumentationVersion' containing required
-- fields as arguments.
apiGatewayDocumentationVersion
:: Val Text -- ^ 'agdvDocumentationVersion'
-> Val Text -- ^ 'agdvRestApiId'
-> ApiGatewayDocumentationVersion
apiGatewayDocumentationVersion documentationVersionarg restApiIdarg =
ApiGatewayDocumentationVersion
{ _apiGatewayDocumentationVersionDescription = Nothing
, _apiGatewayDocumentationVersionDocumentationVersion = documentationVersionarg
, _apiGatewayDocumentationVersionRestApiId = restApiIdarg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html#cfn-apigateway-documentationversion-description
agdvDescription :: Lens' ApiGatewayDocumentationVersion (Maybe (Val Text))
agdvDescription = lens _apiGatewayDocumentationVersionDescription (\s a -> s { _apiGatewayDocumentationVersionDescription = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html#cfn-apigateway-documentationversion-documentationversion
agdvDocumentationVersion :: Lens' ApiGatewayDocumentationVersion (Val Text)
agdvDocumentationVersion = lens _apiGatewayDocumentationVersionDocumentationVersion (\s a -> s { _apiGatewayDocumentationVersionDocumentationVersion = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html#cfn-apigateway-documentationversion-restapiid
agdvRestApiId :: Lens' ApiGatewayDocumentationVersion (Val Text)
agdvRestApiId = lens _apiGatewayDocumentationVersionRestApiId (\s a -> s { _apiGatewayDocumentationVersionRestApiId = a })