diff --git a/conf/type/__addifnosuchline/explorer/findline b/conf/type/__addifnosuchline/explorer/findline
new file mode 100755
index 00000000..9367be42
--- /dev/null
+++ b/conf/type/__addifnosuchline/explorer/findline
@@ -0,0 +1,41 @@
+#!/bin/sh
+#
+# 2010-2011 Daniel Roth (dani-cdist@d-roth.li)
+#
+# This file is part of cdist.
+#
+# cdist is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# cdist is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with cdist. If not, see .
+#
+#
+
+if [ -f "$__object/parameter/file" ]; then
+ file=$(cat "$__object/parameter/file")
+else
+ file="/$__object_id"
+fi
+
+regex=$(cat "$__object/parameter/line")
+if [ -f "$file" ]; then
+ grep -q "^$regex\$" "$file"
+ if [ $? -eq 1 ]; then
+ # regex pattern not found --> success
+ echo "SUCCESS"
+ else
+ # regex pattern found --> failure
+ echo "FAILURE"
+ fi
+else
+ # file does not exist --> line not in file
+ echo "SUCCESS"
+fi
diff --git a/conf/type/__addifnosuchline/gencode b/conf/type/__addifnosuchline/gencode
new file mode 100755
index 00000000..898d93f9
--- /dev/null
+++ b/conf/type/__addifnosuchline/gencode
@@ -0,0 +1,33 @@
+#!/bin/sh
+#
+# 2010-2011 Daniel Roth (dani-cdist@d-roth.li)
+#
+# This file is part of cdist.
+#
+# cdist is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# cdist is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with cdist. If not, see .
+#
+#
+
+if [ -f "$__object/parameter/file" ]; then
+ file=$(cat "$__object/parameter/file")
+else
+ file="/$__object_id"
+fi
+
+result=$(cat "$__object/explorer/findline")
+
+if [ $result = "SUCCESS" ]; then
+ line=$(cat "$__object/parameter/line")
+ echo "echo $line >> $file"
+fi
diff --git a/conf/type/__addifnosuchline/parameter/optional b/conf/type/__addifnosuchline/parameter/optional
new file mode 100644
index 00000000..f73f3093
--- /dev/null
+++ b/conf/type/__addifnosuchline/parameter/optional
@@ -0,0 +1 @@
+file
diff --git a/conf/type/__addifnosuchline/parameter/required b/conf/type/__addifnosuchline/parameter/required
new file mode 100644
index 00000000..a999a0c2
--- /dev/null
+++ b/conf/type/__addifnosuchline/parameter/required
@@ -0,0 +1 @@
+line
diff --git a/doc/man/to_check/cdist-type-addifnosuchline.text b/doc/man/to_check/cdist-type-addifnosuchline.text
new file mode 100644
index 00000000..09618dc3
--- /dev/null
+++ b/doc/man/to_check/cdist-type-addifnosuchline.text
@@ -0,0 +1,30 @@
+cdist-type-addifnosuchline(1)
+======================
+Daniel Roth
+
+
+NAME
+----
+cdist-type-addifnosuchline
+
+
+SYNOPSIS
+--------
+cdist-type-addifnosuchline Add if no such line
+
+
+DESCRIPTION
+-----------
+cdist-type-addifnosuchline can be used to check a file for existence of a
+specific line and adding that if not found
+
+
+SEE ALSO
+--------
+cdist(7)
+
+
+COPYING
+-------
+Copyright \(C) 2011 Daniel Roth. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).