From b1aadf6780bdd5d14a25d72da0df6450ede60b6a Mon Sep 17 00:00:00 2001 From: Buddy Sandidge Date: Mon, 25 Feb 2019 20:21:00 -0800 Subject: [PATCH] Squashed 'vim/bundle/hashicorp-tools/' content from commit 76c076659 git-subtree-dir: vim/bundle/hashicorp-tools git-subtree-split: 76c076659f4c32b8b95e797fafe748daa7792d16 --- .editorconfig | 11 + .gitignore | 1 + CODE_OF_CONDUCT.md | 45 + CONTRIBUTING.md | 35 + LICENSE | 13 + README.md | 48 + after/ftplugin/terraform.vim | 81 + assemble.sh | 41 + doc/consul.txt | 14 + doc/nomadproject.txt | 14 + doc/ottoproject.txt | 14 + doc/packer.txt | 14 + doc/terraform.txt | 14 + doc/vagrant.txt | 14 + doc/vaultproject.txt | 14 + ftdetect/terraform.vim | 4 + ftdetect/vagrant.vim | 1 + ftplugin/terraform.vim | 69 + indent/terraform.vim | 45 + plugin/consul.vim | 45 + plugin/nomadproject.vim | 38 + plugin/ottoproject.vim | 27 + plugin/packer.vim | 25 + plugin/terraform.vim | 69 + plugin/vagrant.vim | 57 + plugin/vaultproject.vim | 41 + syntax/terraform.vim | 3099 ++++++++++++++++++++++++++++++++++ 27 files changed, 3893 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 after/ftplugin/terraform.vim create mode 100755 assemble.sh create mode 100644 doc/consul.txt create mode 100644 doc/nomadproject.txt create mode 100644 doc/ottoproject.txt create mode 100644 doc/packer.txt create mode 100644 doc/terraform.txt create mode 100644 doc/vagrant.txt create mode 100644 doc/vaultproject.txt create mode 100644 ftdetect/terraform.vim create mode 100644 ftdetect/vagrant.vim create mode 100644 ftplugin/terraform.vim create mode 100644 indent/terraform.vim create mode 100644 plugin/consul.vim create mode 100644 plugin/nomadproject.vim create mode 100644 plugin/ottoproject.vim create mode 100644 plugin/packer.vim create mode 100644 plugin/terraform.vim create mode 100644 plugin/vagrant.vim create mode 100644 plugin/vaultproject.vim create mode 100644 syntax/terraform.vim diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..beffa30 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,11 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0a56e3f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/doc/tags diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..bc6ec6d --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,45 @@ +# Contributor Code of Conduct + +As contributors and maintainers of this project, and in the interest of +fostering an open and welcoming community, we pledge to respect all people who +contribute through reporting issues, posting feature requests, updating +documentation, submitting pull requests or patches, and other activities. + +We are committed to making participation in this project a harassment-free +experience for everyone, regardless of level of experience, gender, gender +identity and expression, sexual orientation, disability, personal appearance, +body size, race, ethnicity, age, religion, or nationality. + +Examples of unacceptable behavior by participants include: + +- The use of sexualized language or imagery + +- Personal attacks + +- Trolling or insulting/derogatory comments + +- Public or private harassment + +- Publishing other's private information, such as physical or electronic + addresses, without explicit permission + +- Other unethical or unprofessional conduct. + +Project maintainers have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct. By adopting this Code of Conduct, project +maintainers commit themselves to fairly and consistently applying these +principles to every aspect of managing this project. Project maintainers who do +not follow or enforce the Code of Conduct may be permanently removed from the +project team. + +This code of conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by opening an issue or contacting one or more of the project +maintainers. + +This Code of Conduct is adapted from the [Contributor +Covenant](http://contributor-covenant.org), version 1.2.0, available at + diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..d642088 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,35 @@ +# Contributing To My Vim Plugins + +I'm not a Vim wizard by any means, nor am I too proud to accept +contributions that improve my code, so if you think you have a problem, +improvement, or other contribution towards the betterment of Vim-kind, +please file an issue or, where appropriate, a pull request. + +Before filing an issue, please read this article by my friends and +former colleagues at Viget: + + + +Keep in mind that I'm not paid to write Vim plugins, so I'm doing this +in my spare time, which means it might take me a while to respond. If +you're not satisfied with my response to your problem with my free (as +in beer and in speech) software, I will give you triple your $0.00 back. + +When filing a pull request, please explain what you're changing and why. +Please limit your changes to the specific thing you're fixing; it's +probably easiest for both of us if you isolate your change in a topic +branch that I can merge without pulling in other stuff. Please do not +update CHANGELOG, versions, etc.; I'll take care of that. I'll also add +you to the Credits list with my thanks. + +All of my Vim plugins use the ISC license. If you submit a pull request, +I'll assume you are OK with any code you add being placed under that +same ISC license. If this is not the case for any reason, please let me +know why you can't tolerate the ISC license. I am 99.99% likely to +reject your change in that case, but I'll let you have your say. + +This project is intended to be a safe, welcoming space for collaboration, and +contributors are expected to adhere to the [Contributor +Covenant](http://contributor-covenant.org) code of conduct. + +Thanks for contributing! diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..00c3f13 --- /dev/null +++ b/LICENSE @@ -0,0 +1,13 @@ +Copyright (c) 2013-2015 Mark Cornick + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED 'AS IS' AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..80aeaa9 --- /dev/null +++ b/README.md @@ -0,0 +1,48 @@ +# Call For Maintainers + +This plugin, along with others like it, is now maintained by the +[HashiVim](http://hashivim.github.io/) organization, which is looking for +additional maintainers and contributors. See the HashiVim home page for +further information. + +# vim-hashicorp-tools + +This plugin combines all of my Vim plugins supporting the various +[Hashicorp](https://hashicorp.com) tools into one plugin, for people who +are likely to use more than one or two of them and want a one-stop shop. +The individual plugins are: + +- [vim-consul](https://github.com/hashivim/vim-consul) +- [vim-nomadproject](https://github.com/hashivim/vim-nomadproject) +- [vim-ottoproject](https://github.com/hashivim/vim-ottoproject) +- [vim-packer](https://github.com/hashivim/vim-packer) +- [vim-terraform](https://github.com/hashivim/vim-terraform) +- [vim-vagrant](https://github.com/hashivim/vim-vagrant) +- [vim-vaultproject](https://github.com/hashivim/vim-vaultproject) + +Please see the individual repositories above for further information +on each one. This repository is created by brute-force combining the +others with the `assemble.sh` script, so please file any issues or pull +requests against the individual repos, not this one. Thanks. + +## Installation + +With [pathogen.vim](https://github.com/tpope/vim-pathogen) just do: + + cd ~/.vim/bundle + git clone https://github.com/hashivim/vim-hashicorp-tools.git + +If you prefer to use something besides pathogen, go ahead. + +## Credits + +See individual repositories for credits for the code contained within +them. The code to assemble them in this repo was written by Mark Cornick +. Licensed under the ISC license. + +Hashicorp is a trademark of Hashicorp. The capital of Djibouti is +Djibouti. + +This project is intended to be a safe, welcoming space for collaboration, and +contributors are expected to adhere to the [Contributor +Covenant](http://contributor-covenant.org) code of conduct. diff --git a/after/ftplugin/terraform.vim b/after/ftplugin/terraform.vim new file mode 100644 index 0000000..04f05a6 --- /dev/null +++ b/after/ftplugin/terraform.vim @@ -0,0 +1,81 @@ +if !exists('g:terraform_align') + let g:terraform_align = 0 +endif + +if !exists('g:terraform_remap_spacebar') + let g:terraform_remap_spacebar = 0 +endif + +if !exists('g:terraform_fold_sections') + let g:terraform_fold_sections = 0 +endif + +if g:terraform_align && exists(':Tabularize') + inoremap = =:call terraformalign()a + function! s:terraformalign() + let p = '^.*=[^>]*$' + if exists(':Tabularize') && getline('.') =~# '^.*=' && (getline(line('.')-1) =~# p || getline(line('.')+1) =~# p) + let column = strlen(substitute(getline('.')[0:col('.')],'[^=]','','g')) + let position = strlen(matchstr(getline('.')[0:col('.')],'.*=\s*\zs.*')) + Tabularize/=/l1 + normal! 0 + call search(repeat('[^=]*=',column).'\s\{-\}'.repeat('.',position),'ce',line('.')) + endif + endfunction +endif + +if g:terraform_fold_sections + function! TerraformFolds() + let thisline = getline(v:lnum) + if match(thisline, '^resource') >= 0 + return ">1" + elseif match(thisline, '^provider') >= 0 + return ">1" + elseif match(thisline, '^module') >= 0 + return ">1" + elseif match(thisline, '^variable') >= 0 + return ">1" + elseif match(thisline, '^output') >= 0 + return ">1" + elseif match(thisline, '^data') >= 0 + return ">1" + elseif match(thisline, '^terraform') >= 0 + return ">1" + elseif match(thisline, '^locals') >= 0 + return ">1" + else + return "=" + endif + endfunction + setlocal foldmethod=expr + setlocal foldexpr=TerraformFolds() + setlocal foldlevel=1 + + function! TerraformFoldText() + let foldsize = (v:foldend-v:foldstart) + return getline(v:foldstart).' ('.foldsize.' lines)' + endfunction + setlocal foldtext=TerraformFoldText() +endif + +" Re-map the space bar to fold and unfold +if get(g:, "terraform_remap_spacebar", 1) + "inoremap za + nnoremap za + onoremap za + vnoremap zf +endif + +" Match the identation put in place by Hashicorp and :TerraformFmt, https://github.com/hashivim/vim-terraform/issues/21 +if get(g:, "terraform_align", 1) + setlocal tabstop=2 + setlocal softtabstop=2 + setlocal shiftwidth=2 +endif + +" Set the commentstring +if exists('g:terraform_commentstring') + let &l:commentstring=g:terraform_commentstring +else + setlocal commentstring=#%s +endif diff --git a/assemble.sh b/assemble.sh new file mode 100755 index 0000000..9980f5a --- /dev/null +++ b/assemble.sh @@ -0,0 +1,41 @@ +#!/bin/sh +# WHAT: This script assembles the vim-hashicorp-tools plugin from git checkouts +# of the constituent plugins, which are assumed to exist in the same +# directory as vim-hashicorp-tools. + +BLD=$(tput bold) +RST=$(tput sgr0) + +for REPO in consul nomadproject ottoproject packer terraform vagrant vaultproject; do + # Clone all the repositories just incase we didn't have them + if [ ! -d "../vim-${REPO}" ]; then + echo "${BLD}INFO: Cloning vim-${REPO}${RST}" + git clone git@github.com:hashivim/vim-${REPO} ../vim-${REPO} + fi + + # We only want to assemble off of master + if [ $(cd ../vim-${REPO} && git rev-parse --abbrev-ref HEAD) != "master" ]; then + echo "${BLD}WARN: Repository vim-${REPO} did not have the master branch checked out. To get that branchs changes back, run \`stash pop\`.${RST}" + git stash + git checkout master + git pull + fi + + # Hashicorp tools ASSEMBLE! + echo "${BLD}INFO: Assembling ../vim-${REPO} into this repository.${RST}" + rsync --archive \ + --exclude=.git \ + --exclude=*.md \ + --exclude=LICENSE \ + --exclude=*.rb \ + --exclude=*.sh \ + --exclude=.travis.yml \ + --exclude=Makefile \ + --exclude=test/ \ + --exclude=vader.vim/ \ + --exclude=terraform-providers/ \ + ../vim-${REPO}/ . +done + +echo "${BLD}INFO: Done!${RST}" +git status diff --git a/doc/consul.txt b/doc/consul.txt new file mode 100644 index 0000000..a807cb1 --- /dev/null +++ b/doc/consul.txt @@ -0,0 +1,14 @@ +*consul.txt* basic vim/consul integration + +Author: HashiVim +License: ISC license +Repo: https://github.com/hashivim/vim-consul + +COMMANDS *consul* + +This command is only available if consul is in your PATH. + + *consul-:consul* +:Consul [args] Invoke an arbitrary consul command. + + vim:tw=78:et:ft=help:norl: diff --git a/doc/nomadproject.txt b/doc/nomadproject.txt new file mode 100644 index 0000000..3795241 --- /dev/null +++ b/doc/nomadproject.txt @@ -0,0 +1,14 @@ +*nomadproject.txt* basic vim/nomad integration + +Author: HashiVim +License: ISC license +Repo: https://github.com/hashivim/vim-nomadproject + +COMMANDS *nomadproject* + +This command is only available if nomad is in your PATH. + + *nomadproject-:nomad +:Nomad [args] Invoke an arbitrary nomad command. + + vim:tw=78:et:ft=help:norl: diff --git a/doc/ottoproject.txt b/doc/ottoproject.txt new file mode 100644 index 0000000..908483d --- /dev/null +++ b/doc/ottoproject.txt @@ -0,0 +1,14 @@ +*ottoproject.txt* basic vim/otto integration + +Author: HashiVim +License: ISC license +Repo: https://github.com/hashivim/vim-ottoproject + +COMMANDS *ottoproject* + +This command is only available if otto is in your PATH. + + *ottoproject-:otto +:Otto [args] Invoke an arbitrary otto command. + + vim:tw=78:et:ft=help:norl: diff --git a/doc/packer.txt b/doc/packer.txt new file mode 100644 index 0000000..92013d5 --- /dev/null +++ b/doc/packer.txt @@ -0,0 +1,14 @@ +*packer.txt* basic vim/packer integration + +Author: HashiVim +License: ISC license +Repo: https://github.com/hashivim/vim-packer + +COMMANDS *packer* + +This command is only available if packer is in your PATH. + + *packer-:packer* +:Packer [args] Invoke an arbitrary packer command. + + vim:tw=78:et:ft=help:norl: diff --git a/doc/terraform.txt b/doc/terraform.txt new file mode 100644 index 0000000..503376c --- /dev/null +++ b/doc/terraform.txt @@ -0,0 +1,14 @@ +*terraform.txt* basic vim/terraform integration + +Author: HashiVim +License: ISC license +Repo: https://github.com/hashivim/vim-terraform + +COMMANDS *terraform* + +This command is only available if terraform is in your PATH. + + *terraform-:terraform* +:Terraform [args] Invoke an arbitrary terraform command. + + vim:tw=78:et:ft=help:norl: diff --git a/doc/vagrant.txt b/doc/vagrant.txt new file mode 100644 index 0000000..af58f77 --- /dev/null +++ b/doc/vagrant.txt @@ -0,0 +1,14 @@ +*vagrant.txt* basic vim/vagrant integration + +Author: HashiVim +License: ISC license +Repo: https://github.com/hashivim/vim-vagrant + +COMMANDS *vagrant* + +This command is only available if vagrant is in your PATH. + + *vagrant-:Vagrant* +:Vagrant [args] Invoke an arbitrary vagrant command. + + vim:tw=78:et:ft=help:norl: diff --git a/doc/vaultproject.txt b/doc/vaultproject.txt new file mode 100644 index 0000000..ffd6327 --- /dev/null +++ b/doc/vaultproject.txt @@ -0,0 +1,14 @@ +*vaultproject.txt* basic vim/vault integration + +Author: HashiVim +License: ISC license +Repo: https://github.com/hashivim/vim-vaultproject + +COMMANDS *vaultproject* + +This command is only available if vault is in your PATH. + + *vaultproject-:vault +:Vault [args] Invoke an arbitrary vault command. + + vim:tw=78:et:ft=help:norl: diff --git a/ftdetect/terraform.vim b/ftdetect/terraform.vim new file mode 100644 index 0000000..08c5af0 --- /dev/null +++ b/ftdetect/terraform.vim @@ -0,0 +1,4 @@ +au BufRead,BufNewFile *.tf setlocal filetype=terraform +au BufRead,BufNewFile *.tfvars setlocal filetype=terraform +au BufRead,BufNewFile *.tfstate setlocal filetype=json +au BufRead,BufNewFile *.tfstate.backup setlocal filetype=json diff --git a/ftdetect/vagrant.vim b/ftdetect/vagrant.vim new file mode 100644 index 0000000..2dd5112 --- /dev/null +++ b/ftdetect/vagrant.vim @@ -0,0 +1 @@ +au BufRead,BufNewFile Vagrantfile set filetype=ruby diff --git a/ftplugin/terraform.vim b/ftplugin/terraform.vim new file mode 100644 index 0000000..0e3a7bc --- /dev/null +++ b/ftplugin/terraform.vim @@ -0,0 +1,69 @@ +" terraform.vim - basic vim/terraform integration +" Maintainer: HashiVim + +if exists("g:loaded_terraform") || v:version < 700 || &cp || !executable('terraform') + finish +endif +let g:loaded_terraform = 1 + +if !exists("g:terraform_fmt_on_save") + let g:terraform_fmt_on_save = 0 +endif + +function! s:commands(A, L, P) + return join([ + \ "apply", + \ "console", + \ "destroy", + \ "env", + \ "fmt", + \ "get", + \ "graph", + \ "import", + \ "init", + \ "output", + \ "plan", + \ "providers", + \ "push", + \ "refresh", + \ "show", + \ "taint", + \ "untaint", + \ "validate", + \ "version", + \ "workspace", + \ "debug", + \ "force-unlock", + \ "state" + \ ], "\n") +endfunction + +" Adapted from vim-hclfmt: +" https://github.com/fatih/vim-hclfmt/blob/master/autoload/fmt.vim +function! terraform#fmt() + let l:curw = winsaveview() + let l:tmpfile = tempname() + call writefile(getline(1, "$"), l:tmpfile) + let output = system("terraform fmt -write " . l:tmpfile) + if v:shell_error == 0 + try | silent undojoin | catch | endtry + call rename(l:tmpfile, resolve(expand("%"))) + silent edit! + let &syntax = &syntax + else + echo output + call delete(l:tmpfile) + endif + call winrestview(l:curw) +endfunction + +augroup terraform + autocmd! + autocmd BufEnter * + \ command! -nargs=+ -complete=custom,s:commands Terraform execute '!terraform '.. ' -no-color' + autocmd BufEnter * command! -nargs=0 TerraformFmt call terraform#fmt() + if get(g:, "terraform_fmt_on_save", 1) + autocmd BufWritePre *.tf call terraform#fmt() + autocmd BufWritePre *.tfvars call terraform#fmt() + endif +augroup END diff --git a/indent/terraform.vim b/indent/terraform.vim new file mode 100644 index 0000000..c924756 --- /dev/null +++ b/indent/terraform.vim @@ -0,0 +1,45 @@ +" Only load this file if no other indent file was loaded +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +setlocal nolisp +setlocal autoindent sw=2 ts=2 +setlocal indentexpr=TerraformIndent(v:lnum) +setlocal indentkeys+=<:>,0=},0=) + +if exists("*TerraformIndent") + finish +endif + +function! TerraformIndent(lnum) + " Beginning of the file should have no indent + if a:lnum == 0 + return 0 + endif + + " Previous non-blank line should continue the indent level + let prevlnum = prevnonblank(a:lnum-1) + + " Previous line without comments should continue the indent level + let prevline = substitute(getline(prevlnum), '//.*$', '', '') + let previndent = indent(prevlnum) + let thisindent = previndent + + " Config block starting with [ { ( should increase the indent level + if prevline =~ '[\[{\(]\s*$' + let thisindent += &sw + endif + + " Current line without comments should continue the indent level + let thisline = substitute(getline(a:lnum), '//.*$', '', '') + + " Config block ending with ) } ] should get the indentation + " level from the initial config block + if thisline =~ '^\s*[\)}\]]' + let thisindent -= &sw + endif + + return thisindent +endfunction diff --git a/plugin/consul.vim b/plugin/consul.vim new file mode 100644 index 0000000..4976bda --- /dev/null +++ b/plugin/consul.vim @@ -0,0 +1,45 @@ +" consul.vim - basic vim/consul integration +" Maintainer: HashiVim + +if exists("g:loaded_consul") || v:version < 700 || &cp || !executable('consul') + finish +endif +let g:loaded_consul = 1 + +function! s:commands(A, L, P) + return join([ + \ "agent", + \ "catalog", + \ "connect", + \ "event", + \ "exec", + \ "force-leave", + \ "info", + \ "intention", + \ "join", + \ "keygen", + \ "keyring", + \ "kv", + \ "leave", + \ "lock", + \ "maint", + \ "members", + \ "monitor", + \ "operator", + \ "reload", + \ "rtt", + \ "services", + \ "snapshot", + \ "validate", + \ "version", + \ "watch" + \ ], "\n") +endfunction + +augroup consul + autocmd! + autocmd VimEnter * + \ command! -nargs=+ -complete=custom,s:commands Consul execute '!consul '. +augroup END + +" vim:set et sw=2: diff --git a/plugin/nomadproject.vim b/plugin/nomadproject.vim new file mode 100644 index 0000000..417f0dc --- /dev/null +++ b/plugin/nomadproject.vim @@ -0,0 +1,38 @@ +" nomadproject.vim - basic vim/nomad integration +" Maintainer: HashiVim + +if exists("g:loaded_nomadproject") || v:version < 700 || &cp || !executable('nomad') + finish +endif +let g:loaded_nomadproject = 1 + +function! s:commands(A, L, P) + return join([ + \ "run", + \ "stop", + \ "status", + \ "alloc", + \ "job", + \ "node", + \ "agent", + \ "acl", + \ "agent-info", + \ "deployment", + \ "eval", + \ "namespace", + \ "operator", + \ "quota", + \ "sentinel", + \ "server", + \ "ui", + \ "version" + \ ], "\n") +endfunction + +augroup nomadproject + autocmd! + autocmd VimEnter * + \ command! -nargs=+ -complete=custom,s:commands Nomad execute '!nomad '. +augroup END + +" vim:set et sw=2: diff --git a/plugin/ottoproject.vim b/plugin/ottoproject.vim new file mode 100644 index 0000000..5ef3b5b --- /dev/null +++ b/plugin/ottoproject.vim @@ -0,0 +1,27 @@ +" ottoproject.vim - basic vim/otto integration +" Maintainer: HashiVim + +if exists("g:loaded_ottoproject") || v:version < 700 || &cp || !executable('otto') + finish +endif +let g:loaded_ottoproject = 1 + +function! s:commands(A, L, P) + return join([ + \ "build", + \ "compile", + \ "deploy", + \ "dev", + \ "infra", + \ "status", + \ "version" + \ ], "\n") +endfunction + +augroup ottoproject + autocmd! + autocmd VimEnter * + \ command! -nargs=+ -complete=custom,s:commands Otto execute '!otto '. +augroup END + +" vim:set et sw=2: diff --git a/plugin/packer.vim b/plugin/packer.vim new file mode 100644 index 0000000..9c0c245 --- /dev/null +++ b/plugin/packer.vim @@ -0,0 +1,25 @@ +" packer.vim - basic vim/packer integration +" Maintainer: HashiVim + +if exists("g:loaded_packer") || v:version < 700 || &cp || !executable('packer') + finish +endif +let g:loaded_packer = 1 + +function! s:commands(A, L, P) + return join([ + \ "build", + \ "fix", + \ "inspect", + \ "validate", + \ "version" + \ ], "\n") +endfunction + +augroup packer + autocmd! + autocmd VimEnter * + \ command! -nargs=+ -complete=custom,s:commands Packer execute '!packer '. +augroup END + +" vim:set et sw=2: diff --git a/plugin/terraform.vim b/plugin/terraform.vim new file mode 100644 index 0000000..4f1e38f --- /dev/null +++ b/plugin/terraform.vim @@ -0,0 +1,69 @@ +" terraform.vim - basic vim/terraform integration +" Maintainer: HashiVim + +if exists("g:loaded_terraform") || v:version < 700 || &cp || !executable('terraform') + finish +endif +let g:loaded_terraform = 1 + +if !exists("g:terraform_fmt_on_save") + let g:terraform_fmt_on_save = 0 +endif + +function! s:commands(A, L, P) + return join([ + \ "apply", + \ "console", + \ "destroy", + \ "env", + \ "fmt", + \ "get", + \ "graph", + \ "import", + \ "init", + \ "output", + \ "plan", + \ "providers", + \ "push", + \ "refresh", + \ "show", + \ "taint", + \ "untaint", + \ "validate", + \ "version", + \ "workspace", + \ "debug", + \ "force-unlock", + \ "state" + \ ], "\n") +endfunction + +" Adapted from vim-hclfmt: +" https://github.com/fatih/vim-hclfmt/blob/master/autoload/fmt.vim +function! terraform#fmt() + let l:curw = winsaveview() + let l:tmpfile = tempname() + call writefile(getline(1, "$"), l:tmpfile) + let output = system("terraform fmt -write " . l:tmpfile) + if v:shell_error == 0 + try | silent undojoin | catch | endtry + call rename(l:tmpfile, resolve(expand("%"))) + silent edit! + let &syntax = &syntax + else + echo output + call delete(l:tmpfile) + endif + call winrestview(l:curw) +endfunction + +augroup terraform + autocmd! + autocmd VimEnter * + \ command! -nargs=+ -complete=custom,s:commands Terraform execute '!terraform '.. ' -no-color' + autocmd VimEnter * command! -nargs=0 TerraformFmt call terraform#fmt() + if get(g:, "terraform_fmt_on_save", 1) + autocmd BufWritePre *.tf call terraform#fmt() + autocmd BufWritePre *.tfvars call terraform#fmt() + endif +augroup END diff --git a/plugin/vagrant.vim b/plugin/vagrant.vim new file mode 100644 index 0000000..5ece683 --- /dev/null +++ b/plugin/vagrant.vim @@ -0,0 +1,57 @@ +" vagrant.vim - basic vim/vagrant integration +" Maintainer: HashiVim + +if exists("g:loaded_vagrant") || v:version < 700 || &cp || !executable('vagrant') + finish +endif +let g:loaded_vagrant = 1 + +function! s:commands(A, L, P) + return join([ + \ "box", + \ "cap", + \ "cloud", + \ "destroy", + \ "docker-exec", + \ "docker-logs", + \ "docker-run", + \ "global-status", + \ "halt", + \ "help", + \ "hostmanager", + \ "init", + \ "list-commands", + \ "login", + \ "package", + \ "plugin", + \ "port", + \ "powershell", + \ "provider", + \ "provision", + \ "push", + \ "rdp", + \ "reload", + \ "resume", + \ "rsync", + \ "rsync-auto", + \ "snapshot", + \ "ssh", + \ "ssh-config", + \ "status", + \ "suspend", + \ "up", + \ "upload", + \ "validate", + \ "version", + \ "winrm", + \ "winrm-config" + \ ], "\n") +endfunction + +augroup vagrant + autocmd! + autocmd VimEnter * + \ command! -nargs=+ -complete=custom,s:commands Vagrant execute '!vagrant '. +augroup END + +" vim:set et sw=2: diff --git a/plugin/vaultproject.vim b/plugin/vaultproject.vim new file mode 100644 index 0000000..d24fd53 --- /dev/null +++ b/plugin/vaultproject.vim @@ -0,0 +1,41 @@ +" vaultproject.vim - basic vim/vault integration +" Maintainer: HashiVim + +if exists("g:loaded_vaultproject") || v:version < 700 || &cp || !executable('vault') + finish +endif +let g:loaded_vaultproject = 1 + +function! s:commands(A, L, P) + return join([ + \ "read", + \ "write", + \ "delete", + \ "list", + \ "login", + \ "agent", + \ "server", + \ "status", + \ "unwrap", + \ "audit", + \ "auth", + \ "kv", + \ "lease", + \ "namespace", + \ "operator", + \ "path-help", + \ "plugin", + \ "policy", + \ "secrets", + \ "ssh", + \ "token" + \ ], "\n") +endfunction + +augroup vaultproject + autocmd! + autocmd VimEnter * + \ command! -nargs=+ -complete=custom,s:commands Vault execute '!vault '. +augroup END + +" vim:set et sw=2: diff --git a/syntax/terraform.vim b/syntax/terraform.vim new file mode 100644 index 0000000..be78cac --- /dev/null +++ b/syntax/terraform.vim @@ -0,0 +1,3099 @@ +" Forked from Larry Gilbert's syntax file +" github.com/L2G/vim-syntax-terraform + +if exists("b:current_syntax") + finish +endif + +" Include hyphens as keyword characters so that a keyword appearing as part of +" a longer name doesn't get partially highlighted. +setlocal iskeyword+=- + +syn case match + +syn keyword terraSection connection output provider variable data terraform locals +syn keyword terraValueBool true false on off yes no + +""" data +syn keyword terraDataTypeBI + \ alicloud_account + \ alicloud_api_gateway_apis + \ alicloud_api_gateway_apps + \ alicloud_api_gateway_groups + \ alicloud_cen_bandwidth_limits + \ alicloud_cen_bandwidth_packages + \ alicloud_cen_instances + \ alicloud_cen_region_route_entries + \ alicloud_cen_route_entries + \ alicloud_db_instances + \ alicloud_disks + \ alicloud_dns_domain_groups + \ alicloud_dns_domain_records + \ alicloud_dns_domains + \ alicloud_dns_groups + \ alicloud_dns_records + \ alicloud_eips + \ alicloud_fc_functions + \ alicloud_fc_services + \ alicloud_fc_triggers + \ alicloud_images + \ alicloud_instance_types + \ alicloud_instances + \ alicloud_key_pairs + \ alicloud_kms_keys + \ alicloud_kvstore_instances + \ alicloud_mns_queues + \ alicloud_mns_topic_subscriptions + \ alicloud_mns_topics + \ alicloud_mongo_instances + \ alicloud_network_interfaces + \ alicloud_oss_bucket_objects + \ alicloud_oss_buckets + \ alicloud_pvtz_zone_records + \ alicloud_pvtz_zones + \ alicloud_ram_account_alias + \ alicloud_ram_account_aliases + \ alicloud_ram_groups + \ alicloud_ram_policies + \ alicloud_ram_roles + \ alicloud_ram_users + \ alicloud_regions + \ alicloud_router_interfaces + \ alicloud_security_group_rules + \ alicloud_security_groups + \ alicloud_slb_acls + \ alicloud_slb_attachments + \ alicloud_slb_ca_certificates + \ alicloud_slb_listeners + \ alicloud_slb_rules + \ alicloud_slb_server_certificates + \ alicloud_slb_server_groups + \ alicloud_slbs + \ alicloud_vpcs + \ alicloud_vpn_connections + \ alicloud_vpn_customer_gateways + \ alicloud_vpn_gateways + \ alicloud_vswitches + \ alicloud_zones + \ archive_file + \ atlas_artifact + \ aws_acm_certificate + \ aws_acmpca_certificate_authority + \ aws_alb + \ aws_alb_listener + \ aws_alb_target_group + \ aws_ami + \ aws_ami_ids + \ aws_api_gateway_api_key + \ aws_api_gateway_resource + \ aws_api_gateway_rest_api + \ aws_api_gateway_vpc_link + \ aws_appsync_datasource + \ aws_arn + \ aws_autoscaling_group + \ aws_autoscaling_groups + \ aws_availability_zone + \ aws_availability_zones + \ aws_batch_compute_environment + \ aws_batch_job_queue + \ aws_billing_service_account + \ aws_caller_identity + \ aws_canonical_user_id + \ aws_cloudformation_export + \ aws_cloudformation_stack + \ aws_cloudhsm_v2_cluster + \ aws_cloudtrail_service_account + \ aws_cloudwatch_log_group + \ aws_codecommit_repository + \ aws_cognito_user_pools + \ aws_db_cluster_snapshot + \ aws_db_event_categories + \ aws_db_instance + \ aws_db_snapshot + \ aws_dx_gateway + \ aws_dynamodb_table + \ aws_ebs_snapshot + \ aws_ebs_snapshot_ids + \ aws_ebs_volume + \ aws_ec2_transit_gateway + \ aws_ec2_transit_gateway_route_table + \ aws_ec2_transit_gateway_vpc_attachment + \ aws_ecr_repository + \ aws_ecs_cluster + \ aws_ecs_container_definition + \ aws_ecs_service + \ aws_ecs_task_definition + \ aws_efs_file_system + \ aws_efs_mount_target + \ aws_eip + \ aws_eks_cluster + \ aws_elastic_beanstalk_hosted_zone + \ aws_elastic_beanstalk_solution_stack + \ aws_elasticache_cluster + \ aws_elasticache_replication_group + \ aws_elb + \ aws_elb_hosted_zone_id + \ aws_elb_service_account + \ aws_glue_script + \ aws_iam_account_alias + \ aws_iam_group + \ aws_iam_instance_profile + \ aws_iam_policy + \ aws_iam_policy_document + \ aws_iam_role + \ aws_iam_server_certificate + \ aws_iam_user + \ aws_inspector_rules_packages + \ aws_instance + \ aws_instances + \ aws_internet_gateway + \ aws_iot_endpoint + \ aws_ip_ranges + \ aws_kinesis_stream + \ aws_kms_alias + \ aws_kms_ciphertext + \ aws_kms_key + \ aws_kms_secret + \ aws_kms_secrets + \ aws_lambda_function + \ aws_lambda_invocation + \ aws_launch_configuration + \ aws_launch_template + \ aws_lb + \ aws_lb_listener + \ aws_lb_target_group + \ aws_mq_broker + \ aws_nat_gateway + \ aws_network_acls + \ aws_network_interface + \ aws_network_interfaces + \ aws_partition + \ aws_prefix_list + \ aws_pricing_product + \ aws_rds_cluster + \ aws_redshift_cluster + \ aws_redshift_service_account + \ aws_region + \ aws_route + \ aws_route53_delegation_set + \ aws_route53_zone + \ aws_route_table + \ aws_route_tables + \ aws_s3_bucket + \ aws_s3_bucket_object + \ aws_secretsmanager_secret + \ aws_secretsmanager_secret_version + \ aws_security_group + \ aws_security_groups + \ aws_sns_topic + \ aws_sqs_queue + \ aws_ssm_document + \ aws_ssm_parameter + \ aws_storagegateway_local_disk + \ aws_subnet + \ aws_subnet_ids + \ aws_vpc + \ aws_vpc_dhcp_options + \ aws_vpc_endpoint + \ aws_vpc_endpoint_service + \ aws_vpc_peering_connection + \ aws_vpcs + \ aws_vpn_gateway + \ aws_workspaces_bundle + \ azurerm_api_management + \ azurerm_app_service + \ azurerm_app_service_plan + \ azurerm_application_security_group + \ azurerm_azuread_application + \ azurerm_azuread_service_principal + \ azurerm_batch_account + \ azurerm_builtin_role_definition + \ azurerm_cdn_profile + \ azurerm_client_config + \ azurerm_container_registry + \ azurerm_cosmosdb_account + \ azurerm_data_lake_store + \ azurerm_dev_test_lab + \ azurerm_dns_zone + \ azurerm_eventhub_namespace + \ azurerm_image + \ azurerm_key_vault + \ azurerm_key_vault_access_policy + \ azurerm_key_vault_key + \ azurerm_key_vault_secret + \ azurerm_kubernetes_cluster + \ azurerm_log_analytics_workspace + \ azurerm_logic_app_workflow + \ azurerm_managed_disk + \ azurerm_management_group + \ azurerm_monitor_action_group + \ azurerm_monitor_diagnostic_categories + \ azurerm_monitor_log_profile + \ azurerm_network_interface + \ azurerm_network_security_group + \ azurerm_notification_hub + \ azurerm_notification_hub_namespace + \ azurerm_platform_image + \ azurerm_public_ip + \ azurerm_public_ips + \ azurerm_recovery_services_vault + \ azurerm_resource_group + \ azurerm_role_definition + \ azurerm_route_table + \ azurerm_scheduler_job_collection + \ azurerm_shared_image + \ azurerm_shared_image_gallery + \ azurerm_shared_image_version + \ azurerm_snapshot + \ azurerm_storage_account + \ azurerm_storage_account_sas + \ azurerm_subnet + \ azurerm_subscription + \ azurerm_subscriptions + \ azurerm_traffic_manager_geographical_location + \ azurerm_virtual_machine + \ azurerm_virtual_network + \ azurerm_virtual_network_gateway + \ azurestack_client_config + \ azurestack_network_interface + \ azurestack_network_security_group + \ azurestack_public_ip + \ azurestack_resource_group + \ azurestack_route_table + \ azurestack_storage_account + \ azurestack_subnet + \ azurestack_virtual_network + \ azurestack_virtual_network_gateway + \ brightbox_database_type + \ brightbox_image + \ brightbox_server_group + \ circonus_account + \ circonus_collector + \ cloudflare_ip_ranges + \ cloudstack_template + \ consul_agent_config + \ consul_agent_self + \ consul_catalog_nodes + \ consul_catalog_service + \ consul_catalog_services + \ consul_key_prefix + \ consul_keys + \ consul_nodes + \ consul_service + \ consul_services + \ digitalocean_certificate + \ digitalocean_domain + \ digitalocean_droplet + \ digitalocean_droplet_snapshot + \ digitalocean_floating_ip + \ digitalocean_image + \ digitalocean_kubernetes_cluster + \ digitalocean_loadbalancer + \ digitalocean_record + \ digitalocean_ssh_key + \ digitalocean_tag + \ digitalocean_volume + \ digitalocean_volume_snapshot + \ dns_a_record_set + \ dns_aaaa_record_set + \ dns_cname_record_set + \ dns_ns_record_set + \ dns_ptr_record_set + \ dns_txt_record_set + \ docker_registry_image + \ external + \ fastly_ip_ranges + \ filter + \ flexibleengine_compute_bms_flavors_v2 + \ flexibleengine_compute_bms_keypairs_v2 + \ flexibleengine_compute_bms_nic_v2 + \ flexibleengine_compute_bms_server_v2 + \ flexibleengine_csbs_backup_policy_v1 + \ flexibleengine_csbs_backup_v1 + \ flexibleengine_cts_tracker_v1 + \ flexibleengine_dcs_az_v1 + \ flexibleengine_dcs_maintainwindow_v1 + \ flexibleengine_dcs_product_v1 + \ flexibleengine_images_image_v2 + \ flexibleengine_networking_network_v2 + \ flexibleengine_networking_secgroup_v2 + \ flexibleengine_rds_flavors_v1 + \ flexibleengine_rts_software_config_v1 + \ flexibleengine_rts_stack_resource_v1 + \ flexibleengine_rts_stack_v1 + \ flexibleengine_s3_bucket_object + \ flexibleengine_sfs_file_system_v2 + \ flexibleengine_vbs_backup_policy_v2 + \ flexibleengine_vbs_backup_v2 + \ flexibleengine_vpc_peering_connection_v2 + \ flexibleengine_vpc_route_ids_v2 + \ flexibleengine_vpc_route_v2 + \ flexibleengine_vpc_subnet_ids_v1 + \ flexibleengine_vpc_subnet_v1 + \ flexibleengine_vpc_v1 + \ github_ip_ranges + \ github_repositories + \ github_repository + \ github_team + \ github_user + \ gitlab_project + \ gitlab_user + \ google_active_folder + \ google_billing_account + \ google_client_config + \ google_cloudfunctions_function + \ google_compute_address + \ google_compute_backend_service + \ google_compute_default_service_account + \ google_compute_forwarding_rule + \ google_compute_global_address + \ google_compute_image + \ google_compute_instance + \ google_compute_instance_group + \ google_compute_lb_ip_ranges + \ google_compute_network + \ google_compute_region_instance_group + \ google_compute_regions + \ google_compute_ssl_policy + \ google_compute_subnetwork + \ google_compute_vpn_gateway + \ google_compute_zones + \ google_container_cluster + \ google_container_engine_versions + \ google_container_registry_image + \ google_container_registry_repository + \ google_dns_managed_zone + \ google_folder + \ google_iam_policy + \ google_iam_role + \ google_kms_secret + \ google_netblock_ip_ranges + \ google_organization + \ google_project + \ google_project_services + \ google_service_account + \ google_service_account_key + \ google_storage_bucket_object + \ google_storage_object_signed_url + \ google_storage_project_service_account + \ google_storage_transfer_project_service_account + \ grafana_data_source + \ hcloud_datacenter + \ hcloud_datacenters + \ hcloud_floating_ip + \ hcloud_image + \ hcloud_location + \ hcloud_locations + \ hcloud_ssh_key + \ hcloud_volume + \ heroku_addon + \ heroku_app + \ heroku_space + \ heroku_space_peering_info + \ http + \ huaweicloud_antiddos_v1 + \ huaweicloud_cce_cluster_v3 + \ huaweicloud_cce_node_v3 + \ huaweicloud_csbs_backup_policy_v1 + \ huaweicloud_csbs_backup_v1 + \ huaweicloud_cts_tracker_v1 + \ huaweicloud_dcs_az_v1 + \ huaweicloud_dcs_maintainwindow_v1 + \ huaweicloud_dcs_product_v1 + \ huaweicloud_dms_az_v1 + \ huaweicloud_dms_maintainwindow_v1 + \ huaweicloud_dms_product_v1 + \ huaweicloud_iam_role_v3 + \ huaweicloud_images_image_v2 + \ huaweicloud_kms_data_key_v1 + \ huaweicloud_kms_key_v1 + \ huaweicloud_networking_network_v2 + \ huaweicloud_networking_secgroup_v2 + \ huaweicloud_networking_subnet_v2 + \ huaweicloud_rds_flavors_v1 + \ huaweicloud_rts_software_config_v1 + \ huaweicloud_rts_stack_resource_v1 + \ huaweicloud_rts_stack_v1 + \ huaweicloud_s3_bucket_object + \ huaweicloud_sfs_file_system_v2 + \ huaweicloud_vbs_backup_policy_v2 + \ huaweicloud_vbs_backup_v2 + \ huaweicloud_vpc_peering_connection_v2 + \ huaweicloud_vpc_route_ids_v2 + \ huaweicloud_vpc_route_v2 + \ huaweicloud_vpc_subnet_ids_v1 + \ huaweicloud_vpc_subnet_v1 + \ huaweicloud_vpc_v1 + \ kubernetes_secret + \ kubernetes_service + \ kubernetes_storage_class + \ linode_account + \ linode_image + \ linode_instance_type + \ linode_profile + \ linode_region + \ linode_sshkey + \ linode_user + \ local_file + \ logentries_logset + \ logicmonitor_collectors + \ logicmonitor_device_group + \ newrelic_alert_channel + \ newrelic_application + \ newrelic_key_transaction + \ newrelic_synthetics_monitor + \ nomad_deployments + \ nomad_job + \ nomad_namespaces + \ nomad_regions + \ ns1_datasource + \ nsxt_certificate + \ nsxt_edge_cluster + \ nsxt_logical_tier0_router + \ nsxt_logical_tier1_router + \ nsxt_mac_pool + \ nsxt_ns_group + \ nsxt_ns_service + \ nsxt_switching_profile + \ nsxt_transport_zone + \ null_data_source + \ nutanix_cluster + \ nutanix_clusters + \ nutanix_image + \ nutanix_network_security_rule + \ nutanix_subnet + \ nutanix_virtual_machine + \ nutanix_volume_group + \ nutanix_volume_groups + \ oci_audit_configuration + \ oci_audit_events + \ oci_containerengine_cluster_kube_config + \ oci_containerengine_cluster_option + \ oci_containerengine_clusters + \ oci_containerengine_node_pool + \ oci_containerengine_node_pool_option + \ oci_containerengine_node_pools + \ oci_containerengine_work_request_errors + \ oci_containerengine_work_request_log_entries + \ oci_containerengine_work_requests + \ oci_core_app_catalog_listing + \ oci_core_app_catalog_listing_resource_version + \ oci_core_app_catalog_listing_resource_versions + \ oci_core_app_catalog_listings + \ oci_core_app_catalog_subscriptions + \ oci_core_boot_volume + \ oci_core_boot_volume_attachments + \ oci_core_boot_volume_backup + \ oci_core_boot_volume_backups + \ oci_core_boot_volumes + \ oci_core_console_histories + \ oci_core_console_history_data + \ oci_core_cpes + \ oci_core_cross_connect + \ oci_core_cross_connect_group + \ oci_core_cross_connect_groups + \ oci_core_cross_connect_locations + \ oci_core_cross_connect_port_speed_shapes + \ oci_core_cross_connect_status + \ oci_core_cross_connects + \ oci_core_dhcp_options + \ oci_core_drg_attachments + \ oci_core_drgs + \ oci_core_fast_connect_provider_service + \ oci_core_fast_connect_provider_services + \ oci_core_images + \ oci_core_instance + \ oci_core_instance_configuration + \ oci_core_instance_configurations + \ oci_core_instance_console_connections + \ oci_core_instance_credentials + \ oci_core_instance_pool + \ oci_core_instance_pool_instances + \ oci_core_instance_pools + \ oci_core_instances + \ oci_core_internet_gateways + \ oci_core_ipsec_config + \ oci_core_ipsec_connections + \ oci_core_ipsec_status + \ oci_core_letter_of_authority + \ oci_core_listing_resource_version + \ oci_core_listing_resource_versions + \ oci_core_local_peering_gateways + \ oci_core_nat_gateway + \ oci_core_nat_gateways + \ oci_core_peer_region_for_remote_peerings + \ oci_core_private_ips + \ oci_core_public_ip + \ oci_core_public_ips + \ oci_core_remote_peering_connections + \ oci_core_route_tables + \ oci_core_security_lists + \ oci_core_service_gateways + \ oci_core_services + \ oci_core_shape + \ oci_core_shapes + \ oci_core_subnet + \ oci_core_subnets + \ oci_core_vcns + \ oci_core_virtual_circuit + \ oci_core_virtual_circuit_bandwidth_shapes + \ oci_core_virtual_circuit_public_prefixes + \ oci_core_virtual_circuits + \ oci_core_vnic + \ oci_core_vnic_attachments + \ oci_core_volume + \ oci_core_volume_attachments + \ oci_core_volume_backup_policies + \ oci_core_volume_backup_policy_assignments + \ oci_core_volume_backups + \ oci_core_volume_group_backups + \ oci_core_volume_groups + \ oci_core_volumes + \ oci_database_autonomous_data_warehouse + \ oci_database_autonomous_data_warehouse_backup + \ oci_database_autonomous_data_warehouse_backups + \ oci_database_autonomous_data_warehouse_wallet + \ oci_database_autonomous_data_warehouses + \ oci_database_autonomous_database + \ oci_database_autonomous_database_backup + \ oci_database_autonomous_database_backups + \ oci_database_autonomous_database_wallet + \ oci_database_autonomous_databases + \ oci_database_backups + \ oci_database_database + \ oci_database_databases + \ oci_database_db_home + \ oci_database_db_home_patch_history_entries + \ oci_database_db_home_patches + \ oci_database_db_homes + \ oci_database_db_node + \ oci_database_db_nodes + \ oci_database_db_system_patch_history_entries + \ oci_database_db_system_patches + \ oci_database_db_system_shapes + \ oci_database_db_systems + \ oci_database_db_versions + \ oci_dns_records + \ oci_dns_zones + \ oci_email_sender + \ oci_email_senders + \ oci_email_suppression + \ oci_email_suppressions + \ oci_file_storage_export_sets + \ oci_file_storage_exports + \ oci_file_storage_file_systems + \ oci_file_storage_mount_targets + \ oci_file_storage_snapshots + \ oci_identity_api_keys + \ oci_identity_auth_tokens + \ oci_identity_availability_domains + \ oci_identity_compartment + \ oci_identity_compartments + \ oci_identity_customer_secret_keys + \ oci_identity_dynamic_groups + \ oci_identity_fault_domains + \ oci_identity_groups + \ oci_identity_identity_provider_groups + \ oci_identity_identity_providers + \ oci_identity_idp_group_mappings + \ oci_identity_policies + \ oci_identity_region_subscriptions + \ oci_identity_regions + \ oci_identity_smtp_credentials + \ oci_identity_swift_passwords + \ oci_identity_tag_namespaces + \ oci_identity_tags + \ oci_identity_tenancy + \ oci_identity_user_group_memberships + \ oci_identity_users + \ oci_kms_decrypted_data + \ oci_kms_encrypted_data + \ oci_kms_key + \ oci_kms_key_version + \ oci_kms_key_versions + \ oci_kms_keys + \ oci_kms_vault + \ oci_kms_vaults + \ oci_load_balancer_backend_health + \ oci_load_balancer_backend_set_health + \ oci_load_balancer_backend_sets + \ oci_load_balancer_backends + \ oci_load_balancer_backendsets + \ oci_load_balancer_certificates + \ oci_load_balancer_health + \ oci_load_balancer_hostnames + \ oci_load_balancer_load_balancers + \ oci_load_balancer_path_route_sets + \ oci_load_balancer_policies + \ oci_load_balancer_protocols + \ oci_load_balancer_shapes + \ oci_load_balancers + \ oci_objectstorage_bucket + \ oci_objectstorage_bucket_summaries + \ oci_objectstorage_namespace + \ oci_objectstorage_namespace_metadata + \ oci_objectstorage_object_head + \ oci_objectstorage_object_lifecycle_policy + \ oci_objectstorage_objects + \ oci_objectstorage_preauthrequest + \ oci_objectstorage_preauthrequests + \ oneandone_instance_size + \ opc_compute_image_list_entry + \ opc_compute_ip_address_reservation + \ opc_compute_ip_reservation + \ opc_compute_machine_image + \ opc_compute_network_interface + \ opc_compute_ssh_key + \ opc_compute_storage_volume_snapshot + \ opc_compute_vnic + \ openstack_blockstorage_snapshot_v2 + \ openstack_blockstorage_snapshot_v3 + \ openstack_compute_flavor_v2 + \ openstack_compute_keypair_v2 + \ openstack_containerinfra_cluster_v1 + \ openstack_containerinfra_clustertemplate_v1 + \ openstack_dns_zone_v2 + \ openstack_fw_policy_v1 + \ openstack_identity_auth_scope_v3 + \ openstack_identity_endpoint_v3 + \ openstack_identity_group_v3 + \ openstack_identity_project_v3 + \ openstack_identity_role_v3 + \ openstack_identity_user_v3 + \ openstack_images_image_v2 + \ openstack_networking_floatingip_v2 + \ openstack_networking_network_v2 + \ openstack_networking_router_v2 + \ openstack_networking_secgroup_v2 + \ openstack_networking_subnet_v2 + \ openstack_networking_subnetpool_v2 + \ openstack_sharedfilesystem_share_v2 + \ opentelekomcloud_antiddos_v1 + \ opentelekomcloud_cce_cluster_v3 + \ opentelekomcloud_cce_node_v3 + \ opentelekomcloud_compute_bms_flavors_v2 + \ opentelekomcloud_compute_bms_keypairs_v2 + \ opentelekomcloud_compute_bms_nic_v2 + \ opentelekomcloud_compute_bms_server_v2 + \ opentelekomcloud_csbs_backup_policy_v1 + \ opentelekomcloud_csbs_backup_v1 + \ opentelekomcloud_cts_tracker_v1 + \ opentelekomcloud_dcs_az_v1 + \ opentelekomcloud_dcs_maintainwindow_v1 + \ opentelekomcloud_dcs_product_v1 + \ opentelekomcloud_deh_host_v1 + \ opentelekomcloud_deh_server_v1 + \ opentelekomcloud_images_image_v2 + \ opentelekomcloud_kms_data_key_v1 + \ opentelekomcloud_kms_key_v1 + \ opentelekomcloud_networking_network_v2 + \ opentelekomcloud_networking_secgroup_v2 + \ opentelekomcloud_rds_flavors_v1 + \ opentelekomcloud_rts_software_config_v1 + \ opentelekomcloud_rts_software_deployment_v1 + \ opentelekomcloud_rts_stack_resource_v1 + \ opentelekomcloud_rts_stack_v1 + \ opentelekomcloud_s3_bucket_object + \ opentelekomcloud_sfs_file_system_v2 + \ opentelekomcloud_vbs_backup_policy_v2 + \ opentelekomcloud_vbs_backup_v2 + \ opentelekomcloud_vpc_peering_connection_v2 + \ opentelekomcloud_vpc_route_ids_v2 + \ opentelekomcloud_vpc_route_v2 + \ opentelekomcloud_vpc_subnet_ids_v1 + \ opentelekomcloud_vpc_subnet_v1 + \ opentelekomcloud_vpc_v1 + \ opsgenie_user + \ oraclepaas_database_service_instance + \ ovh_cloud_region + \ ovh_cloud_regions + \ ovh_domain_zone + \ ovh_iploadbalancing + \ ovh_me_paymentmean_bankaccount + \ ovh_me_paymentmean_creditcard + \ ovh_publiccloud_region + \ ovh_publiccloud_regions + \ packet_operating_system + \ packet_precreated_ip_block + \ packet_spot_market_price + \ pagerduty_escalation_policy + \ pagerduty_extension_schema + \ pagerduty_schedule + \ pagerduty_team + \ pagerduty_user + \ pagerduty_vendor + \ panos_dhcp_interface_info + \ panos_system_info + \ profitbricks_datacenter + \ profitbricks_image + \ profitbricks_location + \ profitbricks_resource + \ profitbricks_snapshot + \ rancher_certificate + \ rancher_environment + \ rancher_setting + \ rightscale_cloud + \ rightscale_credential + \ rightscale_datacenter + \ rightscale_deployment + \ rightscale_image + \ rightscale_instance + \ rightscale_instance_type + \ rightscale_multi_cloud_image + \ rightscale_network + \ rightscale_network_gateway + \ rightscale_route_table + \ rightscale_security_group + \ rightscale_server + \ rightscale_server_template + \ rightscale_ssh_key + \ rightscale_subnet + \ rightscale_volume + \ rightscale_volume_snapshot + \ rightscale_volume_type + \ runscope_bucket + \ runscope_buckets + \ runscope_integration + \ runscope_integrations + \ scaleway_bootscript + \ scaleway_image + \ scaleway_security_group + \ scaleway_volume + \ skytap_project + \ skytap_template + \ telefonicaopencloud_csbs_backup_policy_v1 + \ telefonicaopencloud_csbs_backup_v1 + \ telefonicaopencloud_cts_tracker_v1 + \ telefonicaopencloud_dcs_az_v1 + \ telefonicaopencloud_dcs_maintainwindow_v1 + \ telefonicaopencloud_dcs_product_v1 + \ telefonicaopencloud_dns_zone_v2 + \ telefonicaopencloud_networking_network_v2 + \ telefonicaopencloud_networking_secgroup_v2 + \ telefonicaopencloud_networking_subnet_v2 + \ telefonicaopencloud_rds_flavors_v1 + \ telefonicaopencloud_rts_software_config_v1 + \ telefonicaopencloud_rts_stack_resource_v1 + \ telefonicaopencloud_rts_stack_v1 + \ telefonicaopencloud_s3_bucket_object + \ telefonicaopencloud_sfs_file_system_v2 + \ telefonicaopencloud_vbs_backup_policy_v2 + \ telefonicaopencloud_vbs_backup_v2 + \ telefonicaopencloud_vpc_subnet_ids_v1 + \ telefonicaopencloud_vpc_subnet_v1 + \ telefonicaopencloud_vpc_v1 + \ template_cloudinit_config + \ template_file + \ tencentcloud_availability_zones + \ tencentcloud_container_cluster_instances + \ tencentcloud_container_clusters + \ tencentcloud_eip + \ tencentcloud_image + \ tencentcloud_instance_types + \ tencentcloud_nats + \ tencentcloud_route_table + \ tencentcloud_security_group + \ tencentcloud_subnet + \ tencentcloud_vpc + \ terraform_remote_state + \ tls_public_key + \ triton_account + \ triton_datacenter + \ triton_fabric_network + \ triton_fabric_vlan + \ triton_image + \ triton_network + \ triton_package + \ ucloud_eips + \ ucloud_images + \ ucloud_projects + \ ucloud_zones + \ vault_approle_auth_backend_role_id + \ vault_aws_access_credentials + \ vault_generic_secret + \ vault_kubernetes_auth_backend_config + \ vault_kubernetes_auth_backend_role + \ vsphere_compute_cluster + \ vsphere_custom_attribute + \ vsphere_datacenter + \ vsphere_datastore + \ vsphere_datastore_cluster + \ vsphere_distributed_virtual_switch + \ vsphere_host + \ vsphere_network + \ vsphere_resource_pool + \ vsphere_tag + \ vsphere_tag_category + \ vsphere_vapp_container + \ vsphere_virtual_machine + \ vsphere_vmfs_disks +""" end data sources + +""" resource +syn keyword terraResourceTypeBI + \ acme_certificate + \ acme_registration + \ alicloud_api_gateway_api + \ alicloud_api_gateway_app + \ alicloud_api_gateway_app_attachment + \ alicloud_api_gateway_group + \ alicloud_api_gateway_vpc_access + \ alicloud_cdn_domain + \ alicloud_cen_bandwidth_limit + \ alicloud_cen_bandwidth_package + \ alicloud_cen_bandwidth_package_attachment + \ alicloud_cen_instance + \ alicloud_cen_instance_attachment + \ alicloud_cen_route_entry + \ alicloud_cms_alarm + \ alicloud_common_bandwidth_package + \ alicloud_common_bandwidth_package_attachment + \ alicloud_container_cluster + \ alicloud_cs_application + \ alicloud_cs_kubernetes + \ alicloud_cs_managed_kubernetes + \ alicloud_cs_swarm + \ alicloud_datahub_project + \ alicloud_datahub_subscription + \ alicloud_datahub_topic + \ alicloud_db_account + \ alicloud_db_account_privilege + \ alicloud_db_backup_policy + \ alicloud_db_connection + \ alicloud_db_database + \ alicloud_db_instance + \ alicloud_disk + \ alicloud_disk_attachment + \ alicloud_dns + \ alicloud_dns_group + \ alicloud_dns_record + \ alicloud_drds_instance + \ alicloud_eip + \ alicloud_eip_association + \ alicloud_ess_alarm + \ alicloud_ess_attachment + \ alicloud_ess_lifecycle_hook + \ alicloud_ess_scaling_configuration + \ alicloud_ess_scaling_group + \ alicloud_ess_scaling_rule + \ alicloud_ess_schedule + \ alicloud_fc_function + \ alicloud_fc_service + \ alicloud_fc_trigger + \ alicloud_forward_entry + \ alicloud_havip + \ alicloud_havip_attachment + \ alicloud_instance + \ alicloud_key_pair + \ alicloud_key_pair_attachment + \ alicloud_kms_key + \ alicloud_kvstore_backup_policy + \ alicloud_kvstore_instance + \ alicloud_log_machine_group + \ alicloud_log_project + \ alicloud_log_store + \ alicloud_log_store_index + \ alicloud_mns_queue + \ alicloud_mns_topic + \ alicloud_mns_topic_subscription + \ alicloud_nat_gateway + \ alicloud_network_interface + \ alicloud_network_interface_attachment + \ alicloud_oss_bucket + \ alicloud_oss_bucket_object + \ alicloud_ots_instance + \ alicloud_ots_instance_attachment + \ alicloud_ots_table + \ alicloud_pvtz_zone + \ alicloud_pvtz_zone_attachment + \ alicloud_pvtz_zone_record + \ alicloud_ram_access_key + \ alicloud_ram_account_alias + \ alicloud_ram_alias + \ alicloud_ram_group + \ alicloud_ram_group_membership + \ alicloud_ram_group_policy_attachment + \ alicloud_ram_login_profile + \ alicloud_ram_policy + \ alicloud_ram_role + \ alicloud_ram_role_attachment + \ alicloud_ram_role_policy_attachment + \ alicloud_ram_user + \ alicloud_ram_user_policy_attachment + \ alicloud_route_entry + \ alicloud_route_table + \ alicloud_route_table_attachment + \ alicloud_router_interface + \ alicloud_router_interface_connection + \ alicloud_security_group + \ alicloud_security_group_rule + \ alicloud_slb + \ alicloud_slb_acl + \ alicloud_slb_attachment + \ alicloud_slb_ca_certificate + \ alicloud_slb_listener + \ alicloud_slb_rule + \ alicloud_slb_server_certificate + \ alicloud_slb_server_group + \ alicloud_snat_entry + \ alicloud_ssl_vpn_client_cert + \ alicloud_ssl_vpn_server + \ alicloud_subnet + \ alicloud_vpc + \ alicloud_vpn_connection + \ alicloud_vpn_customer_gateway + \ alicloud_vpn_gateway + \ alicloud_vswitch + \ arukas_container + \ atlas_artifact + \ aws_acm_certificate + \ aws_acm_certificate_validation + \ aws_acmpca_certificate_authority + \ aws_alb + \ aws_alb_listener + \ aws_alb_listener_certificate + \ aws_alb_listener_rule + \ aws_alb_target_group + \ aws_alb_target_group_attachment + \ aws_ami + \ aws_ami_copy + \ aws_ami_from_instance + \ aws_ami_launch_permission + \ aws_api_gateway_account + \ aws_api_gateway_api_key + \ aws_api_gateway_authorizer + \ aws_api_gateway_base_path_mapping + \ aws_api_gateway_client_certificate + \ aws_api_gateway_deployment + \ aws_api_gateway_documentation_part + \ aws_api_gateway_documentation_version + \ aws_api_gateway_domain_name + \ aws_api_gateway_gateway_response + \ aws_api_gateway_integration + \ aws_api_gateway_integration_response + \ aws_api_gateway_method + \ aws_api_gateway_method_response + \ aws_api_gateway_method_settings + \ aws_api_gateway_model + \ aws_api_gateway_request_validator + \ aws_api_gateway_resource + \ aws_api_gateway_rest_api + \ aws_api_gateway_stage + \ aws_api_gateway_usage_plan + \ aws_api_gateway_usage_plan_key + \ aws_api_gateway_vpc_link + \ aws_app_cookie_stickiness_policy + \ aws_appautoscaling_policy + \ aws_appautoscaling_scheduled_action + \ aws_appautoscaling_target + \ aws_appmesh_mesh + \ aws_appmesh_route + \ aws_appmesh_virtual_node + \ aws_appmesh_virtual_router + \ aws_appsync_api_key + \ aws_appsync_datasource + \ aws_appsync_graphql_api + \ aws_athena_database + \ aws_athena_named_query + \ aws_autoscaling_attachment + \ aws_autoscaling_group + \ aws_autoscaling_lifecycle_hook + \ aws_autoscaling_notification + \ aws_autoscaling_policy + \ aws_autoscaling_schedule + \ aws_batch_compute_environment + \ aws_batch_job_definition + \ aws_batch_job_queue + \ aws_budgets_budget + \ aws_cloud9_environment_ec2 + \ aws_cloudformation_stack + \ aws_cloudfront_distribution + \ aws_cloudfront_origin_access_identity + \ aws_cloudfront_public_key + \ aws_cloudhsm_v2_cluster + \ aws_cloudhsm_v2_hsm + \ aws_cloudtrail + \ aws_cloudwatch_dashboard + \ aws_cloudwatch_event_permission + \ aws_cloudwatch_event_rule + \ aws_cloudwatch_event_target + \ aws_cloudwatch_log_destination + \ aws_cloudwatch_log_destination_policy + \ aws_cloudwatch_log_group + \ aws_cloudwatch_log_metric_filter + \ aws_cloudwatch_log_resource_policy + \ aws_cloudwatch_log_stream + \ aws_cloudwatch_log_subscription_filter + \ aws_cloudwatch_metric_alarm + \ aws_codebuild_project + \ aws_codebuild_webhook + \ aws_codecommit_repository + \ aws_codecommit_trigger + \ aws_codedeploy_app + \ aws_codedeploy_deployment_config + \ aws_codedeploy_deployment_group + \ aws_codepipeline + \ aws_codepipeline_webhook + \ aws_cognito_identity_pool + \ aws_cognito_identity_pool_roles_attachment + \ aws_cognito_identity_provider + \ aws_cognito_resource_server + \ aws_cognito_user_group + \ aws_cognito_user_pool + \ aws_cognito_user_pool_client + \ aws_cognito_user_pool_domain + \ aws_config_aggregate_authorization + \ aws_config_config_rule + \ aws_config_configuration_aggregator + \ aws_config_configuration_recorder + \ aws_config_configuration_recorder_status + \ aws_config_delivery_channel + \ aws_customer_gateway + \ aws_datasync_agent + \ aws_datasync_location_efs + \ aws_datasync_location_nfs + \ aws_datasync_location_s3 + \ aws_datasync_task + \ aws_dax_cluster + \ aws_dax_parameter_group + \ aws_dax_subnet_group + \ aws_db_cluster_snapshot + \ aws_db_event_subscription + \ aws_db_instance + \ aws_db_option_group + \ aws_db_parameter_group + \ aws_db_security_group + \ aws_db_snapshot + \ aws_db_subnet_group + \ aws_default_network_acl + \ aws_default_route_table + \ aws_default_security_group + \ aws_default_subnet + \ aws_default_vpc + \ aws_default_vpc_dhcp_options + \ aws_devicefarm_project + \ aws_directory_service_conditional_forwarder + \ aws_directory_service_directory + \ aws_dlm_lifecycle_policy + \ aws_dms_certificate + \ aws_dms_endpoint + \ aws_dms_replication_instance + \ aws_dms_replication_subnet_group + \ aws_dms_replication_task + \ aws_dx_bgp_peer + \ aws_dx_connection + \ aws_dx_connection_association + \ aws_dx_gateway + \ aws_dx_gateway_association + \ aws_dx_hosted_private_virtual_interface + \ aws_dx_hosted_private_virtual_interface_accepter + \ aws_dx_hosted_public_virtual_interface + \ aws_dx_hosted_public_virtual_interface_accepter + \ aws_dx_lag + \ aws_dx_private_virtual_interface + \ aws_dx_public_virtual_interface + \ aws_dynamodb_global_table + \ aws_dynamodb_table + \ aws_dynamodb_table_item + \ aws_ebs_snapshot + \ aws_ebs_snapshot_copy + \ aws_ebs_volume + \ aws_ec2_capacity_reservation + \ aws_ec2_fleet + \ aws_ec2_transit_gateway + \ aws_ec2_transit_gateway_route + \ aws_ec2_transit_gateway_route_table + \ aws_ec2_transit_gateway_route_table_association + \ aws_ec2_transit_gateway_route_table_propagation + \ aws_ec2_transit_gateway_vpc_attachment + \ aws_ecr_lifecycle_policy + \ aws_ecr_repository + \ aws_ecr_repository_policy + \ aws_ecs_cluster + \ aws_ecs_service + \ aws_ecs_task_definition + \ aws_efs_file_system + \ aws_efs_mount_target + \ aws_egress_only_internet_gateway + \ aws_eip + \ aws_eip_association + \ aws_eks_cluster + \ aws_elastic_beanstalk_application + \ aws_elastic_beanstalk_application_version + \ aws_elastic_beanstalk_configuration_template + \ aws_elastic_beanstalk_environment + \ aws_elasticache_cluster + \ aws_elasticache_parameter_group + \ aws_elasticache_replication_group + \ aws_elasticache_security_group + \ aws_elasticache_subnet_group + \ aws_elasticsearch_domain + \ aws_elasticsearch_domain_policy + \ aws_elastictranscoder_pipeline + \ aws_elastictranscoder_preset + \ aws_elb + \ aws_elb_attachment + \ aws_emr_cluster + \ aws_emr_instance_group + \ aws_emr_security_configuration + \ aws_flow_log + \ aws_gamelift_alias + \ aws_gamelift_build + \ aws_gamelift_fleet + \ aws_gamelift_game_session_queue + \ aws_glacier_vault + \ aws_glacier_vault_lock + \ aws_glue_catalog_database + \ aws_glue_catalog_table + \ aws_glue_classifier + \ aws_glue_connection + \ aws_glue_crawler + \ aws_glue_job + \ aws_glue_security_configuration + \ aws_glue_trigger + \ aws_guardduty_detector + \ aws_guardduty_ipset + \ aws_guardduty_member + \ aws_guardduty_threatintelset + \ aws_iam_access_key + \ aws_iam_account_alias + \ aws_iam_account_password_policy + \ aws_iam_group + \ aws_iam_group_membership + \ aws_iam_group_policy + \ aws_iam_group_policy_attachment + \ aws_iam_instance_profile + \ aws_iam_openid_connect_provider + \ aws_iam_policy + \ aws_iam_policy_attachment + \ aws_iam_role + \ aws_iam_role_policy + \ aws_iam_role_policy_attachment + \ aws_iam_saml_provider + \ aws_iam_server_certificate + \ aws_iam_service_linked_role + \ aws_iam_user + \ aws_iam_user_group_membership + \ aws_iam_user_login_profile + \ aws_iam_user_policy + \ aws_iam_user_policy_attachment + \ aws_iam_user_ssh_key + \ aws_inspector_assessment_target + \ aws_inspector_assessment_template + \ aws_inspector_resource_group + \ aws_instance + \ aws_internet_gateway + \ aws_iot_certificate + \ aws_iot_policy + \ aws_iot_policy_attachment + \ aws_iot_thing + \ aws_iot_thing_principal_attachment + \ aws_iot_thing_type + \ aws_iot_topic_rule + \ aws_key_pair + \ aws_kinesis_analytics_application + \ aws_kinesis_firehose_delivery_stream + \ aws_kinesis_stream + \ aws_kms_alias + \ aws_kms_grant + \ aws_kms_key + \ aws_lambda_alias + \ aws_lambda_event_source_mapping + \ aws_lambda_function + \ aws_lambda_permission + \ aws_launch_configuration + \ aws_launch_template + \ aws_lb + \ aws_lb_cookie_stickiness_policy + \ aws_lb_listener + \ aws_lb_listener_certificate + \ aws_lb_listener_rule + \ aws_lb_ssl_negotiation_policy + \ aws_lb_target_group + \ aws_lb_target_group_attachment + \ aws_licensemanager_association + \ aws_licensemanager_license_configuration + \ aws_lightsail_domain + \ aws_lightsail_instance + \ aws_lightsail_key_pair + \ aws_lightsail_static_ip + \ aws_lightsail_static_ip_attachment + \ aws_load_balancer_backend_server_policy + \ aws_load_balancer_listener_policy + \ aws_load_balancer_policy + \ aws_macie_member_account_association + \ aws_macie_s3_bucket_association + \ aws_main_route_table_association + \ aws_media_store_container + \ aws_media_store_container_policy + \ aws_mq_broker + \ aws_mq_configuration + \ aws_nat_gateway + \ aws_neptune_cluster + \ aws_neptune_cluster_instance + \ aws_neptune_cluster_parameter_group + \ aws_neptune_cluster_snapshot + \ aws_neptune_event_subscription + \ aws_neptune_parameter_group + \ aws_neptune_subnet_group + \ aws_network_acl + \ aws_network_acl_rule + \ aws_network_interface + \ aws_network_interface_attachment + \ aws_network_interface_sg_attachment + \ aws_opsworks_application + \ aws_opsworks_custom_layer + \ aws_opsworks_ganglia_layer + \ aws_opsworks_haproxy_layer + \ aws_opsworks_instance + \ aws_opsworks_java_app_layer + \ aws_opsworks_memcached_layer + \ aws_opsworks_mysql_layer + \ aws_opsworks_nodejs_app_layer + \ aws_opsworks_permission + \ aws_opsworks_php_app_layer + \ aws_opsworks_rails_app_layer + \ aws_opsworks_rds_db_instance + \ aws_opsworks_stack + \ aws_opsworks_static_web_layer + \ aws_opsworks_user_profile + \ aws_organizations_account + \ aws_organizations_organization + \ aws_organizations_policy + \ aws_organizations_policy_attachment + \ aws_pinpoint_adm_channel + \ aws_pinpoint_apns_channel + \ aws_pinpoint_apns_sandbox_channel + \ aws_pinpoint_apns_voip_channel + \ aws_pinpoint_apns_voip_sandbox_channel + \ aws_pinpoint_app + \ aws_pinpoint_baidu_channel + \ aws_pinpoint_email_channel + \ aws_pinpoint_event_stream + \ aws_pinpoint_gcm_channel + \ aws_pinpoint_sms_channel + \ aws_placement_group + \ aws_proxy_protocol_policy + \ aws_rds_cluster + \ aws_rds_cluster_endpoint + \ aws_rds_cluster_instance + \ aws_rds_cluster_parameter_group + \ aws_rds_global_cluster + \ aws_redshift_cluster + \ aws_redshift_event_subscription + \ aws_redshift_parameter_group + \ aws_redshift_security_group + \ aws_redshift_snapshot_copy_grant + \ aws_redshift_subnet_group + \ aws_route + \ aws_route53_delegation_set + \ aws_route53_health_check + \ aws_route53_query_log + \ aws_route53_record + \ aws_route53_zone + \ aws_route53_zone_association + \ aws_route_table + \ aws_route_table_association + \ aws_s3_account_public_access_block + \ aws_s3_bucket + \ aws_s3_bucket_inventory + \ aws_s3_bucket_metric + \ aws_s3_bucket_notification + \ aws_s3_bucket_object + \ aws_s3_bucket_policy + \ aws_s3_bucket_public_access_block + \ aws_secretsmanager_secret + \ aws_secretsmanager_secret_version + \ aws_security_group + \ aws_security_group_rule + \ aws_securityhub_account + \ aws_securityhub_product_subscription + \ aws_securityhub_standards_subscription + \ aws_service_discovery_http_namespace + \ aws_service_discovery_private_dns_namespace + \ aws_service_discovery_public_dns_namespace + \ aws_service_discovery_service + \ aws_servicecatalog_portfolio + \ aws_ses_active_receipt_rule_set + \ aws_ses_configuration_set + \ aws_ses_domain_dkim + \ aws_ses_domain_identity + \ aws_ses_domain_identity_verification + \ aws_ses_domain_mail_from + \ aws_ses_event_destination + \ aws_ses_identity_notification_topic + \ aws_ses_receipt_filter + \ aws_ses_receipt_rule + \ aws_ses_receipt_rule_set + \ aws_ses_template + \ aws_sfn_activity + \ aws_sfn_state_machine + \ aws_simpledb_domain + \ aws_snapshot_create_volume_permission + \ aws_sns_platform_application + \ aws_sns_sms_preferences + \ aws_sns_topic + \ aws_sns_topic_policy + \ aws_sns_topic_subscription + \ aws_spot_datafeed_subscription + \ aws_spot_fleet_request + \ aws_spot_instance_request + \ aws_sqs_queue + \ aws_sqs_queue_policy + \ aws_ssm_activation + \ aws_ssm_association + \ aws_ssm_document + \ aws_ssm_maintenance_window + \ aws_ssm_maintenance_window_target + \ aws_ssm_maintenance_window_task + \ aws_ssm_parameter + \ aws_ssm_patch_baseline + \ aws_ssm_patch_group + \ aws_ssm_resource_data_sync + \ aws_storagegateway_cache + \ aws_storagegateway_cached_iscsi_volume + \ aws_storagegateway_gateway + \ aws_storagegateway_nfs_file_share + \ aws_storagegateway_smb_file_share + \ aws_storagegateway_upload_buffer + \ aws_storagegateway_working_storage + \ aws_subnet + \ aws_swf_domain + \ aws_transfer_server + \ aws_transfer_ssh_key + \ aws_transfer_user + \ aws_volume_attachment + \ aws_vpc + \ aws_vpc_dhcp_options + \ aws_vpc_dhcp_options_association + \ aws_vpc_endpoint + \ aws_vpc_endpoint_connection_notification + \ aws_vpc_endpoint_route_table_association + \ aws_vpc_endpoint_service + \ aws_vpc_endpoint_service_allowed_principal + \ aws_vpc_endpoint_subnet_association + \ aws_vpc_ipv4_cidr_block_association + \ aws_vpc_peering_connection + \ aws_vpc_peering_connection_accepter + \ aws_vpc_peering_connection_options + \ aws_vpn_connection + \ aws_vpn_connection_route + \ aws_vpn_gateway + \ aws_vpn_gateway_attachment + \ aws_vpn_gateway_route_propagation + \ aws_waf_byte_match_set + \ aws_waf_geo_match_set + \ aws_waf_ipset + \ aws_waf_rate_based_rule + \ aws_waf_regex_match_set + \ aws_waf_regex_pattern_set + \ aws_waf_rule + \ aws_waf_rule_group + \ aws_waf_size_constraint_set + \ aws_waf_sql_injection_match_set + \ aws_waf_web_acl + \ aws_waf_xss_match_set + \ aws_wafregional_byte_match_set + \ aws_wafregional_geo_match_set + \ aws_wafregional_ipset + \ aws_wafregional_rate_based_rule + \ aws_wafregional_regex_match_set + \ aws_wafregional_regex_pattern_set + \ aws_wafregional_rule + \ aws_wafregional_rule_group + \ aws_wafregional_size_constraint_set + \ aws_wafregional_sql_injection_match_set + \ aws_wafregional_web_acl + \ aws_wafregional_web_acl_association + \ aws_wafregional_xss_match_set + \ azure_affinity_group + \ azure_data_disk + \ azure_dns_server + \ azure_hosted_service + \ azure_instance + \ azure_local_network_connection + \ azure_security_group + \ azure_security_group_rule + \ azure_sql_database_server + \ azure_sql_database_server_firewall_rule + \ azure_sql_database_service + \ azure_storage_blob + \ azure_storage_container + \ azure_storage_queue + \ azure_storage_service + \ azure_virtual_network + \ azurerm_api_management + \ azurerm_app_service + \ azurerm_app_service_active_slot + \ azurerm_app_service_custom_hostname_binding + \ azurerm_app_service_plan + \ azurerm_app_service_slot + \ azurerm_application_gateway + \ azurerm_application_insights + \ azurerm_application_insights_api_key + \ azurerm_application_security_group + \ azurerm_automation_account + \ azurerm_automation_credential + \ azurerm_automation_dsc_configuration + \ azurerm_automation_dsc_nodeconfiguration + \ azurerm_automation_module + \ azurerm_automation_runbook + \ azurerm_automation_schedule + \ azurerm_autoscale_setting + \ azurerm_availability_set + \ azurerm_azuread_application + \ azurerm_azuread_service_principal + \ azurerm_azuread_service_principal_password + \ azurerm_batch_account + \ azurerm_cdn_endpoint + \ azurerm_cdn_profile + \ azurerm_cognitive_account + \ azurerm_container_group + \ azurerm_container_registry + \ azurerm_container_service + \ azurerm_cosmosdb_account + \ azurerm_data_lake_analytics_account + \ azurerm_data_lake_analytics_firewall_rule + \ azurerm_data_lake_store + \ azurerm_data_lake_store_file + \ azurerm_data_lake_store_firewall_rule + \ azurerm_databricks_workspace + \ azurerm_dev_test_lab + \ azurerm_dev_test_linux_virtual_machine + \ azurerm_dev_test_policy + \ azurerm_dev_test_virtual_network + \ azurerm_dev_test_windows_virtual_machine + \ azurerm_devspace_controller + \ azurerm_dns_a_record + \ azurerm_dns_aaaa_record + \ azurerm_dns_caa_record + \ azurerm_dns_cname_record + \ azurerm_dns_mx_record + \ azurerm_dns_ns_record + \ azurerm_dns_ptr_record + \ azurerm_dns_srv_record + \ azurerm_dns_txt_record + \ azurerm_dns_zone + \ azurerm_eventgrid_topic + \ azurerm_eventhub + \ azurerm_eventhub_authorization_rule + \ azurerm_eventhub_consumer_group + \ azurerm_eventhub_namespace + \ azurerm_eventhub_namespace_authorization_rule + \ azurerm_express_route_circuit + \ azurerm_express_route_circuit_authorization + \ azurerm_express_route_circuit_peering + \ azurerm_firewall + \ azurerm_firewall_application_rule_collection + \ azurerm_firewall_network_rule_collection + \ azurerm_function_app + \ azurerm_image + \ azurerm_iothub + \ azurerm_iothub_consumer_group + \ azurerm_key_vault + \ azurerm_key_vault_access_policy + \ azurerm_key_vault_certificate + \ azurerm_key_vault_key + \ azurerm_key_vault_secret + \ azurerm_kubernetes_cluster + \ azurerm_lb + \ azurerm_lb_backend_address_pool + \ azurerm_lb_nat_pool + \ azurerm_lb_nat_rule + \ azurerm_lb_probe + \ azurerm_lb_rule + \ azurerm_local_network_gateway + \ azurerm_log_analytics_solution + \ azurerm_log_analytics_workspace + \ azurerm_log_analytics_workspace_linked_service + \ azurerm_logic_app_action_custom + \ azurerm_logic_app_action_http + \ azurerm_logic_app_trigger_custom + \ azurerm_logic_app_trigger_http_request + \ azurerm_logic_app_trigger_recurrence + \ azurerm_logic_app_workflow + \ azurerm_managed_disk + \ azurerm_management_group + \ azurerm_management_lock + \ azurerm_mariadb_database + \ azurerm_mariadb_server + \ azurerm_metric_alertrule + \ azurerm_monitor_action_group + \ azurerm_monitor_activity_log_alert + \ azurerm_monitor_diagnostic_setting + \ azurerm_monitor_log_profile + \ azurerm_monitor_metric_alert + \ azurerm_mssql_elasticpool + \ azurerm_mysql_configuration + \ azurerm_mysql_database + \ azurerm_mysql_firewall_rule + \ azurerm_mysql_server + \ azurerm_mysql_virtual_network_rule + \ azurerm_network_interface + \ azurerm_network_interface_application_gateway_backend_address_pool_association + \ azurerm_network_interface_backend_address_pool_association + \ azurerm_network_interface_nat_rule_association + \ azurerm_network_security_group + \ azurerm_network_security_rule + \ azurerm_network_watcher + \ azurerm_notification_hub + \ azurerm_notification_hub_authorization_rule + \ azurerm_notification_hub_namespace + \ azurerm_packet_capture + \ azurerm_policy_assignment + \ azurerm_policy_definition + \ azurerm_policy_set_definition + \ azurerm_postgresql_configuration + \ azurerm_postgresql_database + \ azurerm_postgresql_firewall_rule + \ azurerm_postgresql_server + \ azurerm_postgresql_virtual_network_rule + \ azurerm_public_ip + \ azurerm_recovery_services_protected_vm + \ azurerm_recovery_services_protection_policy_vm + \ azurerm_recovery_services_vault + \ azurerm_redis_cache + \ azurerm_redis_firewall_rule + \ azurerm_relay_namespace + \ azurerm_resource_group + \ azurerm_role_assignment + \ azurerm_role_definition + \ azurerm_route + \ azurerm_route_table + \ azurerm_scheduler_job + \ azurerm_scheduler_job_collection + \ azurerm_search_service + \ azurerm_security_center_contact + \ azurerm_security_center_subscription_pricing + \ azurerm_security_center_workspace + \ azurerm_service_fabric_cluster + \ azurerm_servicebus_namespace + \ azurerm_servicebus_namespace_authorization_rule + \ azurerm_servicebus_queue + \ azurerm_servicebus_queue_authorization_rule + \ azurerm_servicebus_subscription + \ azurerm_servicebus_subscription_rule + \ azurerm_servicebus_topic + \ azurerm_servicebus_topic_authorization_rule + \ azurerm_shared_image + \ azurerm_shared_image_gallery + \ azurerm_shared_image_version + \ azurerm_signalr_service + \ azurerm_snapshot + \ azurerm_sql_active_directory_administrator + \ azurerm_sql_database + \ azurerm_sql_elasticpool + \ azurerm_sql_firewall_rule + \ azurerm_sql_server + \ azurerm_sql_virtual_network_rule + \ azurerm_storage_account + \ azurerm_storage_blob + \ azurerm_storage_container + \ azurerm_storage_queue + \ azurerm_storage_share + \ azurerm_storage_table + \ azurerm_subnet + \ azurerm_subnet_network_security_group_association + \ azurerm_subnet_route_table_association + \ azurerm_template_deployment + \ azurerm_traffic_manager_endpoint + \ azurerm_traffic_manager_profile + \ azurerm_user_assigned_identity + \ azurerm_virtual_machine + \ azurerm_virtual_machine_data_disk_attachment + \ azurerm_virtual_machine_extension + \ azurerm_virtual_machine_scale_set + \ azurerm_virtual_network + \ azurerm_virtual_network_gateway + \ azurerm_virtual_network_gateway_connection + \ azurerm_virtual_network_peering + \ azurestack_availability_set + \ azurestack_dns_a_record + \ azurestack_dns_zone + \ azurestack_lb + \ azurestack_lb_backend_address_pool + \ azurestack_lb_nat_pool + \ azurestack_lb_nat_rule + \ azurestack_lb_probe + \ azurestack_lb_rule + \ azurestack_local_network_gateway + \ azurestack_network_interface + \ azurestack_network_security_group + \ azurestack_network_security_rule + \ azurestack_public_ip + \ azurestack_resource_group + \ azurestack_route + \ azurestack_route_table + \ azurestack_storage_account + \ azurestack_storage_blob + \ azurestack_storage_container + \ azurestack_subnet + \ azurestack_template_deployment + \ azurestack_virtual_machine + \ azurestack_virtual_machine_extension + \ azurestack_virtual_machine_scale_set + \ azurestack_virtual_network + \ azurestack_virtual_network_gateway + \ azurestack_virtual_network_gateway_connection + \ bigip_cm_device + \ bigip_cm_devicegroup + \ bigip_ltm_datagroup + \ bigip_ltm_irule + \ bigip_ltm_monitor + \ bigip_ltm_node + \ bigip_ltm_persistence_profile_cookie + \ bigip_ltm_persistence_profile_dstaddr + \ bigip_ltm_persistence_profile_srcaddr + \ bigip_ltm_persistence_profile_ssl + \ bigip_ltm_policy + \ bigip_ltm_pool + \ bigip_ltm_pool_attachment + \ bigip_ltm_profile_fasthttp + \ bigip_ltm_profile_fastl4 + \ bigip_ltm_profile_http2 + \ bigip_ltm_profile_httpcompress + \ bigip_ltm_profile_oneconnect + \ bigip_ltm_profile_tcp + \ bigip_ltm_snat + \ bigip_ltm_snatpool + \ bigip_ltm_virtual_address + \ bigip_ltm_virtual_server + \ bigip_net_route + \ bigip_net_selfip + \ bigip_net_vlan + \ bigip_sys_bigiplicense + \ bigip_sys_dns + \ bigip_sys_iapp + \ bigip_sys_ntp + \ bigip_sys_provision + \ bigip_sys_snmp + \ bigip_sys_snmp_traps + \ bitbucket_default_reviewers + \ bitbucket_hook + \ bitbucket_repository + \ brightbox_cloudip + \ brightbox_container + \ brightbox_database_server + \ brightbox_firewall_policy + \ brightbox_firewall_rule + \ brightbox_load_balancer + \ brightbox_server + \ brightbox_server_group + \ chef_acl + \ chef_client + \ chef_cookbook + \ chef_data_bag + \ chef_data_bag_item + \ chef_environment + \ chef_node + \ chef_role + \ circonus_check + \ circonus_contact_group + \ circonus_graph + \ circonus_metric + \ circonus_metric_cluster + \ circonus_rule_set + \ circonus_worksheet + \ clc_group + \ clc_load_balancer + \ clc_load_balancer_pool + \ clc_public_ip + \ clc_server + \ cloudflare_access_application + \ cloudflare_access_policy + \ cloudflare_access_rule + \ cloudflare_account_member + \ cloudflare_custom_pages + \ cloudflare_filter + \ cloudflare_firewall_rule + \ cloudflare_load_balancer + \ cloudflare_load_balancer_monitor + \ cloudflare_load_balancer_pool + \ cloudflare_page_rule + \ cloudflare_rate_limit + \ cloudflare_record + \ cloudflare_waf_rule + \ cloudflare_worker_route + \ cloudflare_worker_script + \ cloudflare_zone + \ cloudflare_zone_lockdown + \ cloudflare_zone_settings_override + \ cloudscale_floating_ip + \ cloudscale_server + \ cloudstack_affinity_group + \ cloudstack_disk + \ cloudstack_egress_firewall + \ cloudstack_firewall + \ cloudstack_instance + \ cloudstack_ipaddress + \ cloudstack_loadbalancer_rule + \ cloudstack_network + \ cloudstack_network_acl + \ cloudstack_network_acl_rule + \ cloudstack_nic + \ cloudstack_port_forward + \ cloudstack_private_gateway + \ cloudstack_secondary_ipaddress + \ cloudstack_security_group + \ cloudstack_security_group_rule + \ cloudstack_ssh_keypair + \ cloudstack_static_nat + \ cloudstack_static_route + \ cloudstack_template + \ cloudstack_vpc + \ cloudstack_vpn_connection + \ cloudstack_vpn_customer_gateway + \ cloudstack_vpn_gateway + \ cobbler_distro + \ cobbler_kickstart_file + \ cobbler_profile + \ cobbler_repo + \ cobbler_snippet + \ cobbler_system + \ consul_agent_service + \ consul_catalog_entry + \ consul_intention + \ consul_key_prefix + \ consul_keys + \ consul_node + \ consul_prepared_query + \ consul_service + \ datadog_downtime + \ datadog_integration_aws + \ datadog_integration_gcp + \ datadog_metric_metadata + \ datadog_monitor + \ datadog_screenboard + \ datadog_timeboard + \ datadog_user + \ digitalocean_certificate + \ digitalocean_domain + \ digitalocean_droplet + \ digitalocean_droplet_snapshot + \ digitalocean_firewall + \ digitalocean_floating_ip + \ digitalocean_floating_ip_assignment + \ digitalocean_kubernetes_cluster + \ digitalocean_kubernetes_node_pool + \ digitalocean_loadbalancer + \ digitalocean_record + \ digitalocean_ssh_key + \ digitalocean_tag + \ digitalocean_volume + \ digitalocean_volume_attachment + \ digitalocean_volume_snapshot + \ dme_record + \ dns_a_record_set + \ dns_aaaa_record_set + \ dns_cname_record + \ dns_ns_record_set + \ dns_ptr_record + \ dnsimple_record + \ docker_config + \ docker_container + \ docker_image + \ docker_network + \ docker_secret + \ docker_service + \ docker_volume + \ dyn_record + \ fastly_service_v1 + \ flexibleengine_antiddos_v1 + \ flexibleengine_as_configuration_v1 + \ flexibleengine_as_group_v1 + \ flexibleengine_as_policy_v1 + \ flexibleengine_blockstorage_volume_v2 + \ flexibleengine_ces_alarmrule + \ flexibleengine_compute_bms_server_v2 + \ flexibleengine_compute_floatingip_associate_v2 + \ flexibleengine_compute_floatingip_v2 + \ flexibleengine_compute_instance_v2 + \ flexibleengine_compute_keypair_v2 + \ flexibleengine_compute_servergroup_v2 + \ flexibleengine_compute_volume_attach_v2 + \ flexibleengine_csbs_backup_policy_v1 + \ flexibleengine_csbs_backup_v1 + \ flexibleengine_cts_tracker_v1 + \ flexibleengine_dcs_instance_v1 + \ flexibleengine_dns_recordset_v2 + \ flexibleengine_dns_zone_v2 + \ flexibleengine_drs_replication_v2 + \ flexibleengine_drs_replicationconsistencygroup_v2 + \ flexibleengine_dws_cluster_v1 + \ flexibleengine_elb_backend + \ flexibleengine_elb_health + \ flexibleengine_elb_listener + \ flexibleengine_elb_loadbalancer + \ flexibleengine_fw_firewall_group_v2 + \ flexibleengine_fw_policy_v2 + \ flexibleengine_fw_rule_v2 + \ flexibleengine_images_image_v2 + \ flexibleengine_lb_certificate_v2 + \ flexibleengine_lb_listener_v2 + \ flexibleengine_lb_loadbalancer_v2 + \ flexibleengine_lb_member_v2 + \ flexibleengine_lb_monitor_v2 + \ flexibleengine_lb_pool_v2 + \ flexibleengine_mls_instance_v1 + \ flexibleengine_mrs_cluster_v1 + \ flexibleengine_mrs_job_v1 + \ flexibleengine_nat_gateway_v2 + \ flexibleengine_nat_snat_rule_v2 + \ flexibleengine_networking_floatingip_associate_v2 + \ flexibleengine_networking_floatingip_v2 + \ flexibleengine_networking_network_v2 + \ flexibleengine_networking_port_v2 + \ flexibleengine_networking_router_interface_v2 + \ flexibleengine_networking_router_route_v2 + \ flexibleengine_networking_router_v2 + \ flexibleengine_networking_secgroup_rule_v2 + \ flexibleengine_networking_secgroup_v2 + \ flexibleengine_networking_subnet_v2 + \ flexibleengine_networking_vip_associate_v2 + \ flexibleengine_networking_vip_v2 + \ flexibleengine_rds_instance_v1 + \ flexibleengine_rts_software_config_v1 + \ flexibleengine_rts_stack_resource_v1 + \ flexibleengine_rts_stack_v1 + \ flexibleengine_s3_bucket + \ flexibleengine_s3_bucket_object + \ flexibleengine_s3_bucket_policy + \ flexibleengine_sfs_file_system_v2 + \ flexibleengine_smn_subscription_v2 + \ flexibleengine_smn_topic_v2 + \ flexibleengine_vbs_backup_policy_v2 + \ flexibleengine_vbs_backup_v2 + \ flexibleengine_vpc_eip_v1 + \ flexibleengine_vpc_peering_connection_accepter_v2 + \ flexibleengine_vpc_peering_connection_v2 + \ flexibleengine_vpc_route_v2 + \ flexibleengine_vpc_subnet_v1 + \ flexibleengine_vpc_v1 + \ github_branch_protection + \ github_issue_label + \ github_membership + \ github_organization_project + \ github_organization_webhook + \ github_project_column + \ github_repository + \ github_repository_collaborator + \ github_repository_deploy_key + \ github_repository_project + \ github_repository_webhook + \ github_team + \ github_team_membership + \ github_team_repository + \ github_user_gpg_key + \ github_user_invitation_accepter + \ github_user_ssh_key + \ gitlab_deploy_key + \ gitlab_group + \ gitlab_group_membership + \ gitlab_group_variable + \ gitlab_label + \ gitlab_project + \ gitlab_project_hook + \ gitlab_project_membership + \ gitlab_project_variable + \ gitlab_user + \ google_access_context_manager_access_level + \ google_access_context_manager_access_policy + \ google_access_context_manager_service_perimeter + \ google_app_engine_application + \ google_appengine_firewall_rule + \ google_bigquery_dataset + \ google_bigquery_table + \ google_bigtable_instance + \ google_bigtable_table + \ google_billing_account_iam_binding + \ google_billing_account_iam_member + \ google_billing_account_iam_policy + \ google_binary_authorization_attestor + \ google_binary_authorization_policy + \ google_cloudbuild_trigger + \ google_cloudfunctions_function + \ google_cloudiot_registry + \ google_composer_environment + \ google_compute_address + \ google_compute_attached_disk + \ google_compute_autoscaler + \ google_compute_backend_bucket + \ google_compute_backend_service + \ google_compute_disk + \ google_compute_firewall + \ google_compute_forwarding_rule + \ google_compute_global_address + \ google_compute_global_forwarding_rule + \ google_compute_health_check + \ google_compute_http_health_check + \ google_compute_https_health_check + \ google_compute_image + \ google_compute_instance + \ google_compute_instance_from_template + \ google_compute_instance_group + \ google_compute_instance_group_manager + \ google_compute_instance_template + \ google_compute_interconnect_attachment + \ google_compute_network + \ google_compute_network_peering + \ google_compute_project_metadata + \ google_compute_project_metadata_item + \ google_compute_region_autoscaler + \ google_compute_region_backend_service + \ google_compute_region_disk + \ google_compute_region_instance_group_manager + \ google_compute_route + \ google_compute_router + \ google_compute_router_interface + \ google_compute_router_nat + \ google_compute_router_peer + \ google_compute_security_policy + \ google_compute_shared_vpc_host_project + \ google_compute_shared_vpc_service_project + \ google_compute_snapshot + \ google_compute_ssl_certificate + \ google_compute_ssl_policy + \ google_compute_subnetwork + \ google_compute_subnetwork_iam_binding + \ google_compute_subnetwork_iam_member + \ google_compute_subnetwork_iam_policy + \ google_compute_target_http_proxy + \ google_compute_target_https_proxy + \ google_compute_target_pool + \ google_compute_target_ssl_proxy + \ google_compute_target_tcp_proxy + \ google_compute_url_map + \ google_compute_vpn_gateway + \ google_compute_vpn_tunnel + \ google_container_analysis_note + \ google_container_cluster + \ google_container_node_pool + \ google_dataflow_job + \ google_dataproc_cluster + \ google_dataproc_job + \ google_dns_managed_zone + \ google_dns_record_set + \ google_endpoints_service + \ google_filestore_instance + \ google_folder + \ google_folder_iam_binding + \ google_folder_iam_member + \ google_folder_iam_policy + \ google_folder_organization_policy + \ google_kms_crypto_key + \ google_kms_crypto_key_iam_binding + \ google_kms_crypto_key_iam_member + \ google_kms_key_ring + \ google_kms_key_ring_iam_binding + \ google_kms_key_ring_iam_member + \ google_kms_key_ring_iam_policy + \ google_logging_billing_account_exclusion + \ google_logging_billing_account_sink + \ google_logging_folder_exclusion + \ google_logging_folder_sink + \ google_logging_organization_exclusion + \ google_logging_organization_sink + \ google_logging_project_exclusion + \ google_logging_project_sink + \ google_monitoring_alert_policy + \ google_monitoring_group + \ google_monitoring_notification_channel + \ google_monitoring_uptime_check_config + \ google_organization_iam_binding + \ google_organization_iam_custom_role + \ google_organization_iam_member + \ google_organization_iam_policy + \ google_organization_policy + \ google_project + \ google_project_iam_audit_config + \ google_project_iam_binding + \ google_project_iam_custom_role + \ google_project_iam_member + \ google_project_iam_policy + \ google_project_organization_policy + \ google_project_service + \ google_project_services + \ google_project_usage_export_bucket + \ google_pubsub_subscription + \ google_pubsub_subscription_iam_binding + \ google_pubsub_subscription_iam_member + \ google_pubsub_subscription_iam_policy + \ google_pubsub_topic + \ google_pubsub_topic_iam_binding + \ google_pubsub_topic_iam_member + \ google_pubsub_topic_iam_policy + \ google_redis_instance + \ google_resource_manager_lien + \ google_runtimeconfig_config + \ google_runtimeconfig_variable + \ google_service_account + \ google_service_account_iam_binding + \ google_service_account_iam_member + \ google_service_account_iam_policy + \ google_service_account_key + \ google_service_networking_connection + \ google_sourcerepo_repository + \ google_spanner_database + \ google_spanner_database_iam_binding + \ google_spanner_database_iam_member + \ google_spanner_database_iam_policy + \ google_spanner_instance + \ google_spanner_instance_iam_binding + \ google_spanner_instance_iam_member + \ google_spanner_instance_iam_policy + \ google_sql_database + \ google_sql_database_instance + \ google_sql_ssl_cert + \ google_sql_user + \ google_storage_bucket + \ google_storage_bucket_acl + \ google_storage_bucket_iam_binding + \ google_storage_bucket_iam_member + \ google_storage_bucket_iam_policy + \ google_storage_bucket_object + \ google_storage_default_object_access_control + \ google_storage_default_object_acl + \ google_storage_notification + \ google_storage_object_access_control + \ google_storage_object_acl + \ google_storage_transfer_job + \ grafana_alert_notification + \ grafana_dashboard + \ grafana_data_source + \ grafana_folder + \ grafana_organization + \ hcloud_floating_ip + \ hcloud_floating_ip_assignment + \ hcloud_rdns + \ hcloud_server + \ hcloud_ssh_key + \ hcloud_volume + \ hcloud_volume_attachment + \ hedvig_access + \ hedvig_lun + \ hedvig_mount + \ hedvig_vdisk + \ helm_release + \ helm_repository + \ heroku_account_feature + \ heroku_addon + \ heroku_addon_attachment + \ heroku_app + \ heroku_app_feature + \ heroku_app_release + \ heroku_build + \ heroku_cert + \ heroku_domain + \ heroku_drain + \ heroku_formation + \ heroku_pipeline + \ heroku_pipeline_coupling + \ heroku_slug + \ heroku_space + \ heroku_space_app_access + \ heroku_space_inbound_ruleset + \ heroku_space_peering_connection_accepter + \ heroku_space_vpn_connection + \ heroku_team_collaborator + \ heroku_team_member + \ huaweicloud_as_configuration_v1 + \ huaweicloud_as_group_v1 + \ huaweicloud_as_policy_v1 + \ huaweicloud_blockstorage_volume_v2 + \ huaweicloud_cce_cluster_v3 + \ huaweicloud_cce_node_v3 + \ huaweicloud_ces_alarmrule + \ huaweicloud_compute_floatingip_associate_v2 + \ huaweicloud_compute_floatingip_v2 + \ huaweicloud_compute_instance_v2 + \ huaweicloud_compute_keypair_v2 + \ huaweicloud_compute_secgroup_v2 + \ huaweicloud_compute_servergroup_v2 + \ huaweicloud_compute_volume_attach_v2 + \ huaweicloud_csbs_backup_policy_v1 + \ huaweicloud_csbs_backup_v1 + \ huaweicloud_cts_tracker_v1 + \ huaweicloud_dcs_instance_v1 + \ huaweicloud_dms_group_v1 + \ huaweicloud_dms_instance_v1 + \ huaweicloud_dms_queue_v1 + \ huaweicloud_dns_recordset_v2 + \ huaweicloud_dns_zone_v2 + \ huaweicloud_dws_cluster + \ huaweicloud_elb_backendecs + \ huaweicloud_elb_healthcheck + \ huaweicloud_elb_listener + \ huaweicloud_elb_loadbalancer + \ huaweicloud_fw_firewall_group_v2 + \ huaweicloud_fw_policy_v2 + \ huaweicloud_fw_rule_v2 + \ huaweicloud_iam_agency_v3 + \ huaweicloud_images_image_v2 + \ huaweicloud_kms_key_v1 + \ huaweicloud_lb_listener_v2 + \ huaweicloud_lb_loadbalancer_v2 + \ huaweicloud_lb_member_v2 + \ huaweicloud_lb_monitor_v2 + \ huaweicloud_lb_pool_v2 + \ huaweicloud_maas_task_v1 + \ huaweicloud_mls_instance + \ huaweicloud_mrs_cluster_v1 + \ huaweicloud_mrs_job_v1 + \ huaweicloud_nat_gateway_v2 + \ huaweicloud_nat_snat_rule_v2 + \ huaweicloud_networking_floatingip_associate_v2 + \ huaweicloud_networking_floatingip_v2 + \ huaweicloud_networking_network_v2 + \ huaweicloud_networking_port_v2 + \ huaweicloud_networking_router_interface_v2 + \ huaweicloud_networking_router_route_v2 + \ huaweicloud_networking_router_v2 + \ huaweicloud_networking_secgroup_rule_v2 + \ huaweicloud_networking_secgroup_v2 + \ huaweicloud_networking_subnet_v2 + \ huaweicloud_rds_instance_v1 + \ huaweicloud_rts_software_config_v1 + \ huaweicloud_rts_stack_resource_v1 + \ huaweicloud_rts_stack_v1 + \ huaweicloud_s3_bucket + \ huaweicloud_s3_bucket_object + \ huaweicloud_s3_bucket_policy + \ huaweicloud_sfs_file_system_v2 + \ huaweicloud_smn_subscription_v2 + \ huaweicloud_smn_topic_v2 + \ huaweicloud_vbs_backup_policy_v2 + \ huaweicloud_vbs_backup_v2 + \ huaweicloud_vpc_eip_v1 + \ huaweicloud_vpc_peering_connection_accepter_v2 + \ huaweicloud_vpc_peering_connection_v2 + \ huaweicloud_vpc_route_v2 + \ huaweicloud_vpc_subnet_v1 + \ huaweicloud_vpc_v1 + \ icinga2_checkcommand + \ icinga2_host + \ icinga2_hostgroup + \ icinga2_notification + \ icinga2_service + \ icinga2_user + \ ignition_config + \ ignition_directory + \ ignition_disk + \ ignition_file + \ ignition_filesystem + \ ignition_group + \ ignition_link + \ ignition_networkd_unit + \ ignition_raid + \ ignition_systemd_unit + \ ignition_user + \ influxdb_continuous_query + \ influxdb_database + \ influxdb_user + \ kubernetes_cluster_role_binding + \ kubernetes_config_map + \ kubernetes_deployment + \ kubernetes_horizontal_pod_autoscaler + \ kubernetes_limit_range + \ kubernetes_namespace + \ kubernetes_persistent_volume + \ kubernetes_persistent_volume_claim + \ kubernetes_pod + \ kubernetes_replication_controller + \ kubernetes_resource_quota + \ kubernetes_role + \ kubernetes_secret + \ kubernetes_service + \ kubernetes_service_account + \ kubernetes_stateful_set + \ kubernetes_storage_class + \ librato_alert + \ librato_metric + \ librato_service + \ librato_space + \ librato_space_chart + \ linode_domain + \ linode_domain_record + \ linode_image + \ linode_instance + \ linode_nodebalancer + \ linode_nodebalancer_config + \ linode_nodebalancer_node + \ linode_sshkey + \ linode_stackscript + \ linode_token + \ linode_volume + \ local_file + \ logentries_log + \ logentries_logset + \ logicmonitor_collector + \ logicmonitor_collector_group + \ logicmonitor_device + \ logicmonitor_device_group + \ mailgun_domain + \ mysql_database + \ mysql_grant + \ mysql_role + \ mysql_user + \ mysql_user_password + \ netlify_build_hook + \ netlify_deploy_key + \ netlify_hook + \ netlify_site + \ newrelic_alert_channel + \ newrelic_alert_condition + \ newrelic_alert_policy + \ newrelic_alert_policy_channel + \ newrelic_dashboard + \ newrelic_infra_alert_condition + \ newrelic_nrql_alert_condition + \ newrelic_synthetics_alert_condition + \ nomad_acl_policy + \ nomad_acl_token + \ nomad_job + \ nomad_namespace + \ nomad_quota_specification + \ nomad_sentinel_policy + \ ns1_apikey + \ ns1_datafeed + \ ns1_datasource + \ ns1_monitoringjob + \ ns1_notifylist + \ ns1_record + \ ns1_team + \ ns1_user + \ ns1_zone + \ nsxt_algorithm_type_ns_service + \ nsxt_dhcp_relay_profile + \ nsxt_dhcp_relay_service + \ nsxt_dhcp_server_ip_pool + \ nsxt_dhcp_server_profile + \ nsxt_ether_type_ns_service + \ nsxt_firewall_section + \ nsxt_icmp_type_ns_service + \ nsxt_igmp_type_ns_service + \ nsxt_ip_block + \ nsxt_ip_block_subnet + \ nsxt_ip_discovery_switching_profile + \ nsxt_ip_pool + \ nsxt_ip_protocol_ns_service + \ nsxt_ip_set + \ nsxt_l4_port_set_ns_service + \ nsxt_lb_client_ssl_profile + \ nsxt_lb_cookie_persistence_profile + \ nsxt_lb_fast_tcp_application_profile + \ nsxt_lb_fast_udp_application_profile + \ nsxt_lb_http_application_profile + \ nsxt_lb_http_forwarding_rule + \ nsxt_lb_http_monitor + \ nsxt_lb_http_request_rewrite_rule + \ nsxt_lb_http_response_rewrite_rule + \ nsxt_lb_http_virtual_server + \ nsxt_lb_https_monitor + \ nsxt_lb_icmp_monitor + \ nsxt_lb_passive_monitor + \ nsxt_lb_pool + \ nsxt_lb_server_ssl_profile + \ nsxt_lb_service + \ nsxt_lb_source_ip_persistence_profile + \ nsxt_lb_tcp_monitor + \ nsxt_lb_tcp_virtual_server + \ nsxt_lb_udp_monitor + \ nsxt_lb_udp_virtual_server + \ nsxt_logical_dhcp_port + \ nsxt_logical_dhcp_server + \ nsxt_logical_port + \ nsxt_logical_router_centralized_service_port + \ nsxt_logical_router_downlink_port + \ nsxt_logical_router_link_port_on_tier0 + \ nsxt_logical_router_link_port_on_tier1 + \ nsxt_logical_switch + \ nsxt_logical_tier0_router + \ nsxt_logical_tier1_router + \ nsxt_mac_management_switching_profile + \ nsxt_nat_rule + \ nsxt_ns_group + \ nsxt_ns_service_group + \ nsxt_qos_switching_profile + \ nsxt_spoofguard_switching_profile + \ nsxt_static_route + \ nsxt_switch_security_switching_profile + \ nsxt_vm_tags + \ null_resource + \ nutanix_category_key + \ nutanix_category_value + \ nutanix_image + \ nutanix_network_security_rule + \ nutanix_subnet + \ nutanix_virtual_machine + \ nutanix_volume_group + \ oci_audit_configuration + \ oci_containerengine_cluster + \ oci_containerengine_node_pool + \ oci_core_app_catalog_listing_resource_version + \ oci_core_app_catalog_listing_resource_version_agreement + \ oci_core_app_catalog_listing_resource_versions + \ oci_core_app_catalog_subscription + \ oci_core_boot_volume + \ oci_core_boot_volume_backup + \ oci_core_console_history + \ oci_core_cpe + \ oci_core_cross_connect + \ oci_core_cross_connect_group + \ oci_core_default_dhcp_options + \ oci_core_default_route_table + \ oci_core_default_security_list + \ oci_core_dhcp_options + \ oci_core_drg + \ oci_core_drg_attachment + \ oci_core_image + \ oci_core_instance + \ oci_core_instance_configuration + \ oci_core_instance_console_connection + \ oci_core_instance_pool + \ oci_core_internet_gateway + \ oci_core_ipsec + \ oci_core_listing_resource_version + \ oci_core_listing_resource_version_agreement + \ oci_core_listing_resource_versions + \ oci_core_local_peering_gateway + \ oci_core_nat_gateway + \ oci_core_private_ip + \ oci_core_public_ip + \ oci_core_remote_peering_connection + \ oci_core_route_table + \ oci_core_route_table_attachment + \ oci_core_security_list + \ oci_core_service_gateway + \ oci_core_subnet + \ oci_core_vcn + \ oci_core_virtual_circuit + \ oci_core_vnic_attachment + \ oci_core_volume + \ oci_core_volume_attachment + \ oci_core_volume_backup + \ oci_core_volume_backup_policy_assignment + \ oci_core_volume_group + \ oci_core_volume_group_backup + \ oci_database_autonomous_data_warehouse + \ oci_database_autonomous_data_warehouse_backup + \ oci_database_autonomous_database + \ oci_database_autonomous_database_backup + \ oci_database_backup + \ oci_database_db_home + \ oci_database_db_system + \ oci_dns_record + \ oci_dns_zone + \ oci_email_sender + \ oci_email_suppression + \ oci_file_storage_export + \ oci_file_storage_export_set + \ oci_file_storage_file_system + \ oci_file_storage_mount_target + \ oci_file_storage_snapshot + \ oci_identity_api_key + \ oci_identity_auth_token + \ oci_identity_compartment + \ oci_identity_customer_secret_key + \ oci_identity_dynamic_group + \ oci_identity_group + \ oci_identity_identity_provider + \ oci_identity_idp_group_mapping + \ oci_identity_policy + \ oci_identity_smtp_credential + \ oci_identity_swift_password + \ oci_identity_tag + \ oci_identity_tag_namespace + \ oci_identity_ui_password + \ oci_identity_user + \ oci_identity_user_capabilities_management + \ oci_identity_user_group_membership + \ oci_kms_encrypted_data + \ oci_kms_generated_key + \ oci_kms_key + \ oci_kms_key_version + \ oci_kms_vault + \ oci_load_balancer + \ oci_load_balancer_backend + \ oci_load_balancer_backend_set + \ oci_load_balancer_backendset + \ oci_load_balancer_certificate + \ oci_load_balancer_hostname + \ oci_load_balancer_listener + \ oci_load_balancer_load_balancer + \ oci_load_balancer_path_route_set + \ oci_objectstorage_bucket + \ oci_objectstorage_namespace_metadata + \ oci_objectstorage_object + \ oci_objectstorage_object_lifecycle_policy + \ oci_objectstorage_preauthrequest + \ oneandone_baremetal + \ oneandone_block_storage + \ oneandone_firewall_policy + \ oneandone_image + \ oneandone_loadbalancer + \ oneandone_monitoring_policy + \ oneandone_private_network + \ oneandone_public_ip + \ oneandone_server + \ oneandone_shared_storage + \ oneandone_ssh_key + \ oneandone_vpn + \ opc_compute_acl + \ opc_compute_image_list + \ opc_compute_image_list_entry + \ opc_compute_instance + \ opc_compute_ip_address_association + \ opc_compute_ip_address_prefix_set + \ opc_compute_ip_address_reservation + \ opc_compute_ip_association + \ opc_compute_ip_network + \ opc_compute_ip_network_exchange + \ opc_compute_ip_reservation + \ opc_compute_machine_image + \ opc_compute_orchestrated_instance + \ opc_compute_route + \ opc_compute_sec_rule + \ opc_compute_security_application + \ opc_compute_security_association + \ opc_compute_security_ip_list + \ opc_compute_security_list + \ opc_compute_security_protocol + \ opc_compute_security_rule + \ opc_compute_snapshot + \ opc_compute_ssh_key + \ opc_compute_storage_attachment + \ opc_compute_storage_volume + \ opc_compute_storage_volume_snapshot + \ opc_compute_vnic_set + \ opc_compute_vpn_endpoint_v2 + \ opc_lbaas_certificate + \ opc_lbaas_listener + \ opc_lbaas_load_balancer + \ opc_lbaas_policy + \ opc_lbaas_server_pool + \ opc_storage_container + \ opc_storage_object + \ openstack_blockstorage_volume_attach_v2 + \ openstack_blockstorage_volume_attach_v3 + \ openstack_blockstorage_volume_v1 + \ openstack_blockstorage_volume_v2 + \ openstack_blockstorage_volume_v3 + \ openstack_compute_flavor_access_v2 + \ openstack_compute_flavor_v2 + \ openstack_compute_floatingip_associate_v2 + \ openstack_compute_floatingip_v2 + \ openstack_compute_instance_v2 + \ openstack_compute_interface_attach_v2 + \ openstack_compute_keypair_v2 + \ openstack_compute_secgroup_v2 + \ openstack_compute_servergroup_v2 + \ openstack_compute_volume_attach_v2 + \ openstack_containerinfra_cluster_v1 + \ openstack_containerinfra_clustertemplate_v1 + \ openstack_db_configuration_v1 + \ openstack_db_database_v1 + \ openstack_db_instance_v1 + \ openstack_db_user_v1 + \ openstack_dns_recordset_v2 + \ openstack_dns_zone_v2 + \ openstack_fw_firewall_v1 + \ openstack_fw_policy_v1 + \ openstack_fw_rule_v1 + \ openstack_identity_project_v3 + \ openstack_identity_role_assignment_v3 + \ openstack_identity_role_v3 + \ openstack_identity_user_v3 + \ openstack_images_image_v2 + \ openstack_lb_l7policy_v2 + \ openstack_lb_l7rule_v2 + \ openstack_lb_listener_v2 + \ openstack_lb_loadbalancer_v2 + \ openstack_lb_member_v1 + \ openstack_lb_member_v2 + \ openstack_lb_monitor_v1 + \ openstack_lb_monitor_v2 + \ openstack_lb_pool_v1 + \ openstack_lb_pool_v2 + \ openstack_lb_vip_v1 + \ openstack_networking_floatingip_associate_v2 + \ openstack_networking_floatingip_v2 + \ openstack_networking_network_v2 + \ openstack_networking_port_v2 + \ openstack_networking_router_interface_v2 + \ openstack_networking_router_route_v2 + \ openstack_networking_router_v2 + \ openstack_networking_secgroup_rule_v2 + \ openstack_networking_secgroup_v2 + \ openstack_networking_subnet_route_v2 + \ openstack_networking_subnet_v2 + \ openstack_networking_subnetpool_v2 + \ openstack_networking_trunk_v2 + \ openstack_objectstorage_container_v1 + \ openstack_objectstorage_object_v1 + \ openstack_objectstorage_tempurl_v1 + \ openstack_sharedfilesystem_securityservice_v2 + \ openstack_sharedfilesystem_share_access_v2 + \ openstack_sharedfilesystem_share_v2 + \ openstack_sharedfilesystem_sharenetwork_v2 + \ openstack_vpnaas_endpoint_group_v2 + \ openstack_vpnaas_ike_policy_v2 + \ openstack_vpnaas_ipsec_policy_v2 + \ openstack_vpnaas_service_v2 + \ openstack_vpnaas_site_connection_v2 + \ opentelekomcloud_antiddos_v1 + \ opentelekomcloud_as_configuration_v1 + \ opentelekomcloud_as_group_v1 + \ opentelekomcloud_as_policy_v1 + \ opentelekomcloud_blockstorage_volume_v2 + \ opentelekomcloud_cce_cluster_v3 + \ opentelekomcloud_cce_node_v3 + \ opentelekomcloud_ces_alarmrule + \ opentelekomcloud_compute_bms_server_v2 + \ opentelekomcloud_compute_bms_tags_v2 + \ opentelekomcloud_compute_floatingip_associate_v2 + \ opentelekomcloud_compute_floatingip_v2 + \ opentelekomcloud_compute_instance_v2 + \ opentelekomcloud_compute_keypair_v2 + \ opentelekomcloud_compute_secgroup_v2 + \ opentelekomcloud_compute_servergroup_v2 + \ opentelekomcloud_compute_volume_attach_v2 + \ opentelekomcloud_csbs_backup_policy_v1 + \ opentelekomcloud_csbs_backup_v1 + \ opentelekomcloud_cts_tracker_v1 + \ opentelekomcloud_dcs_instance_v1 + \ opentelekomcloud_deh_host_v1 + \ opentelekomcloud_dms_group_v1 + \ opentelekomcloud_dms_queue_v1 + \ opentelekomcloud_dns_recordset_v2 + \ opentelekomcloud_dns_zone_v2 + \ opentelekomcloud_elb_backend + \ opentelekomcloud_elb_health + \ opentelekomcloud_elb_listener + \ opentelekomcloud_elb_loadbalancer + \ opentelekomcloud_fw_firewall_group_v2 + \ opentelekomcloud_fw_policy_v2 + \ opentelekomcloud_fw_rule_v2 + \ opentelekomcloud_images_image_v2 + \ opentelekomcloud_kms_key_v1 + \ opentelekomcloud_lb_listener_v2 + \ opentelekomcloud_lb_loadbalancer_v2 + \ opentelekomcloud_lb_member_v2 + \ opentelekomcloud_lb_monitor_v2 + \ opentelekomcloud_lb_pool_v2 + \ opentelekomcloud_maas_task_v1 + \ opentelekomcloud_mrs_cluster_v1 + \ opentelekomcloud_mrs_job_v1 + \ opentelekomcloud_nat_gateway_v2 + \ opentelekomcloud_nat_snat_rule_v2 + \ opentelekomcloud_networking_floatingip_associate_v2 + \ opentelekomcloud_networking_floatingip_v2 + \ opentelekomcloud_networking_network_v2 + \ opentelekomcloud_networking_port_v2 + \ opentelekomcloud_networking_router_interface_v2 + \ opentelekomcloud_networking_router_route_v2 + \ opentelekomcloud_networking_router_v2 + \ opentelekomcloud_networking_secgroup_rule_v2 + \ opentelekomcloud_networking_secgroup_v2 + \ opentelekomcloud_networking_subnet_v2 + \ opentelekomcloud_networking_vip_associate_v2 + \ opentelekomcloud_networking_vip_v2 + \ opentelekomcloud_rds_instance_v1 + \ opentelekomcloud_rts_software_config_v1 + \ opentelekomcloud_rts_software_deployment_v1 + \ opentelekomcloud_rts_stack_resource_v1 + \ opentelekomcloud_rts_stack_v1 + \ opentelekomcloud_s3_bucket + \ opentelekomcloud_s3_bucket_object + \ opentelekomcloud_s3_bucket_policy + \ opentelekomcloud_sfs_file_system_v2 + \ opentelekomcloud_smn_subscription_v2 + \ opentelekomcloud_smn_topic_v2 + \ opentelekomcloud_vbs_backup_policy_v2 + \ opentelekomcloud_vbs_backup_share_v2 + \ opentelekomcloud_vbs_backup_v2 + \ opentelekomcloud_vpc_eip_v1 + \ opentelekomcloud_vpc_peering_connection_accepter_v2 + \ opentelekomcloud_vpc_peering_connection_v2 + \ opentelekomcloud_vpc_route_v2 + \ opentelekomcloud_vpc_subnet_v1 + \ opentelekomcloud_vpc_v1 + \ opsgenie_team + \ opsgenie_user + \ oraclepaas_application_container + \ oraclepaas_database_access_rule + \ oraclepaas_database_service_instance + \ oraclepaas_java_access_rule + \ oraclepaas_java_service_instance + \ oraclepaas_mysql_access_rule + \ oraclepaas_mysql_service_instance + \ ovh_cloud_network_private + \ ovh_cloud_network_private_subnet + \ ovh_cloud_user + \ ovh_domain_zone_record + \ ovh_domain_zone_redirection + \ ovh_ip_reverse + \ ovh_iploadbalancing_http_route + \ ovh_iploadbalancing_http_route_rule + \ ovh_iploadbalancing_refresh + \ ovh_iploadbalancing_tcp_farm + \ ovh_iploadbalancing_tcp_farm_server + \ ovh_iploadbalancing_tcp_frontend + \ ovh_publiccloud_private_network + \ ovh_publiccloud_private_network_subnet + \ ovh_publiccloud_user + \ ovh_vrack_cloudproject + \ ovh_vrack_publiccloud_attachment + \ packet_device + \ packet_ip_attachment + \ packet_organization + \ packet_project + \ packet_reserved_ip_block + \ packet_spot_market_request + \ packet_ssh_key + \ packet_volume + \ packet_volume_attachment + \ pagerduty_addon + \ pagerduty_escalation_policy + \ pagerduty_extension + \ pagerduty_maintenance_window + \ pagerduty_schedule + \ pagerduty_service + \ pagerduty_service_integration + \ pagerduty_team + \ pagerduty_team_membership + \ pagerduty_user + \ pagerduty_user_contact_method + \ panos_address_group + \ panos_address_object + \ panos_administrative_tag + \ panos_dag_tags + \ panos_edl + \ panos_ethernet_interface + \ panos_general_settings + \ panos_ike_crypto_profile + \ panos_ike_gateway + \ panos_ipsec_crypto_profile + \ panos_ipsec_tunnel + \ panos_ipsec_tunnel_proxy_id_ipv4 + \ panos_license_api_key + \ panos_licensing + \ panos_loopback_interface + \ panos_management_profile + \ panos_nat_policy + \ panos_nat_rule + \ panos_panorama_address_group + \ panos_panorama_address_object + \ panos_panorama_administrative_tag + \ panos_panorama_device_group + \ panos_panorama_device_group_entry + \ panos_panorama_edl + \ panos_panorama_ethernet_interface + \ panos_panorama_ike_crypto_profile + \ panos_panorama_ike_gateway + \ panos_panorama_ipsec_crypto_profile + \ panos_panorama_ipsec_tunnel + \ panos_panorama_ipsec_tunnel_proxy_id_ipv4 + \ panos_panorama_loopback_interface + \ panos_panorama_management_profile + \ panos_panorama_nat_policy + \ panos_panorama_nat_rule + \ panos_panorama_security_policies + \ panos_panorama_security_policy + \ panos_panorama_security_policy_group + \ panos_panorama_security_rule_group + \ panos_panorama_service_group + \ panos_panorama_service_object + \ panos_panorama_static_route_ipv4 + \ panos_panorama_template + \ panos_panorama_template_entry + \ panos_panorama_template_stack + \ panos_panorama_template_stack_entry + \ panos_panorama_template_variable + \ panos_panorama_tunnel_interface + \ panos_panorama_virtual_router + \ panos_panorama_virtual_router_entry + \ panos_panorama_vlan_interface + \ panos_panorama_zone + \ panos_panorama_zone_entry + \ panos_security_policies + \ panos_security_policy + \ panos_security_policy_group + \ panos_security_rule_group + \ panos_service_group + \ panos_service_object + \ panos_static_route_ipv4 + \ panos_telemetry + \ panos_tunnel_interface + \ panos_virtual_router + \ panos_virtual_router_entry + \ panos_vlan_interface + \ panos_zone + \ panos_zone_entry + \ postgresql_database + \ postgresql_extension + \ postgresql_role + \ postgresql_schema + \ powerdns_record + \ profitbricks_datacenter + \ profitbricks_firewall + \ profitbricks_group + \ profitbricks_ipblock + \ profitbricks_ipfailover + \ profitbricks_lan + \ profitbricks_loadbalancer + \ profitbricks_nic + \ profitbricks_resource + \ profitbricks_server + \ profitbricks_share + \ profitbricks_snapshot + \ profitbricks_user + \ profitbricks_volume + \ rabbitmq_binding + \ rabbitmq_exchange + \ rabbitmq_permissions + \ rabbitmq_policy + \ rabbitmq_queue + \ rabbitmq_user + \ rabbitmq_vhost + \ rancher_certificate + \ rancher_environment + \ rancher_host + \ rancher_registration_token + \ rancher_registry + \ rancher_registry_credential + \ rancher_secret + \ rancher_stack + \ rancher_volume + \ random_id + \ random_integer + \ random_pet + \ random_shuffle + \ random_string + \ random_uuid + \ rightscale_credential + \ rightscale_cwf_process + \ rightscale_deployment + \ rightscale_instance + \ rightscale_network + \ rightscale_network_gateway + \ rightscale_route + \ rightscale_route_table + \ rightscale_security_group + \ rightscale_security_group_rule + \ rightscale_server + \ rightscale_server_array + \ rightscale_ssh_key + \ rightscale_subnet + \ rundeck_job + \ rundeck_private_key + \ rundeck_project + \ rundeck_public_key + \ runscope_bucket + \ runscope_environment + \ runscope_schedule + \ runscope_step + \ runscope_test + \ scaleway_bucket + \ scaleway_ip + \ scaleway_ip_reverse_dns + \ scaleway_security_group + \ scaleway_security_group_rule + \ scaleway_server + \ scaleway_ssh_key + \ scaleway_token + \ scaleway_user_data + \ scaleway_volume + \ scaleway_volume_attachment + \ selvpc_resell_floatingip_v2 + \ selvpc_resell_keypair_v2 + \ selvpc_resell_license_v2 + \ selvpc_resell_project_v2 + \ selvpc_resell_role_v2 + \ selvpc_resell_subnet_v2 + \ selvpc_resell_token_v2 + \ selvpc_resell_user_v2 + \ selvpc_resell_vrrp_subnet_v2 + \ skytap_environment + \ skytap_network + \ skytap_project + \ skytap_vm + \ softlayer_ssh_key + \ softlayer_virtual_guest + \ statuscake_test + \ telefonicaopencloud_antiddos_v1 + \ telefonicaopencloud_as_configuration_v1 + \ telefonicaopencloud_as_group_v1 + \ telefonicaopencloud_as_policy_v1 + \ telefonicaopencloud_blockstorage_volume_v2 + \ telefonicaopencloud_ces_alarmrule + \ telefonicaopencloud_compute_bms_server_v2 + \ telefonicaopencloud_compute_floatingip_associate_v2 + \ telefonicaopencloud_compute_floatingip_v2 + \ telefonicaopencloud_compute_instance_v2 + \ telefonicaopencloud_compute_keypair_v2 + \ telefonicaopencloud_compute_secgroup_v2 + \ telefonicaopencloud_compute_servergroup_v2 + \ telefonicaopencloud_compute_volume_attach_v2 + \ telefonicaopencloud_csbs_backup_policy_v1 + \ telefonicaopencloud_csbs_backup_v1 + \ telefonicaopencloud_cts_tracker_v1 + \ telefonicaopencloud_dcs_instance_v1 + \ telefonicaopencloud_dms_group_v1 + \ telefonicaopencloud_dms_queue_v1 + \ telefonicaopencloud_dns_recordset_v2 + \ telefonicaopencloud_dns_zone_v2 + \ telefonicaopencloud_elb_backendecs + \ telefonicaopencloud_elb_healthcheck + \ telefonicaopencloud_elb_listener + \ telefonicaopencloud_elb_loadbalancer + \ telefonicaopencloud_fw_firewall_group_v2 + \ telefonicaopencloud_fw_policy_v2 + \ telefonicaopencloud_fw_rule_v2 + \ telefonicaopencloud_maas_task_v1 + \ telefonicaopencloud_mrs_cluster_v1 + \ telefonicaopencloud_mrs_job_v1 + \ telefonicaopencloud_networking_floatingip_v2 + \ telefonicaopencloud_networking_network_v2 + \ telefonicaopencloud_networking_port_v2 + \ telefonicaopencloud_networking_router_interface_v2 + \ telefonicaopencloud_networking_router_route_v2 + \ telefonicaopencloud_networking_router_v2 + \ telefonicaopencloud_networking_secgroup_rule_v2 + \ telefonicaopencloud_networking_secgroup_v2 + \ telefonicaopencloud_networking_subnet_v2 + \ telefonicaopencloud_rds_instance_v1 + \ telefonicaopencloud_rts_software_config_v1 + \ telefonicaopencloud_rts_stack_resource_v1 + \ telefonicaopencloud_rts_stack_v1 + \ telefonicaopencloud_s3_bucket + \ telefonicaopencloud_s3_bucket_object + \ telefonicaopencloud_s3_bucket_policy + \ telefonicaopencloud_sfs_file_system_v2 + \ telefonicaopencloud_smn_subscription_v2 + \ telefonicaopencloud_smn_topic_v2 + \ telefonicaopencloud_vbs_backup_policy_v2 + \ telefonicaopencloud_vbs_backup_v2 + \ telefonicaopencloud_vpc_eip_v1 + \ telefonicaopencloud_vpc_peering_connection_accepter_v2 + \ telefonicaopencloud_vpc_peering_connection_v2 + \ telefonicaopencloud_vpc_subnet_v1 + \ telefonicaopencloud_vpc_v1 + \ template_dir + \ tencentcloud_alb_server_attachment + \ tencentcloud_cbs_snapshot + \ tencentcloud_cbs_storage + \ tencentcloud_cbs_storage_attachment + \ tencentcloud_container_cluster + \ tencentcloud_container_cluster_instance + \ tencentcloud_dnat + \ tencentcloud_eip + \ tencentcloud_eip_association + \ tencentcloud_instance + \ tencentcloud_key_pair + \ tencentcloud_lb + \ tencentcloud_nat_gateway + \ tencentcloud_route_entry + \ tencentcloud_route_table + \ tencentcloud_security_group + \ tencentcloud_security_group_rule + \ tencentcloud_subnet + \ tencentcloud_vpc + \ tfe_organization + \ tfe_organization_token + \ tfe_policy_set + \ tfe_sentinel_policy + \ tfe_ssh_key + \ tfe_team + \ tfe_team_access + \ tfe_team_member + \ tfe_team_members + \ tfe_team_token + \ tfe_variable + \ tfe_workspace + \ tls_cert_request + \ tls_locally_signed_cert + \ tls_private_key + \ tls_self_signed_cert + \ triton_fabric + \ triton_firewall_rule + \ triton_instance_template + \ triton_key + \ triton_machine + \ triton_service_group + \ triton_snapshot + \ triton_vlan + \ ucloud_disk + \ ucloud_disk_attachment + \ ucloud_eip + \ ucloud_eip_association + \ ucloud_instance + \ ucloud_lb + \ ucloud_lb_attachment + \ ucloud_lb_listener + \ ucloud_lb_rule + \ ucloud_security_group + \ ucloud_subnet + \ ucloud_vpc + \ ucloud_vpc_peering_connection + \ ultradns_dirpool + \ ultradns_probe_http + \ ultradns_probe_ping + \ ultradns_rdpool + \ ultradns_record + \ ultradns_tcpool + \ vault_approle_auth_backend_login + \ vault_approle_auth_backend_role + \ vault_approle_auth_backend_role_secret_id + \ vault_audit + \ vault_auth_backend + \ vault_aws_auth_backend_cert + \ vault_aws_auth_backend_client + \ vault_aws_auth_backend_identity_whitelist + \ vault_aws_auth_backend_login + \ vault_aws_auth_backend_role + \ vault_aws_auth_backend_role_tag + \ vault_aws_auth_backend_roletag_blacklist + \ vault_aws_auth_backend_sts_role + \ vault_aws_secret_backend + \ vault_aws_secret_backend_role + \ vault_cert_auth_backend_role + \ vault_consul_secret_backend + \ vault_database_secret_backend_connection + \ vault_database_secret_backend_role + \ vault_gcp_auth_backend + \ vault_gcp_auth_backend_role + \ vault_gcp_secret_backend + \ vault_generic_secret + \ vault_identity_group + \ vault_identity_group_alias + \ vault_jwt_auth_backend_role + \ vault_kubernetes_auth_backend_config + \ vault_kubernetes_auth_backend_role + \ vault_ldap_auth_backend + \ vault_ldap_auth_backend_group + \ vault_ldap_auth_backend_user + \ vault_mount + \ vault_okta_auth_backend + \ vault_okta_auth_backend_group + \ vault_okta_auth_backend_user + \ vault_policy + \ vault_rabbitmq_secret_backend + \ vault_rabbitmq_secret_backend_role + \ vault_ssh_secret_backend_ca + \ vault_token_auth_backend_role + \ vcd_dnat + \ vcd_edgegateway_vpn + \ vcd_firewall_rules + \ vcd_network + \ vcd_snat + \ vcd_vapp + \ vcd_vapp_vm + \ vsphere_compute_cluster + \ vsphere_compute_cluster_host_group + \ vsphere_compute_cluster_vm_affinity_rule + \ vsphere_compute_cluster_vm_anti_affinity_rule + \ vsphere_compute_cluster_vm_dependency_rule + \ vsphere_compute_cluster_vm_group + \ vsphere_compute_cluster_vm_host_rule + \ vsphere_custom_attribute + \ vsphere_datacenter + \ vsphere_datastore_cluster + \ vsphere_datastore_cluster_vm_anti_affinity_rule + \ vsphere_distributed_port_group + \ vsphere_distributed_virtual_switch + \ vsphere_dpm_host_override + \ vsphere_drs_vm_override + \ vsphere_file + \ vsphere_folder + \ vsphere_ha_vm_override + \ vsphere_host_port_group + \ vsphere_host_virtual_switch + \ vsphere_license + \ vsphere_nas_datastore + \ vsphere_resource_pool + \ vsphere_storage_drs_vm_override + \ vsphere_tag + \ vsphere_tag_category + \ vsphere_vapp_container + \ vsphere_vapp_entity + \ vsphere_virtual_disk + \ vsphere_virtual_machine + \ vsphere_virtual_machine_snapshot + \ vsphere_vmfs_datastore +""" end resources + +syn keyword terraTodo contained TODO FIXME XXX BUG +syn cluster terraCommentGroup contains=terraTodo +syn region terraComment start="/\*" end="\*/" contains=@terraCommentGroup,@Spell +syn region terraComment start="#" end="$" contains=@terraCommentGroup,@Spell +syn region terraComment start="//" end="$" contains=@terraCommentGroup,@Spell + +syn match terraResource /\/ nextgroup=terraResourceTypeStr skipwhite +syn region terraResourceTypeStr start=/"/ end=/"/ contains=terraResourceTypeBI + \ nextgroup=terraResourceName skipwhite +syn region terraResourceName start=/"/ end=/"/ + \ nextgroup=terraResourceBlock skipwhite + +syn match terraData /\/ nextgroup=terraDataTypeStr skipwhite +syn region terraDataTypeStr start=/"/ end=/"/ contains=terraDataTypeBI + \ nextgroup=terraDataName skipwhite +syn region terraDataName start=/"/ end=/"/ + \ nextgroup=terraDataBlock skipwhite + +""" provider +syn match terraProvider /\/ nextgroup=terraProviderName skipwhite +syn region terraProviderName start=/"/ end=/"/ nextgroup=terraProviderBlock skipwhite + +""" provisioner +syn match terraProvisioner /\/ nextgroup=terraProvisionerName skipwhite +syn region terraProvisionerName start=/"/ end=/"/ nextgroup=terraProvisionerBlock skipwhite + +""" module +syn match terraModule /\/ nextgroup=terraModuleName skipwhite +syn region terraModuleName start=/"/ end=/"/ nextgroup=terraModuleBlock skipwhite + +""" misc. +syn match terraValueDec "\<[0-9]\+\([kKmMgG]b\?\)\?\>" +syn match terraValueHexaDec "\<0x[0-9a-f]\+\([kKmMgG]b\?\)\?\>" +syn match terraBraces "[{}\[\]]" + +""" skip \" in strings. +""" we may also want to pass \\" into a function to escape quotes. +syn region terraValueString start=/"/ skip=/\\\+"/ end=/"/ contains=terraStringInterp +syn region terraStringInterp matchgroup=terraBrackets start=/\${/ end=/}/ contains=terraValueFunction,terraValueVarSubscript,terraStringInterp contained +syn region terraHereDocText start=/<<-\?\z([a-z0-9A-Z]\+\)/ end=/^\s*\z1/ contains=terraStringInterp +"" TODO match keywords here, not a-z+ +syn region terraValueFunction matchgroup=terraBrackets start=/[a-z]\+(/ end=/)/ contains=terraValueString,terraValueFunction,terraValueVarSubscript contained +" User variables or module outputs can be lists or maps, and accessed with +" var.map["foo"] +syn region terraValueVarSubscript start=/\(\