├── .gitignore ├── README.md ├── doc └── ansible.txt ├── ftdetect └── ansible.vim ├── ftplugin └── ansible.vim ├── indent └── ansible.vim ├── snippets └── ansible.snippets └── syntax ├── ansible.vim ├── ansible_hosts.vim └── include ├── jinja.vim └── yaml.vim /.gitignore: -------------------------------------------------------------------------------- 1 | /doc/tags 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vim-ansible-yaml 2 | 3 | ### Maintainer wanted! 4 | I don't have time to maintain this and haven't used Ansible in quite some time. If anyone would like to come in as a collaborater and maintain it, feel free to open up an issue! 5 | 6 | *Also, if you feel like this bundle isn't quite what you'd want, check out [ansible-vim](https://github.com/pearofducks/ansible-vim) by @pearofducks!* 7 | 8 | --- 9 | 10 | Adds additional syntax highlighting and fixes indentation for Ansible's dialect of YAML. 11 | 12 | Allows a user-specified mapping in normal mode to search the ansible docs for the keyword underneath the current 13 | cursor position. See below for configuration. 14 | 15 | Ansible YAML files are detected based on the presence of a modeline or a 16 | [structure following Ansible's Playbook Best Practices](http://docs.ansible.com/ansible/latest/playbooks_best_practices.html#directory-layout). 17 | For details, see the Detection section below. 18 | 19 | ## Install 20 | 21 | ### Using [Vundle](https://github.com/gmarik/vundle) 22 | 23 | 1. Add the following to your `.vimrc` where other bundles are located: 24 | 25 | Bundle 'chase/vim-ansible-yaml' 26 | 27 | 2. Run from command line: 28 | 29 | $ vim +BundleInstall 30 | 31 | ### Using [pathogen](https://github.com/tpope/vim-pathogen) 32 | 33 | 1. Check out the repository into your bundle path: 34 | 35 | $ cd ~/.vim/bundle 36 | $ git clone git://github.com/chase/vim-ansible-yaml.git 37 | 38 | 2. Install the help file. (Repeat this step if you get an updated version.) From inside vim, 39 | 40 | :Helptags 41 | 42 | ### Normal 43 | 44 | 1. Check out the repository and copy the following to `.vim/` directory or any 45 | other run time path, keeping their directory structure intact: 46 | 47 | doc/ansible.txt 48 | ftdetect/ansible.vim 49 | syntax/ansible.vim 50 | syntax/include/jinja.vim 51 | syntax/include/yaml.vim 52 | indent/ansible.vim 53 | 54 | 2. Install the help file. From inside vim, `:helptags ~/.vim/doc`. 55 | 56 | ## Detection 57 | 58 | You can tell vim to recognize a file as Ansible by adding a modeline near the top or bottom of the file: 59 | ``` 60 | # vim:ft=ansible: 61 | ``` 62 | 63 | A file is recognized as an Ansible YAML file, and its filetype is set to `ansible`, if 64 | 65 | 1. The file extension is `.yml` or `.yaml` 66 | 2. AND one of the following conditions holds: 67 | 1. The file is somewhere under a directory named `roles`. 68 | 2. The file is in the same directory as a directory (or file) named `group_vars`, `host_vars`, or `roles`. 69 | 70 | ## Configuration 71 | 72 | All configuration options will live under `g:ansible_options`. 73 | 74 | ### ignore_blank_lines 75 | 76 | If you define 77 | 78 | let g:ansible_options = {'ignore_blank_lines': 0} 79 | 80 | in your vimrc file, then the indent function will remove all indent after a blank line. The default behavior is to ignore blank lines when calculating the indent of the current line. This is helpful if your style is to insert blank lines, as in 81 | 82 | ``` 83 | tasks: 84 | - name: Say hello. 85 | command: echo Hello, world. 86 | 87 | - name: Say good night, Dick. 88 | command: echo Good night, Dick. 89 | ``` 90 | 91 | If `g:ansible_options` is not defined, or if the `ignore_blank_lines` key is not present, or the value is not `0`, then the indent function uses the default behavior. 92 | 93 | ### documentation_mapping 94 | 95 | The documentation_mapping option enables setting a custom mapping to search the Ansible documentation for the word under the cursor. 96 | 97 | It can be enabled as such: `let g:ansible_options = {'documentation_mapping': ''}` - which would bind Control-K to perform the search. 98 | 99 | ## Thanks 100 | [Benji Fisher](https://github.com/benjifisher) helped out a great amount as a maintainer, thanks a ton! 101 | 102 | A huge thanks to [Igor Vergeichik](mailto:iverg@mail.ru) and [Nikolai Weibull](https://github.com/now) for their work on the YAML syntax that this bundle uses. 103 | 104 | Also, thank you, [Armin Ronacher](https://github.com/mitsuhiko), for the 105 | simple and effective Jinja syntax file. 106 | -------------------------------------------------------------------------------- /doc/ansible.txt: -------------------------------------------------------------------------------- 1 | *ansible.txt* Configuration for editing Ansible (YAML) files 2 | 3 | For |Vim version 7.3| and later. Last change: 2014 Nov 18 4 | 5 | *ansible* *ansible.vim* 6 | This plugin adds additional syntax highlighting and fixes indentation for 7 | Ansible's dialect of YAML. 8 | 9 | Ansible YAML files are detected based on the presence of a 10 | structure following Ansible's Playbook Best Practices 11 | (http://www.ansibleworks.com/docs/playbooks_best_practices.html#directory-layout). 12 | For details, see the |ansible-detect| section below. 13 | 14 | The functionality mentioned here is an ftplugin, see |ftplugins|. 15 | This plugin is only available if 'compatible' is not set. 16 | 17 | {Vi does not have any of this} 18 | 19 | 1. Installation |ansible-install| 20 | 21 | ============================================================================== 22 | 1. Installation *ansible-install* 23 | 24 | 1.1 Using Vundle (https://github.com/gmarik/vundle) 25 | 26 | 1. Add the following to your |vimrc| where other bundles are located: > 27 | Bundle 'chase/vim-ansible-yaml' 28 | ~ 29 | 2. Run from command line: > 30 | $ vim +BundleInstall 31 | 32 | 1.2 Using Pathogen (https://github.com/tpope/vim-pathogen) 33 | 34 | 1. Check out the repository into your bundle path: > 35 | $ cd ~/.vim/bundle 36 | $ git clone git://github.com/chase/vim-ansible-yaml.git 37 | ~ 38 | 2. Install this help file. (Repeat this step if you get an updated version.) 39 | From inside vim, > 40 | :Helptags 41 | 42 | 1.3 Normal 43 | 44 | 1. Check out the repository and copy the following to `.vim/` directory or 45 | any other 'runtimepath', keeping their directory structure intact: 46 | 47 | doc/ansible.txt 48 | ftdetect/ansible.vim 49 | syntax/ansible.vim 50 | syntax/include/jinja.vim 51 | syntax/include/yaml.vim 52 | indent/ansible.vim 53 | 54 | 2. Install the help file. From inside vim, > 55 | :helptags ~/.vim/doc 56 | 57 | 2. Detection *ansible-detection* 58 | 59 | You can tell vim to recognize a file as Ansible by adding a |modeline| near 60 | the top or bottom of the file: > 61 | # vim:ft=ansible: 62 | 63 | A file is recognized as an Ansible YAML file, and its filetype is set to 64 | `ansible`, if 65 | 66 | 1. The extension is `.yml` 67 | 2. AND one of the following conditions holds: 68 | 1. The file is somewhere under a directory named `roles`. 69 | 2. The file is in the same directory as a directory (or file) named 70 | `group_vars`, `host_vars`, or `roles`. 71 | 72 | 3. Configuration *ansible-configuration* 73 | 74 | So far, there is only one option. Others may be added later. 75 | 76 | If you define > 77 | 78 | :let g:ansible_options = {'ignore_blank_lines': 0} 79 | 80 | in your |vimrc| file, then the indent function will remove all indent after a 81 | blank line. The default behavior is to ignore blank lines when calculating the 82 | indent of the current line. This is helpful if your style is to insert blank 83 | lines, as in > 84 | 85 | tasks: 86 | - name: Say hello. 87 | command: echo Hello, world. 88 | 89 | - name: Say good night, Dick. 90 | command: echo Good night, Dick. 91 | 92 | If `g:ansible_options` is not defined, or if the `ignore_blank_lines` key is 93 | not present, or the value is not `0`, then the indent function uses the 94 | default behavior. 95 | 96 | 4. Thanks *ansible-credits* 97 | 98 | A huge thanks to Igor Vergeichik (mailto:iverg@mail.ru) and Nikolai Weibull 99 | (https://github.com/now) for their work on the YAML syntax that this bundle 100 | uses. 101 | Also, thank you, Armin Ronacher (https://github.com/mitsuhiko), for the 102 | simple and effective Jinja syntax file. 103 | 104 | vim:tw=78:ts=8:ft=help:norl: 105 | -------------------------------------------------------------------------------- /ftdetect/ansible.vim: -------------------------------------------------------------------------------- 1 | " Determine if normal YAML or Ansible YAML 2 | " Language: YAML (with Ansible) 3 | " Maintainer: Benji Fisher, Ph.D. 4 | " Author: Chase Colman 5 | " Version: 1.0 6 | " Latest Revision: 2015-03-23 7 | " URL: https://github.com/chase/vim-ansible-yaml 8 | 9 | autocmd BufNewFile,BufRead *.yml,*.yaml,*/{group,host}_vars/* call s:SelectAnsible("ansible") 10 | autocmd BufNewFile,BufRead hosts call s:SelectAnsible("ansible_hosts") 11 | 12 | fun! s:SelectAnsible(fileType) 13 | " Bail out if 'filetype' is already set to "ansible". 14 | if index(split(&ft, '\.'), 'ansible') != -1 15 | return 16 | endif 17 | 18 | let fp = expand(":p") 19 | let dir = expand(":p:h") 20 | 21 | " Check if buffer is file under any directory of a 'roles' directory 22 | " or under any *_vars directory 23 | if fp =~ '/roles/.*\.y\(a\)\?ml$' || fp =~ '/\(group\|host\)_vars/' 24 | execute "set filetype=" . a:fileType . '.yaml' 25 | return 26 | endif 27 | 28 | " Check if subdirectories in buffer's directory match Ansible best practices 29 | if v:version < 704 30 | let directories=split(glob(fnameescape(dir) . '/{,.}*/', 1), '\n') 31 | else 32 | let directories=glob(fnameescape(dir) . '/{,.}*/', 1, 1) 33 | endif 34 | 35 | call map(directories, 'fnamemodify(v:val, ":h:t")') 36 | 37 | for dir in directories 38 | if dir =~ '\v^%(group_vars|host_vars|roles)$' 39 | execute "set filetype=" . a:fileType 40 | return 41 | endif 42 | endfor 43 | endfun 44 | -------------------------------------------------------------------------------- /ftplugin/ansible.vim: -------------------------------------------------------------------------------- 1 | " Ansible/YAML filetype plugin 2 | " Language: YAML (with Ansible) 3 | " Maintainer: Benji Fisher, Ph.D. rg> 4 | " Version: 1.0 5 | " Latest Revision: 2014-11-10 6 | " URL: https://github.com/chase/vim-ansible-yaml 7 | 8 | " Only do this when not done yet for this buffer. 9 | if exists("b:did_ftplugin") 10 | finish 11 | endif 12 | 13 | " Avoid problems if running in 'compatible' mode. 14 | let s:save_cpo = &cpo 15 | set cpo&vim 16 | 17 | let b:undo_ftplugin = "setl comments< commentstring<" 18 | 19 | setlocal comments=:# 20 | setlocal commentstring=#\ %s 21 | 22 | let &cpo = s:save_cpo 23 | unlet s:save_cpo 24 | 25 | " Remap user-specified binding to look in ansible-doc for keyword under cursor 26 | if exists('g:ansible_options["documentation_mapping"]') 27 | exec 'nmap ' . g:ansible_options["documentation_mapping"] . ' :!ansible-doc *' 28 | endif 29 | 30 | " vim:sts=2:sw=2: 31 | -------------------------------------------------------------------------------- /indent/ansible.vim: -------------------------------------------------------------------------------- 1 | " Vim indent file 2 | " Language: YAML (with Ansible) 3 | " Maintainer: Benji Fisher, Ph.D. 4 | " Author: Chase Colman 5 | " Version: 1.0 6 | " Latest Revision: 2014-11-18 7 | " URL: https://github.com/chase/vim-ansible-yaml 8 | 9 | " Only load this indent file when no other was loaded. 10 | if exists("b:did_indent") 11 | finish 12 | endif 13 | 14 | let b:did_indent = 1 15 | 16 | setlocal sw=2 ts=2 sts=2 et 17 | setlocal indentexpr=GetAnsibleIndent(v:lnum) 18 | setlocal indentkeys=!^Fo,O,0#,<:>,- 19 | setlocal nosmartindent 20 | 21 | " Only define the function once. 22 | if exists('*GetAnsibleIndent') 23 | finish 24 | endif 25 | 26 | function GetAnsibleIndent(lnum) 27 | " Check whether the user has set g:ansible_options["ignore_blank_lines"]. 28 | let ignore_blanks = !exists('g:ansible_options["ignore_blank_lines"]') 29 | \ || g:ansible_options["ignore_blank_lines"] 30 | 31 | let prevlnum = ignore_blanks ? prevnonblank(a:lnum - 1) : a:lnum - 1 32 | if prevlnum == 0 33 | return 0 34 | endif 35 | let prevline = getline(prevlnum) 36 | 37 | let indent = indent(prevlnum) 38 | let increase = indent + &sw 39 | 40 | " Do not adjust indentation for comments 41 | if prevline =~ '\%(^\|\s\)#' 42 | return indent 43 | elseif prevline =~ ':\s*[>|]?$' 44 | return increase 45 | elseif prevline =~ ':$' 46 | return increase 47 | elseif prevline =~ '^\s*-\s*$' 48 | return increase 49 | elseif prevline =~ '^\s*-\s\+[^:]\+:\s*\S' 50 | return increase 51 | else 52 | return indent 53 | endif 54 | endfunction 55 | -------------------------------------------------------------------------------- /snippets/ansible.snippets: -------------------------------------------------------------------------------- 1 | snippet rollbar_deployment 2 | rollbar_deployment: > 3 | environment=${1:# REQUIRED} 4 | token=${2:# REQUIRED} 5 | revision=${3:# REQUIRED} 6 | comment=${4} 7 | rollbar_user=${5} 8 | url=${6:https://api.rollbar.com/api/1/deploy/} 9 | user=${7} 10 | validate_certs=${8:#yes|no} 11 | 12 | snippet logentries 13 | logentries: path=${1:# REQUIRED} state=${2:#present|absent} 14 | 15 | snippet nagios 16 | nagios: > 17 | action=${1:#downtime|enable_alerts|disable_alerts|silence|unsilence|silence_nagios|unsilence_nagios|command} 18 | command=${2:# REQUIRED} 19 | services=${3:# REQUIRED} 20 | host=${4} 21 | author=${5:ansible} 22 | minutes=${6:30} 23 | cmdfile=${7:auto-detected} 24 | 25 | snippet newrelic_deployment 26 | newrelic_deployment: > 27 | token=${1:# REQUIRED} 28 | application_id=${2} 29 | description=${3} 30 | changelog=${4} 31 | appname=${5} 32 | environment=${6} 33 | user=${7} 34 | revision=${8} 35 | validate_certs=${9:#yes|no} 36 | app_name=${10} 37 | 38 | snippet librato_annotation 39 | librato_annotation: > 40 | links=${1:# REQUIRED} 41 | title=${2:# REQUIRED} 42 | api_key=${3:# REQUIRED} 43 | user=${4:# REQUIRED} 44 | description=${5} 45 | start_time=${6} 46 | name=${7} 47 | source=${8} 48 | end_time=${9} 49 | 50 | snippet stackdriver 51 | stackdriver: > 52 | key=${1:# REQUIRED} 53 | repository=${2} 54 | level=${3:#INFO|WARN|ERROR} 55 | annotated_by=${4:ansible} 56 | deployed_to=${5} 57 | deployed_by=${6:ansible} 58 | instance_id=${7} 59 | msg=${8} 60 | event_epoch=${9} 61 | revision_id=${10} 62 | event=${11:#annotation|deploy} 63 | 64 | snippet pagerduty 65 | pagerduty: > 66 | name=${1:# REQUIRED} 67 | passwd=${2:# REQUIRED} 68 | state=${3:#running|started|ongoing} 69 | user=${4:# REQUIRED} 70 | service=${5} 71 | hours=${6:1} 72 | validate_certs=${7:#yes|no} 73 | desc=${8:created by ansible} 74 | 75 | snippet boundary_meter 76 | boundary_meter: > 77 | apikey=${1:# REQUIRED} 78 | apiid=${2:# REQUIRED} 79 | name=${3:# REQUIRED} 80 | state=${4:#present|absent} 81 | validate_certs=${5:#yes|no} 82 | 83 | snippet airbrake_deployment 84 | airbrake_deployment: > 85 | environment=${1:# REQUIRED} 86 | token=${2:# REQUIRED} 87 | repo=${3} 88 | user=${4} 89 | url=${5:https://airbrake.io/deploys} 90 | validate_certs=${6:#yes|no} 91 | revision=${7} 92 | 93 | snippet pingdom 94 | pingdom: > 95 | checkid=${1:# REQUIRED} 96 | passwd=${2:# REQUIRED} 97 | state=${3:#running|paused} 98 | uid=${4:# REQUIRED} 99 | key=${5:# REQUIRED} 100 | 101 | snippet datadog_event 102 | datadog_event: > 103 | text=${1:# REQUIRED} 104 | title=${2:# REQUIRED} 105 | api_key=${3:# REQUIRED} 106 | date_happened=${4:now} 107 | alert_type=${5:#error|warning|info|success} 108 | tags=${6} 109 | priority=${7:#normal|low} 110 | aggregation_key=${8} 111 | validate_certs=${9:#yes|no} 112 | 113 | snippet monit 114 | monit: state=${1:#present|started|stopped|restarted|monitored|unmonitored|reloaded} name=${2:# REQUIRED} 115 | 116 | snippet redhat_subscription 117 | redhat_subscription: > 118 | username=${1} 119 | server_hostname=${2:current value from c(/etc/rhsm/rhsm.conf) is the default} 120 | state=${3:#present|absent} 121 | autosubscribe=${4:false} 122 | activationkey=${5} 123 | server_insecure=${6:current value from c(/etc/rhsm/rhsm.conf) is the default} 124 | password=${7} 125 | rhsm_baseurl=${8:current value from c(/etc/rhsm/rhsm.conf) is the default} 126 | pool=${9:^$} 127 | 128 | snippet zypper 129 | zypper: name=${1:# REQUIRED} state=${2:#present|latest|absent} disable_gpg_check=${3:#yes|no} 130 | 131 | snippet homebrew_cask 132 | homebrew_cask: name=${1:# REQUIRED} state=${2:#installed|uninstalled} 133 | 134 | snippet yum 135 | yum: > 136 | name=${1:# REQUIRED} 137 | state=${2:#present|latest|absent} 138 | disablerepo=${3} 139 | enablerepo=${4} 140 | list=${5} 141 | disable_gpg_check=${6:#yes|no} 142 | conf_file=${7} 143 | 144 | snippet apt_repository 145 | apt_repository: > 146 | repo=${1:# REQUIRED} 147 | update_cache=${2:#yes|no} 148 | state=${3:#absent|present} 149 | validate_certs=${4:#yes|no} 150 | mode=${5:420} 151 | 152 | snippet pkgutil 153 | pkgutil: state=${1:#present|absent|latest} name=${2:# REQUIRED} site=${3} 154 | 155 | snippet apt 156 | apt: > 157 | dpkg_options=${1:force-confdef,force-confold} 158 | upgrade=${2:#yes|safe|full|dist} 159 | force=${3:#yes|no} 160 | name=${4} 161 | purge=${5:#yes|no} 162 | state=${6:#latest|absent|present} 163 | update_cache=${7:#yes|no} 164 | default_release=${8} 165 | cache_valid_time=${9:false} 166 | deb=${10} 167 | install_recommends=${11:#yes|no} 168 | 169 | snippet svr4pkg 170 | svr4pkg: > 171 | state=${1:#present|absent} 172 | name=${2:# REQUIRED} 173 | category=${3:#true|false} 174 | src=${4} 175 | zone=${5:#current|all} 176 | response_file=${6} 177 | proxy=${7} 178 | 179 | snippet npm 180 | npm: > 181 | executable=${1} 182 | name=${2} 183 | global=${3:#yes|no} 184 | state=${4:#present|absent|latest} 185 | production=${5:#yes|no} 186 | registry=${6} 187 | version=${7} 188 | path=${8} 189 | 190 | snippet pkgng 191 | pkgng: > 192 | name=${1:# REQUIRED} 193 | cached=${2:#yes|no} 194 | state=${3:#present|absent} 195 | pkgsite=${4} 196 | annotation=${5} 197 | 198 | snippet openbsd_pkg 199 | openbsd_pkg: state=${1:#present|latest|absent} name=${2:# REQUIRED} 200 | 201 | snippet gem 202 | gem: > 203 | name=${1:# REQUIRED} 204 | include_dependencies=${2:#yes|no} 205 | executable=${3} 206 | repository=${4} 207 | user_install=${5:yes} 208 | pre_release=${6:no} 209 | state=${7:#present|absent|latest} 210 | version=${8} 211 | gem_source=${9} 212 | 213 | snippet layman 214 | layman: name=${1:# REQUIRED} list_url=${2} state=${3:#present|absent|updated} 215 | 216 | snippet composer 217 | composer: > 218 | working_dir=${1:# REQUIRED} 219 | prefer_dist=${2:#yes|no} 220 | prefer_source=${3:#yes|no} 221 | no_scripts=${4:#yes|no} 222 | no_dev=${5:#yes|no} 223 | no_plugins=${6:#yes|no} 224 | optimize_autoloader=${7:#yes|no} 225 | 226 | snippet pkgin 227 | pkgin: name=${1:# REQUIRED} state=${2:#present|absent} 228 | 229 | snippet zypper_repository 230 | zypper_repository: > 231 | repo=${1} 232 | state=${2:#absent|present} 233 | description=${3} 234 | disable_gpg_check=${4:#yes|no} 235 | name=${5} 236 | 237 | snippet pip 238 | pip: > 239 | virtualenv=${1} 240 | virtualenv_site_packages=${2:#yes|no} 241 | virtualenv_command=${3:virtualenv} 242 | chdir=${4} 243 | requirements=${5} 244 | name=${6} 245 | executable=${7} 246 | extra_args=${8} 247 | state=${9:#present|absent|latest} 248 | version=${10} 249 | 250 | snippet cpanm 251 | cpanm: > 252 | notest=${1:false} 253 | from_path=${2} 254 | name=${3} 255 | locallib=${4:false} 256 | mirror=${5:false} 257 | 258 | snippet homebrew_tap 259 | homebrew_tap: tap=${1:# REQUIRED} state=${2:#present|absent} 260 | 261 | snippet portinstall 262 | portinstall: name=${1:# REQUIRED} state=${2:#present|absent} use_packages=${3:#yes|no} 263 | 264 | snippet homebrew 265 | homebrew: > 266 | name=${1:# REQUIRED} 267 | update_homebrew=${2:#yes|no} 268 | install_options=${3} 269 | state=${4:#head|latest|present|absent|linked|unlinked} 270 | upgrade_all=${5:#yes|no} 271 | 272 | snippet rhn_channel 273 | rhn_channel: > 274 | sysname=${1:# REQUIRED} 275 | name=${2:# REQUIRED} 276 | url=${3:# REQUIRED} 277 | password=${4:# REQUIRED} 278 | user=${5:# REQUIRED} 279 | state=${6:present} 280 | 281 | snippet apt_key 282 | apt_key: > 283 | keyserver=${1} 284 | url=${2} 285 | data=${3} 286 | keyring=${4} 287 | state=${5:#absent|present} 288 | file=${6} 289 | validate_certs=${7:#yes|no} 290 | id=${8} 291 | 292 | snippet opkg 293 | opkg: name=${1:# REQUIRED} state=${2:#present|absent} update_cache=${3:#yes|no} 294 | 295 | snippet rhn_register 296 | rhn_register: > 297 | username=${1} 298 | channels=${2:[]} 299 | state=${3:#present|absent} 300 | activationkey=${4} 301 | password=${5} 302 | server_url=${6:current value of i(serverurl) from c(/etc/sysconfig/rhn/up2date) is the default} 303 | 304 | snippet easy_install 305 | easy_install: > 306 | name=${1:# REQUIRED} 307 | virtualenv=${2} 308 | virtualenv_site_packages=${3:#yes|no} 309 | virtualenv_command=${4:virtualenv} 310 | executable=${5} 311 | 312 | snippet swdepot 313 | swdepot: state=${1:#present|latest|absent} name=${2:# REQUIRED} depot=${3} 314 | 315 | snippet rpm_key 316 | rpm_key: key=${1:# REQUIRED} state=${2:#present|absent} validate_certs=${3:#yes|no} 317 | 318 | snippet portage 319 | portage: > 320 | nodeps=${1:#yes} 321 | onlydeps=${2:#yes} 322 | newuse=${3:#yes} 323 | package=${4} 324 | oneshot=${5:#yes} 325 | update=${6:#yes} 326 | deep=${7:#yes} 327 | quiet=${8:#yes} 328 | sync=${9:#yes|web} 329 | state=${10:#present|installed|emerged|absent|removed|unmerged} 330 | depclean=${11:#yes} 331 | noreplace=${12:#yes} 332 | verbose=${13:#yes} 333 | 334 | snippet macports 335 | macports: name=${1:# REQUIRED} state=${2:#present|absent|active|inactive} update_cache=${3:#yes|no} 336 | 337 | snippet pacman 338 | pacman: recurse=${1:#yes|no} state=${2:#present|absent} update_cache=${3:#yes|no} name=${4} 339 | 340 | snippet apt_rpm 341 | apt_rpm: pkg=${1:# REQUIRED} state=${2:#absent|present} update_cache=${3:#yes|no} 342 | 343 | snippet urpmi 344 | urpmi: > 345 | pkg=${1:# REQUIRED} 346 | force=${2:#yes|no} 347 | state=${3:#absent|present} 348 | no-suggests=${4:#yes|no} 349 | update_cache=${5:#yes|no} 350 | 351 | snippet add_host 352 | add_host: name=${1:# REQUIRED} groups=${2} 353 | 354 | snippet group_by 355 | group_by: key=${1:# REQUIRED} 356 | 357 | snippet win_feature 358 | win_feature: > 359 | name=${1:# REQUIRED} 360 | include_management_tools=${2:#True|False} 361 | include_sub_features=${3:#True|False} 362 | state=${4:#present|absent} 363 | restart=${5:#True|False} 364 | 365 | snippet win_stat 366 | win_stat: path=${1:# REQUIRED} get_md5=${2:true} 367 | 368 | snippet win_service 369 | win_service: name=${1:# REQUIRED} start_mode=${2:#auto|manual|disabled} state=${3:#started|stopped|restarted} 370 | 371 | snippet win_get_url 372 | win_get_url: url=${1:# REQUIRED} dest=${2:true} 373 | 374 | snippet win_group 375 | win_group: name=${1:# REQUIRED} state=${2:#present|absent} description=${3} 376 | 377 | snippet slurp 378 | slurp: src=${1:# REQUIRED} 379 | 380 | snippet win_user 381 | win_user: password=${1:# REQUIRED} name=${2:# REQUIRED} state=${3:#present|absent} 382 | 383 | snippet win_ping 384 | win_ping: data=${1:pong} 385 | 386 | snippet setup 387 | setup: filter=${1:*} fact_path=${2:/etc/ansible/facts.d} 388 | 389 | snippet win_msi 390 | win_msi: path=${1:# REQUIRED} creates=${2} state=${3:#present|absent} 391 | 392 | snippet mail 393 | mail: > 394 | subject=${1:# REQUIRED} 395 | body=${2:$subject} 396 | from=${3:root} 397 | to=${4:root} 398 | headers=${5} 399 | cc=${6} 400 | charset=${7:us-ascii} 401 | bcc=${8} 402 | attach=${9} 403 | host=${10:localhost} 404 | port=${11:25} 405 | 406 | snippet sns 407 | sns: > 408 | topic=${1:# REQUIRED} 409 | msg=${2:# REQUIRED} 410 | aws_secret_key=${3} 411 | aws_access_key=${4} 412 | http=${5} 413 | sqs=${6} 414 | region=${7} 415 | sms=${8} 416 | https=${9} 417 | email=${10} 418 | subject=${11} 419 | 420 | snippet twilio 421 | twilio: > 422 | msg=${1:# REQUIRED} 423 | auth_token=${2:# REQUIRED} 424 | from_number=${3:# REQUIRED} 425 | to_number=${4:# REQUIRED} 426 | account_sid=${5:# REQUIRED} 427 | 428 | snippet osx_say 429 | osx_say: msg=${1:# REQUIRED} voice=${2} 430 | 431 | snippet grove 432 | grove: > 433 | message=${1:# REQUIRED} 434 | channel_token=${2:# REQUIRED} 435 | service=${3:ansible} 436 | url=${4} 437 | icon_url=${5} 438 | validate_certs=${6:#yes|no} 439 | 440 | snippet hipchat 441 | hipchat: > 442 | room=${1:# REQUIRED} 443 | token=${2:# REQUIRED} 444 | msg=${3:# REQUIRED} 445 | from=${4:ansible} 446 | color=${5:#yellow|red|green|purple|gray|random} 447 | msg_format=${6:#text|html} 448 | api=${7:https://api.hipchat.com/v1/rooms/message} 449 | notify=${8:#yes|no} 450 | validate_certs=${9:#yes|no} 451 | 452 | snippet jabber 453 | jabber: > 454 | to=${1:# REQUIRED} 455 | user=${2:# REQUIRED} 456 | msg=${3:# REQUIRED} 457 | password=${4:# REQUIRED} 458 | host=${5} 459 | encoding=${6} 460 | port=${7:5222} 461 | 462 | snippet slack 463 | slack: > 464 | domain=${1:# REQUIRED} 465 | token=${2:# REQUIRED} 466 | msg=${3:# REQUIRED} 467 | username=${4:ansible} 468 | icon_url=${5} 469 | parse=${6:#full|none} 470 | icon_emoji=${7} 471 | link_names=${8:#1|0} 472 | validate_certs=${9:#yes|no} 473 | channel=${10} 474 | 475 | snippet flowdock 476 | flowdock: > 477 | type=${1:#inbox|chat} 478 | token=${2:# REQUIRED} 479 | msg=${3:# REQUIRED} 480 | from_name=${4} 481 | from_address=${5} 482 | tags=${6} 483 | external_user_name=${7} 484 | project=${8} 485 | source=${9} 486 | link=${10} 487 | reply_to=${11} 488 | subject=${12} 489 | validate_certs=${13:#yes|no} 490 | 491 | snippet typetalk 492 | typetalk: topic=${1:# REQUIRED} client_secret=${2:# REQUIRED} client_id=${3:# REQUIRED} msg=${4:# REQUIRED} 493 | 494 | snippet irc 495 | irc: > 496 | msg=${1:# REQUIRED} 497 | channel=${2:# REQUIRED} 498 | key=${3} 499 | color=${4:#none|yellow|red|green|blue|black} 500 | server=${5:localhost} 501 | nick=${6:ansible} 502 | passwd=${7} 503 | timeout=${8:30} 504 | port=${9:6667} 505 | 506 | snippet campfire 507 | campfire: > 508 | msg=${1:# REQUIRED} 509 | token=${2:# REQUIRED} 510 | subscription=${3:# REQUIRED} 511 | room=${4:# REQUIRED} 512 | notify=${5:#56k|bell|bezos|bueller|clowntown|cottoneyejoe|crickets|dadgummit|dangerzone|danielsan|deeper|drama|greatjob|greyjoy|guarantee|heygirl|horn|horror|inconceivable|live|loggins|makeitso|noooo|nyan|ohmy|ohyeah|pushit|rimshot|rollout|rumble|sax|secret|sexyback|story|tada|tmyk|trololo|trombone|unix|vuvuzela|what|whoomp|yeah|yodel} 513 | 514 | snippet nexmo 515 | nexmo: > 516 | src=${1:# REQUIRED} 517 | dest=${2:# REQUIRED} 518 | api_secret=${3:# REQUIRED} 519 | api_key=${4:# REQUIRED} 520 | msg=${5:# REQUIRED} 521 | validate_certs=${6:#yes|no} 522 | 523 | snippet mqtt 524 | mqtt: > 525 | topic=${1:# REQUIRED} 526 | payload=${2:# REQUIRED} 527 | username=${3} 528 | qos=${4:#0|1|2} 529 | port=${5:1883} 530 | server=${6:localhost} 531 | client_id=${7:hostname + pid} 532 | retain=${8:false} 533 | password=${9} 534 | 535 | snippet async_status 536 | async_status: jid=${1:# REQUIRED} mode=${2:#status|cleanup} 537 | 538 | snippet apache2_module 539 | apache2_module: name=${1:# REQUIRED} state=${2:#present|absent} 540 | 541 | snippet jira 542 | jira: > 543 | username=${1:# REQUIRED} 544 | uri=${2:# REQUIRED} 545 | operation=${3:#create|comment|edit|fetch|transition} 546 | password=${4:# REQUIRED} 547 | comment=${5} 548 | description=${6} 549 | fields=${7} 550 | summary=${8} 551 | project=${9} 552 | assignee=${10} 553 | status=${11} 554 | issuetype=${12} 555 | issue=${13} 556 | 557 | snippet ejabberd_user 558 | ejabberd_user: > 559 | username=${1:# REQUIRED} 560 | host=${2:# REQUIRED} 561 | password=${3} 562 | logging=${4:#true|false|yes|no} 563 | state=${5:#present|absent} 564 | 565 | snippet jboss 566 | jboss: deployment=${1:# REQUIRED} src=${2} deploy_path=${3:/var/lib/jbossas/standalone/deployments} state=${4:#present|absent} 567 | 568 | snippet django_manage 569 | django_manage: > 570 | app_path=${1:# REQUIRED} 571 | command=${2:#cleanup|collectstatic|flush|loaddata|migrate|runfcgi|syncdb|test|validate} 572 | virtualenv=${3} 573 | settings=${4} 574 | pythonpath=${5} 575 | database=${6} 576 | apps=${7} 577 | cache_table=${8} 578 | merge=${9} 579 | skip=${10} 580 | link=${11} 581 | fixtures=${12} 582 | failfast=${13:#yes|no} 583 | 584 | snippet supervisorctl 585 | supervisorctl: > 586 | state=${1:#present|started|stopped|restarted} 587 | name=${2:# REQUIRED} 588 | username=${3} 589 | supervisorctl_path=${4} 590 | password=${5} 591 | config=${6} 592 | server_url=${7} 593 | 594 | snippet htpasswd 595 | htpasswd: > 596 | name=${1:# REQUIRED} 597 | path=${2:# REQUIRED} 598 | state=${3:#present|absent} 599 | create=${4:#yes|no} 600 | password=${5} 601 | crypt_scheme=${6:#apr_md5_crypt|des_crypt|ldap_sha1|plaintext} 602 | 603 | snippet rabbitmq_parameter 604 | rabbitmq_parameter: > 605 | name=${1:# REQUIRED} 606 | component=${2:# REQUIRED} 607 | node=${3:rabbit} 608 | vhost=${4:/} 609 | state=${5:#present|absent} 610 | value=${6} 611 | 612 | snippet rabbitmq_policy 613 | rabbitmq_policy: > 614 | name=${1:# REQUIRED} 615 | tags=${2:# REQUIRED} 616 | pattern=${3:# REQUIRED} 617 | node=${4:rabbit} 618 | priority=${5:0} 619 | state=${6:#present|absent} 620 | vhost=${7:/} 621 | 622 | snippet rabbitmq_plugin 623 | rabbitmq_plugin: names=${1:# REQUIRED} state=${2:#enabled|disabled} new_only=${3:#yes|no} prefix=${4} 624 | 625 | snippet rabbitmq_user 626 | rabbitmq_user: > 627 | user=${1:# REQUIRED} 628 | node=${2:rabbit} 629 | force=${3:#yes|no} 630 | tags=${4} 631 | read_priv=${5:^$} 632 | write_priv=${6:^$} 633 | state=${7:#present|absent} 634 | configure_priv=${8:^$} 635 | vhost=${9:/} 636 | password=${10} 637 | 638 | snippet rabbitmq_vhost 639 | rabbitmq_vhost: name=${1:# REQUIRED} node=${2:rabbit} tracing=${3:#yes|no} state=${4:#present|absent} 640 | 641 | snippet raw 642 | raw: ${1} executable=${2} 643 | 644 | snippet script 645 | script: ${1} creates=${2} removes=${3} 646 | 647 | snippet command 648 | command: ${1} > 649 | creates=${2} 650 | chdir=${3} 651 | removes=${4} 652 | executable=${5} 653 | 654 | snippet shell 655 | shell: ${1} > 656 | creates=${2} 657 | chdir=${3} 658 | removes=${4} 659 | executable=${5} 660 | 661 | snippet stat 662 | stat: path=${1:# REQUIRED} get_md5=${2:true} follow=${3:false} 663 | 664 | snippet acl 665 | acl: > 666 | name=${1:# REQUIRED} 667 | default=${2:#yes|no} 668 | entity=${3} 669 | state=${4:#query|present|absent} 670 | follow=${5:#yes|no} 671 | etype=${6:#user|group|mask|other} 672 | entry=${7} 673 | permissions=${8} 674 | 675 | snippet unarchive 676 | unarchive: dest=${1:# REQUIRED} src=${2:# REQUIRED} copy=${3:#yes|no} creates=${4} 677 | 678 | snippet fetch 679 | fetch: > 680 | dest=${1:# REQUIRED} 681 | src=${2:# REQUIRED} 682 | validate_md5=${3:#yes|no} 683 | fail_on_missing=${4:#yes|no} 684 | flat=${5} 685 | 686 | snippet file 687 | file: > 688 | path=${1:[]} 689 | src=${2} 690 | serole=${3} 691 | force=${4:#yes|no} 692 | selevel=${5:s0} 693 | seuser=${6} 694 | recurse=${7:#yes|no} 695 | setype=${8} 696 | group=${9} 697 | state=${10:#file|link|directory|hard|touch|absent} 698 | mode=${11} 699 | owner=${12} 700 | 701 | snippet xattr 702 | xattr: > 703 | name=${1:# REQUIRED} 704 | key=${2} 705 | follow=${3:#yes|no} 706 | state=${4:#read|present|all|keys|absent} 707 | value=${5} 708 | 709 | snippet copy 710 | copy: > 711 | dest=${1:# REQUIRED} 712 | src=${2} 713 | directory_mode=${3} 714 | force=${4:#yes|no} 715 | selevel=${5:s0} 716 | seuser=${6} 717 | recurse=${7:false} 718 | serole=${8} 719 | content=${9} 720 | setype=${10} 721 | mode=${11} 722 | owner=${12} 723 | group=${13} 724 | validate=${14} 725 | backup=${15:#yes|no} 726 | 727 | snippet synchronize 728 | synchronize: > 729 | dest=${1:# REQUIRED} 730 | src=${2:# REQUIRED} 731 | dirs=${3:#yes|no} 732 | links=${4:#yes|no} 733 | copy_links=${5:#yes|no} 734 | compress=${6:#yes|no} 735 | rsync_timeout=${7:0} 736 | rsync_opts=${8} 737 | owner=${9:#yes|no} 738 | set_remote_user=${10:true} 739 | rsync_path=${11} 740 | recursive=${12:#yes|no} 741 | group=${13:#yes|no} 742 | existing_only=${14:#yes|no} 743 | archive=${15:#yes|no} 744 | checksum=${16:#yes|no} 745 | times=${17:#yes|no} 746 | perms=${18:#yes|no} 747 | mode=${19:#push|pull} 748 | dest_port=${20:22} 749 | delete=${21:#yes|no} 750 | 751 | snippet template 752 | template: dest=${1:# REQUIRED} src=${2:# REQUIRED} validate=${3} backup=${4:#yes|no} 753 | 754 | snippet bigip_node 755 | bigip_node: > 756 | state=${1:#present|absent} 757 | server=${2:# REQUIRED} 758 | host=${3:# REQUIRED} 759 | user=${4:# REQUIRED} 760 | password=${5:# REQUIRED} 761 | name=${6} 762 | partition=${7:common} 763 | description=${8} 764 | 765 | snippet bigip_monitor_http 766 | bigip_monitor_http: > 767 | user=${1:# REQUIRED} 768 | password=${2:# REQUIRED} 769 | receive_disable=${3:# REQUIRED} 770 | name=${4:# REQUIRED} 771 | receive=${5:# REQUIRED} 772 | send=${6:# REQUIRED} 773 | server=${7:# REQUIRED} 774 | interval=${8} 775 | parent=${9:http} 776 | ip=${10} 777 | port=${11} 778 | partition=${12:common} 779 | state=${13:#present|absent} 780 | time_until_up=${14} 781 | timeout=${15} 782 | parent_partition=${16:common} 783 | 784 | snippet arista_vlan 785 | arista_vlan: vlan_id=${1:# REQUIRED} state=${2:#present|absent} logging=${3:#true|false|yes|no} name=${4} 786 | 787 | snippet bigip_monitor_tcp 788 | bigip_monitor_tcp: > 789 | user=${1:# REQUIRED} 790 | password=${2:# REQUIRED} 791 | name=${3:# REQUIRED} 792 | receive=${4:# REQUIRED} 793 | send=${5:# REQUIRED} 794 | server=${6:# REQUIRED} 795 | interval=${7} 796 | parent=${8:#tcp|tcp_echo|tcp_half_open} 797 | ip=${9} 798 | port=${10} 799 | partition=${11:common} 800 | state=${12:#present|absent} 801 | time_until_up=${13} 802 | timeout=${14} 803 | parent_partition=${15:common} 804 | type=${16:#TTYPE_TCP|TTYPE_TCP_ECHO|TTYPE_TCP_HALF_OPEN} 805 | 806 | snippet openvswitch_bridge 807 | openvswitch_bridge: bridge=${1:# REQUIRED} state=${2:#present|absent} timeout=${3:5} 808 | 809 | snippet dnsimple 810 | dnsimple: > 811 | solo=${1} 812 | domain=${2} 813 | account_email=${3} 814 | record_ids=${4} 815 | value=${5} 816 | priority=${6} 817 | record=${7} 818 | state=${8:#present|absent} 819 | ttl=${9:3600 (one hour)} 820 | type=${10:#A|ALIAS|CNAME|MX|SPF|URL|TXT|NS|SRV|NAPTR|PTR|AAAA|SSHFP|HINFO|POOL} 821 | account_api_token=${11} 822 | 823 | snippet dnsmadeeasy 824 | dnsmadeeasy: > 825 | domain=${1:# REQUIRED} 826 | account_secret=${2:# REQUIRED} 827 | account_key=${3:# REQUIRED} 828 | state=${4:#present|absent} 829 | record_name=${5} 830 | record_ttl=${6:1800} 831 | record_type=${7:#A|AAAA|CNAME|HTTPRED|MX|NS|PTR|SRV|TXT} 832 | record_value=${8} 833 | validate_certs=${9:#yes|no} 834 | 835 | snippet openvswitch_port 836 | openvswitch_port: bridge=${1:# REQUIRED} port=${2:# REQUIRED} state=${3:#present|absent} timeout=${4:5} 837 | 838 | snippet bigip_pool_member 839 | bigip_pool_member: > 840 | state=${1:#present|absent} 841 | server=${2:# REQUIRED} 842 | host=${3:# REQUIRED} 843 | user=${4:# REQUIRED} 844 | password=${5:# REQUIRED} 845 | port=${6:# REQUIRED} 846 | pool=${7:# REQUIRED} 847 | ratio=${8} 848 | description=${9} 849 | connection_limit=${10} 850 | partition=${11:common} 851 | rate_limit=${12} 852 | 853 | snippet arista_lag 854 | arista_lag: > 855 | interface_id=${1:# REQUIRED} 856 | lacp=${2:#active|passive|off} 857 | state=${3:#present|absent} 858 | minimum_links=${4} 859 | logging=${5:#true|false|yes|no} 860 | links=${6} 861 | 862 | snippet arista_interface 863 | arista_interface: > 864 | interface_id=${1:# REQUIRED} 865 | duplex=${2:#auto|half|full} 866 | logging=${3:#true|false|yes|no} 867 | description=${4} 868 | admin=${5:#up|down} 869 | speed=${6:#auto|100m|1g|10g} 870 | mtu=${7:1500} 871 | 872 | snippet bigip_facts 873 | bigip_facts: > 874 | include=${1:#address_class|certificate|client_ssl_profile|device_group|interface|key|node|pool|rule|self_ip|software|system_info|traffic_group|trunk|virtual_address|virtual_server|vlan} 875 | user=${2:# REQUIRED} 876 | password=${3:# REQUIRED} 877 | server=${4:# REQUIRED} 878 | filter=${5} 879 | session=${6:true} 880 | 881 | snippet arista_l2interface 882 | arista_l2interface: > 883 | interface_id=${1:# REQUIRED} 884 | state=${2:#present|absent} 885 | logging=${3:#true|false|yes|no} 886 | tagged_vlans=${4} 887 | vlan_tagging=${5:#enable|disable} 888 | untagged_vlan=${6:default} 889 | 890 | snippet bigip_pool 891 | bigip_pool: > 892 | name=${1:# REQUIRED} 893 | server=${2:# REQUIRED} 894 | user=${3:# REQUIRED} 895 | password=${4:# REQUIRED} 896 | lb_method=${5:#round_robin|ratio_member|least_connection_member|observed_member|predictive_member|ratio_node_address|least_connection_node_address|fastest_node_address|observed_node_address|predictive_node_address|dynamic_ratio|fastest_app_response|least_sessions|dynamic_ratio_member|l3_addr|unknown|weighted_least_connection_member|weighted_least_connection_node_address|ratio_session|ratio_least_connection_member|ratio_least_connection_node_address} 897 | quorum=${6} 898 | partition=${7:common} 899 | slow_ramp_time=${8} 900 | state=${9:#present|absent} 901 | service_down_action=${10:#none|reset|drop|reselect} 902 | port=${11} 903 | host=${12} 904 | monitors=${13} 905 | monitor_type=${14:#and_list|m_of_n} 906 | 907 | snippet netscaler 908 | netscaler: > 909 | name=${1:hostname} 910 | nsc_host=${2:# REQUIRED} 911 | user=${3:# REQUIRED} 912 | password=${4:# REQUIRED} 913 | type=${5:#server|service} 914 | nsc_protocol=${6:https} 915 | action=${7:#enable|disable} 916 | validate_certs=${8:#yes|no} 917 | 918 | snippet accelerate 919 | accelerate: > 920 | timeout=${1:300} 921 | minutes=${2:30} 922 | port=${3:5099} 923 | multi_key=${4:false} 924 | ipv6=${5:false} 925 | 926 | snippet debug 927 | debug: msg=${1:hello world!} var=${2} 928 | 929 | snippet wait_for 930 | wait_for: > 931 | delay=${1:0} 932 | state=${2:#present|started|stopped|absent} 933 | timeout=${3:300} 934 | search_regex=${4} 935 | path=${5} 936 | host=${6:127.0.0.1} 937 | port=${7} 938 | 939 | snippet assert 940 | assert: that=${1:# REQUIRED} 941 | 942 | snippet set_fact 943 | set_fact: key_value=${1:# REQUIRED} 944 | 945 | snippet pause 946 | pause: seconds=${1} minutes=${2} prompt=${3} 947 | 948 | snippet include_vars 949 | include_vars: ${1} 950 | 951 | snippet fail 952 | fail: msg=${1:'failed as requested from task'} 953 | 954 | snippet fireball 955 | fireball: minutes=${1:30} port=${2:5099} 956 | 957 | snippet mount 958 | mount: > 959 | src=${1:# REQUIRED} 960 | name=${2:# REQUIRED} 961 | fstype=${3:# REQUIRED} 962 | state=${4:#present|absent|mounted|unmounted} 963 | dump=${5} 964 | fstab=${6:/etc/fstab} 965 | passno=${7} 966 | opts=${8} 967 | 968 | snippet seboolean 969 | seboolean: state=${1:#yes|no} name=${2:# REQUIRED} persistent=${3:#yes|no} 970 | 971 | snippet at 972 | at: > 973 | count=${1:# REQUIRED} 974 | units=${2:#minutes|hours|days|weeks} 975 | state=${3:#present|absent} 976 | command=${4} 977 | unique=${5:false} 978 | script_file=${6} 979 | 980 | snippet authorized_key 981 | authorized_key: > 982 | user=${1:# REQUIRED} 983 | key=${2:# REQUIRED} 984 | key_options=${3} 985 | state=${4:#present|absent} 986 | path=${5:(homedir)+/.ssh/authorized_keys} 987 | manage_dir=${6:#yes|no} 988 | 989 | snippet locale_gen 990 | locale_gen: name=${1:# REQUIRED} state=${2:#present|absent} 991 | 992 | snippet user 993 | user: > 994 | name=${1:# REQUIRED} 995 | comment=${2} 996 | ssh_key_bits=${3:2048} 997 | update_password=${4:#always|on_create} 998 | non_unique=${5:#yes|no} 999 | force=${6:#yes|no} 1000 | ssh_key_type=${7:rsa} 1001 | ssh_key_passphrase=${8} 1002 | groups=${9} 1003 | home=${10} 1004 | move_home=${11:#yes|no} 1005 | password=${12} 1006 | generate_ssh_key=${13:#yes|no} 1007 | append=${14:#yes|no} 1008 | uid=${15} 1009 | ssh_key_comment=${16:ansible-generated} 1010 | group=${17} 1011 | createhome=${18:#yes|no} 1012 | system=${19:#yes|no} 1013 | remove=${20:#yes|no} 1014 | state=${21:#present|absent} 1015 | ssh_key_file=${22:$home/.ssh/id_rsa} 1016 | login_class=${23} 1017 | shell=${24} 1018 | 1019 | snippet cron 1020 | cron: > 1021 | name=${1} 1022 | hour=${2:*} 1023 | job=${3} 1024 | cron_file=${4} 1025 | reboot=${5:#yes|no} 1026 | month=${6:*} 1027 | state=${7:#present|absent} 1028 | special_time=${8:#reboot|yearly|annually|monthly|weekly|daily|hourly} 1029 | user=${9:root} 1030 | backup=${10:false} 1031 | day=${11:*} 1032 | minute=${12:*} 1033 | weekday=${13:*} 1034 | 1035 | snippet lvol 1036 | lvol: > 1037 | lv=${1:# REQUIRED} 1038 | vg=${2:# REQUIRED} 1039 | state=${3:#present|absent} 1040 | force=${4:#yes|no} 1041 | size=${5} 1042 | 1043 | snippet debconf 1044 | debconf: > 1045 | name=${1:# REQUIRED} 1046 | value=${2} 1047 | vtype=${3:#string|boolean|select|multiselect|note|text|password|title} 1048 | question=${4} 1049 | unseen=${5:false} 1050 | 1051 | snippet firewalld 1052 | firewalld: > 1053 | state=${1:enabled} 1054 | permanent=${2:true} 1055 | zone=${3:#work|drop|internal|external|trusted|home|dmz|public|block} 1056 | service=${4} 1057 | timeout=${5:0} 1058 | rich_rule=${6} 1059 | port=${7} 1060 | 1061 | snippet capabilities 1062 | capabilities: capability=${1:# REQUIRED} path=${2:# REQUIRED} state=${3:#present|absent} 1063 | 1064 | snippet group 1065 | group: name=${1:# REQUIRED} state=${2:#present|absent} gid=${3} system=${4:#yes|no} 1066 | 1067 | snippet modprobe 1068 | modprobe: name=${1:# REQUIRED} state=${2:#present|absent} params=${3} 1069 | 1070 | snippet alternatives 1071 | alternatives: path=${1:# REQUIRED} name=${2:# REQUIRED} link=${3} 1072 | 1073 | snippet filesystem 1074 | filesystem: dev=${1:# REQUIRED} fstype=${2:# REQUIRED} force=${3:#yes|no} opts=${4} 1075 | 1076 | snippet sysctl 1077 | sysctl: > 1078 | name=${1:# REQUIRED} 1079 | reload=${2:#yes|no} 1080 | state=${3:#present|absent} 1081 | sysctl_set=${4:#yes|no} 1082 | ignoreerrors=${5:#yes|no} 1083 | sysctl_file=${6:/etc/sysctl.conf} 1084 | value=${7} 1085 | 1086 | snippet hostname 1087 | hostname: name=${1:# REQUIRED} 1088 | 1089 | snippet kernel_blacklist 1090 | kernel_blacklist: name=${1:# REQUIRED} blacklist_file=${2} state=${3:#present|absent} 1091 | 1092 | snippet lvg 1093 | lvg: > 1094 | vg=${1:# REQUIRED} 1095 | vg_options=${2} 1096 | pvs=${3} 1097 | force=${4:#yes|no} 1098 | pesize=${5:4} 1099 | state=${6:#present|absent} 1100 | 1101 | snippet ufw 1102 | ufw: > 1103 | insert=${1} 1104 | direction=${2:#in|out|incoming|outgoing} 1105 | from_port=${3} 1106 | logging=${4:#on|off|low|medium|high|full} 1107 | log=${5:#yes|no} 1108 | proto=${6:#any|tcp|udp|ipv6|esp|ah} 1109 | to_port=${7} 1110 | from_ip=${8:any} 1111 | rule=${9:#allow|deny|reject|limit} 1112 | name=${10} 1113 | policy=${11:#allow|deny|reject} 1114 | state=${12:#enabled|disabled|reloaded|reset} 1115 | interface=${13} 1116 | to_ip=${14:any} 1117 | delete=${15:#yes|no} 1118 | 1119 | snippet service 1120 | service: > 1121 | name=${1:# REQUIRED} 1122 | state=${2:#started|stopped|restarted|reloaded} 1123 | sleep=${3} 1124 | runlevel=${4:default} 1125 | pattern=${5} 1126 | enabled=${6:#yes|no} 1127 | arguments=${7} 1128 | 1129 | snippet zfs 1130 | zfs: > 1131 | state=${1:#present|absent} 1132 | name=${2:# REQUIRED} 1133 | setuid=${3:#on|off} 1134 | zoned=${4:#on|off} 1135 | primarycache=${5:#all|none|metadata} 1136 | logbias=${6:#latency|throughput} 1137 | sync=${7:#on|off} 1138 | copies=${8:#1|2|3} 1139 | sharenfs=${9} 1140 | sharesmb=${10} 1141 | canmount=${11:#on|off|noauto} 1142 | mountpoint=${12} 1143 | casesensitivity=${13:#sensitive|insensitive|mixed} 1144 | utf8only=${14:#on|off} 1145 | xattr=${15:#on|off} 1146 | compression=${16:#on|off|lzjb|gzip|gzip-1|gzip-2|gzip-3|gzip-4|gzip-5|gzip-6|gzip-7|gzip-8|gzip-9|lz4|zle} 1147 | shareiscsi=${17:#on|off} 1148 | aclmode=${18:#discard|groupmask|passthrough} 1149 | exec=${19:#on|off} 1150 | dedup=${20:#on|off} 1151 | aclinherit=${21:#discard|noallow|restricted|passthrough|passthrough-x} 1152 | readonly=${22:#on|off} 1153 | recordsize=${23} 1154 | jailed=${24:#on|off} 1155 | secondarycache=${25:#all|none|metadata} 1156 | refquota=${26} 1157 | quota=${27} 1158 | volsize=${28} 1159 | vscan=${29:#on|off} 1160 | reservation=${30} 1161 | atime=${31:#on|off} 1162 | normalization=${32:#none|formC|formD|formKC|formKD} 1163 | volblocksize=${33} 1164 | checksum=${34:#on|off|fletcher2|fletcher4|sha256} 1165 | devices=${35:#on|off} 1166 | nbmand=${36:#on|off} 1167 | refreservation=${37} 1168 | snapdir=${38:#hidden|visible} 1169 | 1170 | snippet open_iscsi 1171 | open_iscsi: > 1172 | auto_node_startup=${1:#True|False} 1173 | target=${2} 1174 | show_nodes=${3:#True|False} 1175 | node_auth=${4:chap} 1176 | node_pass=${5} 1177 | discover=${6:#True|False} 1178 | portal=${7} 1179 | login=${8:#True|False} 1180 | node_user=${9} 1181 | port=${10:3260} 1182 | 1183 | snippet selinux 1184 | selinux: state=${1:#enforcing|permissive|disabled} policy=${2} conf=${3:/etc/selinux/config} 1185 | 1186 | snippet hg 1187 | hg: > 1188 | repo=${1:# REQUIRED} 1189 | dest=${2:# REQUIRED} 1190 | purge=${3:#yes|no} 1191 | executable=${4} 1192 | force=${5:#yes|no} 1193 | revision=${6:default} 1194 | 1195 | snippet git 1196 | git: > 1197 | dest=${1:# REQUIRED} 1198 | repo=${2:# REQUIRED} 1199 | executable=${3} 1200 | remote=${4:origin} 1201 | recursive=${5:#yes|no} 1202 | reference=${6} 1203 | accept_hostkey=${7:#yes|no} 1204 | update=${8:#yes|no} 1205 | ssh_opts=${9} 1206 | depth=${10} 1207 | version=${11:head} 1208 | bare=${12:#yes|no} 1209 | force=${13:#yes|no} 1210 | key_file=${14} 1211 | 1212 | snippet bzr 1213 | bzr: > 1214 | dest=${1:# REQUIRED} 1215 | name=${2:# REQUIRED} 1216 | executable=${3} 1217 | version=${4:head} 1218 | force=${5:#yes|no} 1219 | 1220 | snippet subversion 1221 | subversion: > 1222 | dest=${1:# REQUIRED} 1223 | repo=${2:# REQUIRED} 1224 | username=${3} 1225 | executable=${4} 1226 | force=${5:#yes|no} 1227 | export=${6:#yes|no} 1228 | password=${7} 1229 | revision=${8:head} 1230 | 1231 | snippet github_hooks 1232 | github_hooks: > 1233 | repo=${1:# REQUIRED} 1234 | oauthkey=${2:# REQUIRED} 1235 | user=${3:# REQUIRED} 1236 | action=${4:#create|cleanall} 1237 | validate_certs=${5:#yes|no} 1238 | hookurl=${6} 1239 | 1240 | snippet digital_ocean_sshkey 1241 | digital_ocean_sshkey: > 1242 | state=${1:#present|absent} 1243 | name=${2} 1244 | client_id=${3} 1245 | api_key=${4} 1246 | id=${5} 1247 | ssh_pub_key=${6} 1248 | 1249 | snippet ovirt 1250 | ovirt: > 1251 | user=${1:# REQUIRED} 1252 | password=${2:# REQUIRED} 1253 | url=${3:# REQUIRED} 1254 | instance_name=${4:# REQUIRED} 1255 | instance_mem=${5} 1256 | instance_cores=${6:1} 1257 | instance_cpus=${7:1} 1258 | image=${8} 1259 | instance_disksize=${9} 1260 | instance_nic=${10} 1261 | instance_network=${11:rhevm} 1262 | sdomain=${12} 1263 | instance_os=${13} 1264 | zone=${14} 1265 | disk_alloc=${15:#thin|preallocated} 1266 | region=${16} 1267 | instance_type=${17:#server|desktop} 1268 | state=${18:#present|absent|shutdown|started|restarted} 1269 | resource_type=${19:#new|template} 1270 | disk_int=${20:#virtio|ide} 1271 | 1272 | snippet ec2_ami 1273 | ec2_ami: > 1274 | aws_secret_key=${1} 1275 | profile=${2} 1276 | aws_access_key=${3} 1277 | name=${4} 1278 | security_token=${5} 1279 | delete_snapshot=${6} 1280 | region=${7} 1281 | state=${8:present} 1282 | instance_id=${9} 1283 | image_id=${10} 1284 | no_reboot=${11:#yes|no} 1285 | wait_timeout=${12:300} 1286 | ec2_url=${13} 1287 | wait=${14:#yes|no} 1288 | validate_certs=${15:#yes|no} 1289 | description=${16} 1290 | 1291 | snippet ec2_metric_alarm 1292 | ec2_metric_alarm: > 1293 | name=${1:# REQUIRED} 1294 | state=${2:#present|absent} 1295 | aws_secret_key=${3} 1296 | comparison=${4} 1297 | alarm_actions=${5} 1298 | ok_actions=${6} 1299 | security_token=${7} 1300 | evaluation_periods=${8} 1301 | metric=${9} 1302 | description=${10} 1303 | namespace=${11} 1304 | period=${12} 1305 | ec2_url=${13} 1306 | profile=${14} 1307 | insufficient_data_actions=${15} 1308 | statistic=${16} 1309 | threshold=${17} 1310 | aws_access_key=${18} 1311 | validate_certs=${19:#yes|no} 1312 | unit=${20} 1313 | dimensions=${21} 1314 | 1315 | snippet elasticache 1316 | elasticache: > 1317 | name=${1:# REQUIRED} 1318 | state=${2:#present|absent|rebooted} 1319 | engine=${3:memcached} 1320 | aws_secret_key=${4} 1321 | cache_port=${5:11211} 1322 | security_group_ids=${6:['default']} 1323 | cache_engine_version=${7:1.4.14} 1324 | region=${8} 1325 | num_nodes=${9} 1326 | node_type=${10:cache.m1.small} 1327 | cache_security_groups=${11:['default']} 1328 | hard_modify=${12:#yes|no} 1329 | aws_access_key=${13} 1330 | zone=${14} 1331 | wait=${15:#yes|no} 1332 | 1333 | snippet ec2_lc 1334 | ec2_lc: > 1335 | name=${1:# REQUIRED} 1336 | instance_type=${2:# REQUIRED} 1337 | state=${3:#present|absent} 1338 | aws_secret_key=${4} 1339 | profile=${5} 1340 | aws_access_key=${6} 1341 | spot_price=${7} 1342 | security_token=${8} 1343 | key_name=${9} 1344 | region=${10} 1345 | user_data=${11} 1346 | image_id=${12} 1347 | volumes=${13} 1348 | ec2_url=${14} 1349 | instance_monitoring=${15:false} 1350 | validate_certs=${16:#yes|no} 1351 | security_groups=${17} 1352 | 1353 | snippet quantum_router_gateway 1354 | quantum_router_gateway: > 1355 | router_name=${1:# REQUIRED} 1356 | login_tenant_name=${2:yes} 1357 | login_password=${3:yes} 1358 | login_username=${4:admin} 1359 | network_name=${5:# REQUIRED} 1360 | region_name=${6} 1361 | state=${7:#present|absent} 1362 | auth_url=${8:http://127.0.0.1:35357/v2.0/} 1363 | 1364 | snippet quantum_floating_ip_associate 1365 | quantum_floating_ip_associate: > 1366 | instance_name=${1:# REQUIRED} 1367 | login_tenant_name=${2:true} 1368 | login_password=${3:yes} 1369 | login_username=${4:admin} 1370 | ip_address=${5:# REQUIRED} 1371 | region_name=${6} 1372 | state=${7:#present|absent} 1373 | auth_url=${8:http://127.0.0.1:35357/v2.0/} 1374 | 1375 | snippet ec2_key 1376 | ec2_key: > 1377 | name=${1:# REQUIRED} 1378 | aws_secret_key=${2} 1379 | profile=${3} 1380 | aws_access_key=${4} 1381 | security_token=${5} 1382 | region=${6} 1383 | key_material=${7} 1384 | state=${8:present} 1385 | wait_timeout=${9:300} 1386 | ec2_url=${10} 1387 | validate_certs=${11:#yes|no} 1388 | wait=${12:false} 1389 | 1390 | snippet ec2_ami_search 1391 | ec2_ami_search: > 1392 | release=${1:# REQUIRED} 1393 | distro=${2:#ubuntu} 1394 | stream=${3:#server|desktop} 1395 | virt=${4:#paravirtual|hvm} 1396 | region=${5:#ap-northeast-1|ap-southeast-1|ap-southeast-2|eu-west-1|sa-east-1|us-east-1|us-west-1|us-west-2} 1397 | arch=${6:#i386|amd64} 1398 | store=${7:#ebs|instance-store} 1399 | 1400 | snippet gce_lb 1401 | gce_lb: > 1402 | httphealthcheck_host=${1} 1403 | protocol=${2:#tcp|udp} 1404 | pem_file=${3} 1405 | members=${4} 1406 | httphealthcheck_port=${5:80} 1407 | httphealthcheck_name=${6} 1408 | name=${7} 1409 | external_ip=${8} 1410 | service_account_email=${9} 1411 | region=${10} 1412 | httphealthcheck_unhealthy_count=${11:2} 1413 | httphealthcheck_healthy_count=${12:2} 1414 | httphealthcheck_path=${13:/} 1415 | port_range=${14} 1416 | state=${15:#active|present|absent|deleted} 1417 | httphealthcheck_timeout=${16:5} 1418 | project_id=${17} 1419 | httphealthcheck_interval=${18:5} 1420 | 1421 | snippet rax_files_objects 1422 | rax_files_objects: > 1423 | container=${1:# REQUIRED} 1424 | username=${2} 1425 | src=${3} 1426 | dest=${4} 1427 | region=${5:dfw} 1428 | expires=${6} 1429 | verify_ssl=${7} 1430 | state=${8:#present|absent} 1431 | clear_meta=${9:#yes|no} 1432 | meta=${10} 1433 | env=${11} 1434 | credentials=${12} 1435 | api_key=${13} 1436 | type=${14:#file|meta} 1437 | method=${15:#get|put|delete} 1438 | structure=${16:#True|no} 1439 | 1440 | snippet quantum_router 1441 | quantum_router: > 1442 | login_tenant_name=${1:yes} 1443 | login_password=${2:yes} 1444 | login_username=${3:admin} 1445 | name=${4:# REQUIRED} 1446 | region_name=${5} 1447 | admin_state_up=${6:true} 1448 | tenant_name=${7} 1449 | state=${8:#present|absent} 1450 | auth_url=${9:http://127.0.0.1:35357/v2.0/} 1451 | 1452 | snippet azure 1453 | azure: > 1454 | image=${1:# REQUIRED} 1455 | storage_account=${2:# REQUIRED} 1456 | name=${3:# REQUIRED} 1457 | location=${4:# REQUIRED} 1458 | role_size=${5:small} 1459 | virtual_network_name=${6} 1460 | wait_timeout_redirects=${7:300} 1461 | wait_timeout=${8:600} 1462 | user=${9} 1463 | password=${10} 1464 | wait=${11:#yes|no} 1465 | management_cert_path=${12} 1466 | hostname=${13} 1467 | ssh_cert_path=${14} 1468 | state=${15:present} 1469 | subscription_id=${16} 1470 | endpoints=${17:22} 1471 | 1472 | snippet gce_net 1473 | gce_net: > 1474 | fwname=${1} 1475 | name=${2} 1476 | src_range=${3} 1477 | allowed=${4} 1478 | src_tags=${5} 1479 | pem_file=${6} 1480 | state=${7:#active|present|absent|deleted} 1481 | service_account_email=${8} 1482 | ipv4_range=${9} 1483 | project_id=${10} 1484 | 1485 | snippet rds_subnet_group 1486 | rds_subnet_group: > 1487 | name=${1:# REQUIRED} 1488 | region=${2:# REQUIRED} 1489 | state=${3:#present|absent} 1490 | aws_secret_key=${4} 1491 | subnets=${5} 1492 | aws_access_key=${6} 1493 | description=${7} 1494 | 1495 | snippet rax_clb_nodes 1496 | rax_clb_nodes: > 1497 | load_balancer_id=${1:# REQUIRED} 1498 | username=${2} 1499 | weight=${3} 1500 | region=${4:dfw} 1501 | verify_ssl=${5} 1502 | state=${6:#present|absent} 1503 | wait_timeout=${7:30} 1504 | condition=${8:#enabled|disabled|draining} 1505 | env=${9} 1506 | address=${10} 1507 | credentials=${11} 1508 | api_key=${12} 1509 | type=${13:#primary|secondary} 1510 | port=${14} 1511 | node_id=${15} 1512 | wait=${16:#yes|no} 1513 | 1514 | snippet docker_image 1515 | docker_image: > 1516 | name=${1:# REQUIRED} 1517 | state=${2:#present|absent|build} 1518 | tag=${3:latest} 1519 | nocache=${4:false} 1520 | path=${5} 1521 | docker_url=${6:unix://var/run/docker.sock} 1522 | timeout=${7:600} 1523 | 1524 | snippet rax_dns 1525 | rax_dns: > 1526 | comment=${1} 1527 | username=${2} 1528 | name=${3} 1529 | region=${4:dfw} 1530 | verify_ssl=${5} 1531 | state=${6:#present|absent} 1532 | env=${7} 1533 | ttl=${8:3600} 1534 | credentials=${9} 1535 | api_key=${10} 1536 | email=${11} 1537 | 1538 | snippet ec2_elb 1539 | ec2_elb: > 1540 | instance_id=${1:# REQUIRED} 1541 | state=${2:#present|absent} 1542 | aws_secret_key=${3} 1543 | profile=${4} 1544 | aws_access_key=${5} 1545 | security_token=${6} 1546 | region=${7} 1547 | wait_timeout=${8:0} 1548 | ec2_url=${9} 1549 | wait=${10:#yes|no} 1550 | validate_certs=${11:#yes|no} 1551 | enable_availability_zone=${12:#yes|no} 1552 | ec2_elbs=${13} 1553 | 1554 | snippet digital_ocean 1555 | digital_ocean: > 1556 | unique_name=${1:#yes|no} 1557 | virtio=${2:#yes|no} 1558 | region_id=${3} 1559 | backups_enabled=${4:#yes|no} 1560 | image_id=${5} 1561 | wait_timeout=${6:300} 1562 | client_id=${7} 1563 | ssh_pub_key=${8} 1564 | wait=${9:#yes|no} 1565 | name=${10} 1566 | size_id=${11} 1567 | id=${12} 1568 | state=${13:#present|active|absent|deleted} 1569 | command=${14:#droplet|ssh} 1570 | ssh_key_ids=${15} 1571 | private_networking=${16:#yes|no} 1572 | api_key=${17} 1573 | 1574 | snippet keystone_user 1575 | keystone_user: > 1576 | endpoint=${1:http://127.0.0.1:35357/v2.0/} 1577 | description=${2} 1578 | login_user=${3:admin} 1579 | token=${4} 1580 | login_tenant_name=${5} 1581 | state=${6:#present|absent} 1582 | role=${7} 1583 | user=${8} 1584 | login_password=${9:yes} 1585 | password=${10} 1586 | email=${11} 1587 | tenant=${12} 1588 | 1589 | snippet rax_scaling_policy 1590 | rax_scaling_policy: > 1591 | name=${1:# REQUIRED} 1592 | scaling_group=${2:# REQUIRED} 1593 | policy_type=${3:#webhook|schedule} 1594 | username=${4} 1595 | is_percent=${5:false} 1596 | env=${6} 1597 | region=${7:dfw} 1598 | verify_ssl=${8} 1599 | cron=${9} 1600 | desired_capacity=${10} 1601 | state=${11:#present|absent} 1602 | cooldown=${12} 1603 | at=${13} 1604 | credentials=${14} 1605 | api_key=${15} 1606 | change=${16} 1607 | 1608 | snippet rax_meta 1609 | rax_meta: > 1610 | username=${1} 1611 | tenant_name=${2} 1612 | name=${3} 1613 | identity_type=${4:rackspace} 1614 | tenant_id=${5} 1615 | region=${6:dfw} 1616 | verify_ssl=${7} 1617 | meta=${8} 1618 | env=${9} 1619 | address=${10} 1620 | credentials=${11} 1621 | api_key=${12} 1622 | id=${13} 1623 | auth_endpoint=${14:https://identity.api.rackspacecloud.com/v2.0/} 1624 | 1625 | snippet quantum_subnet 1626 | quantum_subnet: > 1627 | login_password=${1:true} 1628 | login_username=${2:admin} 1629 | cidr=${3:# REQUIRED} 1630 | network_name=${4:# REQUIRED} 1631 | name=${5:# REQUIRED} 1632 | login_tenant_name=${6:true} 1633 | region_name=${7} 1634 | tenant_name=${8} 1635 | auth_url=${9:http://127.0.0.1:35357/v2.0/} 1636 | allocation_pool_end=${10} 1637 | enable_dhcp=${11:true} 1638 | dns_nameservers=${12} 1639 | state=${13:#present|absent} 1640 | allocation_pool_start=${14} 1641 | gateway_ip=${15} 1642 | ip_version=${16:4} 1643 | 1644 | snippet vsphere_guest 1645 | vsphere_guest: > 1646 | password=${1:# REQUIRED} 1647 | guest=${2:# REQUIRED} 1648 | user=${3:# REQUIRED} 1649 | vcenter_hostname=${4:# REQUIRED} 1650 | resource_pool=${5} 1651 | vm_hw_version=${6} 1652 | force=${7:#yes|no} 1653 | vm_disk=${8} 1654 | esxi=${9} 1655 | vm_nic=${10} 1656 | vm_hardware=${11} 1657 | cluster=${12} 1658 | state=${13:#present|powered_on|absent|powered_on|restarted|reconfigured} 1659 | vmware_guest_facts=${14} 1660 | vm_extra_config=${15} 1661 | 1662 | snippet rax_facts 1663 | rax_facts: > 1664 | username=${1} 1665 | tenant_name=${2} 1666 | name=${3} 1667 | identity_type=${4:rackspace} 1668 | tenant_id=${5} 1669 | region=${6:dfw} 1670 | verify_ssl=${7} 1671 | env=${8} 1672 | address=${9} 1673 | credentials=${10} 1674 | api_key=${11} 1675 | id=${12} 1676 | auth_endpoint=${13:https://identity.api.rackspacecloud.com/v2.0/} 1677 | 1678 | snippet rax_dns_record 1679 | rax_dns_record: > 1680 | name=${1:# REQUIRED} 1681 | data=${2:# REQUIRED} 1682 | type=${3:#A|AAAA|CNAME|MX|NS|SRV|TXT|PTR} 1683 | comment=${4} 1684 | username=${5} 1685 | domain=${6} 1686 | region=${7:dfw} 1687 | verify_ssl=${8} 1688 | server=${9} 1689 | priority=${10} 1690 | state=${11:#present|absent} 1691 | env=${12} 1692 | ttl=${13:3600} 1693 | credentials=${14} 1694 | api_key=${15} 1695 | loadbalancer=${16} 1696 | 1697 | snippet rax_network 1698 | rax_network: > 1699 | username=${1} 1700 | identity_type=${2:rackspace} 1701 | tenant_id=${3} 1702 | region=${4:dfw} 1703 | verify_ssl=${5} 1704 | label=${6} 1705 | state=${7:#present|absent} 1706 | env=${8} 1707 | tenant_name=${9} 1708 | credentials=${10} 1709 | cidr=${11} 1710 | api_key=${12} 1711 | auth_endpoint=${13:https://identity.api.rackspacecloud.com/v2.0/} 1712 | 1713 | snippet ec2_tag 1714 | ec2_tag: > 1715 | resource=${1:# REQUIRED} 1716 | aws_secret_key=${2} 1717 | profile=${3} 1718 | aws_access_key=${4} 1719 | security_token=${5} 1720 | region=${6} 1721 | state=${7:#present|absent|list} 1722 | ec2_url=${8} 1723 | validate_certs=${9:#yes|no} 1724 | 1725 | snippet nova_keypair 1726 | nova_keypair: > 1727 | login_tenant_name=${1:yes} 1728 | login_password=${2:yes} 1729 | login_username=${3:admin} 1730 | name=${4:# REQUIRED} 1731 | public_key=${5} 1732 | region_name=${6} 1733 | state=${7:#present|absent} 1734 | auth_url=${8:http://127.0.0.1:35357/v2.0/} 1735 | 1736 | snippet ec2 1737 | ec2: > 1738 | image=${1:# REQUIRED} 1739 | instance_type=${2:# REQUIRED} 1740 | ramdisk=${3} 1741 | kernel=${4} 1742 | volumes=${5} 1743 | count_tag=${6} 1744 | monitoring=${7} 1745 | vpc_subnet_id=${8} 1746 | user_data=${9} 1747 | instance_ids=${10} 1748 | wait_timeout=${11:300} 1749 | profile=${12} 1750 | private_ip=${13} 1751 | assign_public_ip=${14} 1752 | spot_price=${15} 1753 | id=${16} 1754 | source_dest_check=${17:true} 1755 | wait=${18:#yes|no} 1756 | count=${19:1} 1757 | spot_wait_timeout=${20:600} 1758 | aws_access_key=${21} 1759 | group=${22} 1760 | instance_profile_name=${23} 1761 | zone=${24} 1762 | exact_count=${25} 1763 | ebs_optimized=${26:false} 1764 | security_token=${27} 1765 | state=${28:#present|absent|running|stopped} 1766 | aws_secret_key=${29} 1767 | ec2_url=${30} 1768 | placement_group=${31} 1769 | key_name=${32} 1770 | instance_tags=${33} 1771 | group_id=${34} 1772 | validate_certs=${35:#yes|no} 1773 | region=${36} 1774 | 1775 | snippet quantum_network 1776 | quantum_network: > 1777 | login_tenant_name=${1:yes} 1778 | login_password=${2:yes} 1779 | login_username=${3:admin} 1780 | name=${4:# REQUIRED} 1781 | region_name=${5} 1782 | provider_network_type=${6} 1783 | admin_state_up=${7:true} 1784 | router_external=${8:false} 1785 | tenant_name=${9} 1786 | provider_physical_network=${10} 1787 | state=${11:#present|absent} 1788 | auth_url=${12:http://127.0.0.1:35357/v2.0/} 1789 | shared=${13:false} 1790 | provider_segmentation_id=${14} 1791 | 1792 | snippet rax_cbs 1793 | rax_cbs: > 1794 | size=${1:100} 1795 | volume_type=${2:#SATA|SSD} 1796 | state=${3:#present|absent} 1797 | name=${4:# REQUIRED} 1798 | username=${5} 1799 | api_key=${6} 1800 | tenant_name=${7} 1801 | description=${8} 1802 | identity_type=${9:rackspace} 1803 | tenant_id=${10} 1804 | region=${11:dfw} 1805 | auth_endpoint=${12:https://identity.api.rackspacecloud.com/v2.0/} 1806 | verify_ssl=${13} 1807 | wait_timeout=${14:300} 1808 | meta=${15} 1809 | env=${16} 1810 | snapshot_id=${17} 1811 | credentials=${18} 1812 | wait=${19:#yes|no} 1813 | 1814 | snippet rax_queue 1815 | rax_queue: > 1816 | username=${1} 1817 | name=${2} 1818 | region=${3:dfw} 1819 | verify_ssl=${4} 1820 | state=${5:#present|absent} 1821 | env=${6} 1822 | credentials=${7} 1823 | api_key=${8} 1824 | 1825 | snippet cloudformation 1826 | cloudformation: > 1827 | stack_name=${1:# REQUIRED} 1828 | state=${2:# REQUIRED} 1829 | template=${3:# REQUIRED} 1830 | aws_secret_key=${4} 1831 | aws_access_key=${5} 1832 | disable_rollback=${6:#true|false} 1833 | tags=${7} 1834 | region=${8} 1835 | template_parameters=${9:{}} 1836 | 1837 | snippet rax_identity 1838 | rax_identity: > 1839 | username=${1} 1840 | identity_type=${2:rackspace} 1841 | tenant_id=${3} 1842 | region=${4:dfw} 1843 | verify_ssl=${5} 1844 | state=${6:#present|absent} 1845 | env=${7} 1846 | tenant_name=${8} 1847 | credentials=${9} 1848 | api_key=${10} 1849 | auth_endpoint=${11:https://identity.api.rackspacecloud.com/v2.0/} 1850 | 1851 | snippet ec2_eip 1852 | ec2_eip: > 1853 | aws_secret_key=${1} 1854 | instance_id=${2} 1855 | aws_access_key=${3} 1856 | security_token=${4} 1857 | reuse_existing_ip_allowed=${5:false} 1858 | region=${6} 1859 | public_ip=${7} 1860 | state=${8:#present|absent} 1861 | in_vpc=${9:false} 1862 | profile=${10} 1863 | ec2_url=${11} 1864 | validate_certs=${12:#yes|no} 1865 | wait_timeout=${13:300} 1866 | 1867 | snippet gc_storage 1868 | gc_storage: > 1869 | gcs_secret_key=${1:# REQUIRED} 1870 | bucket=${2:# REQUIRED} 1871 | gcs_access_key=${3:# REQUIRED} 1872 | mode=${4:#get|put|get_url|get_str|delete|create} 1873 | src=${5} 1874 | force=${6:true} 1875 | permission=${7:private} 1876 | dest=${8} 1877 | object=${9} 1878 | expiration=${10} 1879 | 1880 | snippet rax_scaling_group 1881 | rax_scaling_group: > 1882 | max_entities=${1:# REQUIRED} 1883 | name=${2:# REQUIRED} 1884 | server_name=${3:# REQUIRED} 1885 | image=${4:# REQUIRED} 1886 | min_entities=${5:# REQUIRED} 1887 | flavor=${6:# REQUIRED} 1888 | files=${7} 1889 | username=${8} 1890 | api_key=${9} 1891 | loadbalancers=${10} 1892 | key_name=${11} 1893 | disk_config=${12:#auto|manual} 1894 | verify_ssl=${13} 1895 | state=${14:#present|absent} 1896 | cooldown=${15} 1897 | meta=${16} 1898 | env=${17} 1899 | credentials=${18} 1900 | region=${19:dfw} 1901 | networks=${20:['public', 'private']} 1902 | 1903 | snippet ec2_group 1904 | ec2_group: > 1905 | name=${1:# REQUIRED} 1906 | description=${2:# REQUIRED} 1907 | aws_secret_key=${3} 1908 | rules_egress=${4} 1909 | aws_access_key=${5} 1910 | security_token=${6} 1911 | rules=${7} 1912 | region=${8} 1913 | state=${9:present} 1914 | profile=${10} 1915 | ec2_url=${11} 1916 | vpc_id=${12} 1917 | validate_certs=${13:#yes|no} 1918 | 1919 | snippet quantum_floating_ip 1920 | quantum_floating_ip: > 1921 | login_password=${1:yes} 1922 | instance_name=${2:# REQUIRED} 1923 | login_tenant_name=${3:yes} 1924 | login_username=${4:admin} 1925 | network_name=${5:# REQUIRED} 1926 | region_name=${6} 1927 | state=${7:#present|absent} 1928 | auth_url=${8:http://127.0.0.1:35357/v2.0/} 1929 | internal_network_name=${9} 1930 | 1931 | snippet quantum_router_interface 1932 | quantum_router_interface: > 1933 | login_tenant_name=${1:yes} 1934 | login_password=${2:yes} 1935 | login_username=${3:admin} 1936 | subnet_name=${4:# REQUIRED} 1937 | router_name=${5:# REQUIRED} 1938 | region_name=${6} 1939 | tenant_name=${7} 1940 | state=${8:#present|absent} 1941 | auth_url=${9:http://127.0.0.1:35357/v2.0/} 1942 | 1943 | snippet rax_files 1944 | rax_files: > 1945 | container=${1:# REQUIRED} 1946 | username=${2} 1947 | web_index=${3} 1948 | region=${4:dfw} 1949 | verify_ssl=${5} 1950 | private=${6} 1951 | state=${7:#present|absent} 1952 | clear_meta=${8:#yes|no} 1953 | meta=${9} 1954 | env=${10} 1955 | ttl=${11} 1956 | web_error=${12} 1957 | credentials=${13} 1958 | api_key=${14} 1959 | type=${15:#file|meta} 1960 | public=${16} 1961 | 1962 | snippet ec2_vol 1963 | ec2_vol: > 1964 | aws_secret_key=${1} 1965 | profile=${2} 1966 | aws_access_key=${3} 1967 | name=${4} 1968 | zone=${5} 1969 | instance=${6} 1970 | region=${7} 1971 | device_name=${8} 1972 | volume_size=${9} 1973 | state=${10:#absent|present} 1974 | iops=${11:100} 1975 | snapshot=${12} 1976 | ec2_url=${13} 1977 | security_token=${14} 1978 | validate_certs=${15:#yes|no} 1979 | id=${16} 1980 | 1981 | snippet virt 1982 | virt: > 1983 | name=${1:# REQUIRED} 1984 | xml=${2} 1985 | state=${3:#running|shutdown|destroyed|paused} 1986 | command=${4:#create|status|start|stop|pause|unpause|shutdown|undefine|destroy|get_xml|autostart|freemem|list_vms|info|nodeinfo|virttype|define} 1987 | uri=${5} 1988 | 1989 | snippet rax_keypair 1990 | rax_keypair: > 1991 | name=${1:# REQUIRED} 1992 | username=${2} 1993 | public_key=${3} 1994 | identity_type=${4:rackspace} 1995 | tenant_id=${5} 1996 | region=${6:dfw} 1997 | verify_ssl=${7} 1998 | state=${8:#present|absent} 1999 | env=${9} 2000 | tenant_name=${10} 2001 | credentials=${11} 2002 | api_key=${12} 2003 | auth_endpoint=${13:https://identity.api.rackspacecloud.com/v2.0/} 2004 | 2005 | snippet ec2_elb_lb 2006 | ec2_elb_lb: > 2007 | name=${1:# REQUIRED} 2008 | state=${2:# REQUIRED} 2009 | aws_secret_key=${3} 2010 | subnets=${4} 2011 | aws_access_key=${5} 2012 | health_check=${6} 2013 | security_token=${7} 2014 | region=${8} 2015 | purge_subnets=${9:false} 2016 | ec2_url=${10} 2017 | listeners=${11} 2018 | security_group_ids=${12} 2019 | zones=${13} 2020 | purge_listeners=${14:true} 2021 | profile=${15} 2022 | scheme=${16:internet-facing} 2023 | validate_certs=${17:#yes|no} 2024 | purge_zones=${18:false} 2025 | 2026 | snippet nova_compute 2027 | nova_compute: > 2028 | image_id=${1:# REQUIRED} 2029 | login_password=${2:yes} 2030 | login_username=${3:admin} 2031 | name=${4:# REQUIRED} 2032 | login_tenant_name=${5:yes} 2033 | region_name=${6} 2034 | key_name=${7} 2035 | user_data=${8} 2036 | meta=${9} 2037 | auth_url=${10:http://127.0.0.1:35357/v2.0/} 2038 | wait_for=${11:180} 2039 | security_groups=${12} 2040 | wait=${13:yes} 2041 | nics=${14} 2042 | state=${15:#present|absent} 2043 | flavor_id=${16:1} 2044 | 2045 | snippet linode 2046 | linode: > 2047 | datacenter=${1} 2048 | swap=${2:512} 2049 | api_key=${3} 2050 | name=${4} 2051 | payment_term=${5:#1|12|24} 2052 | linode_id=${6} 2053 | state=${7:#present|active|started|absent|deleted|stopped|restarted} 2054 | wait_timeout=${8:300} 2055 | plan=${9} 2056 | distribution=${10} 2057 | password=${11} 2058 | ssh_pub_key=${12} 2059 | wait=${13:#yes|no} 2060 | 2061 | snippet ec2_facts 2062 | ec2_facts: validate_certs=${1:#yes|no} 2063 | 2064 | snippet rax_cbs_attachments 2065 | rax_cbs_attachments: > 2066 | volume=${1:# REQUIRED} 2067 | device=${2:# REQUIRED} 2068 | server=${3:# REQUIRED} 2069 | state=${4:#present|absent} 2070 | username=${5} 2071 | tenant_name=${6} 2072 | verify_ssl=${7} 2073 | wait_timeout=${8:300} 2074 | credentials=${9} 2075 | wait=${10:#yes|no} 2076 | identity_type=${11:rackspace} 2077 | tenant_id=${12} 2078 | region=${13:dfw} 2079 | auth_endpoint=${14:https://identity.api.rackspacecloud.com/v2.0/} 2080 | env=${15} 2081 | api_key=${16} 2082 | 2083 | snippet docker 2084 | docker: > 2085 | image=${1:# REQUIRED} 2086 | username=${2} 2087 | publish_all_ports=${3:false} 2088 | tty=${4:false} 2089 | env=${5} 2090 | links=${6} 2091 | memory_limit=${7:256mb} 2092 | lxc_conf=${8} 2093 | stdin_open=${9:false} 2094 | volumes=${10} 2095 | password=${11} 2096 | count=${12:1} 2097 | detach=${13:true} 2098 | name=${14} 2099 | hostname=${15} 2100 | docker_url=${16:unix://var/run/docker.sock} 2101 | ports=${17} 2102 | state=${18:#present|running|stopped|absent|killed|restarted} 2103 | command=${19} 2104 | dns=${20} 2105 | volumes_from=${21} 2106 | expose=${22} 2107 | privileged=${23:false} 2108 | 2109 | snippet s3 2110 | s3: > 2111 | bucket=${1:# REQUIRED} 2112 | mode=${2:# REQUIRED} 2113 | aws_secret_key=${3} 2114 | src=${4} 2115 | aws_access_key=${5} 2116 | expiration=${6:600} 2117 | dest=${7} 2118 | object=${8} 2119 | s3_url=${9} 2120 | overwrite=${10:true} 2121 | metadata=${11} 2122 | 2123 | snippet digital_ocean_domain 2124 | digital_ocean_domain: > 2125 | state=${1:#present|active|absent|deleted} 2126 | name=${2} 2127 | client_id=${3} 2128 | ip=${4} 2129 | api_key=${5} 2130 | id=${6} 2131 | 2132 | snippet ec2_snapshot 2133 | ec2_snapshot: > 2134 | aws_secret_key=${1} 2135 | profile=${2} 2136 | aws_access_key=${3} 2137 | description=${4} 2138 | security_token=${5} 2139 | snapshot_tags=${6} 2140 | region=${7} 2141 | ec2_url=${8} 2142 | device_name=${9} 2143 | instance_id=${10} 2144 | volume_id=${11} 2145 | validate_certs=${12:#yes|no} 2146 | 2147 | snippet rds_param_group 2148 | rds_param_group: > 2149 | name=${1:# REQUIRED} 2150 | region=${2:# REQUIRED} 2151 | state=${3:#present|absent} 2152 | engine=${4:#mysql5.1|mysql5.5|mysql5.6|oracle-ee-11.2|oracle-se-11.2|oracle-se1-11.2|postgres9.3|sqlserver-ee-10.5|sqlserver-ee-11.0|sqlserver-ex-10.5|sqlserver-ex-11.0|sqlserver-se-10.5|sqlserver-se-11.0|sqlserver-web-10.5|sqlserver-web-11.0} 2153 | aws_secret_key=${5} 2154 | aws_access_key=${6} 2155 | immediate=${7} 2156 | params=${8:#mysql5.1|mysql5.5|mysql5.6|oracle-ee-11.2|oracle-se-11.2|oracle-se1-11.2|postgres9.3|sqlserver-ee-10.5|sqlserver-ee-11.0|sqlserver-ex-10.5|sqlserver-ex-11.0|sqlserver-se-10.5|sqlserver-se-11.0|sqlserver-web-10.5|sqlserver-web-11.0} 2157 | description=${9} 2158 | 2159 | snippet gce_pd 2160 | gce_pd: > 2161 | name=${1:# REQUIRED} 2162 | size_gb=${2:10} 2163 | zone=${3:us-central1-b} 2164 | service_account_email=${4} 2165 | image=${5} 2166 | pem_file=${6} 2167 | instance_name=${7} 2168 | state=${8:#active|present|absent|deleted} 2169 | snapshot=${9} 2170 | detach_only=${10:#yes|no} 2171 | project_id=${11} 2172 | mode=${12:#READ_WRITE|READ_ONLY} 2173 | 2174 | snippet gce 2175 | gce: > 2176 | zone=${1:us-central1-a} 2177 | name=${2} 2178 | tags=${3} 2179 | service_account_email=${4} 2180 | image=${5:debian-7} 2181 | disks=${6} 2182 | metadata=${7} 2183 | persistent_boot_disk=${8:false} 2184 | pem_file=${9} 2185 | state=${10:#active|present|absent|deleted} 2186 | machine_type=${11:n1-standard-1} 2187 | project_id=${12} 2188 | instance_names=${13} 2189 | network=${14:default} 2190 | 2191 | snippet rax 2192 | rax: > 2193 | files=${1} 2194 | username=${2} 2195 | tenant_name=${3} 2196 | auto_increment=${4:#yes|no} 2197 | image=${5} 2198 | count_offset=${6:1} 2199 | instance_ids=${7} 2200 | user_data=${8} 2201 | verify_ssl=${9} 2202 | wait_timeout=${10:300} 2203 | tenant_id=${11} 2204 | credentials=${12} 2205 | region=${13:dfw} 2206 | flavor=${14} 2207 | networks=${15:['public', 'private']} 2208 | wait=${16:#yes|no} 2209 | count=${17:1} 2210 | group=${18} 2211 | name=${19} 2212 | identity_type=${20:rackspace} 2213 | extra_client_args=${21} 2214 | exact_count=${22:#yes|no} 2215 | disk_config=${23:#auto|manual} 2216 | auth_endpoint=${24:https://identity.api.rackspacecloud.com/v2.0/} 2217 | state=${25:#present|absent} 2218 | meta=${26} 2219 | env=${27} 2220 | key_name=${28} 2221 | api_key=${29} 2222 | extra_create_args=${30} 2223 | config_drive=${31:#yes|no} 2224 | 2225 | snippet ec2_vpc 2226 | ec2_vpc: > 2227 | resource_tags=${1:# REQUIRED} 2228 | cidr_block=${2:# REQUIRED} 2229 | state=${3:present} 2230 | subnets=${4} 2231 | internet_gateway=${5:#yes|no} 2232 | wait_timeout=${6:300} 2233 | dns_hostnames=${7:#yes|no} 2234 | wait=${8:#yes|no} 2235 | aws_secret_key=${9} 2236 | aws_access_key=${10} 2237 | route_tables=${11} 2238 | dns_support=${12:#yes|no} 2239 | region=${13} 2240 | instance_tenancy=${14:#default|dedicated} 2241 | vpc_id=${15} 2242 | validate_certs=${16:#yes|no} 2243 | 2244 | snippet glance_image 2245 | glance_image: > 2246 | login_password=${1:yes} 2247 | login_username=${2:admin} 2248 | name=${3:# REQUIRED} 2249 | login_tenant_name=${4:yes} 2250 | region_name=${5} 2251 | container_format=${6:bare} 2252 | min_ram=${7} 2253 | owner=${8} 2254 | endpoint_type=${9:#publicURL|internalURL} 2255 | auth_url=${10:http://127.0.0.1:35357/v2.0/} 2256 | file=${11} 2257 | min_disk=${12} 2258 | is_public=${13:yes} 2259 | disk_format=${14:qcow2} 2260 | copy_from=${15} 2261 | state=${16:#present|absent} 2262 | timeout=${17:180} 2263 | 2264 | snippet rax_clb 2265 | rax_clb: > 2266 | username=${1} 2267 | protocol=${2:#DNS_TCP|DNS_UDP|FTP|HTTP|HTTPS|IMAPS|IMAPv4|LDAP|LDAPS|MYSQL|POP3|POP3S|SMTP|TCP|TCP_CLIENT_FIRST|UDP|UDP_STREAM|SFTP} 2268 | name=${3} 2269 | algorithm=${4:#RANDOM|LEAST_CONNECTIONS|ROUND_ROBIN|WEIGHTED_LEAST_CONNECTIONS|WEIGHTED_ROUND_ROBIN} 2270 | env=${5} 2271 | region=${6:dfw} 2272 | verify_ssl=${7} 2273 | vip_id=${8} 2274 | state=${9:#present|absent} 2275 | wait_timeout=${10:300} 2276 | meta=${11} 2277 | timeout=${12:30} 2278 | credentials=${13} 2279 | api_key=${14} 2280 | type=${15:#PUBLIC|SERVICENET} 2281 | port=${16:80} 2282 | wait=${17:#yes|no} 2283 | 2284 | snippet rds 2285 | rds: > 2286 | command=${1:#create|replicate|delete|facts|modify|promote|snapshot|restore} 2287 | region=${2:# REQUIRED} 2288 | instance_name=${3:# REQUIRED} 2289 | db_engine=${4:#MySQL|oracle-se1|oracle-se|oracle-ee|sqlserver-ee|sqlserver-se|sqlserver-ex|sqlserver-web|postgres} 2290 | iops=${5} 2291 | backup_window=${6} 2292 | backup_retention=${7} 2293 | port=${8} 2294 | security_groups=${9} 2295 | size=${10} 2296 | aws_secret_key=${11} 2297 | subnet=${12} 2298 | vpc_security_groups=${13} 2299 | upgrade=${14:#yes|no} 2300 | zone=${15} 2301 | source_instance=${16} 2302 | parameter_group=${17} 2303 | multi_zone=${18:#yes|no} 2304 | new_instance_name=${19} 2305 | username=${20} 2306 | db_name=${21} 2307 | license_model=${22:#license-included|bring-your-own-license|general-public-license} 2308 | password=${23} 2309 | apply_immediately=${24:#yes|no} 2310 | wait=${25:#yes|no} 2311 | aws_access_key=${26} 2312 | option_group=${27} 2313 | engine_version=${28} 2314 | instance_type=${29} 2315 | wait_timeout=${30:300} 2316 | snapshot=${31} 2317 | maint_window=${32} 2318 | 2319 | snippet route53 2320 | route53: > 2321 | zone=${1:# REQUIRED} 2322 | record=${2:# REQUIRED} 2323 | command=${3:#get|create|delete} 2324 | type=${4:#A|CNAME|MX|AAAA|TXT|PTR|SRV|SPF|NS} 2325 | aws_secret_key=${5} 2326 | aws_access_key=${6} 2327 | retry_interval=${7:500} 2328 | value=${8} 2329 | ttl=${9:3600 (one hour)} 2330 | overwrite=${10} 2331 | 2332 | snippet ec2_asg 2333 | ec2_asg: > 2334 | name=${1:# REQUIRED} 2335 | state=${2:#present|absent} 2336 | aws_secret_key=${3} 2337 | profile=${4} 2338 | aws_access_key=${5} 2339 | availability_zones=${6} 2340 | security_token=${7} 2341 | tags=${8} 2342 | region=${9} 2343 | min_size=${10} 2344 | desired_capacity=${11} 2345 | vpc_zone_identifier=${12} 2346 | launch_config_name=${13} 2347 | health_check_period=${14:500 seconds} 2348 | ec2_url=${15} 2349 | load_balancers=${16} 2350 | validate_certs=${17:#yes|no} 2351 | max_size=${18} 2352 | health_check_type=${19:#EC2|ELB} 2353 | 2354 | snippet ec2_scaling_policy 2355 | ec2_scaling_policy: > 2356 | name=${1:# REQUIRED} 2357 | asg_name=${2:# REQUIRED} 2358 | state=${3:#present|absent} 2359 | aws_secret_key=${4} 2360 | profile=${5} 2361 | aws_access_key=${6} 2362 | security_token=${7} 2363 | adjustment_type=${8:#ChangeInCapacity|ExactCapacity|PercentChangeInCapacity} 2364 | min_adjustment_step=${9} 2365 | scaling_adjustment=${10} 2366 | cooldown=${11} 2367 | ec2_url=${12} 2368 | validate_certs=${13:#yes|no} 2369 | 2370 | snippet riak 2371 | riak: > 2372 | target_node=${1:riak@127.0.0.1} 2373 | config_dir=${2:/etc/riak} 2374 | wait_for_service=${3:#kv} 2375 | http_conn=${4:127.0.0.1:8098} 2376 | wait_for_ring=${5} 2377 | wait_for_handoffs=${6} 2378 | command=${7:#ping|kv_test|join|plan|commit} 2379 | validate_certs=${8:#yes|no} 2380 | 2381 | snippet mysql_user 2382 | mysql_user: > 2383 | name=${1:# REQUIRED} 2384 | login_port=${2:3306} 2385 | login_user=${3} 2386 | login_host=${4:localhost} 2387 | append_privs=${5:#yes|no} 2388 | host=${6:localhost} 2389 | login_unix_socket=${7} 2390 | state=${8:#present|absent} 2391 | login_password=${9} 2392 | check_implicit_admin=${10:false} 2393 | password=${11} 2394 | priv=${12} 2395 | 2396 | snippet mysql_replication 2397 | mysql_replication: > 2398 | master_ssl_cert=${1} 2399 | master_password=${2} 2400 | login_user=${3} 2401 | login_host=${4} 2402 | login_password=${5} 2403 | master_host=${6} 2404 | master_ssl_ca=${7} 2405 | login_unix_socket=${8} 2406 | master_connect_retry=${9} 2407 | master_user=${10} 2408 | master_port=${11} 2409 | master_log_file=${12} 2410 | master_ssl_cipher=${13} 2411 | relay_log_file=${14} 2412 | master_ssl=${15} 2413 | master_ssl_key=${16} 2414 | master_ssl_capath=${17} 2415 | mode=${18:#getslave|getmaster|changemaster|stopslave|startslave} 2416 | master_log_pos=${19} 2417 | relay_log_pos=${20} 2418 | 2419 | snippet postgresql_user 2420 | postgresql_user: > 2421 | name=${1:# REQUIRED} 2422 | login_password=${2} 2423 | login_user=${3:postgres} 2424 | login_host=${4:localhost} 2425 | expires=${5} 2426 | db=${6} 2427 | port=${7:5432} 2428 | state=${8:#present|absent} 2429 | encrypted=${9:false} 2430 | password=${10} 2431 | role_attr_flags=${11:#[NO]SUPERUSER|[NO]CREATEROLE|[NO]CREATEUSER|[NO]CREATEDB|[NO]INHERIT|[NO]LOGIN|[NO]REPLICATION} 2432 | fail_on_user=${12:#yes|no} 2433 | priv=${13} 2434 | 2435 | snippet postgresql_privs 2436 | postgresql_privs: > 2437 | roles=${1:# REQUIRED} 2438 | database=${2:# REQUIRED} 2439 | objs=${3} 2440 | privs=${4} 2441 | state=${5:#present|absent} 2442 | host=${6} 2443 | login=${7:postgres} 2444 | password=${8} 2445 | type=${9:#table|sequence|function|database|schema|language|tablespace|group} 2446 | port=${10:5432} 2447 | grant_option=${11:#yes|no} 2448 | schema=${12} 2449 | 2450 | snippet redis 2451 | redis: > 2452 | command=${1:#slave|flush|config} 2453 | login_port=${2:6379} 2454 | name=${3} 2455 | flush_mode=${4:#all|db} 2456 | master_host=${5} 2457 | login_host=${6:localhost} 2458 | master_port=${7} 2459 | db=${8} 2460 | value=${9} 2461 | login_password=${10} 2462 | slave_mode=${11:#master|slave} 2463 | 2464 | snippet postgresql_db 2465 | postgresql_db: > 2466 | name=${1:# REQUIRED} 2467 | encoding=${2} 2468 | login_user=${3} 2469 | lc_collate=${4} 2470 | lc_ctype=${5} 2471 | port=${6:5432} 2472 | state=${7:#present|absent} 2473 | template=${8} 2474 | login_password=${9} 2475 | owner=${10} 2476 | login_host=${11:localhost} 2477 | 2478 | snippet mysql_variables 2479 | mysql_variables: > 2480 | variable=${1:# REQUIRED} 2481 | login_unix_socket=${2} 2482 | login_password=${3} 2483 | login_user=${4} 2484 | login_host=${5} 2485 | value=${6} 2486 | 2487 | snippet mongodb_user 2488 | mongodb_user: > 2489 | database=${1:# REQUIRED} 2490 | user=${2:# REQUIRED} 2491 | login_port=${3:27017} 2492 | roles=${4:readwrite} 2493 | login_user=${5} 2494 | login_host=${6:localhost} 2495 | state=${7:#present|absent} 2496 | login_password=${8} 2497 | password=${9} 2498 | replica_set=${10} 2499 | 2500 | snippet mysql_db 2501 | mysql_db: > 2502 | name=${1:# REQUIRED} 2503 | login_port=${2:3306} 2504 | encoding=${3} 2505 | login_user=${4} 2506 | login_host=${5:localhost} 2507 | login_unix_socket=${6} 2508 | state=${7:#present|absent|dump|import} 2509 | login_password=${8} 2510 | collation=${9} 2511 | target=${10} 2512 | 2513 | snippet lineinfile 2514 | lineinfile: > 2515 | dest=${1:# REQUIRED} 2516 | path=${2:[]} 2517 | src=${3} 2518 | force=${4:#yes|no} 2519 | insertbefore=${5:#BOF|*regex*} 2520 | selevel=${6:s0} 2521 | create=${7:#yes|no} 2522 | seuser=${8} 2523 | recurse=${9:#yes|no} 2524 | serole=${10} 2525 | backrefs=${11:#yes|no} 2526 | owner=${12} 2527 | state=${13:#file|link|directory|hard|touch|absent} 2528 | mode=${14} 2529 | insertafter=${15:#EOF|*regex*} 2530 | regexp=${16} 2531 | line=${17} 2532 | backup=${18:#yes|no} 2533 | validate=${19} 2534 | group=${20} 2535 | setype=${21} 2536 | 2537 | snippet get_url 2538 | get_url: > 2539 | url=${1:# REQUIRED} 2540 | dest=${2:# REQUIRED} 2541 | path=${3:[]} 2542 | url_password=${4} 2543 | force=${5:#yes|no} 2544 | use_proxy=${6:#yes|no} 2545 | src=${7} 2546 | selevel=${8:s0} 2547 | seuser=${9} 2548 | recurse=${10:#yes|no} 2549 | setype=${11} 2550 | sha256sum=${12} 2551 | serole=${13} 2552 | state=${14:#file|link|directory|hard|touch|absent} 2553 | mode=${15} 2554 | url_username=${16} 2555 | owner=${17} 2556 | group=${18} 2557 | validate_certs=${19:#yes|no} 2558 | 2559 | snippet ini_file 2560 | ini_file: > 2561 | dest=${1:# REQUIRED} 2562 | path=${2:[]} 2563 | section=${3:# REQUIRED} 2564 | force=${4:#yes|no} 2565 | option=${5} 2566 | state=${6:#file|link|directory|hard|touch|absent} 2567 | selevel=${7:s0} 2568 | owner=${8} 2569 | src=${9} 2570 | group=${10} 2571 | seuser=${11} 2572 | recurse=${12:#yes|no} 2573 | setype=${13} 2574 | value=${14} 2575 | serole=${15} 2576 | mode=${16} 2577 | backup=${17:#yes|no} 2578 | 2579 | snippet uri 2580 | uri: > 2581 | path=${1:[]} 2582 | url=${2:# REQUIRED} 2583 | force=${3:#yes|no} 2584 | follow_redirects=${4:#all|safe|none} 2585 | owner=${5} 2586 | HEADER_=${6} 2587 | group=${7} 2588 | serole=${8} 2589 | setype=${9} 2590 | status_code=${10:200} 2591 | return_content=${11:#yes|no} 2592 | method=${12:#GET|POST|PUT|HEAD|DELETE|OPTIONS|PATCH} 2593 | body=${13} 2594 | state=${14:#file|link|directory|hard|touch|absent} 2595 | dest=${15} 2596 | selevel=${16:s0} 2597 | force_basic_auth=${17:#yes|no} 2598 | removes=${18} 2599 | user=${19} 2600 | password=${20} 2601 | src=${21} 2602 | seuser=${22} 2603 | recurse=${23:#yes|no} 2604 | creates=${24} 2605 | mode=${25} 2606 | timeout=${26:30} 2607 | 2608 | snippet replace 2609 | replace: > 2610 | dest=${1:# REQUIRED} 2611 | path=${2:[]} 2612 | regexp=${3:# REQUIRED} 2613 | force=${4:#yes|no} 2614 | state=${5:#file|link|directory|hard|touch|absent} 2615 | selevel=${6:s0} 2616 | replace=${7} 2617 | owner=${8} 2618 | validate=${9} 2619 | src=${10} 2620 | group=${11} 2621 | seuser=${12} 2622 | recurse=${13:#yes|no} 2623 | setype=${14} 2624 | serole=${15} 2625 | mode=${16} 2626 | backup=${17:#yes|no} 2627 | 2628 | snippet assemble 2629 | assemble: > 2630 | dest=${1:# REQUIRED} 2631 | path=${2:[]} 2632 | force=${3:#yes|no} 2633 | remote_src=${4:#True|False} 2634 | selevel=${5:s0} 2635 | state=${6:#file|link|directory|hard|touch|absent} 2636 | owner=${7} 2637 | regexp=${8} 2638 | src=${9} 2639 | group=${10} 2640 | seuser=${11} 2641 | recurse=${12:#yes|no} 2642 | serole=${13} 2643 | delimiter=${14} 2644 | mode=${15} 2645 | backup=${16:#yes|no} 2646 | setype=${17} 2647 | 2648 | -------------------------------------------------------------------------------- /syntax/ansible.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: YAML (with Ansible) 3 | " Maintainer: Benji Fisher, Ph.D. 4 | " Author: Chase Colman 5 | " Version: 1.0 6 | " Latest Revision: 2014-06-28 7 | " URL: https://github.com/chase/vim-ansible-yaml 8 | 9 | if !exists("main_syntax") 10 | if version < 600 11 | syntax clear 12 | elseif exists("b:current_syntax") 13 | finish 14 | endif 15 | let main_syntax = 'ansible' 16 | endif 17 | 18 | " Load YAML syntax 19 | source :p:h/include/yaml.vim 20 | unlet b:current_syntax 21 | 22 | source :p:h/include/jinja.vim 23 | unlet b:current_syntax 24 | 25 | syn case match 26 | 27 | syn match ansibleRepeat '\' contained containedin=yamlKey 28 | syn keyword ansibleConditional when changed_when contained containedin=yamlKey 29 | syn region ansibleString start='"' end='"' skip='\\"' display contains=jinjaVarBlock 30 | 31 | if version >= 508 || !exist("did_ansible_syn") 32 | if version < 508 33 | let did_ansible_syn = 1 34 | command -nargs=+ HiLink hi link 35 | else 36 | command -nargs=+ HiLink hi def link 37 | endif 38 | 39 | HiLink ansibleConditional Statement 40 | HiLink ansibleRepeat Repeat 41 | HiLink ansibleString String 42 | 43 | delcommand HiLink 44 | endif 45 | 46 | let b:current_syntax = 'ansible' 47 | 48 | if main_syntax == 'ansible' 49 | unlet main_syntax 50 | endif 51 | -------------------------------------------------------------------------------- /syntax/ansible_hosts.vim: -------------------------------------------------------------------------------- 1 | source :p:h/include/yaml.vim 2 | 3 | 4 | syn keyword booleanStuff true True TRUE false False FALSE yes Yes YES no No NO on On ON off Off OFF 5 | syn match userVariable '\w*=' 6 | syn match ansibleVars 'ansible_\w*=' 7 | syn match hostBlocks '\[.*\]' 8 | 9 | hi def link ansibleVars Type 10 | hi def link hostBlocks Operator 11 | hi def link userVariable Statement 12 | hi def link booleanStuff Boolean 13 | -------------------------------------------------------------------------------- /syntax/include/jinja.vim: -------------------------------------------------------------------------------- 1 | " jinja syntax file 2 | " Language: Jinja YAML Template 3 | " Maintainer: Benji Fisher, Ph.D. 4 | " Author: Chase Colman 5 | " Author: Armin Ronacher 6 | " Version: 1.0 7 | " Latest Revision: 2013-12-10 8 | " URL: https://github.com/chase/vim-ansible-yaml 9 | 10 | if !exists("main_syntax") 11 | if version < 600 12 | syntax clear 13 | elseif exists("b:current_syntax") 14 | finish 15 | endif 16 | let main_syntax = 'jinja' 17 | endif 18 | 19 | syntax case match 20 | 21 | " Jinja template built-in tags and parameters (without filter, macro, is and raw, they 22 | " have special threatment) 23 | syn keyword jinjaStatement containedin=jinjaVarBlock,jinjaNested contained and if else elif is in not or recursive as import 24 | 25 | syn keyword jinjaStatement containedin=jinjaVarBlock,jinjaNested contained is filter skipwhite nextgroup=jinjaFilter 26 | syn keyword jinjaStatement containedin=jinjaTagBlock contained macro skipwhite nextgroup=jinjaFunction 27 | syn keyword jinjaStatement containedin=jinjaTagBlock contained block skipwhite nextgroup=jinjaBlockName 28 | 29 | " Variable Names 30 | syn match jinjaVariable containedin=jinjaVarBlock,jinjaNested contained /[a-zA-Z_][a-zA-Z0-9_]*/ 31 | syn keyword jinjaSpecial containedin=jinjaVarBlock,jinjaNested contained false true none False True None loop super caller varargs kwargs 32 | 33 | " Filters 34 | syn match jinjaOperator "|" containedin=jinjaVarBlock,jinjaNested contained skipwhite nextgroup=jinjaFilter 35 | syn keyword jinjaFilter contained abs attr batch capitalize center default 36 | syn keyword jinjaFilter contained dictsort escape filesizeformat first 37 | syn keyword jinjaFilter contained float forceescape format groupby indent 38 | syn keyword jinjaFilter contained int join last length list lower pprint 39 | syn keyword jinjaFilter contained random replace reverse round safe slice 40 | syn keyword jinjaFilter contained sort string striptags sum 41 | syn keyword jinjaFilter contained title trim truncate upper urlize 42 | syn keyword jinjaFilter contained wordcount wordwrap 43 | syn match jinjaBlockName contained /[a-zA-Z_][a-zA-Z0-9_]*/ 44 | 45 | " Jinja template constants 46 | syn region jinjaString containedin=jinjaVarBlock,jinjaNested contained start=/"/ skip=/\\"/ end=/"/ 47 | syn region jinjaString containedin=jinjaVarBlock,jinjaNested contained start=/'/ skip=/\\'/ end=/'/ 48 | syn match jinjaNumber containedin=jinjaVarBlock,jinjaNested contained /[0-9]\+\(\.[0-9]\+\)\?/ 49 | 50 | " Operators 51 | syn match jinjaOperator containedin=jinjaVarBlock,jinjaNested contained /[+\-*\/<>=!,:]/ 52 | syn match jinjaPunctuation containedin=jinjaVarBlock,jinjaNested contained /[()\[\]]/ 53 | syn match jinjaOperator containedin=jinjaVarBlock,jinjaNested contained /\./ nextgroup=jinjaAttribute 54 | syn match jinjaAttribute contained /[a-zA-Z_][a-zA-Z0-9_]*/ 55 | 56 | " Jinja template tag and variable blocks 57 | syn region jinjaNested matchgroup=jinjaDelimiter start="(" end=")" transparent display containedin=jinjaVarBlock,jinjaNested contained 58 | syn region jinjaNested matchgroup=jinjaOperator start="\[" end="\]" transparent display containedin=jinjaVarBlock,jinjaNested contained 59 | syn region jinjaNested matchgroup=jinjaDelimiter start="{" end="}" transparent display containedin=jinjaVarBlock,jinjaNested contained 60 | 61 | syn region jinjaVarBlock matchgroup=jinjaVarDelim start=/{{-\?/ end=/-\?}}/ containedin=ALLBUT,jinjaVarBlock,jinjaRaw,jinjaString,jinjaNested 62 | 63 | " Jinja template 'raw' tag 64 | syn region jinjaRaw matchgroup=jinjaRawDelim start="{%\s*raw\s*%}" end="{%\s*endraw\s*%}" containedin=ALLBUT,jinjaVarBlock,jinjaString 65 | 66 | " Define the default highlighting. 67 | " For version 5.7 and earlier: only when not done already 68 | " For version 5.8 and later: only when an item doesn't have highlighting yet 69 | if version >= 508 || !exists("did_jinja_syn_inits") 70 | if version < 508 71 | let did_jinja_syn_inits = 1 72 | command -nargs=+ HiLink hi link 73 | else 74 | command -nargs=+ HiLink hi def link 75 | endif 76 | 77 | HiLink jinjaPunctuation jinjaOperator 78 | HiLink jinjaAttribute Identifier 79 | HiLink jinjaFunction jinjaFilter 80 | 81 | HiLink jinjaVarDelim PreProc 82 | HiLink jinjaRawDelim jinjaVarDelim 83 | 84 | HiLink jinjaSpecial Special 85 | HiLink jinjaOperator Operator 86 | HiLink jinjaRaw Normal 87 | HiLink jinjaStatement Statement 88 | HiLink jinjaDelimiter Delimiter 89 | HiLink jinjaFilter Function 90 | HiLink jinjaBlockName Function 91 | HiLink jinjaVariable Normal 92 | HiLink jinjaString Constant 93 | HiLink jinjaNumber Constant 94 | 95 | delcommand HiLink 96 | endif 97 | 98 | let b:current_syntax = "jinja" 99 | 100 | if main_syntax == 'jinja' 101 | unlet main_syntax 102 | endif 103 | -------------------------------------------------------------------------------- /syntax/include/yaml.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: YAML (YAML Ain't Markup Language) 3 | " Maintainer: Benji Fisher, Ph.D. 4 | " Author: Chase Colman 5 | " Author: Igor Vergeichik 6 | " Author: Nikolai Weibull 7 | " Sponsor: Tom Sawyer 8 | " Latest Revision: 2014-12-08 9 | 10 | if !exists("main_syntax") 11 | if version < 600 12 | syntax clear 13 | elseif exists("b:current_syntax") 14 | finish 15 | endif 16 | let main_syntax = 'yaml' 17 | endif 18 | 19 | let s:cpo_save = &cpo 20 | set cpo&vim 21 | 22 | " Allows keyword matches containing - 23 | setl iskeyword+=- 24 | 25 | syn keyword yamlTodo contained TODO FIXME XXX NOTE 26 | 27 | syn region yamlDocumentHeader start='---' end='$' contains=yamlDirective 28 | syn match yamlDocumentEnd '\.\.\.' 29 | syn match yamlDirective contained '%[^:]\+:.\+' 30 | 31 | syn region yamlComment display oneline start='\%(^\|\s\)#' end='$' 32 | \ contains=yamlTodo,@Spell 33 | syn match yamlNodeProperty "!\%(![^\\^% ]\+\|[^!][^:/ ]*\)" 34 | syn match yamlAnchor "&.\+" 35 | syn match yamlAlias "\*.\+" 36 | syn match yamlDelimiter "[-,:]\s*" contained 37 | 38 | syn match yamlBlock "[\[\]\{\}>|]" 39 | syn match yamlOperator '[?+-]' 40 | " - yamlBlock is contained here in the mapping because having the mapping end 41 | " at $ clobbers detecting yamlBlock endings. 42 | " - Without re-writing quite a bit of this logic this seems like the cleanest 43 | " way to fix this 44 | syn region yamlMapping start='\w\+\%(\s\+\w\+\)*\s*\ze:' end='$' keepend oneline contains=yamlKey,yamlScalar,yamlBlock 45 | syn match yamlScalar '\%(\W*\w\+\)\{2,}' contained contains=yamlTimestamp,yamlString,@yamlTypes,yamlBlock 46 | syn cluster yamlTypes contains=yamlInteger,yamlFloating,yamlNumber,yamlBoolean,yamlConstant,yamlNull,yamlTime 47 | syn match yamlKey '\w\+\%(\s\+\w\+\)*\s*:' contained nextgroup=@yamlTypes contains=yamlDelimiter 48 | 49 | " Predefined data types 50 | 51 | " Yaml Integer type 52 | syn match yamlInteger "\<[-+]\?\(0\|[1-9][0-9,]*\)\s*$" contained 53 | syn match yamlInteger "\<[-+]\?0[xX][0-9a-fA-F,]\+\s*$" contained 54 | 55 | " floating point number 56 | syn match yamlFloating "\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\s*$" contained 57 | syn match yamlFloating "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\s*$" contained 58 | syn match yamlFloating "\<\d\+e[-+]\=\d\+[fl]\=\s*$" contained 59 | syn match yamlFloating "\<\(([+-]\?inf)\).*$\|\((NaN)\)\s*$" contained 60 | syn match yamlNumber '\<[+-]\=\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=\s*$' contained 61 | syn match yamlNumber '\<0\o\+\s*$' contained 62 | syn match yamlNumber '\<0x\x\+\s*$' contained 63 | syn match yamlNumber '\<([+-]\=[iI]nf)\s*$' contained 64 | 65 | " Boolean 66 | syn keyword yamlBoolean true True TRUE false False FALSE yes Yes YES no No NO on On ON off Off OFF contained 67 | syn match yamlBoolean ":.*\zs\W[+-]\(\W\|$\)" contained 68 | 69 | syn match yamlConstant '\<[~yn]\s*$' contained 70 | 71 | " Null 72 | syn keyword yamlNull null Null NULL nil Nil NIL contained 73 | syn match yamlNull "\W[~]\(\W\|$\)" contained 74 | 75 | syn match yamlTimestamp '\d\d\d\d-\%(1[0-2]\|\d\)-\%(3[0-2]\|2\d\|1\d\|\d\)\%( \%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d [+-]\%([01]\d\|2[0-3]\):[0-5]\d\|t\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d[+-]\%([01]\d\|2[0-3]\):[0-5]\d\|T\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\dZ\)\=' contained 76 | 77 | " Single and double quoted scalars 78 | syn region yamlString oneline start="'" end="'" skip="\\'" 79 | \ contains=yamlSingleEscape 80 | syn region yamlString oneline start='"' end='"' skip='\\"' 81 | \ contains=yamlEscape 82 | 83 | " Escaped symbols 84 | " every charater preceeded with slash is escaped one 85 | syn match yamlEscape "\\." 86 | " 2,4 and 8-digit escapes 87 | syn match yamlEscape "\\\(x\x\{2\}\|u\x\{4\}\|U\x\{8\}\)" 88 | syn match yamlEscape contained display +\\[\\"abefnrtv^0_ NLP]+ 89 | syn match yamlEscape contained display '\\x\x\{2}' 90 | syn match yamlEscape contained display '\\u\x\{4}' 91 | syn match yamlEscape contained display '\\U\x\{8}' 92 | syn match yamlEscape display '\\\%(\r\n\|[\r\n]\)' 93 | syn match yamlSingleEscape contained display +''+ 94 | 95 | syn match yamlAnchor "&\S\+" 96 | syn match yamlAlias "*\S\+" 97 | syn match yamlType "![^\s]\+\s\@=" 98 | 99 | if version >= 508 || !exist("did_yaml_syn") 100 | if version < 508 101 | let did_yaml_syn = 1 102 | command -nargs=+ HiLink hi link 103 | else 104 | command -nargs=+ HiLink hi def link 105 | endif 106 | 107 | HiLink yamlKey Identifier 108 | HiLink yamlType Type 109 | HiLink yamlInteger Number 110 | HiLink yamlFloating Float 111 | HiLink yamlNumber Number 112 | HiLink yamlEscape Special 113 | HiLink yamlSingleEscape SpecialChar 114 | HiLink yamlComment Comment 115 | HiLink yamlBlock Operator 116 | HiLink yamlDelimiter Delimiter 117 | HiLink yamlString String 118 | HiLink yamlBoolean Boolean 119 | HiLink yamlNull Boolean 120 | HiLink yamlTodo Todo 121 | HiLink yamlDocumentHeader PreProc 122 | HiLink yamlDocumentEnd PreProc 123 | HiLink yamlDirective Keyword 124 | HiLink yamlNodeProperty Type 125 | HiLink yamlAnchor Type 126 | HiLink yamlAlias Type 127 | HiLink yamlOperator Operator 128 | HiLink yamlScalar String 129 | HiLink yamlConstant Constant 130 | HiLink yamlTimestamp Number 131 | 132 | delcommand HiLink 133 | endif 134 | 135 | let b:current_syntax = "yaml" 136 | 137 | let &cpo = s:cpo_save 138 | unlet s:cpo_save 139 | 140 | if main_syntax == "yaml" 141 | unlet main_syntax 142 | endif 143 | --------------------------------------------------------------------------------