{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TupleSections #-} -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-lambdaconfig.html module Stratosphere.ResourceProperties.AppSyncDataSourceLambdaConfig where import Stratosphere.ResourceImports -- | Full data type definition for AppSyncDataSourceLambdaConfig. See -- 'appSyncDataSourceLambdaConfig' for a more convenient constructor. data AppSyncDataSourceLambdaConfig = AppSyncDataSourceLambdaConfig { _appSyncDataSourceLambdaConfigLambdaFunctionArn :: Val Text } deriving (Show, Eq) instance ToJSON AppSyncDataSourceLambdaConfig where toJSON AppSyncDataSourceLambdaConfig{..} = object $ catMaybes [ (Just . ("LambdaFunctionArn",) . toJSON) _appSyncDataSourceLambdaConfigLambdaFunctionArn ] instance FromJSON AppSyncDataSourceLambdaConfig where parseJSON (Object obj) = AppSyncDataSourceLambdaConfig <$> (obj .: "LambdaFunctionArn") parseJSON _ = mempty -- | Constructor for 'AppSyncDataSourceLambdaConfig' containing required -- fields as arguments. appSyncDataSourceLambdaConfig :: Val Text -- ^ 'asdslcLambdaFunctionArn' -> AppSyncDataSourceLambdaConfig appSyncDataSourceLambdaConfig lambdaFunctionArnarg = AppSyncDataSourceLambdaConfig { _appSyncDataSourceLambdaConfigLambdaFunctionArn = lambdaFunctionArnarg } -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-lambdaconfig.html#cfn-appsync-datasource-lambdaconfig-lambdafunctionarn asdslcLambdaFunctionArn :: Lens' AppSyncDataSourceLambdaConfig (Val Text) asdslcLambdaFunctionArn = lens _appSyncDataSourceLambdaConfigLambdaFunctionArn (\s a -> s { _appSyncDataSourceLambdaConfigLambdaFunctionArn = a })