{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TupleSections #-} -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html module Stratosphere.Resources.DAXParameterGroup where import Stratosphere.ResourceImports -- | Full data type definition for DAXParameterGroup. See 'daxParameterGroup' -- for a more convenient constructor. data DAXParameterGroup = DAXParameterGroup { _dAXParameterGroupDescription :: Maybe (Val Text) , _dAXParameterGroupParameterGroupName :: Maybe (Val Text) , _dAXParameterGroupParameterNameValues :: Maybe Object } deriving (Show, Eq) instance ToResourceProperties DAXParameterGroup where toResourceProperties DAXParameterGroup{..} = ResourceProperties { resourcePropertiesType = "AWS::DAX::ParameterGroup" , resourcePropertiesProperties = hashMapFromList $ catMaybes [ fmap (("Description",) . toJSON) _dAXParameterGroupDescription , fmap (("ParameterGroupName",) . toJSON) _dAXParameterGroupParameterGroupName , fmap (("ParameterNameValues",) . toJSON) _dAXParameterGroupParameterNameValues ] } -- | Constructor for 'DAXParameterGroup' containing required fields as -- arguments. daxParameterGroup :: DAXParameterGroup daxParameterGroup = DAXParameterGroup { _dAXParameterGroupDescription = Nothing , _dAXParameterGroupParameterGroupName = Nothing , _dAXParameterGroupParameterNameValues = Nothing } -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html#cfn-dax-parametergroup-description daxpgDescription :: Lens' DAXParameterGroup (Maybe (Val Text)) daxpgDescription = lens _dAXParameterGroupDescription (\s a -> s { _dAXParameterGroupDescription = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html#cfn-dax-parametergroup-parametergroupname daxpgParameterGroupName :: Lens' DAXParameterGroup (Maybe (Val Text)) daxpgParameterGroupName = lens _dAXParameterGroupParameterGroupName (\s a -> s { _dAXParameterGroupParameterGroupName = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html#cfn-dax-parametergroup-parameternamevalues daxpgParameterNameValues :: Lens' DAXParameterGroup (Maybe Object) daxpgParameterNameValues = lens _dAXParameterGroupParameterNameValues (\s a -> s { _dAXParameterGroupParameterNameValues = a })