aboutsummaryrefslogtreecommitdiff
path: root/vim/bundle/vim-snippets/snippets/puppet.snippets
diff options
context:
space:
mode:
Diffstat (limited to 'vim/bundle/vim-snippets/snippets/puppet.snippets')
-rw-r--r--vim/bundle/vim-snippets/snippets/puppet.snippets269
1 files changed, 269 insertions, 0 deletions
diff --git a/vim/bundle/vim-snippets/snippets/puppet.snippets b/vim/bundle/vim-snippets/snippets/puppet.snippets
new file mode 100644
index 0000000..9e9ceeb
--- /dev/null
+++ b/vim/bundle/vim-snippets/snippets/puppet.snippets
@@ -0,0 +1,269 @@
+# Snippets for use with VIM and http://www.vim.org/scripts/script.php?script_id=2540
+#
+# Please contact R.I.Pienaar <rip@devco.net> for additions and feedback,
+# see it in action @ http://www.devco.net/archives/2009/09/22/vim_and_puppet.php
+
+# Header to match http://docs.puppetlabs.com/guides/style_guide.html#puppet-doc
+snippet classheader
+ # == Class: ${1:`vim_snippets#Filename(expand('%:p:s?.*modules/??:h:h'), 'name')`}
+ #
+ # ${2:Full description of class $1 here}
+ #
+ # === Parameters
+ #
+ # Document parameters here.
+ #
+ # [*parameter1*]
+ # Explanation of what this parameter affects and what it defaults to.
+ # e.g. "Specify one or more upstream ntp servers as an array."
+ #
+ # === Variables
+ #
+ # Here you should define a list of variables that this module would require.
+ #
+ # [*variable1*]
+ # Explanation of how this variable affects the funtion of this class and
+ # if it has a default. e.g. "The parameter enc_ntp_servers must be set by the
+ # External Node Classifier as a comma separated list of hostnames."
+ #
+ # === Examples
+ #
+ # class { '$1':
+ # parameter1 => [ 'just', 'an', 'example', ]
+ # }
+ #
+ # === Authors
+ #
+ # `g:snips_author` <`g:snips_email`>
+ #
+ # === Copyright
+ #
+ # Copyright `strftime("%Y")` `g:snips_author`
+ #
+ class $1 (${3}){
+ ${4}
+ }
+
+snippet defheader
+ # == Define: ${1:`vim_snippets#Filename(expand('%:p:s?.*modules/??:r:s?/manifests/?::?'), 'name')`}
+ #
+ # ${2:Full description of defined resource type $1 here}
+ #
+ # === Parameters
+ #
+ # Document parameters here
+ #
+ # [*namevar*]
+ # If there is a parameter that defaults to the value of the title string
+ # when not explicitly set, you must always say so. This parameter can be
+ # referred to as a "namevar," since it's functionally equivalent to the
+ # namevar of a core resource type.
+ #
+ # [*basedir*]
+ # Description of this variable. For example, "This parameter sets the
+ # base directory for this resource type. It should not contain a trailing
+ # slash."
+ #
+ # === Examples
+ #
+ # Provide some examples on how to use this type:
+ #
+ # $1 { 'namevar':
+ # basedir => '/tmp/src',
+ # }
+ #
+ # === Authors
+ #
+ # `g:snips_author` <`g:snips_email`>
+ #
+ # === Copyright
+ #
+ # Copyright `strftime("%Y")` `g:snips_author`
+ #
+ define $1(${3}) {
+ ${4}
+ }
+
+# Language Constructs
+snippet class
+ class ${1:`vim_snippets#Filename('', 'name')`} {
+ ${0}
+ }
+snippet node
+ node "${1:`vim_snippets#Filename('', 'fqdn')`}" {
+ ${0}
+ }
+snippet case
+ case $${1:variable} {
+ default: { ${0} }
+ }
+snippet ife
+ if $${1:variable} {
+ ${2}
+ } else {
+ ${0}
+ }
+snippet if
+ if $${1:variable} {
+ ${0}
+ }
+snippet ifd
+ if defined(${1:Resource}["${2:name}"]) {
+ ${0}
+ }
+snippet ifnd
+ if !defined(${1:Resource}["${2:name}"]) {
+ ${0}
+ }
+snippet el
+ else {
+ ${0}
+ }
+snippet ?
+ ? {
+ "${1}" => ${0}
+ }
+#
+# blocks etc and general syntax sugar
+snippet [
+ [ ${1} ]
+snippet >
+ ${1} => ${0}
+snippet p:
+ "puppet://puppet/${1:module name}/${0:file name}"
+#
+# Functions
+snippet alert
+ alert("${1:message}")
+snippet crit
+ crit("${1:message}")
+snippet debug
+ debug("${1:message}")
+snippet defined
+ defined(${1:Resource}["${2:name}"])
+snippet emerg
+ emerg("${1:message}")
+snippet extlookup Simple extlookup
+ extlookup("${1:variable}")
+snippet extlookup Extlookup with defaults
+ extlookup("${1:variable}", "${2:default}")
+snippet extlookup Extlookup with defaults and custom data file
+ extlookup("${1:variable}", "${2:default}", "${3:data source}")
+snippet fail
+ fail("${1:message}")
+snippet info
+ info("${1:message}")
+snippet inline_template
+ inline_template("<%= ${1} %>")
+snippet notice
+ notice("${1:message}")
+snippet realize
+ realize(${1:Resource}[${2:name}])
+snippet regsubst
+ regsubst(${1:hay stack}, ${2:needle}, "${3:replacement}")
+snippet inc
+ include ${1:classname}
+snippet split
+ split(${1:hay stack}, "${2:patten}")
+snippet versioncmp
+ versioncmp("${1:version}", "${2:version}")
+snippet warning
+ warning("${1:message}")
+#
+# Types
+snippet cron
+ cron { "${1:name}":
+ command => "${2}",
+ user => "${3:root}",
+ ${4} => ${0},
+ }
+
+snippet exec
+ exec { "${1:name}":
+ command => "${2:$1}",
+ user => "${3:root}",
+ ${4} => ${0},
+ }
+
+snippet user
+ user { "${1:user}":
+ ensure => present,
+ comment => "${2:$1}",
+ managehome => true,
+ home => "${0:/home/$1}",
+ }
+
+snippet group
+ group { "${1:group}":
+ ensure => ${0:present},
+ }
+
+snippet host
+ host { "${1:hostname}":
+ ip => ${0:127.0.0.1},
+ }
+
+snippet mailalias
+ mailalias { "${1:localpart}":
+ recipient => "${0:recipient}",
+ }
+
+snippet mount
+ mount { "${1:destination path}":
+ ensure => ${2:mounted},
+ device => "${0:device name or path}",
+ }
+
+snippet package
+ package { "${1:package name}":
+ ensure => ${0:present},
+ }
+
+snippet yumrepo
+ yumrepo { "${1:repo name}":
+ descr => "${2:$1}",
+ enabled => ${0:1},
+ }
+
+snippet define
+ define ${1} (${2}) {
+ ${0}
+ }
+
+snippet service
+ service { "${1:service}" :
+ ensure => running,
+ enable => true,
+ require => [ Package["${2:package}"], File["${3:file}"], ],
+ subscribe => [ File["${4:configfile1}"], File["${5:configfile2}"], Package["${6:package}"], ],
+ }
+
+snippet file
+ file { "${1:filename}" :
+ ensure => ${2:present},
+ owner => "${3:root}",
+ group => "${4:root}",
+ mode => "${5:0644}",
+ source => "puppet:///modules/${6:module}/${7:source}",
+ content => template("${8:module}/${9:template}"),
+ alias => "${10:alias}",
+ require => [ Package["${11:package}"], File["${12:file}"], ],
+ }
+
+snippet archive
+ archive { "${1:filename}" :
+ ensure => ${2:present},
+ url => "http://${3:url}",
+ extension => "${4:tgz}",
+ target => "${5:target}",
+ checksum => ${6:false},
+ src_target => "${7:/tmp}",
+ }
+
+snippet firewall
+ firewall { "${1:comment}" :
+ proto => ${2:tcp},
+ action => ${3:accept},
+ port => ${4},
+ }
+