1
0
Fork 0
mirror of synced 2024-11-23 01:05:34 -05:00
ultimate-vim/sources_non_forked/vim-snippets/snippets/puppet.snippets

270 lines
5.7 KiB
Text
Raw Normal View History

2012-08-16 23:41:25 -04:00
# Snippets for use with VIM and http://www.vim.org/scripts/script.php?script_id=2540
#
2013-07-17 19:06:05 -04:00
# Please contact R.I.Pienaar <rip@devco.net> for additions and feedback,
2012-08-16 23:41:25 -04:00
# 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}
}
2012-08-16 23:41:25 -04:00
# Language Constructs
snippet class
2013-07-17 19:06:05 -04:00
class ${1:`vim_snippets#Filename('', 'name')`} {
${0}
2012-08-16 23:41:25 -04:00
}
snippet node
2015-02-04 05:43:54 -05:00
node "${1:`vim_snippets#Filename('', 'fqdn')`}" {
${0}
2012-08-16 23:41:25 -04:00
}
snippet case
case $${1:variable} {
default: { ${0} }
2012-08-16 23:41:25 -04:00
}
snippet ife
if $${1:variable} {
${2}
} else {
${0}
2012-08-16 23:41:25 -04:00
}
snippet if
if $${1:variable} {
${0}
2013-07-17 19:06:05 -04:00
}
2015-02-04 05:43:54 -05:00
snippet ifd
if defined(${1:Resource}["${2:name}"]) {
${0}
}
snippet ifnd
if !defined(${1:Resource}["${2:name}"]) {
${0}
}
2013-07-17 19:06:05 -04:00
snippet el
2012-08-16 23:41:25 -04:00
else {
${0}
2012-08-16 23:41:25 -04:00
}
snippet ?
? {
2015-02-04 05:43:54 -05:00
"${1}" => ${0}
2012-08-16 23:41:25 -04:00
}
2013-07-17 19:06:05 -04:00
#
2012-08-16 23:41:25 -04:00
# blocks etc and general syntax sugar
snippet [
[ ${1} ]
2012-08-16 23:41:25 -04:00
snippet >
${1} => ${0}
2012-08-16 23:41:25 -04:00
snippet p:
2015-02-04 05:43:54 -05:00
"puppet://puppet/${1:module name}/${0:file name}"
2012-08-16 23:41:25 -04:00
#
# Functions
snippet alert
2015-02-04 05:43:54 -05:00
alert("${1:message}")
2012-08-16 23:41:25 -04:00
snippet crit
2015-02-04 05:43:54 -05:00
crit("${1:message}")
2012-08-16 23:41:25 -04:00
snippet debug
2015-02-04 05:43:54 -05:00
debug("${1:message}")
2012-08-16 23:41:25 -04:00
snippet defined
2015-02-04 05:43:54 -05:00
defined(${1:Resource}["${2:name}"])
2012-08-16 23:41:25 -04:00
snippet emerg
2015-02-04 05:43:54 -05:00
emerg("${1:message}")
2013-07-17 19:06:05 -04:00
snippet extlookup Simple extlookup
2015-02-04 05:43:54 -05:00
extlookup("${1:variable}")
2012-08-16 23:41:25 -04:00
snippet extlookup Extlookup with defaults
2015-02-04 05:43:54 -05:00
extlookup("${1:variable}", "${2:default}")
2012-08-16 23:41:25 -04:00
snippet extlookup Extlookup with defaults and custom data file
2015-02-04 05:43:54 -05:00
extlookup("${1:variable}", "${2:default}", "${3:data source}")
2012-08-16 23:41:25 -04:00
snippet fail
2015-02-04 05:43:54 -05:00
fail("${1:message}")
2012-08-16 23:41:25 -04:00
snippet info
2015-02-04 05:43:54 -05:00
info("${1:message}")
2012-08-16 23:41:25 -04:00
snippet inline_template
2015-02-04 05:43:54 -05:00
inline_template("<%= ${1} %>")
2012-08-16 23:41:25 -04:00
snippet notice
2015-02-04 05:43:54 -05:00
notice("${1:message}")
2012-08-16 23:41:25 -04:00
snippet realize
realize(${1:Resource}[${2:name}])
2012-08-16 23:41:25 -04:00
snippet regsubst
2015-02-04 05:43:54 -05:00
regsubst(${1:hay stack}, ${2:needle}, "${3:replacement}")
2012-08-16 23:41:25 -04:00
snippet inc
include ${1:classname}
2012-08-16 23:41:25 -04:00
snippet split
2015-02-04 05:43:54 -05:00
split(${1:hay stack}, "${2:patten}")
2012-08-16 23:41:25 -04:00
snippet versioncmp
2015-02-04 05:43:54 -05:00
versioncmp("${1:version}", "${2:version}")
2012-08-16 23:41:25 -04:00
snippet warning
2015-02-04 05:43:54 -05:00
warning("${1:message}")
2012-08-16 23:41:25 -04:00
#
# Types
snippet cron
2015-02-04 05:43:54 -05:00
cron { "${1:name}":
command => "${2}",
user => "${3:root}",
${4} => ${0},
2012-08-16 23:41:25 -04:00
}
snippet exec
2015-02-04 05:43:54 -05:00
exec { "${1:name}":
command => "${2:$1}",
user => "${3:root}",
${4} => ${0},
2012-08-16 23:41:25 -04:00
}
snippet user
2015-02-04 05:43:54 -05:00
user { "${1:user}":
ensure => present,
2015-02-04 05:43:54 -05:00
comment => "${2:$1}",
managehome => true,
2015-02-04 05:43:54 -05:00
home => "${0:/home/$1}",
2012-08-16 23:41:25 -04:00
}
snippet group
2015-02-04 05:43:54 -05:00
group { "${1:group}":
ensure => ${0:present},
2012-08-16 23:41:25 -04:00
}
snippet host
2015-02-04 05:43:54 -05:00
host { "${1:hostname}":
ip => ${0:127.0.0.1},
2012-08-16 23:41:25 -04:00
}
snippet mailalias
2015-02-04 05:43:54 -05:00
mailalias { "${1:localpart}":
recipient => "${0:recipient}",
2012-08-16 23:41:25 -04:00
}
snippet mount
2015-02-04 05:43:54 -05:00
mount { "${1:destination path}":
2012-08-16 23:41:25 -04:00
ensure => ${2:mounted},
2015-02-04 05:43:54 -05:00
device => "${0:device name or path}",
2012-08-16 23:41:25 -04:00
}
snippet package
2015-02-04 05:43:54 -05:00
package { "${1:package name}":
ensure => ${0:present},
2012-08-16 23:41:25 -04:00
}
snippet yumrepo
2015-02-04 05:43:54 -05:00
yumrepo { "${1:repo name}":
2015-12-08 08:20:04 -05:00
descr => "${2:$1}",
enabled => ${0:1},
2012-08-16 23:41:25 -04:00
}
snippet define
define ${1} (${2}) {
${0}
2012-08-16 23:41:25 -04:00
}
snippet service
2015-02-04 05:43:54 -05:00
service { "${1:service}" :
ensure => running,
enable => true,
2015-02-04 05:43:54 -05:00
require => [ Package["${2:package}"], File["${3:file}"], ],
subscribe => [ File["${4:configfile1}"], File["${5:configfile2}"], Package["${6:package}"], ],
2012-08-16 23:41:25 -04:00
}
snippet file
2015-02-04 05:43:54 -05:00
file { "${1:filename}" :
ensure => ${2:present},
2015-02-04 05:43:54 -05:00
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},
2012-08-16 23:41:25 -04:00
}