stratosphere-0.34.0: library-gen/Stratosphere/Resources/ApiGatewayV2Integration.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html
module Stratosphere.Resources.ApiGatewayV2Integration where
import Stratosphere.ResourceImports
-- | Full data type definition for ApiGatewayV2Integration. See
-- 'apiGatewayV2Integration' for a more convenient constructor.
data ApiGatewayV2Integration =
ApiGatewayV2Integration
{ _apiGatewayV2IntegrationApiId :: Val Text
, _apiGatewayV2IntegrationConnectionType :: Maybe (Val Text)
, _apiGatewayV2IntegrationContentHandlingStrategy :: Maybe (Val Text)
, _apiGatewayV2IntegrationCredentialsArn :: Maybe (Val Text)
, _apiGatewayV2IntegrationDescription :: Maybe (Val Text)
, _apiGatewayV2IntegrationIntegrationMethod :: Maybe (Val Text)
, _apiGatewayV2IntegrationIntegrationType :: Val Text
, _apiGatewayV2IntegrationIntegrationUri :: Maybe (Val Text)
, _apiGatewayV2IntegrationPassthroughBehavior :: Maybe (Val Text)
, _apiGatewayV2IntegrationRequestParameters :: Maybe Object
, _apiGatewayV2IntegrationRequestTemplates :: Maybe Object
, _apiGatewayV2IntegrationTemplateSelectionExpression :: Maybe (Val Text)
, _apiGatewayV2IntegrationTimeoutInMillis :: Maybe (Val Integer)
} deriving (Show, Eq)
instance ToResourceProperties ApiGatewayV2Integration where
toResourceProperties ApiGatewayV2Integration{..} =
ResourceProperties
{ resourcePropertiesType = "AWS::ApiGatewayV2::Integration"
, resourcePropertiesProperties =
hashMapFromList $ catMaybes
[ (Just . ("ApiId",) . toJSON) _apiGatewayV2IntegrationApiId
, fmap (("ConnectionType",) . toJSON) _apiGatewayV2IntegrationConnectionType
, fmap (("ContentHandlingStrategy",) . toJSON) _apiGatewayV2IntegrationContentHandlingStrategy
, fmap (("CredentialsArn",) . toJSON) _apiGatewayV2IntegrationCredentialsArn
, fmap (("Description",) . toJSON) _apiGatewayV2IntegrationDescription
, fmap (("IntegrationMethod",) . toJSON) _apiGatewayV2IntegrationIntegrationMethod
, (Just . ("IntegrationType",) . toJSON) _apiGatewayV2IntegrationIntegrationType
, fmap (("IntegrationUri",) . toJSON) _apiGatewayV2IntegrationIntegrationUri
, fmap (("PassthroughBehavior",) . toJSON) _apiGatewayV2IntegrationPassthroughBehavior
, fmap (("RequestParameters",) . toJSON) _apiGatewayV2IntegrationRequestParameters
, fmap (("RequestTemplates",) . toJSON) _apiGatewayV2IntegrationRequestTemplates
, fmap (("TemplateSelectionExpression",) . toJSON) _apiGatewayV2IntegrationTemplateSelectionExpression
, fmap (("TimeoutInMillis",) . toJSON) _apiGatewayV2IntegrationTimeoutInMillis
]
}
-- | Constructor for 'ApiGatewayV2Integration' containing required fields as
-- arguments.
apiGatewayV2Integration
:: Val Text -- ^ 'agviApiId'
-> Val Text -- ^ 'agviIntegrationType'
-> ApiGatewayV2Integration
apiGatewayV2Integration apiIdarg integrationTypearg =
ApiGatewayV2Integration
{ _apiGatewayV2IntegrationApiId = apiIdarg
, _apiGatewayV2IntegrationConnectionType = Nothing
, _apiGatewayV2IntegrationContentHandlingStrategy = Nothing
, _apiGatewayV2IntegrationCredentialsArn = Nothing
, _apiGatewayV2IntegrationDescription = Nothing
, _apiGatewayV2IntegrationIntegrationMethod = Nothing
, _apiGatewayV2IntegrationIntegrationType = integrationTypearg
, _apiGatewayV2IntegrationIntegrationUri = Nothing
, _apiGatewayV2IntegrationPassthroughBehavior = Nothing
, _apiGatewayV2IntegrationRequestParameters = Nothing
, _apiGatewayV2IntegrationRequestTemplates = Nothing
, _apiGatewayV2IntegrationTemplateSelectionExpression = Nothing
, _apiGatewayV2IntegrationTimeoutInMillis = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-apiid
agviApiId :: Lens' ApiGatewayV2Integration (Val Text)
agviApiId = lens _apiGatewayV2IntegrationApiId (\s a -> s { _apiGatewayV2IntegrationApiId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-connectiontype
agviConnectionType :: Lens' ApiGatewayV2Integration (Maybe (Val Text))
agviConnectionType = lens _apiGatewayV2IntegrationConnectionType (\s a -> s { _apiGatewayV2IntegrationConnectionType = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-contenthandlingstrategy
agviContentHandlingStrategy :: Lens' ApiGatewayV2Integration (Maybe (Val Text))
agviContentHandlingStrategy = lens _apiGatewayV2IntegrationContentHandlingStrategy (\s a -> s { _apiGatewayV2IntegrationContentHandlingStrategy = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-credentialsarn
agviCredentialsArn :: Lens' ApiGatewayV2Integration (Maybe (Val Text))
agviCredentialsArn = lens _apiGatewayV2IntegrationCredentialsArn (\s a -> s { _apiGatewayV2IntegrationCredentialsArn = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-description
agviDescription :: Lens' ApiGatewayV2Integration (Maybe (Val Text))
agviDescription = lens _apiGatewayV2IntegrationDescription (\s a -> s { _apiGatewayV2IntegrationDescription = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-integrationmethod
agviIntegrationMethod :: Lens' ApiGatewayV2Integration (Maybe (Val Text))
agviIntegrationMethod = lens _apiGatewayV2IntegrationIntegrationMethod (\s a -> s { _apiGatewayV2IntegrationIntegrationMethod = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-integrationtype
agviIntegrationType :: Lens' ApiGatewayV2Integration (Val Text)
agviIntegrationType = lens _apiGatewayV2IntegrationIntegrationType (\s a -> s { _apiGatewayV2IntegrationIntegrationType = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-integrationuri
agviIntegrationUri :: Lens' ApiGatewayV2Integration (Maybe (Val Text))
agviIntegrationUri = lens _apiGatewayV2IntegrationIntegrationUri (\s a -> s { _apiGatewayV2IntegrationIntegrationUri = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-passthroughbehavior
agviPassthroughBehavior :: Lens' ApiGatewayV2Integration (Maybe (Val Text))
agviPassthroughBehavior = lens _apiGatewayV2IntegrationPassthroughBehavior (\s a -> s { _apiGatewayV2IntegrationPassthroughBehavior = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-requestparameters
agviRequestParameters :: Lens' ApiGatewayV2Integration (Maybe Object)
agviRequestParameters = lens _apiGatewayV2IntegrationRequestParameters (\s a -> s { _apiGatewayV2IntegrationRequestParameters = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-requesttemplates
agviRequestTemplates :: Lens' ApiGatewayV2Integration (Maybe Object)
agviRequestTemplates = lens _apiGatewayV2IntegrationRequestTemplates (\s a -> s { _apiGatewayV2IntegrationRequestTemplates = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-templateselectionexpression
agviTemplateSelectionExpression :: Lens' ApiGatewayV2Integration (Maybe (Val Text))
agviTemplateSelectionExpression = lens _apiGatewayV2IntegrationTemplateSelectionExpression (\s a -> s { _apiGatewayV2IntegrationTemplateSelectionExpression = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-timeoutinmillis
agviTimeoutInMillis :: Lens' ApiGatewayV2Integration (Maybe (Val Integer))
agviTimeoutInMillis = lens _apiGatewayV2IntegrationTimeoutInMillis (\s a -> s { _apiGatewayV2IntegrationTimeoutInMillis = a })