e9aac9794b
The font is IBM Plex Mono: https://ibm.github.io/type/
272 lines
5.7 KiB
Text
272 lines
5.7 KiB
Text
# 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 notify
|
|
notify { "${1:message}": }
|
|
|
|
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},
|
|
}
|
|
|