{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TupleSections #-} -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-overrides.html module Stratosphere.ResourceProperties.ASKSkillOverrides where import Stratosphere.ResourceImports -- | Full data type definition for ASKSkillOverrides. See 'askSkillOverrides' -- for a more convenient constructor. data ASKSkillOverrides = ASKSkillOverrides { _aSKSkillOverridesManifest :: Maybe Object } deriving (Show, Eq) instance ToJSON ASKSkillOverrides where toJSON ASKSkillOverrides{..} = object $ catMaybes [ fmap (("Manifest",) . toJSON) _aSKSkillOverridesManifest ] instance FromJSON ASKSkillOverrides where parseJSON (Object obj) = ASKSkillOverrides <$> (obj .:? "Manifest") parseJSON _ = mempty -- | Constructor for 'ASKSkillOverrides' containing required fields as -- arguments. askSkillOverrides :: ASKSkillOverrides askSkillOverrides = ASKSkillOverrides { _aSKSkillOverridesManifest = Nothing } -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-overrides.html#cfn-ask-skill-overrides-manifest asksoManifest :: Lens' ASKSkillOverrides (Maybe Object) asksoManifest = lens _aSKSkillOverridesManifest (\s a -> s { _aSKSkillOverridesManifest = a })