From 823302458ec6c53455a3f34674415c43ce6a3187 Mon Sep 17 00:00:00 2001 From: "Vito G. Graffagnino" Date: Sun, 28 Aug 2022 12:24:01 +0100 Subject: Added snippets directory --- snippets/puppet.snippets | 245 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 245 insertions(+) create mode 100644 snippets/puppet.snippets (limited to 'snippets/puppet.snippets') diff --git a/snippets/puppet.snippets b/snippets/puppet.snippets new file mode 100644 index 0000000..5a1dd6a --- /dev/null +++ b/snippets/puppet.snippets @@ -0,0 +1,245 @@ +# Snippets for use with VIM and http://www.vim.org/scripts/script.php?script_id=2540 +# +# Please contact Jorge Vidal for additions and feedback, +# see it in action @ http://www.devco.net/archives/2009/09/22/vim_and_puppet.php +# Many thanks to the original author R.I.Pienaar + +# Header using Puppet Strings (YARD tags) https://puppet.com/docs/puppet/latest/modules_documentation.html +# More info: https://github.com/puppetlabs/puppet-strings +snippet classheader + # ${1:`vim_snippets#Filename(substitute(expand('%:p:s?\v.{-}/(\w+)/manifests/(.+)\.pp?\1/\2?'), '/', '::', 'g'), 'class-name')`} + # ${2:A description of what this class does} + # + # @summary ${3:A short summary of the purpose of this class} + # + # @param ${4:parameter1} + # ${6:Explanation of what this parameter affects.} + # + # @example Simple use + # include $1 + # + # @example Use with params + # class { '$1': + # $$4 => '${7:undef}', + # } + # + # @author ${8:`g:snips_author`} <${9:`g:snips_email`}> + # + # @note Copyright `strftime("%Y")` $8 + # + class $1( + ${5:String} $$4 = undef, + ) { + ${0} + } + +snippet defheader + # ${1:`vim_snippets#Filename(expand('%:p:s?.*modules/??:h:h'), 'define-name')`} + # ${2:A description of what this define does} + # + # @summary ${3:A short summary of the purpose of this define} + # + # @param ${4:parameter1} [${5:String}] + # ${6:Explanation of what this parameter affects.} + # + # @example Simple use + # $1 { 'namevar': + # $$4 => '${7:undef}', + # } + # + # @author ${8:`g:snips_author`} <${9:`g:snips_email`}> + # + # @note Copyright `strftime("%Y")` $8 + # + define $1( + $$4 = undef, + ) { + ${0} + } + +# 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}, + } + -- cgit v1.2.3