vim: add .vim/bundle/vim-terraform
This commit is contained in:
parent
9837c9bea5
commit
91936cfde7
18 changed files with 1367 additions and 0 deletions
11
.vim/bundle/vim-terraform/.editorconfig
Normal file
11
.vim/bundle/vim-terraform/.editorconfig
Normal file
|
@ -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
|
1
.vim/bundle/vim-terraform/.gitignore
vendored
Normal file
1
.vim/bundle/vim-terraform/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/doc/tags
|
21
.vim/bundle/vim-terraform/CHANGELOG.md
Normal file
21
.vim/bundle/vim-terraform/CHANGELOG.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
# vim-terraform CHANGELOG
|
||||
|
||||
## Version 1.2.1 (February 5, 2015)
|
||||
|
||||
- Block indentation fix (thanks imkira@github)
|
||||
|
||||
## Version 1.2.0 (December 12, 2014)
|
||||
|
||||
- Add Kevin Le's syntax highlighting
|
||||
|
||||
## Version 1.1.0 (December 11, 2014)
|
||||
|
||||
- Remove syntax highlighting; see README.md
|
||||
|
||||
## Version 1.0.1 (December 10, 2014)
|
||||
|
||||
- Make this work without the JSON plugin
|
||||
|
||||
## Version 1.0.0 (December 10, 2014)
|
||||
|
||||
- Initial release
|
45
.vim/bundle/vim-terraform/CODE_OF_CONDUCT.md
Normal file
45
.vim/bundle/vim-terraform/CODE_OF_CONDUCT.md
Normal file
|
@ -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
|
||||
<http://contributor-covenant.org/version/1/2/0/>
|
35
.vim/bundle/vim-terraform/CONTRIBUTING.md
Normal file
35
.vim/bundle/vim-terraform/CONTRIBUTING.md
Normal file
|
@ -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:
|
||||
|
||||
<https://viget.com/extend/tips-for-writing-better-bug-reports>
|
||||
|
||||
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!
|
13
.vim/bundle/vim-terraform/LICENSE
Normal file
13
.vim/bundle/vim-terraform/LICENSE
Normal file
|
@ -0,0 +1,13 @@
|
|||
Copyright (c) 2014-2016 Mark Cornick <mark@markcornick.com>
|
||||
|
||||
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.
|
95
.vim/bundle/vim-terraform/README.md
Normal file
95
.vim/bundle/vim-terraform/README.md
Normal file
|
@ -0,0 +1,95 @@
|
|||
[](https://github.com/hashicorp/terraform/blob/v0.9.3/CHANGELOG.md)
|
||||
|
||||
# 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.
|
||||
- - - -
|
||||
# Overview: vim-terraform
|
||||
|
||||
This plugin adds a `:Terraform` command that runs terraform, with tab
|
||||
completion of subcommands. It also sets up `*.tf`, `*.tfvars`, and
|
||||
`*.tfstate` files to be highlighted as HCL, HCL, and JSON respectively.
|
||||
|
||||
For Terraform 0.6.15 or greater, this plugin also adds a `:TerraformFmt`
|
||||
command that runs `terraform fmt` against the current buffer. Set
|
||||
`g:terraform_fmt_on_save` to 1 to run `terraform fmt` automatically when
|
||||
saving `*.tf` or `*.tfvars` files.
|
||||
|
||||
- - - -
|
||||
# Installation
|
||||
|
||||
With [pathogen.vim](https://github.com/tpope/vim-pathogen) just do:
|
||||
|
||||
cd ~/.vim/bundle
|
||||
git clone https://github.com/hashivim/vim-terraform.git
|
||||
|
||||
If you prefer to use something besides pathogen, go ahead.
|
||||
|
||||
- - - -
|
||||
# Usage
|
||||
|
||||
Allow vim-terraform to override your `.vimrc` indentation syntax for matching files. Defaults to 0 which is off.
|
||||
|
||||
let g:terraform_align=1
|
||||
|
||||
If you use the [vim-commentary](https://github.com/tpope/vim-commentary) plugin, you should set the following option in your `~/.vimrc`. See [TOOLS-1](https://github.com/hashivim/vim-hashicorp-tools/pull/1) for more details.
|
||||
|
||||
autocmd FileType terraform setlocal commentstring=#%s
|
||||
|
||||
- - - -
|
||||
# Updating vim-terraform
|
||||
Note, this is only for maintainers of the `vim-terraform` project.
|
||||
|
||||
When a new version of Terraform drops, you can run the following where x.x.x is a version such as 0.8.7
|
||||
|
||||
./update_automagic.sh x.x.x
|
||||
|
||||
You will see the following truncated output
|
||||
|
||||
+) Extracting terraform-0.8.7.tar.gz
|
||||
+) Running update_commands.rb
|
||||
+) Running update_data_sources.rb
|
||||
+) Running update_syntax.rb
|
||||
+) Cleaning up after ourselves
|
||||
On branch feature/run-helper-scripts-for-terraform-087/pgp
|
||||
Changes not staged for commit:
|
||||
(use "git add <file>..." to update what will be committed)
|
||||
(use "git checkout -- <file>..." to discard changes in working directory)
|
||||
|
||||
modified: syntax/terraform.vim
|
||||
|
||||
At this point, add the modified files to a git branch and open a pull request.
|
||||
|
||||
git checkout -b "feature/update-to-terraform-$VERSION"
|
||||
git add $FILE
|
||||
git commit -m "Message about update"
|
||||
git push
|
||||
|
||||
Add another maintainer to the pull request and await confirmation.
|
||||
|
||||
- - - -
|
||||
# Credits
|
||||
|
||||
Syntax highlighting and indentation by Kevin Le (@bkad) based on prior work by
|
||||
Larry Gilbert (@L2G). The rest originally written by Mark Cornick
|
||||
<https://www.markcornick.com/> and contributors listed below. Licensed under the
|
||||
ISC license.
|
||||
|
||||
Thanks to the following contributors:
|
||||
|
||||
- michael j talarczyk (@mijit)
|
||||
- Koji Nakayama (@knakayama)
|
||||
- Kris (@kostecky)
|
||||
- Okumura Takahiro (@hfm)
|
||||
- Paul Forman (@pforman)
|
||||
- Lowe Schmidt (@lsc)
|
||||
|
||||
The `:TerraformFmt` command is adapted from
|
||||
[vim-hclfmt](https://github.com/fatih/vim-hclfmt/blob/master/autoload/fmt.vim).
|
||||
|
||||
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.
|
57
.vim/bundle/vim-terraform/after/ftplugin/terraform.vim
Normal file
57
.vim/bundle/vim-terraform/after/ftplugin/terraform.vim
Normal file
|
@ -0,0 +1,57 @@
|
|||
if !exists('g:terraform_align')
|
||||
let g:terraform_align = 0
|
||||
endif
|
||||
|
||||
if g:terraform_align && exists(':Tabularize')
|
||||
inoremap <buffer> <silent> = =<Esc>:call <SID>terraformalign()<CR>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
|
||||
|
||||
|
||||
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"
|
||||
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()
|
||||
|
||||
"inoremap <space> <C-O>za
|
||||
nnoremap <space> za
|
||||
onoremap <space> <C-C>za
|
||||
vnoremap <space> zf
|
||||
|
||||
" 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
|
||||
|
14
.vim/bundle/vim-terraform/doc/terraform.txt
Normal file
14
.vim/bundle/vim-terraform/doc/terraform.txt
Normal file
|
@ -0,0 +1,14 @@
|
|||
*terraform.txt* basic vim/terraform integration
|
||||
|
||||
Author: HashiVim <https://github.com/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:
|
3
.vim/bundle/vim-terraform/ftdetect/terraform.vim
Normal file
3
.vim/bundle/vim-terraform/ftdetect/terraform.vim
Normal file
|
@ -0,0 +1,3 @@
|
|||
au BufRead,BufNewFile *.tf setlocal filetype=terraform
|
||||
au BufRead,BufNewFile *.tfvars setlocal filetype=terraform
|
||||
au BufRead,BufNewFile *.tfstate setlocal filetype=javascript
|
44
.vim/bundle/vim-terraform/indent/terraform.vim
Normal file
44
.vim/bundle/vim-terraform/indent/terraform.vim
Normal file
|
@ -0,0 +1,44 @@
|
|||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal nolisp
|
||||
setlocal autoindent
|
||||
setlocal indentexpr=TerraformIndent(v:lnum)
|
||||
setlocal indentkeys+=<:>,0=},0=)
|
||||
|
||||
if exists("*TerraformIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
function! TerraformIndent(lnum)
|
||||
" previous non-blank line
|
||||
let prevlnum = prevnonblank(a:lnum-1)
|
||||
|
||||
" beginning of file?
|
||||
if prevlnum == 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
" previous line without comments
|
||||
let prevline = substitute(getline(prevlnum), '//.*$', '', '')
|
||||
let previndent = indent(prevlnum)
|
||||
let thisindent = previndent
|
||||
|
||||
" block open?
|
||||
if prevline =~ '[\[{]\s*$'
|
||||
let thisindent += &sw
|
||||
endif
|
||||
|
||||
" current line without comments
|
||||
let thisline = substitute(getline(a:lnum), '//.*$', '', '')
|
||||
|
||||
" block close?
|
||||
if thisline =~ '^\s*[\]}]'
|
||||
let thisindent -= &sw
|
||||
endif
|
||||
|
||||
return thisindent
|
||||
endfunction
|
69
.vim/bundle/vim-terraform/plugin/terraform.vim
Normal file
69
.vim/bundle/vim-terraform/plugin/terraform.vim
Normal file
|
@ -0,0 +1,69 @@
|
|||
" terraform.vim - basic vim/terraform integration
|
||||
" Maintainer: HashiVim <https://github.com/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",
|
||||
\ "push",
|
||||
\ "refresh",
|
||||
\ "show",
|
||||
\ "taint",
|
||||
\ "untaint",
|
||||
\ "validate",
|
||||
\ "version",
|
||||
\ "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, 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 '.<q-args>. ' -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
|
||||
|
||||
" vim:set et sw=2:
|
795
.vim/bundle/vim-terraform/syntax/terraform.vim
Normal file
795
.vim/bundle/vim-terraform/syntax/terraform.vim
Normal file
|
@ -0,0 +1,795 @@
|
|||
" Forked from Larry Gilbert's syntax file
|
||||
" github.com/L2G/vim-syntax-terraform
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syn case match
|
||||
|
||||
syn keyword terraSection connection output provider variable data terraform
|
||||
syn keyword terraValueBool true false on off yes no
|
||||
|
||||
""" data
|
||||
syn keyword terraDataTypeBI
|
||||
\ alicloud_images
|
||||
\ alicloud_instance_types
|
||||
\ alicloud_regions
|
||||
\ alicloud_zones
|
||||
\ archive_file
|
||||
\ atlas_artifact
|
||||
\ aws_acm_certificate
|
||||
\ aws_alb
|
||||
\ aws_alb_listener
|
||||
\ aws_ami
|
||||
\ aws_autoscaling_groups
|
||||
\ aws_availability_zone
|
||||
\ aws_availability_zones
|
||||
\ aws_billing_service_account
|
||||
\ aws_caller_identity
|
||||
\ aws_canonical_user_id
|
||||
\ aws_cloudformation_stack
|
||||
\ aws_db_instance
|
||||
\ aws_ebs_snapshot
|
||||
\ aws_ebs_volume
|
||||
\ aws_ecs_cluster
|
||||
\ aws_ecs_container_definition
|
||||
\ aws_ecs_task_definition
|
||||
\ aws_eip
|
||||
\ aws_elb_hosted_zone_id
|
||||
\ aws_elb_service_account
|
||||
\ aws_iam_account_alias
|
||||
\ aws_iam_policy_document
|
||||
\ aws_iam_role
|
||||
\ aws_iam_server_certificate
|
||||
\ aws_instance
|
||||
\ aws_ip_ranges
|
||||
\ aws_kms_secret
|
||||
\ aws_partition
|
||||
\ aws_prefix_list
|
||||
\ aws_redshift_service_account
|
||||
\ aws_region
|
||||
\ aws_route53_zone
|
||||
\ aws_route_table
|
||||
\ aws_s3_bucket_object
|
||||
\ aws_security_group
|
||||
\ aws_sns_topic
|
||||
\ aws_subnet
|
||||
\ aws_subnet_ids
|
||||
\ aws_vpc
|
||||
\ aws_vpc_endpoint
|
||||
\ aws_vpc_endpoint_service
|
||||
\ aws_vpc_peering_connection
|
||||
\ aws_vpn_gateway
|
||||
\ azurerm_client_config
|
||||
\ circonus_account
|
||||
\ circonus_collector
|
||||
\ consul_agent_self
|
||||
\ consul_catalog_nodes
|
||||
\ consul_catalog_service
|
||||
\ consul_catalog_services
|
||||
\ consul_keys
|
||||
\ dns_a_record_set
|
||||
\ dns_cname_record_set
|
||||
\ dns_txt_record_set
|
||||
\ docker_registry_image
|
||||
\ external
|
||||
\ fastly_ip_ranges
|
||||
\ google_compute_zones
|
||||
\ google_iam_policy
|
||||
\ newrelic_application
|
||||
\ ns1_datasource
|
||||
\ null_data_source
|
||||
\ openstack_images_image_v2
|
||||
\ openstack_networking_network_v2
|
||||
\ opsgenie_user
|
||||
\ pagerduty_escalation_policy
|
||||
\ pagerduty_schedule
|
||||
\ pagerduty_user
|
||||
\ pagerduty_vendor
|
||||
\ profitbricks_datacenter
|
||||
\ profitbricks_image
|
||||
\ profitbricks_location
|
||||
\ scaleway_bootscript
|
||||
\ scaleway_image
|
||||
\ template_cloudinit_config
|
||||
\ template_file
|
||||
\ terraform_remote_state
|
||||
""" end data sources
|
||||
|
||||
""" resource
|
||||
syn keyword terraResourceTypeBI
|
||||
\ alicloud_db_instance
|
||||
\ alicloud_disk
|
||||
\ alicloud_disk_attachment
|
||||
\ alicloud_eip
|
||||
\ alicloud_eip_association
|
||||
\ alicloud_instance
|
||||
\ alicloud_nat_gateway
|
||||
\ alicloud_route_entry
|
||||
\ alicloud_security_group
|
||||
\ alicloud_security_group_rule
|
||||
\ alicloud_slb
|
||||
\ alicloud_slb_attachment
|
||||
\ alicloud_subnet
|
||||
\ alicloud_vpc
|
||||
\ alicloud_vswitch
|
||||
\ arukas_container
|
||||
\ atlas_artifact
|
||||
\ aws_alb
|
||||
\ aws_alb_listener
|
||||
\ 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_domain_name
|
||||
\ 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_resource
|
||||
\ aws_api_gateway_rest_api
|
||||
\ aws_api_gateway_stage
|
||||
\ aws_api_gateway_usage_plan
|
||||
\ aws_api_gateway_usage_plan_key
|
||||
\ aws_app_cookie_stickiness_policy
|
||||
\ aws_appautoscaling_policy
|
||||
\ aws_appautoscaling_target
|
||||
\ aws_autoscaling_attachment
|
||||
\ aws_autoscaling_group
|
||||
\ aws_autoscaling_lifecycle_hook
|
||||
\ aws_autoscaling_notification
|
||||
\ aws_autoscaling_policy
|
||||
\ aws_autoscaling_schedule
|
||||
\ aws_cloudformation_stack
|
||||
\ aws_cloudfront_distribution
|
||||
\ aws_cloudfront_origin_access_identity
|
||||
\ aws_cloudtrail
|
||||
\ 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_stream
|
||||
\ aws_cloudwatch_log_subscription_filter
|
||||
\ aws_cloudwatch_metric_alarm
|
||||
\ aws_codebuild_project
|
||||
\ aws_codecommit_repository
|
||||
\ aws_codecommit_trigger
|
||||
\ aws_codedeploy_app
|
||||
\ aws_codedeploy_deployment_config
|
||||
\ aws_codedeploy_deployment_group
|
||||
\ aws_codepipeline
|
||||
\ aws_config_config_rule
|
||||
\ aws_config_configuration_recorder
|
||||
\ aws_config_configuration_recorder_status
|
||||
\ aws_config_delivery_channel
|
||||
\ aws_customer_gateway
|
||||
\ aws_db_event_subscription
|
||||
\ aws_db_instance
|
||||
\ aws_db_option_group
|
||||
\ aws_db_parameter_group
|
||||
\ aws_db_security_group
|
||||
\ aws_db_subnet_group
|
||||
\ aws_default_network_acl
|
||||
\ aws_default_route_table
|
||||
\ aws_default_security_group
|
||||
\ aws_directory_service_directory
|
||||
\ aws_dms_certificate
|
||||
\ aws_dms_endpoint
|
||||
\ aws_dms_replication_instance
|
||||
\ aws_dms_replication_subnet_group
|
||||
\ aws_dms_replication_task
|
||||
\ aws_dynamodb_table
|
||||
\ aws_ebs_snapshot
|
||||
\ aws_ebs_volume
|
||||
\ 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_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_flow_log
|
||||
\ aws_glacier_vault
|
||||
\ 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_user
|
||||
\ 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_key_pair
|
||||
\ aws_kinesis_firehose_delivery_stream
|
||||
\ aws_kinesis_stream
|
||||
\ aws_kms_alias
|
||||
\ aws_kms_key
|
||||
\ aws_lambda_alias
|
||||
\ aws_lambda_event_source_mapping
|
||||
\ aws_lambda_function
|
||||
\ aws_lambda_permission
|
||||
\ aws_launch_configuration
|
||||
\ aws_lb_cookie_stickiness_policy
|
||||
\ aws_lb_ssl_negotiation_policy
|
||||
\ 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_main_route_table_association
|
||||
\ aws_nat_gateway
|
||||
\ aws_network_acl
|
||||
\ aws_network_acl_rule
|
||||
\ aws_network_interface
|
||||
\ 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_placement_group
|
||||
\ aws_proxy_protocol_policy
|
||||
\ aws_rds_cluster
|
||||
\ aws_rds_cluster_instance
|
||||
\ aws_rds_cluster_parameter_group
|
||||
\ aws_redshift_cluster
|
||||
\ aws_redshift_parameter_group
|
||||
\ aws_redshift_security_group
|
||||
\ aws_redshift_subnet_group
|
||||
\ aws_route
|
||||
\ aws_route53_delegation_set
|
||||
\ aws_route53_health_check
|
||||
\ aws_route53_record
|
||||
\ aws_route53_zone
|
||||
\ aws_route53_zone_association
|
||||
\ aws_route_table
|
||||
\ aws_route_table_association
|
||||
\ aws_s3_bucket
|
||||
\ aws_s3_bucket_notification
|
||||
\ aws_s3_bucket_object
|
||||
\ aws_s3_bucket_policy
|
||||
\ aws_security_group
|
||||
\ aws_security_group_rule
|
||||
\ aws_ses_active_receipt_rule_set
|
||||
\ aws_ses_configuration_set
|
||||
\ aws_ses_domain_identity
|
||||
\ aws_ses_event_destination
|
||||
\ aws_ses_receipt_filter
|
||||
\ aws_ses_receipt_rule
|
||||
\ aws_ses_receipt_rule_set
|
||||
\ aws_sfn_activity
|
||||
\ aws_sfn_state_machine
|
||||
\ aws_simpledb_domain
|
||||
\ aws_snapshot_create_volume_permission
|
||||
\ 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_subnet
|
||||
\ aws_volume_attachment
|
||||
\ aws_vpc
|
||||
\ aws_vpc_dhcp_options
|
||||
\ aws_vpc_dhcp_options_association
|
||||
\ aws_vpc_endpoint
|
||||
\ aws_vpc_endpoint_route_table_association
|
||||
\ aws_vpc_peering_connection
|
||||
\ aws_vpc_peering_connection_accepter
|
||||
\ aws_vpn_connection
|
||||
\ aws_vpn_connection_route
|
||||
\ aws_vpn_gateway
|
||||
\ aws_vpn_gateway_attachment
|
||||
\ aws_waf_byte_match_set
|
||||
\ aws_waf_ipset
|
||||
\ aws_waf_rule
|
||||
\ aws_waf_size_constraint_set
|
||||
\ aws_waf_sql_injection_match_set
|
||||
\ aws_waf_web_acl
|
||||
\ aws_waf_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_availability_set
|
||||
\ azurerm_cdn_endpoint
|
||||
\ azurerm_cdn_profile
|
||||
\ azurerm_container_registry
|
||||
\ azurerm_container_service
|
||||
\ azurerm_dns_a_record
|
||||
\ azurerm_dns_aaaa_record
|
||||
\ azurerm_dns_cname_record
|
||||
\ azurerm_dns_mx_record
|
||||
\ azurerm_dns_ns_record
|
||||
\ azurerm_dns_srv_record
|
||||
\ azurerm_dns_txt_record
|
||||
\ azurerm_dns_zone
|
||||
\ azurerm_eventhub
|
||||
\ azurerm_eventhub_authorization_rule
|
||||
\ azurerm_eventhub_consumer_group
|
||||
\ azurerm_eventhub_namespace
|
||||
\ azurerm_key_vault
|
||||
\ 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_managed_disk
|
||||
\ azurerm_network_interface
|
||||
\ azurerm_network_security_group
|
||||
\ azurerm_network_security_rule
|
||||
\ azurerm_public_ip
|
||||
\ azurerm_redis_cache
|
||||
\ azurerm_resource_group
|
||||
\ azurerm_route
|
||||
\ azurerm_route_table
|
||||
\ azurerm_search_service
|
||||
\ azurerm_servicebus_namespace
|
||||
\ azurerm_servicebus_subscription
|
||||
\ azurerm_servicebus_topic
|
||||
\ azurerm_sql_database
|
||||
\ azurerm_sql_firewall_rule
|
||||
\ azurerm_sql_server
|
||||
\ azurerm_storage_account
|
||||
\ azurerm_storage_blob
|
||||
\ azurerm_storage_container
|
||||
\ azurerm_storage_queue
|
||||
\ azurerm_storage_share
|
||||
\ azurerm_storage_table
|
||||
\ azurerm_subnet
|
||||
\ azurerm_template_deployment
|
||||
\ azurerm_traffic_manager_endpoint
|
||||
\ azurerm_traffic_manager_profile
|
||||
\ azurerm_virtual_machine
|
||||
\ azurerm_virtual_machine_extension
|
||||
\ azurerm_virtual_machine_scale_set
|
||||
\ azurerm_virtual_network
|
||||
\ azurerm_virtual_network_peering
|
||||
\ bitbucket_default_reviewers
|
||||
\ bitbucket_hook
|
||||
\ bitbucket_repository
|
||||
\ 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
|
||||
\ clc_group
|
||||
\ clc_load_balancer
|
||||
\ clc_load_balancer_pool
|
||||
\ clc_public_ip
|
||||
\ clc_server
|
||||
\ cloudflare_record
|
||||
\ 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_snippet
|
||||
\ cobbler_system
|
||||
\ consul_agent_service
|
||||
\ consul_catalog_entry
|
||||
\ consul_key_prefix
|
||||
\ consul_keys
|
||||
\ consul_node
|
||||
\ consul_prepared_query
|
||||
\ consul_service
|
||||
\ datadog_downtime
|
||||
\ datadog_monitor
|
||||
\ datadog_timeboard
|
||||
\ datadog_user
|
||||
\ digitalocean_domain
|
||||
\ digitalocean_droplet
|
||||
\ digitalocean_floating_ip
|
||||
\ digitalocean_loadbalancer
|
||||
\ digitalocean_record
|
||||
\ digitalocean_ssh_key
|
||||
\ digitalocean_tag
|
||||
\ digitalocean_volume
|
||||
\ dme_record
|
||||
\ dns_a_record_set
|
||||
\ dns_aaaa_record_set
|
||||
\ dns_cname_record
|
||||
\ dns_ptr_record
|
||||
\ dnsimple_record
|
||||
\ docker_container
|
||||
\ docker_image
|
||||
\ docker_network
|
||||
\ docker_volume
|
||||
\ dyn_record
|
||||
\ fastly_service_v1
|
||||
\ github_issue_label
|
||||
\ github_membership
|
||||
\ github_organization_webhook
|
||||
\ github_repository
|
||||
\ github_repository_collaborator
|
||||
\ github_repository_webhook
|
||||
\ github_team
|
||||
\ github_team_membership
|
||||
\ github_team_repository
|
||||
\ google_compute_address
|
||||
\ google_compute_autoscaler
|
||||
\ 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_group
|
||||
\ google_compute_instance_group_manager
|
||||
\ google_compute_instance_template
|
||||
\ google_compute_network
|
||||
\ google_compute_project_metadata
|
||||
\ google_compute_region_backend_service
|
||||
\ google_compute_route
|
||||
\ google_compute_ssl_certificate
|
||||
\ google_compute_subnetwork
|
||||
\ google_compute_target_http_proxy
|
||||
\ google_compute_target_https_proxy
|
||||
\ google_compute_target_pool
|
||||
\ google_compute_url_map
|
||||
\ google_compute_vpn_gateway
|
||||
\ google_compute_vpn_tunnel
|
||||
\ google_container_cluster
|
||||
\ google_container_node_pool
|
||||
\ google_dns_managed_zone
|
||||
\ google_dns_record_set
|
||||
\ google_project
|
||||
\ google_project_iam_policy
|
||||
\ google_project_services
|
||||
\ google_pubsub_subscription
|
||||
\ google_pubsub_topic
|
||||
\ google_service_account
|
||||
\ google_sql_database
|
||||
\ google_sql_database_instance
|
||||
\ google_sql_user
|
||||
\ google_storage_bucket
|
||||
\ google_storage_bucket_acl
|
||||
\ google_storage_bucket_object
|
||||
\ google_storage_object_acl
|
||||
\ heroku_addon
|
||||
\ heroku_app
|
||||
\ heroku_cert
|
||||
\ heroku_domain
|
||||
\ heroku_drain
|
||||
\ icinga2_checkcommand
|
||||
\ icinga2_host
|
||||
\ icinga2_hostgroup
|
||||
\ icinga2_service
|
||||
\ ignition_config
|
||||
\ ignition_disk
|
||||
\ ignition_file
|
||||
\ ignition_filesystem
|
||||
\ ignition_group
|
||||
\ ignition_networkd_unit
|
||||
\ ignition_raid
|
||||
\ ignition_systemd_unit
|
||||
\ ignition_user
|
||||
\ influxdb_continuous_query
|
||||
\ influxdb_database
|
||||
\ influxdb_user
|
||||
\ kubernetes_config_map
|
||||
\ kubernetes_namespace
|
||||
\ kubernetes_persistent_volume
|
||||
\ kubernetes_persistent_volume_claim
|
||||
\ kubernetes_secret
|
||||
\ librato_alert
|
||||
\ librato_service
|
||||
\ librato_space
|
||||
\ librato_space_chart
|
||||
\ logentries_log
|
||||
\ logentries_logset
|
||||
\ mailgun_domain
|
||||
\ mysql_database
|
||||
\ mysql_grant
|
||||
\ mysql_user
|
||||
\ newrelic_alert_channel
|
||||
\ newrelic_alert_condition
|
||||
\ newrelic_alert_policy
|
||||
\ newrelic_alert_policy_channel
|
||||
\ nomad_job
|
||||
\ null_resource
|
||||
\ openstack_blockstorage_volume_attach_v2
|
||||
\ openstack_blockstorage_volume_v1
|
||||
\ openstack_blockstorage_volume_v2
|
||||
\ openstack_compute_floatingip_associate_v2
|
||||
\ openstack_compute_floatingip_v2
|
||||
\ openstack_compute_instance_v2
|
||||
\ openstack_compute_keypair_v2
|
||||
\ openstack_compute_secgroup_v2
|
||||
\ openstack_compute_servergroup_v2
|
||||
\ openstack_compute_volume_attach_v2
|
||||
\ openstack_fw_firewall_v1
|
||||
\ openstack_fw_policy_v1
|
||||
\ openstack_fw_rule_v1
|
||||
\ openstack_images_image_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_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_v2
|
||||
\ openstack_objectstorage_container_v1
|
||||
\ opsgenie_team
|
||||
\ opsgenie_user
|
||||
\ packet_device
|
||||
\ packet_project
|
||||
\ packet_ssh_key
|
||||
\ packet_volume
|
||||
\ pagerduty_addon
|
||||
\ pagerduty_escalation_policy
|
||||
\ pagerduty_schedule
|
||||
\ pagerduty_service
|
||||
\ pagerduty_service_integration
|
||||
\ pagerduty_team
|
||||
\ pagerduty_user
|
||||
\ postgresql_database
|
||||
\ postgresql_extension
|
||||
\ postgresql_role
|
||||
\ postgresql_schema
|
||||
\ powerdns_record
|
||||
\ profitbricks_datacenter
|
||||
\ profitbricks_firewall
|
||||
\ profitbricks_ipblock
|
||||
\ profitbricks_lan
|
||||
\ profitbricks_loadbalancer
|
||||
\ profitbricks_nic
|
||||
\ profitbricks_server
|
||||
\ 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_stack
|
||||
\ random_id
|
||||
\ random_pet
|
||||
\ random_shuffle
|
||||
\ rundeck_job
|
||||
\ rundeck_private_key
|
||||
\ rundeck_project
|
||||
\ rundeck_public_key
|
||||
\ scaleway_ip
|
||||
\ scaleway_security_group
|
||||
\ scaleway_security_group_rule
|
||||
\ scaleway_server
|
||||
\ scaleway_volume
|
||||
\ scaleway_volume_attachment
|
||||
\ softlayer_ssh_key
|
||||
\ softlayer_virtual_guest
|
||||
\ spotinst_aws_group
|
||||
\ spotinst_healthcheck
|
||||
\ spotinst_subscription
|
||||
\ statuscake_test
|
||||
\ tls_cert_request
|
||||
\ tls_locally_signed_cert
|
||||
\ tls_private_key
|
||||
\ tls_self_signed_cert
|
||||
\ triton_fabric
|
||||
\ triton_firewall_rule
|
||||
\ triton_key
|
||||
\ triton_machine
|
||||
\ triton_vlan
|
||||
\ ultradns_dirpool
|
||||
\ ultradns_probe_http
|
||||
\ ultradns_probe_ping
|
||||
\ ultradns_record
|
||||
\ ultradns_tcpool
|
||||
\ vcd_dnat
|
||||
\ vcd_firewall_rules
|
||||
\ vcd_network
|
||||
\ vcd_snat
|
||||
\ vcd_vapp
|
||||
\ vsphere_file
|
||||
\ vsphere_folder
|
||||
\ vsphere_virtual_disk
|
||||
\ vsphere_virtual_machine
|
||||
""" 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 /\<resource\>/ nextgroup=terraResourceTypeStr skipwhite
|
||||
syn region terraResourceTypeStr start=/"/ end=/"/ contains=terraResourceTypeBI
|
||||
\ nextgroup=terraResourceName skipwhite
|
||||
syn region terraResourceName start=/"/ end=/"/
|
||||
\ nextgroup=terraResourceBlock skipwhite
|
||||
|
||||
syn match terraData /\<data\>/ 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 /\<provider\>/ nextgroup=terraProviderName skipwhite
|
||||
syn region terraProviderName start=/"/ end=/"/ nextgroup=terraProviderBlock skipwhite
|
||||
|
||||
""" provisioner
|
||||
syn match terraProvisioner /\<provisioner\>/ nextgroup=terraProvisionerName skipwhite
|
||||
syn region terraProvisionerName start=/"/ end=/"/ nextgroup=terraProvisionerBlock skipwhite
|
||||
|
||||
""" module
|
||||
syn match terraModule /\<module\>/ 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 contained
|
||||
"" TODO match keywords here, not a-z+
|
||||
syn region terraValueFunction matchgroup=terraBrackets start=/[0-9a-z]\+(/ end=/)/ contains=terraValueString,terraValueFunction contained
|
||||
|
||||
hi def link terraComment Comment
|
||||
hi def link terraTodo Todo
|
||||
hi def link terraBrackets Operator
|
||||
hi def link terraProvider Structure
|
||||
hi def link terraBraces Delimiter
|
||||
hi def link terraProviderName String
|
||||
hi def link terraResource Structure
|
||||
hi def link terraResourceName String
|
||||
hi def link terraResourceTypeBI Tag
|
||||
hi def link terraResourceTypeStr String
|
||||
hi def link terraData Structure
|
||||
hi def link terraDataName String
|
||||
hi def link terraDataTypeBI Tag
|
||||
hi def link terraDataTypeStr String
|
||||
hi def link terraSection Structure
|
||||
hi def link terraStringInterp Identifier
|
||||
hi def link terraValueBool Boolean
|
||||
hi def link terraValueDec Number
|
||||
hi def link terraValueHexaDec Number
|
||||
hi def link terraValueString String
|
||||
hi def link terraProvisioner Structure
|
||||
hi def link terraProvisionerName String
|
||||
hi def link terraModule Structure
|
||||
hi def link terraModuleName String
|
||||
hi def link terraValueFunction Identifier
|
||||
|
||||
let b:current_syntax = "terraform"
|
49
.vim/bundle/vim-terraform/update_automagic.sh
Executable file
49
.vim/bundle/vim-terraform/update_automagic.sh
Executable file
|
@ -0,0 +1,49 @@
|
|||
#!/bin/bash
|
||||
VERSION=$1
|
||||
|
||||
function usage {
|
||||
echo -e "
|
||||
USAGE EXAMPLES:
|
||||
|
||||
./$(basename $0) 0.8.7
|
||||
./$(basename $0) 0.9.2
|
||||
"
|
||||
}
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
EXISTING_TF_VERSION=$(terraform version | head -n1 | sed -e 's/Terraform//gI' -e 's/v//gI' -e 's/[[:space:]]//g')
|
||||
|
||||
if [ "${EXISTING_TF_VERSION}" != "${VERSION}" ]; then
|
||||
echo "-) You are trying to update this script for terraform ${VERSION} while you have"
|
||||
echo " terraform ${EXISTING_TF_VERSION} installed at $(which terraform)."
|
||||
echo " Please update your local terraform before using this script."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "+) Acquiring terraform-${VERSION}"
|
||||
wget https://github.com/hashicorp/terraform/archive/v${VERSION}.tar.gz
|
||||
|
||||
echo "+) Extracting terraform-${VERSION}.tar.gz"
|
||||
tar zxf v${VERSION}.tar.gz
|
||||
|
||||
echo "+) Running update_commands.rb"
|
||||
./update_commands.rb
|
||||
|
||||
echo "+) Running update_data_sources.rb"
|
||||
./update_data_sources.rb terraform-${VERSION}/
|
||||
|
||||
echo "+) Running update_syntax.rb"
|
||||
./update_syntax.rb terraform-${VERSION}/
|
||||
|
||||
echo "+) Updating the badge in the README.md"
|
||||
sed -i "/img.shields.io/c\[\](https://github.com/hashicorp/terraform/blob/v${VERSION}/CHANGELOG.md)" README.md
|
||||
|
||||
echo "+) Cleaning up after ourselves"
|
||||
rm -f v${VERSION}.tar.gz
|
||||
rm -rf terraform-${VERSION}
|
||||
|
||||
git status
|
36
.vim/bundle/vim-terraform/update_commands.rb
Executable file
36
.vim/bundle/vim-terraform/update_commands.rb
Executable file
|
@ -0,0 +1,36 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
# Use this script to update the commands auto-completed in plugin/terraform.vim.
|
||||
|
||||
require 'open3'
|
||||
|
||||
command_re = /^\s\s\s\s(\S+)/
|
||||
plugin_file = 'plugin/terraform.vim'
|
||||
|
||||
# Create the list of commands.
|
||||
stdout, stderr, _status = Open3.capture3('terraform list-commands')
|
||||
output = if stderr == ''
|
||||
stdout.split("\n")
|
||||
else
|
||||
stderr.split("\n")
|
||||
end
|
||||
commands = output.collect do |l|
|
||||
match = command_re.match(l)
|
||||
" \\ \"#{match[1]}\"" if match
|
||||
end.reject(&:nil?).join(",\n")
|
||||
|
||||
# Read in the existing plugin file.
|
||||
plugin = File.open(plugin_file, 'r').readlines
|
||||
|
||||
# Replace the terraResourceTypeBI lines with our new list.
|
||||
first = plugin.index { |l| /^ return join\(\[/.match(l) } + 1
|
||||
last = plugin.index { |l| /^ \\ \], "\\n"\)/.match(l) }
|
||||
plugin.slice!(first, last - first)
|
||||
commands.split("\n").reverse_each do |r|
|
||||
plugin.insert(first, r)
|
||||
end
|
||||
|
||||
# Write the plugin file back out.
|
||||
File.open(plugin_file, 'w') do |f|
|
||||
f.puts plugin
|
||||
end
|
36
.vim/bundle/vim-terraform/update_data_sources.rb
Executable file
36
.vim/bundle/vim-terraform/update_data_sources.rb
Executable file
|
@ -0,0 +1,36 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
# Use this script to update the resources recognized in syntax/terraform.vim.
|
||||
# You'll need a current checkout of the Terraform source.
|
||||
|
||||
resource_declaration = /"(.*)":.*dataSource.*\(\),$/
|
||||
syntax_file = 'syntax/terraform.vim'
|
||||
|
||||
# Specify the location of the Terraform source as the only argument to this
|
||||
# script.
|
||||
raise 'Please specify the location of the Terraform source.' if ARGV.empty?
|
||||
|
||||
# Create the list of resources.
|
||||
provider_files = Dir.glob("#{ARGV[0]}/builtin/providers/*/*provider.go")
|
||||
resources = provider_files.collect do |f|
|
||||
File.open(f, 'r').readlines.collect do |l|
|
||||
match = resource_declaration.match(l)
|
||||
" \\ #{match[1]}\n" if match
|
||||
end.reject(&:nil?)
|
||||
end.flatten.sort.uniq
|
||||
|
||||
# Read in the existing syntax file.
|
||||
syntax = File.open(syntax_file, 'r').readlines
|
||||
|
||||
# Replace the terraResourceTypeBI lines with our new list.
|
||||
first = syntax.index { |l| /^syn keyword terraDataTypeBI/.match(l) } + 1
|
||||
last = syntax.index { |l| /^""" end data sources/.match(l) }
|
||||
syntax.slice!(first, last - first)
|
||||
resources.reverse_each do |r|
|
||||
syntax.insert(first, r)
|
||||
end
|
||||
|
||||
# Write the syntax file back out.
|
||||
File.open(syntax_file, 'w') do |f|
|
||||
f.puts syntax
|
||||
end
|
36
.vim/bundle/vim-terraform/update_syntax.rb
Executable file
36
.vim/bundle/vim-terraform/update_syntax.rb
Executable file
|
@ -0,0 +1,36 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
# Use this script to update the resources recognized in syntax/terraform.vim.
|
||||
# You'll need a current checkout of the Terraform source.
|
||||
|
||||
resource_declaration = /"(.*)":.*resource.*\(\),$/
|
||||
syntax_file = 'syntax/terraform.vim'
|
||||
|
||||
# Specify the location of the Terraform source as the only argument to this
|
||||
# script.
|
||||
raise 'Please specify the location of the Terraform source.' if ARGV.empty?
|
||||
|
||||
# Create the list of resources.
|
||||
provider_files = Dir.glob("#{ARGV[0]}/builtin/providers/*/*provider.go")
|
||||
resources = provider_files.collect do |f|
|
||||
File.open(f, 'r').readlines.collect do |l|
|
||||
match = resource_declaration.match(l)
|
||||
" \\ #{match[1]}\n" if match
|
||||
end.reject(&:nil?)
|
||||
end.flatten.sort
|
||||
|
||||
# Read in the existing syntax file.
|
||||
syntax = File.open(syntax_file, 'r').readlines
|
||||
|
||||
# Replace the terraResourceTypeBI lines with our new list.
|
||||
first = syntax.index { |l| /^syn keyword terraResourceTypeBI/.match(l) } + 1
|
||||
last = syntax.index { |l| /^""" end resources/.match(l) }
|
||||
syntax.slice!(first, last - first)
|
||||
resources.reverse_each do |r|
|
||||
syntax.insert(first, r)
|
||||
end
|
||||
|
||||
# Write the syntax file back out.
|
||||
File.open(syntax_file, 'w') do |f|
|
||||
f.puts syntax
|
||||
end
|
7
.vimrc
7
.vimrc
|
@ -274,3 +274,10 @@ let g:typescript_compiler_binary = 'tsc'
|
|||
let g:typescript_compiler_options = ''
|
||||
|
||||
au FileType typescript :set makeprg=tsc
|
||||
|
||||
" ======================
|
||||
" terraform
|
||||
" ======================
|
||||
let g:terraform_align=1
|
||||
|
||||
au FileType terraform setlocal commentstring=#%s
|
||||
|
|
Loading…
Add table
Reference in a new issue