{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric      #-}
{-# LANGUAGE OverloadedStrings  #-}
{-# LANGUAGE RecordWildCards    #-}
module Network.AWS.EC2.Internal where
import           Network.AWS.Lens
import           Network.AWS.Prelude
data DeleteTag = DeleteTag
    { _deleteTagKey   :: !Text
    , _deleteTagValue :: !(Maybe Text)
    } deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteTag :: Text 
          -> DeleteTag
deleteTag k = DeleteTag k Nothing
deleteTagKey :: Lens' DeleteTag Text
deleteTagKey = lens _deleteTagKey (\s a -> s { _deleteTagKey = a })
deleteTagValue :: Lens' DeleteTag (Maybe Text)
deleteTagValue = lens _deleteTagValue (\ s a -> s{_deleteTagValue = a});
instance FromXML DeleteTag where
    parseXML x = DeleteTag <$> (x .@ "key") <*> (x .@? "value")
instance ToQuery DeleteTag where
    toQuery DeleteTag {..} = mconcat
        [ "Key"   =: _deleteTagKey
        , "Value" =: _deleteTagValue
        ]