master 125d0e892f5f cached
1379 files
100.0 MB
26.3M tokens
21 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (105,154K chars total). Download the full file to get everything.
Repository: juliosueiras/vim-terraform-completion
Branch: master
Commit: 125d0e892f5f
Files: 1379
Total size: 100.0 MB

Directory structure:
gitextract_vuj6chnl/

├── .gitignore
├── .gitmodules
├── .tfcompleterc
├── .travis.yml
├── CHANGELOG.md
├── COMMUNITY_PROVIDER_VERSIONS.md
├── CONTRIBUTORS.md
├── CUSTOM_PROVIDER.md
├── DEMO.md
├── Dockerfile
├── Dockerfile_base
├── Gemfile
├── LICENSE.md
├── PROVIDER_VERSIONS.md
├── README.md
├── addon-info.json
├── autoload/
│   └── terraformcomplete.vim
├── check_new_provider
├── community/
│   ├── backup_community.json
│   ├── community-index.html
│   ├── community.json
│   ├── schemas.rb
│   └── test.rb
├── community_provider_json/
│   ├── acme/
│   │   ├── master/
│   │   │   └── acme.json
│   │   ├── v0.3.0/
│   │   │   └── acme.json
│   │   ├── v0.4.0/
│   │   │   └── acme.json
│   │   └── v0.5.0/
│   │       └── acme.json
│   ├── ad/
│   │   └── master/
│   │       └── ad.json
│   ├── akamai/
│   │   └── master/
│   │       └── akamai.json
│   ├── apigee/
│   │   ├── master/
│   │   │   └── apigee.json
│   │   ├── v0.0.1/
│   │   │   └── apigee.json
│   │   └── v0.0.9/
│   │       └── apigee.json
│   ├── artifactory/
│   │   ├── v0.0.1/
│   │   │   └── artifactory.json
│   │   ├── v0.0.2/
│   │   │   └── artifactory.json
│   │   ├── v1.0.1/
│   │   │   └── artifactory.json
│   │   ├── v1.1.0/
│   │   │   └── artifactory.json
│   │   ├── v1.2.0/
│   │   │   └── artifactory.json
│   │   ├── v1.2.1/
│   │   │   └── artifactory.json
│   │   ├── v1.2.2/
│   │   │   └── artifactory.json
│   │   └── v1.2.3/
│   │       └── artifactory.json
│   ├── avi/
│   │   ├── 17.2.9/
│   │   │   └── avi.json
│   │   └── master/
│   │       └── avi.json
│   ├── aviatrix/
│   │   └── master/
│   │       └── aviatrix.json
│   ├── cloudamqp/
│   │   └── master/
│   │       └── cloudamqp.json
│   ├── cloudkarafka/
│   │   └── master/
│   │       └── cloudkarafka.json
│   ├── cloudmqtt/
│   │   └── master/
│   │       └── cloudmqtt.json
│   ├── concourse/
│   │   └── master/
│   │       └── concourse.json
│   ├── couchdb/
│   │   └── master/
│   │       └── couchdb.json
│   ├── ct/
│   │   └── v0.3.0/
│   │       └── ct.json
│   ├── dockermachine/
│   │   ├── 0.1.4/
│   │   │   └── dockermachine.json
│   │   └── master/
│   │       └── dockermachine.json
│   ├── dominos/
│   │   └── master/
│   │       └── dominos.json
│   ├── drp/
│   │   ├── v0.0.1/
│   │   │   └── drp.json
│   │   ├── v0.7.0/
│   │   │   └── drp.json
│   │   ├── v0.7.1/
│   │   │   └── drp.json
│   │   ├── v0.7.2/
│   │   │   └── drp.json
│   │   ├── v0.7.3/
│   │   │   └── drp.json
│   │   ├── v0.7.4/
│   │   │   └── drp.json
│   │   ├── v0.7.5/
│   │   │   └── drp.json
│   │   ├── v0.7.6/
│   │   │   └── drp.json
│   │   ├── v0.7.7/
│   │   │   └── drp.json
│   │   └── v0.7.8/
│   │       └── drp.json
│   ├── esxi/
│   │   └── master/
│   │       └── esxi.json
│   ├── filesystem/
│   │   └── master/
│   │       └── filesystem.json
│   ├── gandi/
│   │   └── master/
│   │       └── gandi.json
│   ├── glue/
│   │   └── master/
│   │       └── glue.json
│   ├── gocd/
│   │   ├── 0.1.21/
│   │   │   └── gocd.json
│   │   └── master/
│   │       └── gocd.json
│   ├── googlecalendar/
│   │   ├── master/
│   │   │   └── googlecalendar.json
│   │   └── v0.1.0/
│   │       └── googlecalendar.json
│   ├── gsuite/
│   │   ├── master/
│   │   │   └── gsuite.json
│   │   ├── v0.1.0/
│   │   │   └── gsuite.json
│   │   ├── v0.1.1/
│   │   │   └── gsuite.json
│   │   ├── v0.1.2/
│   │   │   └── gsuite.json
│   │   ├── v0.1.3/
│   │   │   └── gsuite.json
│   │   ├── v0.1.4/
│   │   │   └── gsuite.json
│   │   ├── v0.1.5/
│   │   │   └── gsuite.json
│   │   └── v0.1.7/
│   │       └── gsuite.json
│   ├── hcloud/
│   │   ├── master/
│   │   │   └── hcloud.json
│   │   ├── v1.0.0/
│   │   │   └── hcloud.json
│   │   └── v1.1.0/
│   │       └── hcloud.json
│   ├── helm/
│   │   ├── master/
│   │   │   └── helm.json
│   │   ├── v0.1.0/
│   │   │   └── helm.json
│   │   ├── v0.2.0/
│   │   │   └── helm.json
│   │   ├── v0.3.0/
│   │   │   └── helm.json
│   │   ├── v0.3.1/
│   │   │   └── helm.json
│   │   ├── v0.3.2/
│   │   │   └── helm.json
│   │   ├── v0.4.0/
│   │   │   └── helm.json
│   │   ├── v0.5.0/
│   │   │   └── helm.json
│   │   └── v0.5.1/
│   │       └── helm.json
│   ├── hiera/
│   │   └── v.0.1.0/
│   │       └── hiera.json
│   ├── httpfileupload/
│   │   └── master/
│   │       └── httpfileupload.json
│   ├── ibm/
│   │   ├── v0.10.0/
│   │   │   └── ibm.json
│   │   ├── v0.12.0/
│   │   │   └── ibm.json
│   │   ├── v0.4.0/
│   │   │   └── ibm.json
│   │   ├── v0.5.0/
│   │   │   └── ibm.json
│   │   ├── v0.5.1/
│   │   │   └── ibm.json
│   │   ├── v0.6.0/
│   │   │   └── ibm.json
│   │   ├── v0.7.0/
│   │   │   └── ibm.json
│   │   ├── v0.8.0/
│   │   │   └── ibm.json
│   │   ├── v0.9.0/
│   │   │   └── ibm.json
│   │   └── v0.9.1/
│   │       └── ibm.json
│   ├── infoblox/
│   │   ├── 0.1.11/
│   │   │   └── infoblox.json
│   │   └── master/
│   │       └── infoblox.json
│   ├── jira/
│   │   ├── 0.1.0/
│   │   │   └── jira.json
│   │   └── master/
│   │       └── jira.json
│   ├── kafka/
│   │   ├── master/
│   │   │   └── kafka.json
│   │   ├── v0.1.0/
│   │   │   └── kafka.json
│   │   └── v0.1.1/
│   │       └── kafka.json
│   ├── keboola/
│   │   └── master/
│   │       └── keboola.json
│   ├── kibana/
│   │   ├── master/
│   │   │   └── kibana.json
│   │   ├── v0.1.0/
│   │   │   └── kibana.json
│   │   ├── v0.1.1/
│   │   │   └── kibana.json
│   │   ├── v0.1.2/
│   │   │   └── kibana.json
│   │   ├── v0.2.0/
│   │   │   └── kibana.json
│   │   ├── v0.3.0/
│   │   │   └── kibana.json
│   │   ├── v0.4.0/
│   │   │   └── kibana.json
│   │   ├── v0.5.0/
│   │   │   └── kibana.json
│   │   ├── v0.5.1/
│   │   │   └── kibana.json
│   │   └── v0.6.0/
│   │       └── kibana.json
│   ├── kong/
│   │   ├── master/
│   │   │   └── kong.json
│   │   ├── v0.1.0/
│   │   │   └── kong.json
│   │   ├── v0.10.0/
│   │   │   └── kong.json
│   │   ├── v0.11.0/
│   │   │   └── kong.json
│   │   ├── v0.12.0/
│   │   │   └── kong.json
│   │   ├── v0.13.0/
│   │   │   └── kong.json
│   │   ├── v0.14.0/
│   │   │   └── kong.json
│   │   ├── v0.2.0/
│   │   │   └── kong.json
│   │   ├── v0.3.0/
│   │   │   └── kong.json
│   │   ├── v0.4.0/
│   │   │   └── kong.json
│   │   ├── v0.5.0/
│   │   │   └── kong.json
│   │   ├── v0.6.0/
│   │   │   └── kong.json
│   │   ├── v0.7.0/
│   │   │   └── kong.json
│   │   ├── v0.8.0/
│   │   │   └── kong.json
│   │   ├── v0.9.0/
│   │   │   └── kong.json
│   │   ├── v1.1.0/
│   │   │   └── kong.json
│   │   └── v1.5.0/
│   │       └── kong.json
│   ├── kubernetes/
│   │   └── sl1pm4t/
│   │       └── kubernetes.json
│   ├── lxd/
│   │   ├── v1.0.0/
│   │   │   └── lxd.json
│   │   ├── v1.1.0/
│   │   │   └── lxd.json
│   │   └── v1.1.1/
│   │       └── lxd.json
│   ├── matchbox/
│   │   ├── master/
│   │   │   └── matchbox.json
│   │   ├── v0.1.0/
│   │   │   └── matchbox.json
│   │   ├── v0.1.1/
│   │   │   └── matchbox.json
│   │   ├── v0.1.2/
│   │   │   └── matchbox.json
│   │   ├── v0.2.0/
│   │   │   └── matchbox.json
│   │   ├── v0.2.1/
│   │   │   └── matchbox.json
│   │   └── v0.2.2/
│   │       └── matchbox.json
│   ├── minikube/
│   │   └── master/
│   │       └── minikube.json
│   ├── mongodbatlas/
│   │   ├── master/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.0.1/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.0.2/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.1.0/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.2.0/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.2.1/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.2.2/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.4.2/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.4.3/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.4.4/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.4.5/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.5.0/
│   │   │   └── mongodbatlas.json
│   │   └── v0.6.1/
│   │       └── mongodbatlas.json
│   ├── netlify/
│   │   └── master/
│   │       └── netlify.json
│   ├── nifi/
│   │   └── develop/
│   │       └── nifi.json
│   ├── nutanix/
│   │   └── master/
│   │       └── nutanix.json
│   ├── odl/
│   │   └── master/
│   │       └── odl.json
│   ├── oneview/
│   │   └── master/
│   │       └── oneview.json
│   ├── packer/
│   │   ├── 0.1.0/
│   │   │   └── packer.json
│   │   ├── master/
│   │   │   └── packer.json
│   │   └── vsphere/
│   │       └── packer.json
│   ├── pass/
│   │   ├── 1.0.1/
│   │   │   └── pass.json
│   │   └── master/
│   │       └── pass.json
│   ├── puppetca/
│   │   ├── 1.0.1/
│   │   │   └── puppetca.json
│   │   └── master/
│   │       └── puppetca.json
│   ├── puppetdb/
│   │   ├── 0.1.1/
│   │   │   └── puppetdb.json
│   │   └── master/
│   │       └── puppetdb.json
│   ├── qingcloud/
│   │   ├── master/
│   │   │   └── qingcloud.json
│   │   ├── v1.0.0/
│   │   │   └── qingcloud.json
│   │   ├── v1.0.1/
│   │   │   └── qingcloud.json
│   │   ├── v1.1/
│   │   │   └── qingcloud.json
│   │   ├── v1.2.0/
│   │   │   └── qingcloud.json
│   │   ├── v1.2.1/
│   │   │   └── qingcloud.json
│   │   └── v1.2.2/
│   │       └── qingcloud.json
│   ├── razor/
│   │   └── master/
│   │       └── razor.json
│   ├── redshift/
│   │   └── master/
│   │       └── redshift.json
│   ├── restapi/
│   │   ├── master/
│   │   │   └── restapi.json
│   │   └── v0.1.0/
│   │       └── restapi.json
│   ├── rke/
│   │   ├── 0.2.0/
│   │   │   └── rke.json
│   │   ├── 0.3.4/
│   │   │   └── rke.json
│   │   └── master/
│   │       └── rke.json
│   ├── runscope/
│   │   ├── master/
│   │   │   └── runscope.json
│   │   ├── v0.5.6/
│   │   │   └── runscope.json
│   │   └── v0.5.7/
│   │       └── runscope.json
│   ├── sakuracloud/
│   │   ├── master/
│   │   │   └── sakuracloud.json
│   │   ├── v1.0.0/
│   │   │   └── sakuracloud.json
│   │   ├── v1.0.1/
│   │   │   └── sakuracloud.json
│   │   ├── v1.0.2/
│   │   │   └── sakuracloud.json
│   │   ├── v1.0.3/
│   │   │   └── sakuracloud.json
│   │   ├── v1.0.4/
│   │   │   └── sakuracloud.json
│   │   ├── v1.0.5/
│   │   │   └── sakuracloud.json
│   │   ├── v1.1.0/
│   │   │   └── sakuracloud.json
│   │   ├── v1.1.1/
│   │   │   └── sakuracloud.json
│   │   ├── v1.1.2/
│   │   │   └── sakuracloud.json
│   │   └── v1.3.2/
│   │       └── sakuracloud.json
│   ├── scvmm/
│   │   └── master/
│   │       └── scvmm.json
│   ├── sentry/
│   │   ├── master/
│   │   │   └── sentry.json
│   │   ├── v0.2.0/
│   │   │   └── sentry.json
│   │   ├── v0.3.0/
│   │   │   └── sentry.json
│   │   ├── v0.3.1/
│   │   │   └── sentry.json
│   │   └── v0.4.0/
│   │       └── sentry.json
│   ├── servicenow/
│   │   └── master/
│   │       └── servicenow.json
│   ├── signalform/
│   │   ├── v1.0/
│   │   │   └── signalform.json
│   │   ├── v1.1/
│   │   │   └── signalform.json
│   │   ├── v1.2/
│   │   │   └── signalform.json
│   │   ├── v1.3/
│   │   │   └── signalform.json
│   │   ├── v1.4/
│   │   │   └── signalform.json
│   │   ├── v1.5/
│   │   │   └── signalform.json
│   │   ├── v1.6/
│   │   │   └── signalform.json
│   │   ├── v1.7/
│   │   │   └── signalform.json
│   │   ├── v1.8/
│   │   │   └── signalform.json
│   │   ├── v1.9/
│   │   │   └── signalform.json
│   │   └── v1.9.1/
│   │       └── signalform.json
│   ├── stateful/
│   │   └── v1.0.0/
│   │       └── stateful.json
│   ├── vra/
│   │   └── master/
│   │       └── vra.json
│   └── windns/
│       └── v0.2.0/
│           └── windns.json
├── ctags/
│   └── terraform.ctags
├── dicts/
│   ├── provider_acme.dicts
│   ├── provider_alicloud.dicts
│   ├── provider_archive.dicts
│   ├── provider_arukas.dicts
│   ├── provider_atlas.dicts
│   ├── provider_aws.dicts
│   ├── provider_azure.dicts
│   ├── provider_azuread.dicts
│   ├── provider_azurerm.dicts
│   ├── provider_azurestack.dicts
│   ├── provider_bigip.dicts
│   ├── provider_bitbucket.dicts
│   ├── provider_brightbox.dicts
│   ├── provider_chef.dicts
│   ├── provider_circonus.dicts
│   ├── provider_clc.dicts
│   ├── provider_cloudflare.dicts
│   ├── provider_cloudscale.dicts
│   ├── provider_cloudstack.dicts
│   ├── provider_cobbler.dicts
│   ├── provider_consul.dicts
│   ├── provider_datadog.dicts
│   ├── provider_digitalocean.dicts
│   ├── provider_dme.dicts
│   ├── provider_dns.dicts
│   ├── provider_dnsimple.dicts
│   ├── provider_docker.dicts
│   ├── provider_dyn.dicts
│   ├── provider_external.dicts
│   ├── provider_fastly.dicts
│   ├── provider_flexibleengine.dicts
│   ├── provider_github.dicts
│   ├── provider_gitlab.dicts
│   ├── provider_google.dicts
│   ├── provider_grafana.dicts
│   ├── provider_hcloud.dicts
│   ├── provider_hedvig.dicts
│   ├── provider_helm.dicts
│   ├── provider_heroku.dicts
│   ├── provider_http.dicts
│   ├── provider_huaweicloud.dicts
│   ├── provider_icinga2.dicts
│   ├── provider_ignition.dicts
│   ├── provider_influxdb.dicts
│   ├── provider_kubernetes.dicts
│   ├── provider_librato.dicts
│   ├── provider_linode.dicts
│   ├── provider_local.dicts
│   ├── provider_logentries.dicts
│   ├── provider_logicmonitor.dicts
│   ├── provider_mailgun.dicts
│   ├── provider_mysql.dicts
│   ├── provider_netlify.dicts
│   ├── provider_newrelic.dicts
│   ├── provider_nomad.dicts
│   ├── provider_ns1.dicts
│   ├── provider_nsxt.dicts
│   ├── provider_null.dicts
│   ├── provider_nutanix.dicts
│   ├── provider_oci.dicts
│   ├── provider_oneandone.dicts
│   ├── provider_opc.dicts
│   ├── provider_openstack.dicts
│   ├── provider_opentelekomcloud.dicts
│   ├── provider_opsgenie.dicts
│   ├── provider_oraclepaas.dicts
│   ├── provider_ovh.dicts
│   ├── provider_packet.dicts
│   ├── provider_pagerduty.dicts
│   ├── provider_panos.dicts
│   ├── provider_postgresql.dicts
│   ├── provider_powerdns.dicts
│   ├── provider_profitbricks.dicts
│   ├── provider_rabbitmq.dicts
│   ├── provider_rancher.dicts
│   ├── provider_random.dicts
│   ├── provider_rightscale.dicts
│   ├── provider_rundeck.dicts
│   ├── provider_runscope.dicts
│   ├── provider_scaleway.dicts
│   ├── provider_selvpc.dicts
│   ├── provider_skytap.dicts
│   ├── provider_softlayer.dicts
│   ├── provider_spotinst.dicts
│   ├── provider_statuscake.dicts
│   ├── provider_telefonicaopencloud.dicts
│   ├── provider_template.dicts
│   ├── provider_tencentcloud.dicts
│   ├── provider_terraform.dicts
│   ├── provider_tfe.dicts
│   ├── provider_tls.dicts
│   ├── provider_triton.dicts
│   ├── provider_ucloud.dicts
│   ├── provider_ultradns.dicts
│   ├── provider_vault.dicts
│   ├── provider_vcd.dicts
│   ├── provider_vsphere.dicts
│   ├── terraform_snippets_dict
│   └── tfcompleterc_dict
├── dissect.rb
├── doc/
│   └── vim-terraform-completion.txt
├── example.vimrc
├── extra_json/
│   ├── base.json
│   └── functions.json
├── ftdetect/
│   └── tfcompleterc.vim
├── ftplugin/
│   ├── terraform/
│   │   └── completion.vim
│   ├── terraform_tagbar.vim
│   └── tfcompleterc.vim
├── generate-schema/
│   └── generate-schema.go
├── generate_provider_snippets.rb
├── generate_snippets.rb
├── get_all_version_schema.rb
├── module.rb
├── provider_json/
│   ├── acme/
│   │   ├── 1.0.1/
│   │   │   └── acme.json
│   │   ├── 1.1.0/
│   │   │   └── acme.json
│   │   ├── 1.1.1/
│   │   │   └── acme.json
│   │   ├── 1.3.1/
│   │   │   └── acme.json
│   │   └── 1.3.4/
│   │       └── acme.json
│   ├── alicloud/
│   │   ├── 0.1.0/
│   │   │   └── alicloud.json
│   │   ├── 0.1.1/
│   │   │   └── alicloud.json
│   │   ├── 1.10.0/
│   │   │   └── alicloud.json
│   │   ├── 1.11.0/
│   │   │   └── alicloud.json
│   │   ├── 1.12.0/
│   │   │   └── alicloud.json
│   │   ├── 1.13.0/
│   │   │   └── alicloud.json
│   │   ├── 1.14.0/
│   │   │   └── alicloud.json
│   │   ├── 1.15.0/
│   │   │   └── alicloud.json
│   │   ├── 1.16.0/
│   │   │   └── alicloud.json
│   │   ├── 1.17.0/
│   │   │   └── alicloud.json
│   │   ├── 1.18.0/
│   │   │   └── alicloud.json
│   │   ├── 1.19.0/
│   │   │   └── alicloud.json
│   │   ├── 1.2.0/
│   │   │   └── alicloud.json
│   │   ├── 1.20.0/
│   │   │   └── alicloud.json
│   │   ├── 1.21.0/
│   │   │   └── alicloud.json
│   │   ├── 1.22.0/
│   │   │   └── alicloud.json
│   │   ├── 1.23.0/
│   │   │   └── alicloud.json
│   │   ├── 1.24.0/
│   │   │   └── alicloud.json
│   │   ├── 1.25.0/
│   │   │   └── alicloud.json
│   │   ├── 1.26.0/
│   │   │   └── alicloud.json
│   │   ├── 1.27.0/
│   │   │   └── alicloud.json
│   │   ├── 1.28.0/
│   │   │   └── alicloud.json
│   │   ├── 1.29.0/
│   │   │   └── alicloud.json
│   │   ├── 1.30.0/
│   │   │   └── alicloud.json
│   │   ├── 1.31.0/
│   │   │   └── alicloud.json
│   │   ├── 1.32.0/
│   │   │   └── alicloud.json
│   │   ├── 1.32.1/
│   │   │   └── alicloud.json
│   │   ├── 1.33.0/
│   │   │   └── alicloud.json
│   │   ├── 1.34.0/
│   │   │   └── alicloud.json
│   │   ├── 1.35.0/
│   │   │   └── alicloud.json
│   │   ├── 1.36.0/
│   │   │   └── alicloud.json
│   │   ├── 1.37.0/
│   │   │   └── alicloud.json
│   │   ├── 1.38.0/
│   │   │   └── alicloud.json
│   │   ├── 1.39.0/
│   │   │   └── alicloud.json
│   │   ├── 1.40.0/
│   │   │   └── alicloud.json
│   │   ├── 1.41.0/
│   │   │   └── alicloud.json
│   │   ├── 1.43.0/
│   │   │   └── alicloud.json
│   │   ├── 1.5.0/
│   │   │   └── alicloud.json
│   │   ├── 1.5.1/
│   │   │   └── alicloud.json
│   │   ├── 1.5.2/
│   │   │   └── alicloud.json
│   │   ├── 1.5.3/
│   │   │   └── alicloud.json
│   │   ├── 1.52.0/
│   │   │   └── alicloud.json
│   │   ├── 1.52.2/
│   │   │   └── alicloud.json
│   │   ├── 1.6.0/
│   │   │   └── alicloud.json
│   │   ├── 1.7.0/
│   │   │   └── alicloud.json
│   │   ├── 1.7.1/
│   │   │   └── alicloud.json
│   │   ├── 1.7.2/
│   │   │   └── alicloud.json
│   │   ├── 1.8.0/
│   │   │   └── alicloud.json
│   │   ├── 1.8.1/
│   │   │   └── alicloud.json
│   │   ├── 1.9.0/
│   │   │   └── alicloud.json
│   │   ├── 1.9.1/
│   │   │   └── alicloud.json
│   │   ├── 1.9.2/
│   │   │   └── alicloud.json
│   │   ├── 1.9.3/
│   │   │   └── alicloud.json
│   │   ├── 1.9.4/
│   │   │   └── alicloud.json
│   │   ├── 1.9.5/
│   │   │   └── alicloud.json
│   │   └── 1.9.6/
│   │       └── alicloud.json
│   ├── archive/
│   │   ├── 0.1.0/
│   │   │   └── archive.json
│   │   ├── 1.0.0/
│   │   │   └── archive.json
│   │   ├── 1.0.1/
│   │   │   └── archive.json
│   │   ├── 1.0.2/
│   │   │   └── archive.json
│   │   ├── 1.0.3/
│   │   │   └── archive.json
│   │   ├── 1.1.0/
│   │   │   └── archive.json
│   │   ├── 1.2.0/
│   │   │   └── archive.json
│   │   ├── 1.2.1/
│   │   │   └── archive.json
│   │   └── 1.2.2/
│   │       └── archive.json
│   ├── arukas/
│   │   ├── 0.1.0/
│   │   │   └── arukas.json
│   │   ├── 1.0.0/
│   │   │   └── arukas.json
│   │   └── 1.1.0/
│   │       └── arukas.json
│   ├── atlas/
│   │   ├── 0.1.0/
│   │   │   └── atlas.json
│   │   └── 0.1.1/
│   │       └── atlas.json
│   ├── aws/
│   │   ├── 0.1.0/
│   │   │   └── aws.json
│   │   ├── 0.1.1/
│   │   │   └── aws.json
│   │   ├── 0.1.2/
│   │   │   └── aws.json
│   │   ├── 0.1.3/
│   │   │   └── aws.json
│   │   ├── 0.1.4/
│   │   │   └── aws.json
│   │   ├── 1.0.0/
│   │   │   └── aws.json
│   │   ├── 1.1.0/
│   │   │   └── aws.json
│   │   ├── 1.10.0/
│   │   │   └── aws.json
│   │   ├── 1.11.0/
│   │   │   └── aws.json
│   │   ├── 1.12.0/
│   │   │   └── aws.json
│   │   ├── 1.13.0/
│   │   │   └── aws.json
│   │   ├── 1.14.0/
│   │   │   └── aws.json
│   │   ├── 1.14.1/
│   │   │   └── aws.json
│   │   ├── 1.15.0/
│   │   │   └── aws.json
│   │   ├── 1.16.0/
│   │   │   └── aws.json
│   │   ├── 1.17.0/
│   │   │   └── aws.json
│   │   ├── 1.18.0/
│   │   │   └── aws.json
│   │   ├── 1.19.0/
│   │   │   └── aws.json
│   │   ├── 1.2.0/
│   │   │   └── aws.json
│   │   ├── 1.20.0/
│   │   │   └── aws.json
│   │   ├── 1.21.0/
│   │   │   └── aws.json
│   │   ├── 1.22.0/
│   │   │   └── aws.json
│   │   ├── 1.23.0/
│   │   │   └── aws.json
│   │   ├── 1.24.0/
│   │   │   └── aws.json
│   │   ├── 1.25.0/
│   │   │   └── aws.json
│   │   ├── 1.26.0/
│   │   │   └── aws.json
│   │   ├── 1.27.0/
│   │   │   └── aws.json
│   │   ├── 1.28.0/
│   │   │   └── aws.json
│   │   ├── 1.29.0/
│   │   │   └── aws.json
│   │   ├── 1.3.0/
│   │   │   └── aws.json
│   │   ├── 1.3.1/
│   │   │   └── aws.json
│   │   ├── 1.30.0/
│   │   │   └── aws.json
│   │   ├── 1.31.0/
│   │   │   └── aws.json
│   │   ├── 1.32.0/
│   │   │   └── aws.json
│   │   ├── 1.33.0/
│   │   │   └── aws.json
│   │   ├── 1.34.0/
│   │   │   └── aws.json
│   │   ├── 1.35.0/
│   │   │   └── aws.json
│   │   ├── 1.36.0/
│   │   │   └── aws.json
│   │   ├── 1.37.0/
│   │   │   └── aws.json
│   │   ├── 1.38.0/
│   │   │   └── aws.json
│   │   ├── 1.39.0/
│   │   │   └── aws.json
│   │   ├── 1.4.0/
│   │   │   └── aws.json
│   │   ├── 1.40.0/
│   │   │   └── aws.json
│   │   ├── 1.41.0/
│   │   │   └── aws.json
│   │   ├── 1.42.0/
│   │   │   └── aws.json
│   │   ├── 1.43.0/
│   │   │   └── aws.json
│   │   ├── 1.43.2/
│   │   │   └── aws.json
│   │   ├── 1.45.0/
│   │   │   └── aws.json
│   │   ├── 1.46.0/
│   │   │   └── aws.json
│   │   ├── 1.49.0/
│   │   │   └── aws.json
│   │   ├── 1.5.0/
│   │   │   └── aws.json
│   │   ├── 1.50.0/
│   │   │   └── aws.json
│   │   ├── 1.51.0/
│   │   │   └── aws.json
│   │   ├── 1.52.0/
│   │   │   └── aws.json
│   │   ├── 1.54.0/
│   │   │   └── aws.json
│   │   ├── 1.55.0/
│   │   │   └── aws.json
│   │   ├── 1.56.0/
│   │   │   └── aws.json
│   │   ├── 1.57.0/
│   │   │   └── aws.json
│   │   ├── 1.59.0/
│   │   │   └── aws.json
│   │   ├── 1.6.0/
│   │   │   └── aws.json
│   │   ├── 1.60.0/
│   │   │   └── aws.json
│   │   ├── 1.7.0/
│   │   │   └── aws.json
│   │   ├── 1.7.1/
│   │   │   └── aws.json
│   │   ├── 1.8.0/
│   │   │   └── aws.json
│   │   ├── 1.9.0/
│   │   │   └── aws.json
│   │   ├── 2.0.0/
│   │   │   └── aws.json
│   │   ├── 2.1.0/
│   │   │   └── aws.json
│   │   ├── 2.11.0/
│   │   │   └── aws.json
│   │   ├── 2.19.0/
│   │   │   └── aws.json
│   │   ├── 2.2.0/
│   │   │   └── aws.json
│   │   ├── 2.21.1/
│   │   │   └── aws.json
│   │   ├── 2.3.0/
│   │   │   └── aws.json
│   │   ├── 2.4.0/
│   │   │   └── aws.json
│   │   ├── 2.5.0/
│   │   │   └── aws.json
│   │   ├── 2.6.0/
│   │   │   └── aws.json
│   │   ├── 2.7.0/
│   │   │   └── aws.json
│   │   └── 2.8.0/
│   │       └── aws.json
│   ├── azure/
│   │   ├── 0.1.0/
│   │   │   └── azure.json
│   │   └── 0.1.1/
│   │       └── azure.json
│   ├── azuread/
│   │   ├── 0.1.0/
│   │   │   └── azuread.json
│   │   ├── 0.2.0/
│   │   │   └── azuread.json
│   │   ├── 0.3.1/
│   │   │   └── azuread.json
│   │   ├── 0.4.0/
│   │   │   └── azuread.json
│   │   └── 0.5.1/
│   │       └── azuread.json
│   ├── azurerm/
│   │   ├── 0.1.0/
│   │   │   └── azurerm.json
│   │   ├── 0.1.1/
│   │   │   └── azurerm.json
│   │   ├── 0.1.2/
│   │   │   └── azurerm.json
│   │   ├── 0.1.3/
│   │   │   └── azurerm.json
│   │   ├── 0.1.4/
│   │   │   └── azurerm.json
│   │   ├── 0.1.5/
│   │   │   └── azurerm.json
│   │   ├── 0.1.6/
│   │   │   └── azurerm.json
│   │   ├── 0.1.7/
│   │   │   └── azurerm.json
│   │   ├── 0.2.0/
│   │   │   └── azurerm.json
│   │   ├── 0.2.1/
│   │   │   └── azurerm.json
│   │   ├── 0.2.2/
│   │   │   └── azurerm.json
│   │   ├── 0.3.0/
│   │   │   └── azurerm.json
│   │   ├── 0.3.1/
│   │   │   └── azurerm.json
│   │   ├── 0.3.2/
│   │   │   └── azurerm.json
│   │   ├── 0.3.3/
│   │   │   └── azurerm.json
│   │   ├── 1.0.0/
│   │   │   └── azurerm.json
│   │   ├── 1.0.1/
│   │   │   └── azurerm.json
│   │   ├── 1.1.0/
│   │   │   └── azurerm.json
│   │   ├── 1.1.1/
│   │   │   └── azurerm.json
│   │   ├── 1.1.2/
│   │   │   └── azurerm.json
│   │   ├── 1.10.0/
│   │   │   └── azurerm.json
│   │   ├── 1.11.0/
│   │   │   └── azurerm.json
│   │   ├── 1.12.0/
│   │   │   └── azurerm.json
│   │   ├── 1.13.0/
│   │   │   └── azurerm.json
│   │   ├── 1.14.0/
│   │   │   └── azurerm.json
│   │   ├── 1.15.0/
│   │   │   └── azurerm.json
│   │   ├── 1.16.0/
│   │   │   └── azurerm.json
│   │   ├── 1.17.0/
│   │   │   └── azurerm.json
│   │   ├── 1.18.0/
│   │   │   └── azurerm.json
│   │   ├── 1.19.0/
│   │   │   └── azurerm.json
│   │   ├── 1.2.0/
│   │   │   └── azurerm.json
│   │   ├── 1.20.0/
│   │   │   └── azurerm.json
│   │   ├── 1.21.0/
│   │   │   └── azurerm.json
│   │   ├── 1.22.1/
│   │   │   └── azurerm.json
│   │   ├── 1.23.0/
│   │   │   └── azurerm.json
│   │   ├── 1.24.0/
│   │   │   └── azurerm.json
│   │   ├── 1.25.0/
│   │   │   └── azurerm.json
│   │   ├── 1.27.1/
│   │   │   └── azurerm.json
│   │   ├── 1.28.0/
│   │   │   └── azurerm.json
│   │   ├── 1.3.0/
│   │   │   └── azurerm.json
│   │   ├── 1.3.1/
│   │   │   └── azurerm.json
│   │   ├── 1.3.2/
│   │   │   └── azurerm.json
│   │   ├── 1.3.3/
│   │   │   └── azurerm.json
│   │   ├── 1.31.0/
│   │   │   └── azurerm.json
│   │   ├── 1.32.0/
│   │   │   └── azurerm.json
│   │   ├── 1.4.0/
│   │   │   └── azurerm.json
│   │   ├── 1.5.0/
│   │   │   └── azurerm.json
│   │   ├── 1.6.0/
│   │   │   └── azurerm.json
│   │   ├── 1.7.0/
│   │   │   └── azurerm.json
│   │   ├── 1.8.0/
│   │   │   └── azurerm.json
│   │   └── 1.9.0/
│   │       └── azurerm.json
│   ├── azurestack/
│   │   ├── 0.1.0/
│   │   │   └── azurestack.json
│   │   ├── 0.2.0/
│   │   │   └── azurestack.json
│   │   ├── 0.3.0/
│   │   │   └── azurestack.json
│   │   ├── 0.4.0/
│   │   │   └── azurestack.json
│   │   ├── 0.5.0/
│   │   │   └── azurestack.json
│   │   ├── 0.6.0/
│   │   │   └── azurestack.json
│   │   └── 0.8.1/
│   │       └── azurestack.json
│   ├── bigip/
│   │   ├── 0.12.0/
│   │   │   └── bigip.json
│   │   ├── 0.12.1/
│   │   │   └── bigip.json
│   │   ├── 0.12.2/
│   │   │   └── bigip.json
│   │   └── 0.12.3/
│   │       └── bigip.json
│   ├── bitbucket/
│   │   ├── 0.1.0/
│   │   │   └── bitbucket.json
│   │   ├── 1.0.0/
│   │   │   └── bitbucket.json
│   │   └── 1.1.0/
│   │       └── bitbucket.json
│   ├── brightbox/
│   │   ├── 1.0.5/
│   │   │   └── brightbox.json
│   │   ├── 1.0.6/
│   │   │   └── brightbox.json
│   │   ├── 1.1.0/
│   │   │   └── brightbox.json
│   │   ├── 1.1.1/
│   │   │   └── brightbox.json
│   │   ├── 1.1.2/
│   │   │   └── brightbox.json
│   │   └── 1.2.0/
│   │       └── brightbox.json
│   ├── chef/
│   │   ├── 0.1.0/
│   │   │   └── chef.json
│   │   └── 0.2.0/
│   │       └── chef.json
│   ├── circonus/
│   │   ├── 0.1.0/
│   │   │   └── circonus.json
│   │   ├── 0.1.1/
│   │   │   └── circonus.json
│   │   └── 0.2.0/
│   │       └── circonus.json
│   ├── clc/
│   │   └── 0.1.0/
│   │       └── clc.json
│   ├── cloudflare/
│   │   ├── 0.1.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.0.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.1.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.10.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.11.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.12.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.13.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.14.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.16.1/
│   │   │   └── cloudflare.json
│   │   ├── 1.2.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.3.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.4.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.5.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.6.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.7.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.8.0/
│   │   │   └── cloudflare.json
│   │   └── 1.9.0/
│   │       └── cloudflare.json
│   ├── cloudscale/
│   │   ├── 1.0.0/
│   │   │   └── cloudscale.json
│   │   ├── 1.0.1/
│   │   │   └── cloudscale.json
│   │   ├── 1.1.0/
│   │   │   └── cloudscale.json
│   │   └── 2.0.0/
│   │       └── cloudscale.json
│   ├── cloudstack/
│   │   ├── 0.1.0/
│   │   │   └── cloudstack.json
│   │   ├── 0.1.1/
│   │   │   └── cloudstack.json
│   │   ├── 0.1.2/
│   │   │   └── cloudstack.json
│   │   ├── 0.1.3/
│   │   │   └── cloudstack.json
│   │   ├── 0.1.4/
│   │   │   └── cloudstack.json
│   │   ├── 0.1.5/
│   │   │   └── cloudstack.json
│   │   ├── 0.2.0/
│   │   │   └── cloudstack.json
│   │   └── 0.3.0/
│   │       └── cloudstack.json
│   ├── cobbler/
│   │   ├── 0.1.0/
│   │   │   └── cobbler.json
│   │   ├── 1.0.0/
│   │   │   └── cobbler.json
│   │   ├── 1.0.1/
│   │   │   └── cobbler.json
│   │   └── 1.1.0/
│   │       └── cobbler.json
│   ├── consul/
│   │   ├── 0.1.0/
│   │   │   └── consul.json
│   │   ├── 1.0.0/
│   │   │   └── consul.json
│   │   ├── 1.1.0/
│   │   │   └── consul.json
│   │   ├── 2.0.0/
│   │   │   └── consul.json
│   │   ├── 2.1.0/
│   │   │   └── consul.json
│   │   ├── 2.2.0/
│   │   │   └── consul.json
│   │   ├── 2.3.0/
│   │   │   └── consul.json
│   │   └── 2.5.0/
│   │       └── consul.json
│   ├── datadog/
│   │   ├── 0.1.0/
│   │   │   └── datadog.json
│   │   ├── 0.1.1/
│   │   │   └── datadog.json
│   │   ├── 1.0.0/
│   │   │   └── datadog.json
│   │   ├── 1.0.1/
│   │   │   └── datadog.json
│   │   ├── 1.0.2/
│   │   │   └── datadog.json
│   │   ├── 1.0.3/
│   │   │   └── datadog.json
│   │   ├── 1.0.4/
│   │   │   └── datadog.json
│   │   ├── 1.1.0/
│   │   │   └── datadog.json
│   │   ├── 1.2.0/
│   │   │   └── datadog.json
│   │   ├── 1.3.0/
│   │   │   └── datadog.json
│   │   ├── 1.4.0/
│   │   │   └── datadog.json
│   │   ├── 1.5.0/
│   │   │   └── datadog.json
│   │   ├── 1.6.0/
│   │   │   └── datadog.json
│   │   ├── 1.7.0/
│   │   │   └── datadog.json
│   │   ├── 1.8.0/
│   │   │   └── datadog.json
│   │   ├── 1.9.0/
│   │   │   └── datadog.json
│   │   ├── 2.0.2/
│   │   │   └── datadog.json
│   │   └── 2.1.0/
│   │       └── datadog.json
│   ├── digitalocean/
│   │   ├── 0.1.0/
│   │   │   └── digitalocean.json
│   │   ├── 0.1.1/
│   │   │   └── digitalocean.json
│   │   ├── 0.1.2/
│   │   │   └── digitalocean.json
│   │   ├── 0.1.3/
│   │   │   └── digitalocean.json
│   │   ├── 1.0.0/
│   │   │   └── digitalocean.json
│   │   ├── 1.0.1/
│   │   │   └── digitalocean.json
│   │   ├── 1.0.2/
│   │   │   └── digitalocean.json
│   │   ├── 1.1.0/
│   │   │   └── digitalocean.json
│   │   ├── 1.2.0/
│   │   │   └── digitalocean.json
│   │   ├── 1.3.0/
│   │   │   └── digitalocean.json
│   │   └── 1.5.0/
│   │       └── digitalocean.json
│   ├── dme/
│   │   └── 0.1.0/
│   │       └── dme.json
│   ├── dns/
│   │   ├── 0.1.0/
│   │   │   └── dns.json
│   │   ├── 0.1.1/
│   │   │   └── dns.json
│   │   ├── 1.0.0/
│   │   │   └── dns.json
│   │   ├── 2.0.0/
│   │   │   └── dns.json
│   │   ├── 2.1.0/
│   │   │   └── dns.json
│   │   ├── 2.1.1/
│   │   │   └── dns.json
│   │   └── 2.2.0/
│   │       └── dns.json
│   ├── dnsimple/
│   │   ├── 0.1.0/
│   │   │   └── dnsimple.json
│   │   └── 0.2.0/
│   │       └── dnsimple.json
│   ├── docker/
│   │   ├── 0.1.0/
│   │   │   └── docker.json
│   │   ├── 0.1.1/
│   │   │   └── docker.json
│   │   ├── 1.0.0/
│   │   │   └── docker.json
│   │   ├── 1.0.1/
│   │   │   └── docker.json
│   │   ├── 1.0.2/
│   │   │   └── docker.json
│   │   ├── 1.0.3/
│   │   │   └── docker.json
│   │   ├── 1.0.4/
│   │   │   └── docker.json
│   │   ├── 1.1.0/
│   │   │   └── docker.json
│   │   ├── 1.1.1/
│   │   │   └── docker.json
│   │   ├── 2.0.0/
│   │   │   └── docker.json
│   │   └── 2.1.0/
│   │       └── docker.json
│   ├── dyn/
│   │   ├── 0.1.0/
│   │   │   └── dyn.json
│   │   ├── 1.0.0/
│   │   │   └── dyn.json
│   │   ├── 1.1.0/
│   │   │   └── dyn.json
│   │   └── 1.2.0/
│   │       └── dyn.json
│   ├── external/
│   │   ├── 0.1.0/
│   │   │   └── external.json
│   │   ├── 1.0.0/
│   │   │   └── external.json
│   │   ├── 1.1.0/
│   │   │   └── external.json
│   │   ├── 1.1.1/
│   │   │   └── external.json
│   │   ├── 1.1.2/
│   │   │   └── external.json
│   │   └── 1.2.0/
│   │       └── external.json
│   ├── fastly/
│   │   ├── 0.1.0/
│   │   │   └── fastly.json
│   │   ├── 0.1.1/
│   │   │   └── fastly.json
│   │   ├── 0.1.2/
│   │   │   └── fastly.json
│   │   ├── 0.1.3/
│   │   │   └── fastly.json
│   │   ├── 0.1.4/
│   │   │   └── fastly.json
│   │   ├── 0.2.0/
│   │   │   └── fastly.json
│   │   ├── 0.3.0/
│   │   │   └── fastly.json
│   │   ├── 0.4.0/
│   │   │   └── fastly.json
│   │   ├── 0.5.0/
│   │   │   └── fastly.json
│   │   ├── 0.6.0/
│   │   │   └── fastly.json
│   │   └── 0.8.1/
│   │       └── fastly.json
│   ├── flexibleengine/
│   │   ├── 1.0.0/
│   │   │   └── flexibleengine.json
│   │   ├── 1.0.1/
│   │   │   └── flexibleengine.json
│   │   ├── 1.1.0/
│   │   │   └── flexibleengine.json
│   │   ├── 1.2.0/
│   │   │   └── flexibleengine.json
│   │   ├── 1.2.1/
│   │   │   └── flexibleengine.json
│   │   ├── 1.3.1/
│   │   │   └── flexibleengine.json
│   │   ├── 1.4.0/
│   │   │   └── flexibleengine.json
│   │   ├── 1.5.0/
│   │   │   └── flexibleengine.json
│   │   └── 1.6.0/
│   │       └── flexibleengine.json
│   ├── github/
│   │   ├── 0.1.0/
│   │   │   └── github.json
│   │   ├── 0.1.1/
│   │   │   └── github.json
│   │   ├── 0.1.2/
│   │   │   └── github.json
│   │   ├── 1.0.0/
│   │   │   └── github.json
│   │   ├── 1.1.0/
│   │   │   └── github.json
│   │   ├── 1.2.1/
│   │   │   └── github.json
│   │   ├── 1.3.0/
│   │   │   └── github.json
│   │   ├── 2.0.0/
│   │   │   └── github.json
│   │   ├── 2.1.0/
│   │   │   └── github.json
│   │   └── 2.2.0/
│   │       └── github.json
│   ├── gitlab/
│   │   ├── 0.1.0/
│   │   │   └── gitlab.json
│   │   ├── 1.0.0/
│   │   │   └── gitlab.json
│   │   ├── 1.1.0/
│   │   │   └── gitlab.json
│   │   ├── 1.2.0/
│   │   │   └── gitlab.json
│   │   ├── 1.3.0/
│   │   │   └── gitlab.json
│   │   ├── 2.0.0/
│   │   │   └── gitlab.json
│   │   └── 2.2.0/
│   │       └── gitlab.json
│   ├── google/
│   │   ├── 0.1.0/
│   │   │   └── google.json
│   │   ├── 0.1.1/
│   │   │   └── google.json
│   │   ├── 0.1.2/
│   │   │   └── google.json
│   │   ├── 0.1.3/
│   │   │   └── google.json
│   │   ├── 1.0.0/
│   │   │   └── google.json
│   │   ├── 1.0.1/
│   │   │   └── google.json
│   │   ├── 1.1.0/
│   │   │   └── google.json
│   │   ├── 1.1.1/
│   │   │   └── google.json
│   │   ├── 1.10.0/
│   │   │   └── google.json
│   │   ├── 1.11.0/
│   │   │   └── google.json
│   │   ├── 1.12.0/
│   │   │   └── google.json
│   │   ├── 1.13.0/
│   │   │   └── google.json
│   │   ├── 1.14.0/
│   │   │   └── google.json
│   │   ├── 1.15.0/
│   │   │   └── google.json
│   │   ├── 1.16.0/
│   │   │   └── google.json
│   │   ├── 1.16.1/
│   │   │   └── google.json
│   │   ├── 1.16.2/
│   │   │   └── google.json
│   │   ├── 1.17.1/
│   │   │   └── google.json
│   │   ├── 1.18.0/
│   │   │   └── google.json
│   │   ├── 1.19.0/
│   │   │   └── google.json
│   │   ├── 1.19.1/
│   │   │   └── google.json
│   │   ├── 1.2.0/
│   │   │   └── google.json
│   │   ├── 1.20.0/
│   │   │   └── google.json
│   │   ├── 1.3.0/
│   │   │   └── google.json
│   │   ├── 1.4.0/
│   │   │   └── google.json
│   │   ├── 1.5.0/
│   │   │   └── google.json
│   │   ├── 1.6.0/
│   │   │   └── google.json
│   │   ├── 1.7.0/
│   │   │   └── google.json
│   │   ├── 1.8.0/
│   │   │   └── google.json
│   │   ├── 1.9.0/
│   │   │   └── google.json
│   │   ├── 2.0.0/
│   │   │   └── google.json
│   │   ├── 2.1.0/
│   │   │   └── google.json
│   │   ├── 2.10.0/
│   │   │   └── google.json
│   │   ├── 2.11.0/
│   │   │   └── google.json
│   │   ├── 2.2.0/
│   │   │   └── google.json
│   │   ├── 2.3.0/
│   │   │   └── google.json
│   │   ├── 2.4.0/
│   │   │   └── google.json
│   │   ├── 2.5.0/
│   │   │   └── google.json
│   │   ├── 2.5.1/
│   │   │   └── google.json
│   │   ├── 2.7.0/
│   │   │   └── google.json
│   │   ├── beta_1.19.0/
│   │   │   └── google.json
│   │   ├── beta_1.20.0/
│   │   │   └── google.json
│   │   └── beta_2.3.0/
│   │       └── google.json
│   ├── grafana/
│   │   ├── 0.1.0/
│   │   │   └── grafana.json
│   │   ├── 1.0.0/
│   │   │   └── grafana.json
│   │   ├── 1.0.1/
│   │   │   └── grafana.json
│   │   ├── 1.0.2/
│   │   │   └── grafana.json
│   │   ├── 1.1.0/
│   │   │   └── grafana.json
│   │   ├── 1.2.0/
│   │   │   └── grafana.json
│   │   ├── 1.3.0/
│   │   │   └── grafana.json
│   │   ├── 1.4.0/
│   │   │   └── grafana.json
│   │   └── 1.5.0/
│   │       └── grafana.json
│   ├── hcloud/
│   │   ├── 1.10.0/
│   │   │   └── hcloud.json
│   │   ├── 1.11.0/
│   │   │   └── hcloud.json
│   │   ├── 1.2.0/
│   │   │   └── hcloud.json
│   │   ├── 1.3.0/
│   │   │   └── hcloud.json
│   │   ├── 1.4.0/
│   │   │   └── hcloud.json
│   │   ├── 1.5.0/
│   │   │   └── hcloud.json
│   │   ├── 1.6.0/
│   │   │   └── hcloud.json
│   │   ├── 1.7.0/
│   │   │   └── hcloud.json
│   │   ├── 1.8.0/
│   │   │   └── hcloud.json
│   │   └── 1.9.0/
│   │       └── hcloud.json
│   ├── hedvig/
│   │   ├── 1.0.1/
│   │   │   └── hedvig.json
│   │   ├── 1.0.2/
│   │   │   └── hedvig.json
│   │   ├── 1.0.3/
│   │   │   └── hedvig.json
│   │   └── 1.0.4/
│   │       └── hedvig.json
│   ├── helm/
│   │   ├── 0.1.0/
│   │   │   └── helm.json
│   │   ├── 0.10.0/
│   │   │   └── helm.json
│   │   ├── 0.6.0/
│   │   │   └── helm.json
│   │   ├── 0.6.2/
│   │   │   └── helm.json
│   │   ├── 0.7.0/
│   │   │   └── helm.json
│   │   ├── 0.8.0/
│   │   │   └── helm.json
│   │   ├── 0.9.0/
│   │   │   └── helm.json
│   │   └── 0.9.1/
│   │       └── helm.json
│   ├── heroku/
│   │   ├── 0.1.0/
│   │   │   └── heroku.json
│   │   ├── 0.1.1/
│   │   │   └── heroku.json
│   │   ├── 0.1.2/
│   │   │   └── heroku.json
│   │   ├── 1.0.0/
│   │   │   └── heroku.json
│   │   ├── 1.0.1/
│   │   │   └── heroku.json
│   │   ├── 1.0.2/
│   │   │   └── heroku.json
│   │   ├── 1.1.0/
│   │   │   └── heroku.json
│   │   ├── 1.1.1/
│   │   │   └── heroku.json
│   │   ├── 1.2.0/
│   │   │   └── heroku.json
│   │   ├── 1.3.0/
│   │   │   └── heroku.json
│   │   ├── 1.4.0/
│   │   │   └── heroku.json
│   │   ├── 1.5.0/
│   │   │   └── heroku.json
│   │   ├── 1.6.0/
│   │   │   └── heroku.json
│   │   ├── 1.7.0/
│   │   │   └── heroku.json
│   │   ├── 1.7.1/
│   │   │   └── heroku.json
│   │   ├── 1.7.2/
│   │   │   └── heroku.json
│   │   ├── 1.7.3/
│   │   │   └── heroku.json
│   │   ├── 1.7.4/
│   │   │   └── heroku.json
│   │   ├── 1.8.0/
│   │   │   └── heroku.json
│   │   ├── 1.9.0/
│   │   │   └── heroku.json
│   │   ├── 2.0.3/
│   │   │   └── heroku.json
│   │   └── 2.1.0/
│   │       └── heroku.json
│   ├── http/
│   │   ├── 0.1.0/
│   │   │   └── http.json
│   │   ├── 1.0.0/
│   │   │   └── http.json
│   │   ├── 1.0.1/
│   │   │   └── http.json
│   │   ├── 1.1.0/
│   │   │   └── http.json
│   │   └── 1.1.1/
│   │       └── http.json
│   ├── huaweicloud/
│   │   ├── 1.0.0/
│   │   │   └── huaweicloud.json
│   │   ├── 1.1.0/
│   │   │   └── huaweicloud.json
│   │   ├── 1.2.0/
│   │   │   └── huaweicloud.json
│   │   ├── 1.3.0/
│   │   │   └── huaweicloud.json
│   │   ├── 1.4.0/
│   │   │   └── huaweicloud.json
│   │   ├── 1.5.0/
│   │   │   └── huaweicloud.json
│   │   └── 1.6.0/
│   │       └── huaweicloud.json
│   ├── icinga2/
│   │   ├── 0.1.0/
│   │   │   └── icinga2.json
│   │   ├── 0.1.1/
│   │   │   └── icinga2.json
│   │   └── 0.2.0/
│   │       └── icinga2.json
│   ├── ignition/
│   │   ├── 0.1.0/
│   │   │   └── ignition.json
│   │   ├── 0.2.0/
│   │   │   └── ignition.json
│   │   ├── 1.0.0/
│   │   │   └── ignition.json
│   │   ├── 1.0.1/
│   │   │   └── ignition.json
│   │   └── 1.1.0/
│   │       └── ignition.json
│   ├── influxdb/
│   │   ├── 0.1.0/
│   │   │   └── influxdb.json
│   │   ├── 1.0.0/
│   │   │   └── influxdb.json
│   │   ├── 1.0.1/
│   │   │   └── influxdb.json
│   │   ├── 1.0.2/
│   │   │   └── influxdb.json
│   │   ├── 1.0.3/
│   │   │   └── influxdb.json
│   │   ├── 1.1.0/
│   │   │   └── influxdb.json
│   │   └── 1.2.0/
│   │       └── influxdb.json
│   ├── kubernetes/
│   │   ├── 0.1.0/
│   │   │   └── kubernetes.json
│   │   ├── 0.1.1/
│   │   │   └── kubernetes.json
│   │   ├── 0.1.2/
│   │   │   └── kubernetes.json
│   │   ├── 1.0.0/
│   │   │   └── kubernetes.json
│   │   ├── 1.0.1/
│   │   │   └── kubernetes.json
│   │   ├── 1.1.0/
│   │   │   └── kubernetes.json
│   │   ├── 1.2.0/
│   │   │   └── kubernetes.json
│   │   ├── 1.3.0/
│   │   │   └── kubernetes.json
│   │   ├── 1.4.0/
│   │   │   └── kubernetes.json
│   │   ├── 1.5.0/
│   │   │   └── kubernetes.json
│   │   ├── 1.5.1/
│   │   │   └── kubernetes.json
│   │   ├── 1.5.2/
│   │   │   └── kubernetes.json
│   │   ├── 1.6.0/
│   │   │   └── kubernetes.json
│   │   ├── 1.6.2/
│   │   │   └── kubernetes.json
│   │   ├── 1.7.0/
│   │   │   └── kubernetes.json
│   │   ├── 1.8.0/
│   │   │   └── kubernetes.json
│   │   └── 1.8.1/
│   │       └── kubernetes.json
│   ├── librato/
│   │   └── 0.1.0/
│   │       └── librato.json
│   ├── linode/
│   │   ├── 1.0.0/
│   │   │   └── linode.json
│   │   ├── 1.1.0/
│   │   │   └── linode.json
│   │   ├── 1.2.0/
│   │   │   └── linode.json
│   │   ├── 1.3.0/
│   │   │   └── linode.json
│   │   ├── 1.4.0/
│   │   │   └── linode.json
│   │   ├── 1.5.0/
│   │   │   └── linode.json
│   │   ├── 1.6.0/
│   │   │   └── linode.json
│   │   ├── 1.7.0/
│   │   │   └── linode.json
│   │   └── 1.8.0/
│   │       └── linode.json
│   ├── local/
│   │   ├── 0.1.0/
│   │   │   └── local.json
│   │   ├── 1.0.0/
│   │   │   └── local.json
│   │   ├── 1.1.0/
│   │   │   └── local.json
│   │   ├── 1.2.0/
│   │   │   └── local.json
│   │   ├── 1.2.1/
│   │   │   └── local.json
│   │   ├── 1.2.2/
│   │   │   └── local.json
│   │   └── 1.3.0/
│   │       └── local.json
│   ├── logentries/
│   │   ├── 0.1.0/
│   │   │   └── logentries.json
│   │   └── 1.0.0/
│   │       └── logentries.json
│   ├── logicmonitor/
│   │   ├── 1.0.0/
│   │   │   └── logicmonitor.json
│   │   ├── 1.1.0/
│   │   │   └── logicmonitor.json
│   │   ├── 1.2.0/
│   │   │   └── logicmonitor.json
│   │   └── 1.2.1/
│   │       └── logicmonitor.json
│   ├── mailgun/
│   │   └── 0.1.0/
│   │       └── mailgun.json
│   ├── mysql/
│   │   ├── 0.1.0/
│   │   │   └── mysql.json
│   │   ├── 1.0.0/
│   │   │   └── mysql.json
│   │   ├── 1.0.1/
│   │   │   └── mysql.json
│   │   ├── 1.1.0/
│   │   │   └── mysql.json
│   │   ├── 1.5.0/
│   │   │   └── mysql.json
│   │   ├── 1.5.1/
│   │   │   └── mysql.json
│   │   ├── 1.6.0/
│   │   │   └── mysql.json
│   │   └── 1.7.0/
│   │       └── mysql.json
│   ├── netlify/
│   │   ├── 0.1.0/
│   │   │   └── netlify.json
│   │   └── 0.3.0/
│   │       └── netlify.json
│   ├── newrelic/
│   │   ├── 0.1.0/
│   │   │   └── newrelic.json
│   │   ├── 0.1.1/
│   │   │   └── newrelic.json
│   │   ├── 1.0.0/
│   │   │   └── newrelic.json
│   │   ├── 1.0.1/
│   │   │   └── newrelic.json
│   │   ├── 1.1.0/
│   │   │   └── newrelic.json
│   │   ├── 1.2.0/
│   │   │   └── newrelic.json
│   │   ├── 1.3.0/
│   │   │   └── newrelic.json
│   │   ├── 1.4.0/
│   │   │   └── newrelic.json
│   │   ├── 1.5.0/
│   │   │   └── newrelic.json
│   │   └── 1.5.1/
│   │       └── newrelic.json
│   ├── nomad/
│   │   ├── 0.1.0/
│   │   │   └── nomad.json
│   │   ├── 1.0.0/
│   │   │   └── nomad.json
│   │   ├── 1.1.0/
│   │   │   └── nomad.json
│   │   ├── 1.2.0/
│   │   │   └── nomad.json
│   │   ├── 1.3.0/
│   │   │   └── nomad.json
│   │   └── 1.4.0/
│   │       └── nomad.json
│   ├── ns1/
│   │   ├── 0.1.0/
│   │   │   └── ns1.json
│   │   ├── 1.0.0/
│   │   │   └── ns1.json
│   │   ├── 1.1.0/
│   │   │   └── ns1.json
│   │   ├── 1.1.2/
│   │   │   └── ns1.json
│   │   ├── 1.2.0/
│   │   │   └── ns1.json
│   │   ├── 1.3.0/
│   │   │   └── ns1.json
│   │   ├── 1.3.1/
│   │   │   └── ns1.json
│   │   ├── 1.4.0/
│   │   │   └── ns1.json
│   │   └── 1.4.1/
│   │       └── ns1.json
│   ├── nsxt/
│   │   ├── 1.0.0/
│   │   │   └── nsxt.json
│   │   └── 1.1.0/
│   │       └── nsxt.json
│   ├── null/
│   │   ├── 0.1.0/
│   │   │   └── null.json
│   │   ├── 1.0.0/
│   │   │   └── null.json
│   │   ├── 2.0.0/
│   │   │   └── null.json
│   │   ├── 2.1.0/
│   │   │   └── null.json
│   │   ├── 2.1.1/
│   │   │   └── null.json
│   │   └── 2.1.2/
│   │       └── null.json
│   ├── nutanix/
│   │   ├── 1.0.0/
│   │   │   └── nutanix.json
│   │   └── 1.0.1/
│   │       └── nutanix.json
│   ├── oci/
│   │   ├── 3.1.1/
│   │   │   └── oci.json
│   │   ├── 3.11.1/
│   │   │   └── oci.json
│   │   ├── 3.12.0/
│   │   │   └── oci.json
│   │   ├── 3.19.0/
│   │   │   └── oci.json
│   │   ├── 3.2.0/
│   │   │   └── oci.json
│   │   ├── 3.20.0/
│   │   │   └── oci.json
│   │   ├── 3.23.0/
│   │   │   └── oci.json
│   │   ├── 3.3.0/
│   │   │   └── oci.json
│   │   ├── 3.4.0/
│   │   │   └── oci.json
│   │   └── 3.8.0/
│   │       └── oci.json
│   ├── oneandone/
│   │   ├── 0.1.0/
│   │   │   └── oneandone.json
│   │   ├── 1.0.0/
│   │   │   └── oneandone.json
│   │   ├── 1.1.0/
│   │   │   └── oneandone.json
│   │   ├── 1.2.0/
│   │   │   └── oneandone.json
│   │   └── 1.3.0/
│   │       └── oneandone.json
│   ├── opc/
│   │   ├── 0.1.0/
│   │   │   └── opc.json
│   │   ├── 0.1.1/
│   │   │   └── opc.json
│   │   ├── 0.1.2/
│   │   │   └── opc.json
│   │   ├── 0.1.3/
│   │   │   └── opc.json
│   │   ├── 1.0.0/
│   │   │   └── opc.json
│   │   ├── 1.0.1/
│   │   │   └── opc.json
│   │   ├── 1.1.0/
│   │   │   └── opc.json
│   │   ├── 1.1.1/
│   │   │   └── opc.json
│   │   ├── 1.1.2/
│   │   │   └── opc.json
│   │   ├── 1.2.0/
│   │   │   └── opc.json
│   │   ├── 1.2.1/
│   │   │   └── opc.json
│   │   ├── 1.3.0/
│   │   │   └── opc.json
│   │   ├── 1.3.1/
│   │   │   └── opc.json
│   │   ├── 1.3.2/
│   │   │   └── opc.json
│   │   ├── 1.3.3/
│   │   │   └── opc.json
│   │   ├── 1.3.4/
│   │   │   └── opc.json
│   │   ├── 1.3.5/
│   │   │   └── opc.json
│   │   └── 1.3.6/
│   │       └── opc.json
│   ├── openstack/
│   │   ├── 0.1.0/
│   │   │   └── openstack.json
│   │   ├── 0.2.0/
│   │   │   └── openstack.json
│   │   ├── 0.2.1/
│   │   │   └── openstack.json
│   │   ├── 0.2.2/
│   │   │   └── openstack.json
│   │   ├── 0.3.0/
│   │   │   └── openstack.json
│   │   ├── 1.0.0/
│   │   │   └── openstack.json
│   │   ├── 1.1.0/
│   │   │   └── openstack.json
│   │   ├── 1.10.0/
│   │   │   └── openstack.json
│   │   ├── 1.11.0/
│   │   │   └── openstack.json
│   │   ├── 1.12.0/
│   │   │   └── openstack.json
│   │   ├── 1.13.0/
│   │   │   └── openstack.json
│   │   ├── 1.14.0/
│   │   │   └── openstack.json
│   │   ├── 1.15.0/
│   │   │   └── openstack.json
│   │   ├── 1.16.0/
│   │   │   └── openstack.json
│   │   ├── 1.17.0/
│   │   │   └── openstack.json
│   │   ├── 1.19.0/
│   │   │   └── openstack.json
│   │   ├── 1.2.0/
│   │   │   └── openstack.json
│   │   ├── 1.20.0/
│   │   │   └── openstack.json
│   │   ├── 1.3.0/
│   │   │   └── openstack.json
│   │   ├── 1.4.0/
│   │   │   └── openstack.json
│   │   ├── 1.5.0/
│   │   │   └── openstack.json
│   │   ├── 1.6.0/
│   │   │   └── openstack.json
│   │   ├── 1.7.0/
│   │   │   └── openstack.json
│   │   ├── 1.8.0/
│   │   │   └── openstack.json
│   │   └── 1.9.0/
│   │       └── openstack.json
│   ├── opentelekomcloud/
│   │   ├── 1.0.0/
│   │   │   └── opentelekomcloud.json
│   │   ├── 1.1.0/
│   │   │   └── opentelekomcloud.json
│   │   ├── 1.10.0/
│   │   │   └── opentelekomcloud.json
│   │   ├── 1.2.0/
│   │   │   └── opentelekomcloud.json
│   │   ├── 1.3.0/
│   │   │   └── opentelekomcloud.json
│   │   ├── 1.4.0/
│   │   │   └── opentelekomcloud.json
│   │   ├── 1.5.1/
│   │   │   └── opentelekomcloud.json
│   │   ├── 1.5.2/
│   │   │   └── opentelekomcloud.json
│   │   ├── 1.6.0/
│   │   │   └── opentelekomcloud.json
│   │   ├── 1.6.1/
│   │   │   └── opentelekomcloud.json
│   │   ├── 1.7.0/
│   │   │   └── opentelekomcloud.json
│   │   └── 1.8.0/
│   │       └── opentelekomcloud.json
│   ├── opsgenie/
│   │   └── 0.1.0/
│   │       └── opsgenie.json
│   ├── oraclepaas/
│   │   ├── 1.0.0/
│   │   │   └── oraclepaas.json
│   │   ├── 1.1.1/
│   │   │   └── oraclepaas.json
│   │   ├── 1.2.0/
│   │   │   └── oraclepaas.json
│   │   ├── 1.2.1/
│   │   │   └── oraclepaas.json
│   │   ├── 1.3.0/
│   │   │   └── oraclepaas.json
│   │   ├── 1.3.1/
│   │   │   └── oraclepaas.json
│   │   ├── 1.3.2/
│   │   │   └── oraclepaas.json
│   │   ├── 1.4.1/
│   │   │   └── oraclepaas.json
│   │   ├── 1.4.2/
│   │   │   └── oraclepaas.json
│   │   ├── 1.4.3/
│   │   │   └── oraclepaas.json
│   │   ├── 1.5.0/
│   │   │   └── oraclepaas.json
│   │   ├── 1.5.1/
│   │   │   └── oraclepaas.json
│   │   └── 1.5.2/
│   │       └── oraclepaas.json
│   ├── ovh/
│   │   ├── 0.1.0/
│   │   │   └── ovh.json
│   │   ├── 0.1.1/
│   │   │   └── ovh.json
│   │   ├── 0.2.0/
│   │   │   └── ovh.json
│   │   ├── 0.3.0/
│   │   │   └── ovh.json
│   │   └── 0.5.0/
│   │       └── ovh.json
│   ├── packet/
│   │   ├── 0.1.0/
│   │   │   └── packet.json
│   │   ├── 1.0.0/
│   │   │   └── packet.json
│   │   ├── 1.1.0/
│   │   │   └── packet.json
│   │   ├── 1.2.0/
│   │   │   └── packet.json
│   │   ├── 1.2.1/
│   │   │   └── packet.json
│   │   ├── 1.2.2/
│   │   │   └── packet.json
│   │   ├── 1.2.3/
│   │   │   └── packet.json
│   │   ├── 1.2.4/
│   │   │   └── packet.json
│   │   ├── 1.2.5/
│   │   │   └── packet.json
│   │   ├── 1.3.2/
│   │   │   └── packet.json
│   │   ├── 1.4.1/
│   │   │   └── packet.json
│   │   ├── 1.5.0/
│   │   │   └── packet.json
│   │   ├── 1.6.0/
│   │   │   └── packet.json
│   │   ├── 1.7.0/
│   │   │   └── packet.json
│   │   ├── 1.7.2/
│   │   │   └── packet.json
│   │   ├── 2.0.0/
│   │   │   └── packet.json
│   │   ├── 2.1.0/
│   │   │   └── packet.json
│   │   ├── 2.2.0/
│   │   │   └── packet.json
│   │   └── 2.2.1/
│   │       └── packet.json
│   ├── pagerduty/
│   │   ├── 0.1.0/
│   │   │   └── pagerduty.json
│   │   ├── 0.1.1/
│   │   │   └── pagerduty.json
│   │   ├── 0.1.2/
│   │   │   └── pagerduty.json
│   │   ├── 0.1.3/
│   │   │   └── pagerduty.json
│   │   ├── 1.0.0/
│   │   │   └── pagerduty.json
│   │   ├── 1.1.0/
│   │   │   └── pagerduty.json
│   │   ├── 1.1.1/
│   │   │   └── pagerduty.json
│   │   ├── 1.2.0/
│   │   │   └── pagerduty.json
│   │   ├── 1.2.1/
│   │   │   └── pagerduty.json
│   │   └── 1.3.0/
│   │       └── pagerduty.json
│   ├── panos/
│   │   ├── 1.0.0/
│   │   │   └── panos.json
│   │   ├── 1.1.0/
│   │   │   └── panos.json
│   │   ├── 1.2.0/
│   │   │   └── panos.json
│   │   ├── 1.3.0/
│   │   │   └── panos.json
│   │   ├── 1.4.0/
│   │   │   └── panos.json
│   │   ├── 1.4.1/
│   │   │   └── panos.json
│   │   ├── 1.5.1/
│   │   │   └── panos.json
│   │   └── 1.5.2/
│   │       └── panos.json
│   ├── postgresql/
│   │   ├── 0.1.0/
│   │   │   └── postgresql.json
│   │   ├── 0.1.1/
│   │   │   └── postgresql.json
│   │   ├── 0.1.2/
│   │   │   └── postgresql.json
│   │   ├── 0.1.3/
│   │   │   └── postgresql.json
│   │   ├── 0.2.0/
│   │   │   └── postgresql.json
│   │   ├── 0.2.1/
│   │   │   └── postgresql.json
│   │   ├── 0.3.0/
│   │   │   └── postgresql.json
│   │   ├── 0.4.0/
│   │   │   └── postgresql.json
│   │   └── 1.1.0/
│   │       └── postgresql.json
│   ├── powerdns/
│   │   └── 0.1.0/
│   │       └── powerdns.json
│   ├── profitbricks/
│   │   ├── 0.1.0/
│   │   │   └── profitbricks.json
│   │   ├── 0.1.1/
│   │   │   └── profitbricks.json
│   │   ├── 0.1.2/
│   │   │   └── profitbricks.json
│   │   ├── 1.0.0/
│   │   │   └── profitbricks.json
│   │   ├── 1.0.1/
│   │   │   └── profitbricks.json
│   │   ├── 1.1.0/
│   │   │   └── profitbricks.json
│   │   ├── 1.1.1/
│   │   │   └── profitbricks.json
│   │   ├── 1.2.0/
│   │   │   └── profitbricks.json
│   │   ├── 1.2.1/
│   │   │   └── profitbricks.json
│   │   ├── 1.3.1/
│   │   │   └── profitbricks.json
│   │   ├── 1.3.2/
│   │   │   └── profitbricks.json
│   │   ├── 1.3.3/
│   │   │   └── profitbricks.json
│   │   ├── 1.4.0/
│   │   │   └── profitbricks.json
│   │   ├── 1.4.1/
│   │   │   └── profitbricks.json
│   │   ├── 1.4.2/
│   │   │   └── profitbricks.json
│   │   ├── 1.4.3/
│   │   │   └── profitbricks.json
│   │   └── 1.4.4/
│   │       └── profitbricks.json
│   ├── rabbitmq/
│   │   ├── 0.1.0/
│   │   │   └── rabbitmq.json
│   │   ├── 0.2.0/
│   │   │   └── rabbitmq.json
│   │   ├── 1.0.0/
│   │   │   └── rabbitmq.json
│   │   └── 1.1.0/
│   │       └── rabbitmq.json
│   ├── rancher/
│   │   ├── 0.1.0/
│   │   │   └── rancher.json
│   │   ├── 0.1.1/
│   │   │   └── rancher.json
│   │   ├── 0.2.0/
│   │   │   └── rancher.json
│   │   ├── 1.0.0/
│   │   │   └── rancher.json
│   │   ├── 1.1.0/
│   │   │   └── rancher.json
│   │   ├── 1.1.1/
│   │   │   └── rancher.json
│   │   ├── 1.2.0/
│   │   │   └── rancher.json
│   │   ├── 1.2.1/
│   │   │   └── rancher.json
│   │   ├── 1.3.0/
│   │   │   └── rancher.json
│   │   └── 1.4.0/
│   │       └── rancher.json
│   ├── random/
│   │   ├── 0.1.0/
│   │   │   └── random.json
│   │   ├── 1.0.0/
│   │   │   └── random.json
│   │   ├── 1.1.0/
│   │   │   └── random.json
│   │   ├── 1.2.0/
│   │   │   └── random.json
│   │   ├── 1.3.0/
│   │   │   └── random.json
│   │   ├── 1.3.1/
│   │   │   └── random.json
│   │   ├── 2.0.0/
│   │   │   └── random.json
│   │   ├── 2.1.0/
│   │   │   └── random.json
│   │   ├── 2.1.1/
│   │   │   └── random.json
│   │   └── 2.1.2/
│   │       └── random.json
│   ├── rightscale/
│   │   ├── 1.3.0/
│   │   │   └── rightscale.json
│   │   └── 1.3.1/
│   │       └── rightscale.json
│   ├── rundeck/
│   │   ├── 0.1.0/
│   │   │   └── rundeck.json
│   │   ├── 0.2.0/
│   │   │   └── rundeck.json
│   │   └── 0.3.0/
│   │       └── rundeck.json
│   ├── runscope/
│   │   ├── 0.1.0/
│   │   │   └── runscope.json
│   │   ├── 0.2.0/
│   │   │   └── runscope.json
│   │   ├── 0.3.0/
│   │   │   └── runscope.json
│   │   ├── 0.4.0/
│   │   │   └── runscope.json
│   │   ├── 0.5.0/
│   │   │   └── runscope.json
│   │   └── 0.6.0/
│   │       └── runscope.json
│   ├── scaleway/
│   │   ├── 0.1.0/
│   │   │   └── scaleway.json
│   │   ├── 0.1.1/
│   │   │   └── scaleway.json
│   │   ├── 1.0.0/
│   │   │   └── scaleway.json
│   │   ├── 1.0.1/
│   │   │   └── scaleway.json
│   │   ├── 1.1.0/
│   │   │   └── scaleway.json
│   │   ├── 1.10.0/
│   │   │   └── scaleway.json
│   │   ├── 1.2.0/
│   │   │   └── scaleway.json
│   │   ├── 1.3.0/
│   │   │   └── scaleway.json
│   │   ├── 1.4.0/
│   │   │   └── scaleway.json
│   │   ├── 1.4.1/
│   │   │   └── scaleway.json
│   │   ├── 1.5.0/
│   │   │   └── scaleway.json
│   │   ├── 1.5.1/
│   │   │   └── scaleway.json
│   │   ├── 1.6.0/
│   │   │   └── scaleway.json
│   │   ├── 1.7.0/
│   │   │   └── scaleway.json
│   │   ├── 1.8.0/
│   │   │   └── scaleway.json
│   │   ├── 1.9.1/
│   │   │   └── scaleway.json
│   │   └── 1.9.2/
│   │       └── scaleway.json
│   ├── selectel/
│   │   ├── 2.0.0/
│   │   │   └── selectel.json
│   │   ├── 2.1.0/
│   │   │   └── selectel.json
│   │   ├── 2.2.0/
│   │   │   └── selectel.json
│   │   └── 2.3.0/
│   │       └── selectel.json
│   ├── selvpc/
│   │   ├── 0.3.0/
│   │   │   └── selvpc.json
│   │   ├── 1.0.0/
│   │   │   └── selvpc.json
│   │   └── 1.1.0/
│   │       └── selvpc.json
│   ├── skytap/
│   │   ├── 0.11.1/
│   │   │   └── skytap.json
│   │   └── 0.9.0/
│   │       └── skytap.json
│   ├── softlayer/
│   │   └── 0.0.1/
│   │       └── softlayer.json
│   ├── spotinst/
│   │   ├── 0.1.0/
│   │   │   └── spotinst.json
│   │   ├── 1.0.0/
│   │   │   └── spotinst.json
│   │   ├── 1.1.0/
│   │   │   └── spotinst.json
│   │   ├── 1.1.1/
│   │   │   └── spotinst.json
│   │   ├── 1.10.0/
│   │   │   └── spotinst.json
│   │   ├── 1.11.0/
│   │   │   └── spotinst.json
│   │   ├── 1.12.0/
│   │   │   └── spotinst.json
│   │   ├── 1.13.0/
│   │   │   └── spotinst.json
│   │   ├── 1.13.2/
│   │   │   └── spotinst.json
│   │   ├── 1.13.3/
│   │   │   └── spotinst.json
│   │   ├── 1.2.0/
│   │   │   └── spotinst.json
│   │   ├── 1.3.0/
│   │   │   └── spotinst.json
│   │   ├── 1.4.0/
│   │   │   └── spotinst.json
│   │   ├── 1.5.0/
│   │   │   └── spotinst.json
│   │   ├── 1.6.0/
│   │   │   └── spotinst.json
│   │   ├── 1.6.1/
│   │   │   └── spotinst.json
│   │   ├── 1.7.0/
│   │   │   └── spotinst.json
│   │   ├── 1.8.0/
│   │   │   └── spotinst.json
│   │   └── 1.9.0/
│   │       └── spotinst.json
│   ├── statuscake/
│   │   ├── 0.1.0/
│   │   │   └── statuscake.json
│   │   ├── 0.2.0/
│   │   │   └── statuscake.json
│   │   └── 1.0.0/
│   │       └── statuscake.json
│   ├── telefonicaopencloud/
│   │   └── 1.0.0/
│   │       └── telefonicaopencloud.json
│   ├── template/
│   │   ├── 0.1.0/
│   │   │   └── template.json
│   │   ├── 0.1.1/
│   │   │   └── template.json
│   │   ├── 1.0.0/
│   │   │   └── template.json
│   │   ├── 2.0.0/
│   │   │   └── template.json
│   │   ├── 2.1.0/
│   │   │   └── template.json
│   │   ├── 2.1.1/
│   │   │   └── template.json
│   │   └── 2.1.2/
│   │       └── template.json
│   ├── tencentcloud/
│   │   ├── 1.11.0/
│   │   │   └── tencentcloud.json
│   │   ├── 1.13.0/
│   │   │   └── tencentcloud.json
│   │   ├── 1.2.2/
│   │   │   └── tencentcloud.json
│   │   ├── 1.3.0/
│   │   │   └── tencentcloud.json
│   │   ├── 1.4.0/
│   │   │   └── tencentcloud.json
│   │   ├── 1.5.0/
│   │   │   └── tencentcloud.json
│   │   └── 1.7.0/
│   │       └── tencentcloud.json
│   ├── terraform/
│   │   ├── 0.1.0/
│   │   │   └── terraform.json
│   │   ├── 1.0.0/
│   │   │   └── terraform.json
│   │   ├── 1.0.1/
│   │   │   └── terraform.json
│   │   └── 1.0.2/
│   │       └── terraform.json
│   ├── tfe/
│   │   ├── 0.1.0/
│   │   │   └── tfe.json
│   │   ├── 0.10.1/
│   │   │   └── tfe.json
│   │   ├── 0.2.0/
│   │   │   └── tfe.json
│   │   ├── 0.3.0/
│   │   │   └── tfe.json
│   │   ├── 0.4.0/
│   │   │   └── tfe.json
│   │   ├── 0.5.0/
│   │   │   └── tfe.json
│   │   ├── 0.6.0/
│   │   │   └── tfe.json
│   │   ├── 0.7.1/
│   │   │   └── tfe.json
│   │   ├── 0.8.1/
│   │   │   └── tfe.json
│   │   ├── 0.8.2/
│   │   │   └── tfe.json
│   │   └── 0.9.0/
│   │       └── tfe.json
│   ├── tls/
│   │   ├── 0.1.0/
│   │   │   └── tls.json
│   │   ├── 1.0.0/
│   │   │   └── tls.json
│   │   ├── 1.0.1/
│   │   │   └── tls.json
│   │   ├── 1.1.0/
│   │   │   └── tls.json
│   │   ├── 1.2.0/
│   │   │   └── tls.json
│   │   ├── 2.0.0/
│   │   │   └── tls.json
│   │   └── 2.0.1/
│   │       └── tls.json
│   ├── triton/
│   │   ├── 0.1.0/
│   │   │   └── triton.json
│   │   ├── 0.1.1/
│   │   │   └── triton.json
│   │   ├── 0.1.2/
│   │   │   └── triton.json
│   │   ├── 0.1.3/
│   │   │   └── triton.json
│   │   ├── 0.2.0/
│   │   │   └── triton.json
│   │   ├── 0.2.1/
│   │   │   └── triton.json
│   │   ├── 0.3.0/
│   │   │   └── triton.json
│   │   ├── 0.4.0/
│   │   │   └── triton.json
│   │   ├── 0.4.1/
│   │   │   └── triton.json
│   │   ├── 0.4.2/
│   │   │   └── triton.json
│   │   ├── 0.5.0/
│   │   │   └── triton.json
│   │   └── 0.5.1/
│   │       └── triton.json
│   ├── ucloud/
│   │   ├── 1.0.0/
│   │   │   └── ucloud.json
│   │   ├── 1.1.0/
│   │   │   └── ucloud.json
│   │   ├── 1.11.0/
│   │   │   └── ucloud.json
│   │   ├── 1.11.1/
│   │   │   └── ucloud.json
│   │   ├── 1.2.1/
│   │   │   └── ucloud.json
│   │   ├── 1.3.1/
│   │   │   └── ucloud.json
│   │   ├── 1.4.0/
│   │   │   └── ucloud.json
│   │   ├── 1.5.0/
│   │   │   └── ucloud.json
│   │   ├── 1.6.0/
│   │   │   └── ucloud.json
│   │   └── 1.9.0/
│   │       └── ucloud.json
│   ├── ultradns/
│   │   └── 0.1.0/
│   │       └── ultradns.json
│   ├── vault/
│   │   ├── 0.1.0/
│   │   │   └── vault.json
│   │   ├── 1.0.0/
│   │   │   └── vault.json
│   │   ├── 1.1.0/
│   │   │   └── vault.json
│   │   ├── 1.1.1/
│   │   │   └── vault.json
│   │   ├── 1.1.2/
│   │   │   └── vault.json
│   │   ├── 1.1.3/
│   │   │   └── vault.json
│   │   ├── 1.1.4/
│   │   │   └── vault.json
│   │   ├── 1.2.0/
│   │   │   └── vault.json
│   │   ├── 1.3.1/
│   │   │   └── vault.json
│   │   ├── 1.4.1/
│   │   │   └── vault.json
│   │   ├── 1.5.0/
│   │   │   └── vault.json
│   │   ├── 1.6.0/
│   │   │   └── vault.json
│   │   ├── 1.7.0/
│   │   │   └── vault.json
│   │   ├── 1.8.0/
│   │   │   └── vault.json
│   │   └── 2.1.0/
│   │       └── vault.json
│   ├── vcd/
│   │   ├── 0.1.0/
│   │   │   └── vcd.json
│   │   ├── 0.1.1/
│   │   │   └── vcd.json
│   │   ├── 0.1.2/
│   │   │   └── vcd.json
│   │   ├── 0.1.3/
│   │   │   └── vcd.json
│   │   ├── 1.0.0/
│   │   │   └── vcd.json
│   │   ├── 2.0.0/
│   │   │   └── vcd.json
│   │   ├── 2.1.0/
│   │   │   └── vcd.json
│   │   ├── 2.2.0/
│   │   │   └── vcd.json
│   │   └── 2.3.0/
│   │       └── vcd.json
│   ├── vsphere/
│   │   ├── 0.1.0/
│   │   │   └── vsphere.json
│   │   ├── 0.2.0/
│   │   │   └── vsphere.json
│   │   ├── 0.2.1/
│   │   │   └── vsphere.json
│   │   ├── 0.2.2/
│   │   │   └── vsphere.json
│   │   ├── 0.3.0/
│   │   │   └── vsphere.json
│   │   ├── 0.4.0/
│   │   │   └── vsphere.json
│   │   ├── 0.4.1/
│   │   │   └── vsphere.json
│   │   ├── 0.4.2/
│   │   │   └── vsphere.json
│   │   ├── 1.0.0/
│   │   │   └── vsphere.json
│   │   ├── 1.0.1/
│   │   │   └── vsphere.json
│   │   ├── 1.0.2/
│   │   │   └── vsphere.json
│   │   ├── 1.0.3/
│   │   │   └── vsphere.json
│   │   ├── 1.1.0/
│   │   │   └── vsphere.json
│   │   ├── 1.1.1/
│   │   │   └── vsphere.json
│   │   ├── 1.10.0/
│   │   │   └── vsphere.json
│   │   ├── 1.11.0/
│   │   │   └── vsphere.json
│   │   ├── 1.12.0/
│   │   │   └── vsphere.json
│   │   ├── 1.2.0/
│   │   │   └── vsphere.json
│   │   ├── 1.3.0/
│   │   │   └── vsphere.json
│   │   ├── 1.3.1/
│   │   │   └── vsphere.json
│   │   ├── 1.3.2/
│   │   │   └── vsphere.json
│   │   ├── 1.3.3/
│   │   │   └── vsphere.json
│   │   ├── 1.4.0/
│   │   │   └── vsphere.json
│   │   ├── 1.4.1/
│   │   │   └── vsphere.json
│   │   ├── 1.5.0/
│   │   │   └── vsphere.json
│   │   ├── 1.6.0/
│   │   │   └── vsphere.json
│   │   ├── 1.7.0/
│   │   │   └── vsphere.json
│   │   ├── 1.8.0/
│   │   │   └── vsphere.json
│   │   ├── 1.8.1/
│   │   │   └── vsphere.json
│   │   ├── 1.9.0/
│   │   │   └── vsphere.json
│   │   └── 1.9.1/
│   │       └── vsphere.json
│   └── yandex/
│       ├── 0.1.15/
│       │   └── yandex.json
│       ├── 0.1.16/
│       │   └── yandex.json
│       ├── 0.2.0/
│       │   └── yandex.json
│       ├── 0.3.0/
│       │   └── yandex.json
│       ├── 0.4.0/
│       │   └── yandex.json
│       ├── 0.4.1/
│       │   └── yandex.json
│       ├── 0.5.0/
│       │   └── yandex.json
│       ├── 0.5.1/
│       │   └── yandex.json
│       ├── 0.5.2/
│       │   └── yandex.json
│       └── 0.8.2/
│           └── yandex.json
├── provider_json_backup/
│   ├── alicloud.json
│   ├── archive.json
│   ├── arukas.json
│   ├── atlas.json
│   ├── aws.json
│   ├── azure.json
│   ├── azurerm.json
│   ├── bitbucket.json
│   ├── chef.json
│   ├── circonus.json
│   ├── clc.json
│   ├── cloudflare.json
│   ├── cloudstack.json
│   ├── cobbler.json
│   ├── consul.json
│   ├── datadog.json
│   ├── digitalocean.json
│   ├── dme.json
│   ├── dns.json
│   ├── dnsimple.json
│   ├── docker.json
│   ├── dyn.json
│   ├── external.json
│   ├── fastly.json
│   ├── github.json
│   ├── gitlab.json
│   ├── google.json
│   ├── grafana.json
│   ├── heroku.json
│   ├── http.json
│   ├── icinga2.json
│   ├── ignition.json
│   ├── influxdb.json
│   ├── kubernetes.json
│   ├── librato.json
│   ├── local.json
│   ├── logentries.json
│   ├── mailgun.json
│   ├── mysql.json
│   ├── newrelic.json
│   ├── nomad.json
│   ├── ns1.json
│   ├── null.json
│   ├── oneandone.json
│   ├── opc.json
│   ├── openstack.json
│   ├── opsgenie.json
│   ├── ovh.json
│   ├── packet.json
│   ├── pagerduty.json
│   ├── postgresql.json
│   ├── powerdns.json
│   ├── profitbricks.json
│   ├── rabbitmq.json
│   ├── rancher.json
│   ├── random.json
│   ├── rundeck.json
│   ├── scaleway.json
│   ├── softlayer.json
│   ├── spotinst.json
│   ├── statuscake.json
│   ├── template.json
│   ├── terraform.json
│   ├── tls.json
│   ├── triton.json
│   ├── ultradns.json
│   ├── vault.json
│   ├── vcd.json
│   └── vsphere.json
├── providers_list.txt
├── routine_update.rb
├── run-test
├── schemas-extractor/
│   └── schemas/
│       └── .gitkeep
├── syntax_checkers/
│   └── terraform/
│       ├── terraform_validate.vim
│       ├── tffilter.vim
│       └── tflint.vim
├── tags_urls.txt
├── test-vim-terraform-completion
├── tests/
│   ├── README.md
│   ├── data.vader
│   ├── module.vader
│   ├── modules/
│   │   ├── outputs.tf
│   │   └── variables.tf
│   ├── plug.vim
│   └── resource.vader
├── tests.vimrc
├── update_community_provider_md.rb
├── update_provider_md.rb
├── update_tfcompleterc.rb
├── update_versions.rb
├── utils/
│   ├── generate_provider_data
│   ├── get_doc
│   ├── lookup_attrs
│   └── terraform_validate_filter
└── version_dissect.rb

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================

# Created by https://www.gitignore.io/api/ruby,vim,linux

### Linux ###
*~

# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*

# KDE directory preferences
.directory

# Linux trash folder which might appear on any partition or disk
.Trash-*

# .nfs files are created when an open file is removed but is still being accessed
.nfs*

### Ruby ###
*.gem
*.rbc
/.config
/coverage/
/InstalledFiles
/pkg/
/spec/reports/
/spec/examples.txt
/test/tmp/
/test/version_tmp/
/tmp/

# Used by dotenv library to load environment variables.
# .env

## Specific to RubyMotion:
.dat*
.repl_history
build/
*.bridgesupport
build-iPhoneOS/
build-iPhoneSimulator/

## Specific to RubyMotion (use of CocoaPods):
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
# vendor/Pods/

## Documentation cache and generated files:
/.yardoc/
/_yardoc/
/rdoc/

## Environment normalization:
/.bundle/
/vendor/bundle
/lib/bundler/man/

# for a library or gem, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# Gemfile.lock
# .ruby-version
# .ruby-gemset

# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
.rvmrc

### Vim ###
# swap
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-v][a-z]
[._]sw[a-p]
# session
Session.vim
# temporary
.netrwhist
# auto-generated tag files
tags

# End of https://www.gitignore.io/api/ruby,vim,linux


================================================
FILE: .gitmodules
================================================
[submodule "snippets"]
	path = snippets
	url = https://github.com/juliosueiras/vim-terraform-snippets


================================================
FILE: .tfcompleterc
================================================
acme=1.3.4
alicloud=1.52.2
archive=1.2.2
arukas=1.1.0
atlas=0.1.1
aws=2.21.1
azuread=0.5.1
azure=0.1.1
azurerm=1.32.0
azurestack=0.8.1
bigip=0.12.3
bitbucket=1.1.0
brightbox=1.2.0
chef=0.2.0
circonus=0.2.0
clc=0.1.0
cloudflare=1.16.1
cloudscale=2.0.0
cloudstack=0.3.0
cobbler=1.1.0
consul=2.5.0
datadog=2.1.0
digitalocean=1.5.0
dme=0.1.0
dns=2.2.0
dnsimple=0.2.0
docker=2.1.0
dyn=1.2.0
external=1.2.0
fastly=0.8.1
flexibleengine=1.6.0
github=2.2.0
gitlab=2.2.0
google=2.11.0
grafana=1.5.0
hcloud=1.11.0
hedvig=1.0.4
helm=0.10.0
heroku=2.1.0
http=1.1.1
huaweicloud=1.6.0
icinga2=0.2.0
ignition=1.1.0
influxdb=1.2.0
kubernetes=1.8.1
librato=0.1.0
linode=1.8.0
local=1.3.0
logentries=1.0.0
logicmonitor=1.2.1
mailgun=0.1.0
mysql=1.7.0
netlify=0.3.0
newrelic=1.5.1
nomad=1.4.0
ns1=1.4.1
nsxt=1.1.0
null=2.1.2
nutanix=1.0.1
oci=3.35.0
oneandone=1.3.0
opc=1.3.6
openstack=1.20.0
opentelekomcloud=1.10.0
opsgenie=0.1.0
oraclepaas=1.5.2
ovh=0.5.0
packet=2.2.1
pagerduty=1.3.0
panos=1.5.2
postgresql=1.1.0
powerdns=0.1.0
profitbricks=1.4.4
rabbitmq=1.1.0
rancher=1.4.0
random=2.1.2
rightscale=1.3.1
rundeck=0.3.0
runscope=0.6.0
scaleway=1.10.0
selectel=2.3.0
skytap=0.11.1
softlayer=0.0.1
spotinst=1.13.3
statuscake=1.0.0
telefonicaopencloud=1.0.0
template=2.1.2
tencentcloud=1.13.0
terraform=1.0.2
tfe=0.10.1
tls=2.0.1
triton=0.5.1
ucloud=1.11.1
ultradns=0.1.0
vault=2.1.0
vcd=2.3.0
vsphere=1.12.0
yandex=0.8.2


================================================
FILE: .travis.yml
================================================
sudo: required

language: ruby

rvm: 2.3.1
env:
  - VIM_TYPE=nvim
  - VIM_TYPE=vim

services:
  - docker

before_script:
  - git clone https://github.com/junegunn/vader.vim

script:
  - ./test-vim-terraform-completion


================================================
FILE: CHANGELOG.md
================================================
# Changelog
## **Disclamier:** Have to mostly use asciinema due to my laptop take foerever to do gifs

## 2018-04-20
- Added Evaluation of Interpolation
[![asciicast](https://asciinema.org/a/177322.png)](https://asciinema.org/a/177322)

## 2018-02-23
- Added Resource/Data interpolation from other files

[![asciicast](https://asciinema.org/a/S6x9eVEht2ppT5fMcS9IvLJiz.png)](https://asciinema.org/a/S6x9eVEht2ppT5fMcS9IvLJiz)

## 2018-01-18
- Added version based completion
- Added Bots for auto update for provider(daily check)
- Fix several bugs relating to attribute subcompletion

## 2017-12-06
- Nested Block Completion

[![asciicast](https://asciinema.org/a/151238.png)](https://asciinema.org/a/151238)

## 2017-11-23 
- Terraform Module Registry Name Completion

[![asciicast](https://asciinema.org/a/azFU126p6SCkrOtuNWnSynyR0.png)](https://asciinema.org/a/azFU126p6SCkrOtuNWnSynyR0)

## 2017-11-22 
- Terraform Module Registry support

[![asciicast](https://asciinema.org/a/UMLMCyYmd3sY4uwEhzTKG2L1m.png)](https://asciinema.org/a/UMLMCyYmd3sY4uwEhzTKG2L1m)

## 2017-05-22 
### New Feature
- Deoplete Support

[![asciicast](https://asciinema.org/a/121802.png)](https://asciinema.org/a/121802)

- Open Doc in a browser(need to make sure windows and mac work), key is `<leader>o`

## 2017-05-20
### New Feature
- Lookup Attribute Data
- If you have terraform.tfstate in your folder, then using `<leader>a` can show the data of the attribute

[![asciicast](https://asciinema.org/a/121638.png)](https://asciinema.org/a/121638)

## 2017-05-20
### Improvement
- Plan have color now

![color_plan](./pics/color_plan.png)

## 2017-05-18
### New Feature
- Run(`<leader>rr`) and Fold Output

[![asciicast](https://asciinema.org/a/121068.png)](https://asciinema.org/a/121068)

- Run as Async Job

[![asciicast](https://asciinema.org/a/121097.png)](https://asciinema.org/a/121097)

### Improvement
- Module completion for subpath of github/bitbucket

## 2017-05-15
### Remove
- Version based completion is remove due to load time, storage, and the docs are inconsistent
### Improvement
- All data and resources arguments have type with it now
- Block completion is complete , thanks to data from [VladRassokhin](https://github.com/VladRassokhin/)

## 2017-05-14
### New Features
- Basic Block Completion
- Functions Completion
- Added Basic Resource Arguments
### Improvement
- Much better attribute completion

[![asciicast](https://asciinema.org/a/120505.png)](https://asciinema.org/a/120505)

## 2017-05-09(5 am)
### New Feature
- Support for Neomake
## 2017-05-09(3 am)

[![asciicast](https://asciinema.org/a/119739.png)](https://asciinema.org/a/119739)

### New Feature
- Show docs for data/resource attribute
## 2017-05-08(10 pm)
### New Feature
- Module Attribute completion(Github online, and offline
### Improvement
- Fix data interpolation from ${[name]} to ${data.[name]}
- Fix module relative lookup(now it will look in the same folder as the editing tf file)
- Fine tune some provider scrapping, where name include in the resource link(like opc)

## 2017-05-08(6 am)
### New Feature
- Moudle GitHub Argument Completion(Working on offline and attribute completion
    for module)

[![asciicast](https://asciinema.org/a/119591.png)](https://asciinema.org/a/119591)

## 2017-05-08(4 am)
### New Feature
- Show Docs

[![asciicast](https://asciinema.org/a/119587.png)](https://asciinema.org/a/119587)

## 2017-05-06(3 pm)
### New Feature
- Version based Completion

## 2017-05-06(5 am)
### New Feature
- Jump Reference for Resource/Data

[![asciicast](https://asciinema.org/a/119371.png)](https://asciinema.org/a/119371)

## 2017-05-06(2 am)
### New Feature
- Data Completion

[![asciicast](https://asciinema.org/a/119362.png)](https://asciinema.org/a/119362)

## 2017-05-04(3 am)
### Improvement
- Added Tagbar config for Terraform
## 2017-05-03(Night)
### Improvement for Repo
- Added Travis and added basic test using vader.vim

## 2017-05-03(Afternoon)
### Improvement
- Now resource completion have provider as well

[![asciicast](https://asciinema.org/a/cavvbxhzvtbvqnofskolgugkr.png)](https://asciinema.org/a/cavvbxhzvtbvqnofskolgugkr)

### New Feature
- New custom linter to filter `terraform validate` and `terraform plan` using to provide line number and error message for syntastic
    - introduce `g:syntastic_terraform_tf_filter` variable in vimrc for enabling terraform plan , default is 0

[![asciicast](https://asciinema.org/a/118915.png)](https://asciinema.org/a/118915)

## 2017-05-03(Morning 2-4 AM)
### Improvement
- Interpolation of parameter completion is much better now

    [![asciicast](https://asciinema.org/a/aezk645gig5i9fw8z4ampaybq.png)](https://asciinema.org/a/aezk645gig5i9fw8z4ampaybq)
### New Feature
- There is variable completion now, it will get the root folder level variables.tf
- NOTE: There is still to be fix dealing with function like ${file()} etc

    [![asciicast](https://asciinema.org/a/dm4h6mwiv6n83pcebd15tvljl.png)](https://asciinema.org/a/dm4h6mwiv6n83pcebd15tvljl)


================================================
FILE: COMMUNITY_PROVIDER_VERSIONS.md
================================================
||||||
|---|---|---|---|---|
|[![](https://img.shields.io/badge/style-v1.0.0-blue.svg?style=for-the-badge&label=acme)](https://github.com/vancluever/terraform-provider-acme)|[![](https://img.shields.io/badge/style-v1.0.0-blue.svg?style=for-the-badge&label=acme)](https://github.com/vancluever/terraform-provider-acme)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=ad)](https://github.com/GSLabDev/terraform-provider-ad)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=akamai)](https://github.com/akamai/terraform-provider-akamai)|[![](https://img.shields.io/badge/style-v0.0.9-blue.svg?style=for-the-badge&label=apigee)](https://github.com/zambien/terraform-provider-apigee)|
|[![](https://img.shields.io/badge/style-v1.2.3-blue.svg?style=for-the-badge&label=artifactory)](https://github.com/atlassian/terraform-provider-artifactory)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=auth0)](https://github.com/bocodigitalmedia/terraform-provider-auth0)|[![](https://img.shields.io/badge/style-17.2.9-blue.svg?style=for-the-badge&label=avi)](https://github.com/avinetworks/terraform-provider-avi)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=aviatrix)](https://github.com/AviatrixSystems/terraform-provider-aviatrix)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=concourse)](https://github.com/cathive/terraform-provider-concourse)|
|[![](https://img.shields.io/badge/style-v1.1.0-blue.svg?style=for-the-badge&label=consulacl)](https://github.com/Ashald/terraform-provider-consulacl)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=couchdb)](https://github.com/nicolai86/terraform-provider-couchdb)|[![](https://img.shields.io/badge/style-v0.3.0-blue.svg?style=for-the-badge&label=ct)](https://github.com/coreos/terraform-provider-ct)|[![](https://img.shields.io/badge/style-0.1.4-blue.svg?style=for-the-badge&label=dockermachine)](https://github.com/gstruct/terraform-provider-dockermachine)|[![](https://img.shields.io/badge/style-v0.0.2-blue.svg?style=for-the-badge&label=drone)](https://github.com/artisanofcode/terraform-provider-drone)|
|[![](https://img.shields.io/badge/style-1.0.0-blue.svg?style=for-the-badge&label=dropbox)](https://github.com/callensm/terraform-provider-dropbox)|[![](https://img.shields.io/badge/style-v1.1.1-blue.svg?style=for-the-badge&label=drp)](https://github.com/rackn/terraform-provider-drp/)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=esxi)](https://github.com/josenk/terraform-provider-esxi)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=gandi)](https://github.com/tiramiseb/terraform-provider-gandi)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=glue)](https://github.com/MikeSouza/terraform-provider-glue)|
|[![](https://img.shields.io/badge/style-0.1.21-blue.svg?style=for-the-badge&label=gocd)](https://github.com/drewsonne/terraform-provider-gocd)|[![](https://img.shields.io/badge/style-v0.1.0-blue.svg?style=for-the-badge&label=googlecalendar)](https://github.com/sethvargo/terraform-provider-googlecalendar)|[![](https://img.shields.io/badge/style-v0.1.7-blue.svg?style=for-the-badge&label=gsuite)](https://github.com/DeviaVir/terraform-provider-gsuite)|[![](https://img.shields.io/badge/style-v0.5.1-blue.svg?style=for-the-badge&label=helm)](https://github.com/mcuadros/terraform-provider-helm)|[![](https://img.shields.io/badge/style-v.0.1.0-blue.svg?style=for-the-badge&label=hiera)](https://github.com/ribbybibby/terraform-provider-hiera)|
|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=httpfileupload)](https://github.com/GSLabDev/terraform-provider-httpfileupload)|[![](https://img.shields.io/badge/style-v0.11.1-blue.svg?style=for-the-badge&label=ibm)](https://github.com/IBM-Cloud/terraform-provider-ibm)|[![](https://img.shields.io/badge/style-v0.11.1-blue.svg?style=for-the-badge&label=ibm)](https://github.com/IBM-Cloud/terraform-provider-ibm)|[![](https://img.shields.io/badge/style-0.1.11-blue.svg?style=for-the-badge&label=infoblox)](https://github.com/sky-uk/terraform-provider-infoblox)|[![](https://img.shields.io/badge/style-0.1.0-blue.svg?style=for-the-badge&label=jira)](https://github.com/anubhavmishra/terraform-provider-jira)|
|[![](https://img.shields.io/badge/style-v0.1.1-blue.svg?style=for-the-badge&label=kafka)](https://github.com/Mongey/terraform-provider-kafka)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=keboola)](https://github.com/plmwong/terraform-provider-keboola)|[![](https://img.shields.io/badge/style-v0.6.0-blue.svg?style=for-the-badge&label=kibana)](https://github.com/ewilde/terraform-provider-kibana)|[![](https://img.shields.io/badge/style-v1.5.0-blue.svg?style=for-the-badge&label=kong)](https://github.com/kevholditch/terraform-provider-kong)|[![](https://img.shields.io/badge/style-v1.1.1-blue.svg?style=for-the-badge&label=lxd)](https://github.com/sl1pm4t/terraform-provider-lxd)|
|[![](https://img.shields.io/badge/style-v0.2.2-blue.svg?style=for-the-badge&label=matchbox)](https://github.com/coreos/terraform-provider-matchbox)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=minikube)](https://github.com/jgensler8/terraform-provider-minikube)|[![](https://img.shields.io/badge/style-v0.6.1-blue.svg?style=for-the-badge&label=mongodbatlas)](https://github.com/akshaykarle/terraform-provider-mongodbatlas)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=net)](https://github.com/src-d/terraform-provider-online-net)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=nifi)](https://github.com/Glympse/terraform-provider-nifi)|
|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=nsxv)](https://github.com/GSLabDev/terraform-provider-nsxv)|[![](https://img.shields.io/badge/style-v1.0.0-rc1-blue.svg?style=for-the-badge&label=nutanix)](https://github.com/nutanix/terraform-provider-nutanix)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=odl)](https://github.com/GSLabDev/terraform-provider-odl)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=oneview)](https://github.com/HewlettPackard/terraform-provider-oneview)|[![](https://img.shields.io/badge/style-v0.1.2-blue.svg?style=for-the-badge&label=openapi)](https://github.com/dikhan/terraform-provider-openapi)|
|[![](https://img.shields.io/badge/style-v0.3.0-blue.svg?style=for-the-badge&label=p2pub)](https://github.com/iij/terraform-provider-p2pub)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=packer)](https://github.com/juliosueiras/terraform-provider-packer)|[![](https://img.shields.io/badge/style-1.1.0-blue.svg?style=for-the-badge&label=pass)](https://github.com/camptocamp/terraform-provider-pass)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=provider)](https://github.com/cloudamqp/terraform-provider)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=provider)](https://github.com/cloudkarafka/terraform-provider)|
|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=provider)](https://github.com/cloudmqtt/terraform-provider)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=provider)](https://github.com/elephantsql/terraform-provider)|[![](https://img.shields.io/badge/style-0.0.1-blue.svg?style=for-the-badge&label=provider)](https://github.com/geekmuse/jumpcloud-terraform-provider)|[![](https://img.shields.io/badge/style-1.0.1-blue.svg?style=for-the-badge&label=puppetca)](https://github.com/camptocamp/terraform-provider-puppetca)|[![](https://img.shields.io/badge/style-0.1.1-blue.svg?style=for-the-badge&label=puppetdb)](https://github.com/camptocamp/terraform-provider-puppetdb)|
|[![](https://img.shields.io/badge/style-v1.2.2-blue.svg?style=for-the-badge&label=qingcloud)](https://github.com/yunify/terraform-provider-qingcloud)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=razor)](https://github.com/juliosueiras/terraform-provider-razor)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=redshift)](https://github.com/frankfarrell/terraform-provider-redshift)|[![](https://img.shields.io/badge/style-v0.1.0-blue.svg?style=for-the-badge&label=restapi)](https://github.com/Mastercard/terraform-provider-restapi)|[![](https://img.shields.io/badge/style-0.3.4-blue.svg?style=for-the-badge&label=rke)](https://github.com/yamamoto-febc/terraform-provider-rke)|
|[![](https://img.shields.io/badge/style-v0.5.7-blue.svg?style=for-the-badge&label=runscope)](https://github.com/ewilde/terraform-provider-runscope)|[![](https://img.shields.io/badge/style-v1.3.2-blue.svg?style=for-the-badge&label=sakuracloud)](https://github.com/sacloud/terraform-provider-sakuracloud)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=scvmm)](https://github.com/GSLabDev/terraform-provider-scvmm)|[![](https://img.shields.io/badge/style-v0.4.0-blue.svg?style=for-the-badge&label=sentry)](https://github.com/jianyuan/terraform-provider-sentry)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=servicenow)](https://github.com/coveo/terraform-provider-servicenow)|
|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=sewan)](https://github.com/SewanDevs/terraform-provider-sewan)|[![](https://img.shields.io/badge/style-v2.7.0-blue.svg?style=for-the-badge&label=signalform)](https://github.com/Yelp/terraform-provider-signalform)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=snowflake)](https://github.com/ShopRunner/terraform-provider-snowflake)|[![](https://img.shields.io/badge/style-v1.0.3-blue.svg?style=for-the-badge&label=solidserver)](https://github.com/alexissavin/terraform-provider-solidserver)|[![](https://img.shields.io/badge/style-v1.0.0-blue.svg?style=for-the-badge&label=stateful)](https://github.com/Ashald/terraform-provider-stateful)|
|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=transloadit)](https://github.com/bocodigitalmedia/terraform-provider-transloadit)|[![](https://img.shields.io/badge/style-master-blue.svg?style=for-the-badge&label=vra)](https://github.com/GSLabDev/terraform-provider-vra)|[![](https://img.shields.io/badge/style-v0.2.0-blue.svg?style=for-the-badge&label=windns)](https://github.com/PortOfPortland/terraform-provider-windns)|[![](https://img.shields.io/badge/style-v2.0.0-blue.svg?style=for-the-badge&label=yaml)](https://github.com/Ashald/terraform-provider-yaml)|[![](https://img.shields.io/badge/style-v0.2.0-blue.svg?style=for-the-badge&label=zerotier)](https://github.com/cormacrelf/terraform-provider-zerotier)|


================================================
FILE: CONTRIBUTORS.md
================================================
# Contributors

- [Christopher Campanale](https://github.com/ccampanale)
    - Creating the Dockerfile for the plugin

- [davewongillies](https://github.com/davewongillies)
    - Integrated Ctags into the plugin

- [mtchavez](https://github.com/mtchavez)

- [barlik](https://github.com/barlik)



================================================
FILE: CUSTOM_PROVIDER.md
================================================
# Completion for Custom Provider

Due to unstable and unpredicted nature of unofficial providers, the result can be vary

1. clone the desired provider repo to GOPATH
2. copy generate-schema folder(can be located at the plugin's repo) with the template generate-schema.go(credit goes to [intellij-hcl](https://github.com/VladRassokhin/intellij-hcl) )
3. replace `<url-to-provider>` with go path to the provider, check main.go of the provider, if you are unsure, replace `<provider>` with provider name, `<version>` with the version that the provider currently on, and lastly `<plugin-path>` is the full path to plugin
4. go to vim-terraform-completion and run `ruby version_dissect.rb` , check `provider_json/<provider>` to ensure the completion is generated
5. add `<provider>=<version>` to the repo's .tfcompleterc or project's .tfcompleterc

## Video Instruction:

[![asciicast](https://asciinema.org/a/WlAz2luy76HLNrtVKHki6XCd8.png)](https://asciinema.org/a/WlAz2luy76HLNrtVKHki6XCd8)


================================================
FILE: DEMO.md
================================================
# Asciinema Demos

## Linter Demo

[![asciicast](https://asciinema.org/a/118441.png)](https://asciinema.org/a/118441)

## Demo

[![asciicast](https://asciinema.org/a/118064.png)](https://asciinema.org/a/118064)

## New Demo with more completion

[![asciicast](https://asciinema.org/a/118207.png)](https://asciinema.org/a/118207)

## Paramter Completion

[![asciicast](https://asciinema.org/a/118243.png)](https://asciinema.org/a/118243)

## Info included

[![asciicast](https://asciinema.org/a/118394.png)](https://asciinema.org/a/118394)


================================================
FILE: Dockerfile
================================================
FROM juliosueiras/vim-terraform-completion-base:latest
USER root
RUN git clone https://github.com/junegunn/vader.vim
ADD tests/ tests/
COPY tests.vimrc tests.vimrc
ADD . vim-terraform-completion/
ENTRYPOINT ["/bin/bash"]


================================================
FILE: Dockerfile_base
================================================
FROM alpine:3.8 AS vim_ruby

RUN apk add --no-cache \
      build-base \
      ctags \
      git \
      libx11-dev \
      libxpm-dev \
      libxt-dev \
      make \
      ncurses-dev \
      ruby \
      ruby-dev

RUN git clone https://github.com/vim/vim \
  && cd vim \
  && ./configure \
  --disable-gui \
  --disable-netbeans \
  --enable-multibyte \
  --enable-rubyinterp \
  --with-ruby-command=/usr/bin/ruby \
  --with-features=big \
  && make install

FROM alpine:3.8

COPY --from=vim_ruby /usr/local/bin/ /usr/local/bin
COPY --from=vim_ruby /usr/local/share/vim/ /usr/local/share/vim/

RUN apk add bash neovim ruby gcc make git unzip ruby-rdoc ruby-dev terraform cmake build-base diffutils libice libsm libx11 libxt ncurses
RUN gem install neovim


================================================
FILE: Gemfile
================================================
source 'https://rubygems.org'

gem 'nokogiri'
gem 'rdoc'



================================================
FILE: LICENSE.md
================================================

The MIT License (MIT)

Copyright (c) 2017 Julio Tain Sueiras

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: PROVIDER_VERSIONS.md
================================================
||||||
|---|---|---|---|---|
|[![](https://img.shields.io/badge/style-v1.3.4-blue.svg?style=for-the-badge&label=acme)](https://github.com/terraform-providers/terraform-provider-acme/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.52.2-blue.svg?style=for-the-badge&label=alicloud)](https://github.com/terraform-providers/terraform-provider-alicloud/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.2.2-blue.svg?style=for-the-badge&label=archive)](https://github.com/terraform-providers/terraform-provider-archive/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.1.0-blue.svg?style=for-the-badge&label=arukas)](https://github.com/terraform-providers/terraform-provider-arukas/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.1.1-blue.svg?style=for-the-badge&label=atlas)](https://github.com/terraform-providers/terraform-provider-atlas/blob/master/CHANGELOG.md)|
|[![](https://img.shields.io/badge/style-v2.21.1-blue.svg?style=for-the-badge&label=aws)](https://github.com/terraform-providers/terraform-provider-aws/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.5.1-blue.svg?style=for-the-badge&label=azuread)](https://github.com/terraform-providers/terraform-provider-azuread/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.1.1-blue.svg?style=for-the-badge&label=azure-classic)](https://github.com/terraform-providers/terraform-provider-azure-classic/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.32.0-blue.svg?style=for-the-badge&label=azurerm)](https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.8.1-blue.svg?style=for-the-badge&label=azurestack)](https://github.com/terraform-providers/terraform-provider-azurestack/blob/master/CHANGELOG.md)|
|[![](https://img.shields.io/badge/style-v0.12.3-blue.svg?style=for-the-badge&label=bigip)](https://github.com/terraform-providers/terraform-provider-bigip/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.1.0-blue.svg?style=for-the-badge&label=bitbucket)](https://github.com/terraform-providers/terraform-provider-bitbucket/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.2.0-blue.svg?style=for-the-badge&label=brightbox)](https://github.com/terraform-providers/terraform-provider-brightbox/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.2.0-blue.svg?style=for-the-badge&label=chef)](https://github.com/terraform-providers/terraform-provider-chef/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.2.0-blue.svg?style=for-the-badge&label=circonus)](https://github.com/terraform-providers/terraform-provider-circonus/blob/master/CHANGELOG.md)|
|[![](https://img.shields.io/badge/style-v0.1.0-blue.svg?style=for-the-badge&label=clc)](https://github.com/terraform-providers/terraform-provider-clc/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.16.1-blue.svg?style=for-the-badge&label=cloudflare)](https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v2.0.0-blue.svg?style=for-the-badge&label=cloudscale)](https://github.com/terraform-providers/terraform-provider-cloudscale/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.3.0-blue.svg?style=for-the-badge&label=cloudstack)](https://github.com/terraform-providers/terraform-provider-cloudstack/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.1.0-blue.svg?style=for-the-badge&label=cobbler)](https://github.com/terraform-providers/terraform-provider-cobbler/blob/master/CHANGELOG.md)|
|[![](https://img.shields.io/badge/style-v2.5.0-blue.svg?style=for-the-badge&label=consul)](https://github.com/terraform-providers/terraform-provider-consul/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v2.1.0-blue.svg?style=for-the-badge&label=datadog)](https://github.com/terraform-providers/terraform-provider-datadog/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.5.0-blue.svg?style=for-the-badge&label=digitalocean)](https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.1.0-blue.svg?style=for-the-badge&label=dme)](https://github.com/terraform-providers/terraform-provider-dme/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v2.2.0-blue.svg?style=for-the-badge&label=dns)](https://github.com/terraform-providers/terraform-provider-dns/blob/master/CHANGELOG.md)|
|[![](https://img.shields.io/badge/style-v0.2.0-blue.svg?style=for-the-badge&label=dnsimple)](https://github.com/terraform-providers/terraform-provider-dnsimple/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v2.1.0-blue.svg?style=for-the-badge&label=docker)](https://github.com/terraform-providers/terraform-provider-docker/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.2.0-blue.svg?style=for-the-badge&label=dyn)](https://github.com/terraform-providers/terraform-provider-dyn/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.2.0-blue.svg?style=for-the-badge&label=external)](https://github.com/terraform-providers/terraform-provider-external/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.8.1-blue.svg?style=for-the-badge&label=fastly)](https://github.com/terraform-providers/terraform-provider-fastly/blob/master/CHANGELOG.md)|
|[![](https://img.shields.io/badge/style-v1.6.0-blue.svg?style=for-the-badge&label=flexibleengine)](https://github.com/terraform-providers/terraform-provider-flexibleengine/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v2.2.0-blue.svg?style=for-the-badge&label=github)](https://github.com/terraform-providers/terraform-provider-github/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v2.2.0-blue.svg?style=for-the-badge&label=gitlab)](https://github.com/terraform-providers/terraform-provider-gitlab/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v2.11.0-blue.svg?style=for-the-badge&label=google)](https://github.com/terraform-providers/terraform-provider-google/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v2.11.0-blue.svg?style=for-the-badge&label=google-beta)](https://github.com/terraform-providers/terraform-provider-google-beta/blob/master/CHANGELOG.md)|
|[![](https://img.shields.io/badge/style-v1.5.0-blue.svg?style=for-the-badge&label=grafana)](https://github.com/terraform-providers/terraform-provider-grafana/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.11.0-blue.svg?style=for-the-badge&label=hcloud)](https://github.com/terraform-providers/terraform-provider-hcloud/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.0.4-blue.svg?style=for-the-badge&label=hedvig)](https://github.com/terraform-providers/terraform-provider-hedvig/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.10.0-blue.svg?style=for-the-badge&label=helm)](https://github.com/terraform-providers/terraform-provider-helm/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v2.1.0-blue.svg?style=for-the-badge&label=heroku)](https://github.com/terraform-providers/terraform-provider-heroku/blob/master/CHANGELOG.md)|
|[![](https://img.shields.io/badge/style-v1.1.1-blue.svg?style=for-the-badge&label=http)](https://github.com/terraform-providers/terraform-provider-http/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.6.0-blue.svg?style=for-the-badge&label=huaweicloud)](https://github.com/terraform-providers/terraform-provider-huaweicloud/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.2.0-blue.svg?style=for-the-badge&label=icinga2)](https://github.com/terraform-providers/terraform-provider-icinga2/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.1.0-blue.svg?style=for-the-badge&label=ignition)](https://github.com/terraform-providers/terraform-provider-ignition/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.2.0-blue.svg?style=for-the-badge&label=influxdb)](https://github.com/terraform-providers/terraform-provider-influxdb/blob/master/CHANGELOG.md)|
|[![](https://img.shields.io/badge/style-v1.8.1-blue.svg?style=for-the-badge&label=kubernetes)](https://github.com/terraform-providers/terraform-provider-kubernetes/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.1.0-blue.svg?style=for-the-badge&label=librato)](https://github.com/terraform-providers/terraform-provider-librato/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.8.0-blue.svg?style=for-the-badge&label=linode)](https://github.com/terraform-providers/terraform-provider-linode/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.3.0-blue.svg?style=for-the-badge&label=local)](https://github.com/terraform-providers/terraform-provider-local/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.0.0-blue.svg?style=for-the-badge&label=logentries)](https://github.com/terraform-providers/terraform-provider-logentries/blob/master/CHANGELOG.md)|
|[![](https://img.shields.io/badge/style-v1.2.1-blue.svg?style=for-the-badge&label=logicmonitor)](https://github.com/terraform-providers/terraform-provider-logicmonitor/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.1.0-blue.svg?style=for-the-badge&label=mailgun)](https://github.com/terraform-providers/terraform-provider-mailgun/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.7.0-blue.svg?style=for-the-badge&label=mysql)](https://github.com/terraform-providers/terraform-provider-mysql/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.3.0-blue.svg?style=for-the-badge&label=netlify)](https://github.com/terraform-providers/terraform-provider-netlify/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.5.1-blue.svg?style=for-the-badge&label=newrelic)](https://github.com/terraform-providers/terraform-provider-newrelic/blob/master/CHANGELOG.md)|
|[![](https://img.shields.io/badge/style-v1.4.0-blue.svg?style=for-the-badge&label=nomad)](https://github.com/terraform-providers/terraform-provider-nomad/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.4.1-blue.svg?style=for-the-badge&label=ns1)](https://github.com/terraform-providers/terraform-provider-ns1/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.1.0-blue.svg?style=for-the-badge&label=nsxt)](https://github.com/terraform-providers/terraform-provider-nsxt/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v2.1.2-blue.svg?style=for-the-badge&label=null)](https://github.com/terraform-providers/terraform-provider-null/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.0.1-blue.svg?style=for-the-badge&label=nutanix)](https://github.com/terraform-providers/terraform-provider-nutanix/blob/master/CHANGELOG.md)|
|[![](https://img.shields.io/badge/style-v3.35.0-blue.svg?style=for-the-badge&label=oci)](https://github.com/terraform-providers/terraform-provider-oci/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.3.0-blue.svg?style=for-the-badge&label=oneandone)](https://github.com/terraform-providers/terraform-provider-oneandone/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.3.6-blue.svg?style=for-the-badge&label=opc)](https://github.com/terraform-providers/terraform-provider-opc/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.20.0-blue.svg?style=for-the-badge&label=openstack)](https://github.com/terraform-providers/terraform-provider-openstack/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.10.0-blue.svg?style=for-the-badge&label=opentelekomcloud)](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/blob/master/CHANGELOG.md)|
|[![](https://img.shields.io/badge/style-v0.1.0-blue.svg?style=for-the-badge&label=opsgenie)](https://github.com/terraform-providers/terraform-provider-opsgenie/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.5.2-blue.svg?style=for-the-badge&label=oraclepaas)](https://github.com/terraform-providers/terraform-provider-oraclepaas/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.5.0-blue.svg?style=for-the-badge&label=ovh)](https://github.com/terraform-providers/terraform-provider-ovh/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v2.2.1-blue.svg?style=for-the-badge&label=packet)](https://github.com/terraform-providers/terraform-provider-packet/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.3.0-blue.svg?style=for-the-badge&label=pagerduty)](https://github.com/terraform-providers/terraform-provider-pagerduty/blob/master/CHANGELOG.md)|
|[![](https://img.shields.io/badge/style-v1.5.2-blue.svg?style=for-the-badge&label=panos)](https://github.com/terraform-providers/terraform-provider-panos/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.1.0-blue.svg?style=for-the-badge&label=postgresql)](https://github.com/terraform-providers/terraform-provider-postgresql/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.1.0-blue.svg?style=for-the-badge&label=powerdns)](https://github.com/terraform-providers/terraform-provider-powerdns/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.4.4-blue.svg?style=for-the-badge&label=profitbricks)](https://github.com/terraform-providers/terraform-provider-profitbricks/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.1.0-blue.svg?style=for-the-badge&label=rabbitmq)](https://github.com/terraform-providers/terraform-provider-rabbitmq/blob/master/CHANGELOG.md)|
|[![](https://img.shields.io/badge/style-v1.4.0-blue.svg?style=for-the-badge&label=rancher)](https://github.com/terraform-providers/terraform-provider-rancher/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v2.1.2-blue.svg?style=for-the-badge&label=random)](https://github.com/terraform-providers/terraform-provider-random/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.3.1-blue.svg?style=for-the-badge&label=rightscale)](https://github.com/terraform-providers/terraform-provider-rightscale/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.3.0-blue.svg?style=for-the-badge&label=rundeck)](https://github.com/terraform-providers/terraform-provider-rundeck/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.6.0-blue.svg?style=for-the-badge&label=runscope)](https://github.com/terraform-providers/terraform-provider-runscope/blob/master/CHANGELOG.md)|
|[![](https://img.shields.io/badge/style-v1.10.0-blue.svg?style=for-the-badge&label=scaleway)](https://github.com/terraform-providers/terraform-provider-scaleway/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v2.3.0-blue.svg?style=for-the-badge&label=selectel)](https://github.com/terraform-providers/terraform-provider-selectel/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.11.1-blue.svg?style=for-the-badge&label=skytap)](https://github.com/terraform-providers/terraform-provider-skytap/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.0.1-blue.svg?style=for-the-badge&label=softlayer)](https://github.com/terraform-providers/terraform-provider-softlayer/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.13.3-blue.svg?style=for-the-badge&label=spotinst)](https://github.com/terraform-providers/terraform-provider-spotinst/blob/master/CHANGELOG.md)|
|[![](https://img.shields.io/badge/style-v1.0.0-blue.svg?style=for-the-badge&label=statuscake)](https://github.com/terraform-providers/terraform-provider-statuscake/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.0.0-blue.svg?style=for-the-badge&label=telefonicaopencloud)](https://github.com/terraform-providers/terraform-provider-telefonicaopencloud/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v2.1.2-blue.svg?style=for-the-badge&label=template)](https://github.com/terraform-providers/terraform-provider-template/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.13.0-blue.svg?style=for-the-badge&label=tencentcloud)](https://github.com/terraform-providers/terraform-provider-tencentcloud/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.0.2-blue.svg?style=for-the-badge&label=terraform)](https://github.com/terraform-providers/terraform-provider-terraform/blob/master/CHANGELOG.md)|
|[![](https://img.shields.io/badge/style-v0.10.1-blue.svg?style=for-the-badge&label=tfe)](https://github.com/terraform-providers/terraform-provider-tfe/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v2.0.1-blue.svg?style=for-the-badge&label=tls)](https://github.com/terraform-providers/terraform-provider-tls/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.5.1-blue.svg?style=for-the-badge&label=triton)](https://github.com/terraform-providers/terraform-provider-triton/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.11.1-blue.svg?style=for-the-badge&label=ucloud)](https://github.com/terraform-providers/terraform-provider-ucloud/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.1.0-blue.svg?style=for-the-badge&label=ultradns)](https://github.com/terraform-providers/terraform-provider-ultradns/blob/master/CHANGELOG.md)|
|[![](https://img.shields.io/badge/style-v2.1.0-blue.svg?style=for-the-badge&label=vault)](https://github.com/terraform-providers/terraform-provider-vault/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v2.3.0-blue.svg?style=for-the-badge&label=vcd)](https://github.com/terraform-providers/terraform-provider-vcd/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v1.12.0-blue.svg?style=for-the-badge&label=vsphere)](https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/CHANGELOG.md)|[![](https://img.shields.io/badge/style-v0.8.2-blue.svg?style=for-the-badge&label=yandex)](https://github.com/terraform-providers/terraform-provider-yandex/blob/master/CHANGELOG.md)|


================================================
FILE: README.md
================================================
# (Neo)Vim Terraform Completion with Linter - [Demos](./DEMO.md)

**IMPORTANT: This plugin now allow version based completion**

## [Changelog](./CHANGELOG.md)

## [Provider Versions](./PROVIDER_VERSIONS.md)

## [Community Provider Versions](./COMMUNITY_PROVIDER_VERSIONS.md)

[![neovim build](https://badges.herokuapp.com/travis/juliosueiras/vim-terraform-completion?env=VIM_TYPE=nvim&label=Neovim%20Build)](https://travis-ci.org/juliosueiras/vim-terraform-completion)
[![vim build](https://badges.herokuapp.com/travis/juliosueiras/vim-terraform-completion?env=VIM_TYPE=vim&label=Vim%20Build)](https://travis-ci.org/juliosueiras/vim-terraform-completion)
![terraform version](https://img.shields.io/badge/terraform-0.11.7-blue.svg)
[![Join the chat at https://gitter.im/juliosueiras/vim-terraform-completion](https://badges.gitter.im/juliosueiras/vim-terraform-completion.svg)](https://gitter.im/juliosueiras/vim-terraform-completion?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjuliosueiras%2Fvim-terraform-completion.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjuliosueiras%2Fvim-terraform-completion?ref=badge_shield)

**Terraform Module is supported(though there might be bugs)**


## Overview

[![asciicast](https://asciinema.org/a/119610.png)](https://asciinema.org/a/119610)

- [Vim Terraform Completion with Linter - Demos](#vim-terraform-completion-with-linter---demosdemomd)
  * [Changelog](#changelog)
  * [Dependencies](#dependencies)
  * [Installation](#installation)
    + [NeoBundle](#neobundle)
    + [Vim-Plug](#vim-plug)
    + [Minimal Configuration](#minimal-configuration)
    + [Deoplete config](#deoplete-config)
    + [Version config](#version-config-file)
    + [Custom Provider](./CUSTOM_PROVIDER.md)
		- [Community Providers](#community-providers)
	- [Specific Providers Config](#specific-providers)
  * [General Todo](#general-todo)
  * [Todo for Terraform completion](#todo-for-terraform-completion)
  * [Todo for HCL](#todo-for-hcl)
  * [Todo for Improvement](#todo-for-improvement)
  * [Credits](#credits)
  * [Contributors](#contributors)

### Block Completions
(R) for Require , (O) for Optional and (B) for Block

![block completion](pics/block_completion1.png)

![block 2 completion](pics/block_completion2.png)

## Dependencies

- [vim-terraform](https://github.com/hashivim/vim-terraform) (For FileType)
  (Optional not require for completion)
- [vim-syntastic](https://github.com/vim-syntastic/syntastic) (Only for Linter)
- [neomake](https://github.com/neomake/neomake) (Only for Linter, Neovim)
- [Deoplete](https://github.com/Shougo/deoplete.nvim) (Neovim only, for completion)
- Ctags & [tagbar](https://github.com/majutsushi/tagbar) (Optional for Tag Sidebar)

## Installation

**Require `+ruby` or `+ruby/dyn` for vim & json gem for ruby as well**

Snippets completion is done through `<C-X><C-K>`

### NeoBundle
```vim
NeoBundle 'hashivim/vim-terraform'
NeoBundle 'vim-syntastic/syntastic'
NeoBundle 'juliosueiras/vim-terraform-completion'
```

### Vim-Plug
```vim
Plug 'hashivim/vim-terraform'
Plug 'vim-syntastic/syntastic'
Plug 'juliosueiras/vim-terraform-completion'
```

### Minimal Configuration
```vim
" Minimal Configuration
set nocompatible
syntax on
filetype plugin indent on

call plug#begin('~/.vim/plugged')

" (Optinal) for Tag Sidebar
" Plug 'majutsushi/tagbar'

Plug 'hashivim/vim-terraform'
Plug 'vim-syntastic/syntastic'
Plug 'juliosueiras/vim-terraform-completion'
call plug#end()

" Syntastic Config
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*

let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0

" (Optional)Remove Info(Preview) window
set completeopt-=preview

" (Optional)Hide Info(Preview) window after completions
autocmd CursorMovedI * if pumvisible() == 0|pclose|endif
autocmd InsertLeave * if pumvisible() == 0|pclose|endif

" (Optional) Enable terraform plan to be include in filter
let g:syntastic_terraform_tffilter_plan = 1

" (Optional) Default: 0, enable(1)/disable(0) plugin's keymapping
let g:terraform_completion_keys = 1

" (Optional) Default: 1, enable(1)/disable(0) terraform module registry completion
let g:terraform_registry_module_completion = 0
```

## Deoplete config
put this in your init.vim
```vim
let g:deoplete#omni_patterns = {}
let g:deoplete#omni_patterns.terraform = '[^ *\t"{=$]\w*'
let g:deoplete#enable_at_startup = 1
call deoplete#initialize()
```

**NOTE: For newer version of deoplete if the above doesn't work**

```vim

let g:deoplete#omni_patterns = {}

call deoplete#custom#option('omni_patterns', {
\ 'complete_method': 'omnifunc',
\ 'terraform': '[^ *\t"{=$]\w*',
\})

call deoplete#initialize()
```


## Version config file
by default , all providers uses the latest version, but you can add a file call `.tfcompleterc` under working directory, and content can be this:
```
vsphere=1.0.3
aws=0.1.0
```

using the syatax of `<provider>=<version>`

*Demo:*
[![asciicast](https://asciinema.org/a/157636.png)](https://asciinema.org/a/157636)

## Community Providers

By default no community providers is enable, to use one, first refer to COMMUNITY_PROVIDER_VERSIONS.md , then add a `.tfcompleterc` to your current working dir , for ex. to use Generic REST Api Provider, the .tfcompleterc would look like

```
restapi=master
```

## Specific Providers

### Google Beta Provider

To use completion for google beta provider, please use `.tfcompleterc` and put `google=beta_<version>`

## General Todo
<details>
<summary>Todolist</summary>

- [X] Adapt to Upcoming terraform 0.10
- [X] Added a bot for auto pushing of new provider version 
- [ ] (WIP) Refactoring Regex for linter and completion, and Trying out on api based(so it can integrade with other editor) solution
- [ ] (WIP) More test cases
- [x] Support for Neomake(Require further testing)
- [X] Run terraform plan and output to a new window(`<leader>rr`) 
- [X] Async Run support(For Neovim/Vim 8) 
- [ ] Move regex code to a json(for easier extension)
- [x] Test from zero to useful setup using Docker
- [x] Jump Reference (Ctrl-L first time to jump to resource definition, second time
    on the same line to jump back)
- [x] Show Doc (Ctrl-K)
- [x] Provide config and example
- [x] Integrate Basic `terraform validate` and `tflint` into Synstatic
- [x] Added a custom linter for providing a better error
- [ ] (WIP) Better linter
- [ ] (WIP) Full Snippets
</details>

**NOTE:** enabling deep check for tflint can be a bit slow

**NOTE:** To use `tffilter` please add `export PATH=$PATH:/path/to/this/plugin/bin` to your bashrc or zshrc

[Demo of the linter](https://asciinema.org/a/118441)

## Todo for Terraform completion
<details>
<summary>Todolist</summary>

- [X] (Require more work) Lookup Attributes data using terraform.tfstate
- [X] Evaluate Interpolation
- [ ] (WIP) Custom Provider completion, might do Rest API style due to unstable custom provider
- [ ] Provider
- [x] Completion for functions(file,etc) and basic resource arguments(count,lifecyle, etc)
- [x] Module (Make sure you run `terraform get` beforehand)
- [x] Data
- [x] Resource(with Provider)
- [x] Parameter
- [x] Adding Info to Argument and Attribute(Type not including ,since Info
    already indicate it)
- [x] Variable
- [ ] Cleaner code
- [x] local/offline
- [x] Add completion tags, ingress, and other subblock
- [ ] Further seperate data source from resource
</details>

## Todo for HCL
- [ ] Add Completion for hcl
- [X] Completion for Sublock(Indicate by `Type(B)` )
## Todo for Improvement
- [X] Add Travis-CI for testing, and ensuring the completion is outputing the right completion
- [X] Look into the new module registry (Now support module name completion)
- [X] Add config for allowing multiple version for providers

## Credits
- Provider Model Extraction script adapted from [Intellij-hcl](https://github.com/VladRassokhin/intellij-hcl)
- Completion data is from Terraform Official Documentation and Model data from [Intellij-HCL](https://github.com/VladRassokhin/intellij-hcl/)
- Folding adapted from [vim-terraform](https://github.com/hashivim/vim-terraform)

## [Contributors](./CONTRIBUTORS.md)


## License
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjuliosueiras%2Fvim-terraform-completion.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjuliosueiras%2Fvim-terraform-completion?ref=badge_large)


================================================
FILE: addon-info.json
================================================
{
  "name": "vim-terraform-completion",
  "description": "A (Neo)Vim AutoCompletion Plugin for HashiCorp's Terraform",
  "author": "juliosueiras",
  "dependencies": {
    "vim-terraform": {"type": "git", "url": "git://github.com/hashivim/vim-terraform"}
  }
}


================================================
FILE: autoload/terraformcomplete.vim
================================================
if !has("ruby") && !has("ruby/dyn")
    finish
endif

if exists('g:syntastic_extra_filetypes')
    call add(g:syntastic_extra_filetypes, 'terraform')
else
    let g:syntastic_extra_filetypes = ['terraform']
endif

if exists('g:loaded_neomake')
    if !exists('g:neomake_terraform_tffilter_plan') 
        let g:neomake_terraform_tffilter_plan = 0
    endif

    if g:neomake_terraform_tffilter_plan == 0
        let args = ['%:p']
    else
        let args = ['%:p','--with-plan']
    endif

    let g:neomake_terraform_terraform_validate_maker = {
                \ 'exe' : 'terraform',
                \ 'append_file': 0,
                \ 'cwd': '%:p:h',
                \ 'args': ['validate', '-no-color'],
                \ 'errorformat': 'Error\ loading\ files\ Error\ parsing %f:\ At\ %l:%c:\ %m'
                \ }

    let g:neomake_terraform_tffilter_maker = {
                \ 'exe': 'tffilter',
                \ 'append_file': 0,
                \ 'cwd': '%:p:h',
                \ 'args': args,
                \ 'errorformat': '%f:%l:%m'
                \ }

    let g:neomake_terraform_tflint_maker = {
                \ 'exe' : 'tflint',
                \ 'append_file': 0,
                \ 'cwd': '%:p:h',
                \ 'args': [],
                \ 'errorformat': '%+P%f,%p%t%*[^:]:%l %m,%-Q'
                \ }

    let g:neomake_terraform_enabled_makers = ['terraform_validate', 'tflint', 'tffilter']
endif


let s:path = fnamemodify(resolve(expand('<sfile>:p')), ':h')

""
" Function to eval interpolation
function! terraformcomplete#EvalInter()


	let old_pos = getpos(".")
	execute 'normal! t}'
	if strpart(getline(".") , 0 , getpos(".")[2]) =~ ".*{"
		let a_curr = strpart(getline("."),0, getpos(".")[2])
		let a_pair_text = split(a_curr, "${")[-1]
		call setpos('.', old_pos)
		botright new
		setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile nowrap

	ruby <<EOF
	require 'tempfile'

	result = `terraform console <<EOE 2>&1
#{Vim::evaluate("a_pair_text")}
EOE
`

	file = Tempfile.new('tfconsole')
	begin
	  file.write(result)
  ensure
		file.close
		Vim::command("read #{file.path}")
		file.unlink   # deletes the temp file
  end
EOF
	setlocal nomodifiable
endif
endfunc

""
" Function to open the doc in browser
function! terraformcomplete#OpenDoc()
    try
        let a_provider = terraformcomplete#GetProvider()
        let a_resource = terraformcomplete#GetResource()
        let a_arg = matchlist(getline("."), '\s*\([^ ]*\)\s*=\?', '')
        if len(a_arg) >= 2
            let a_arg = a_arg[1]
        else
            let a_arg = ''
        endif

        if a_provider == "digitalocean"
          let a_provider = "do"
        endif

        let a_link = 'https://www.terraform.io/docs/providers/' . a_provider

        if terraformcomplete#GetType() ==? 'resource'
            let a_link .= '/r'
        else
            let a_link .= '/d'
        endif

        let a_link .= '/' . a_resource . '.html\#' . a_arg

        "(Windows) cmd /c start filename_or_URL
        if system('uname -s') =~ 'Darwin'
            silent! execute ':!open ' . a_link
            silent! execute ':redraw!'
        else
            silent! execute ':!xdg-open ' . a_link
            silent! execute ':redraw!'
        endif
    catch
    endtry
endfunction

function! terraformcomplete#OutputFold()
    let curr_line = getline(v:lnum)
    if match(curr_line, '-/+ .*') >= 0
        return ">1"
    elseif match(curr_line, '^\* .*') >= 0
        return ">1"
    elseif match(curr_line, '^+ .*') >= 0
        return ">1"
    elseif match(curr_line, '^- .*') >= 0
        return ">1"
    elseif match(curr_line, '\~ .*') >= 0
        return ">1"
    else
        return "="
    end
endfunction

function! terraformcomplete#NeovimRunHandler(job_id, data, event) dict
	if a:event == 'stdout'
	elseif a:event == 'stderr'
	else
	    let file = expand('%')
	    botright new
        execute ':r ' . g:planOutputFile
	    setlocal buftype=nofile
	    setlocal bufhidden=hide
	    setlocal nowrap
	    setlocal noswapfile
	    setlocal readonly
	    setlocal foldmethod=expr
	    setlocal foldexpr=terraformcomplete#OutputFold()

      syntax match addedItem '^+ .*'
      syntax match removedItem '^- .*'
      syntax match recreateItem '^-/+ .*'
      syntax match changedItem '^\~ .*'
      highlight addedItem guifg=#409900
      highlight removedItem guifg=#BC4C4C
      highlight recreateItem guifg=#409900
      highlight changedItem guifg=#FFAE19


        execute 'normal! GG'
	    noremap <silent><buffer> q :q<CR>
        unlet g:planOutputFile
	endif
endfunction

fun! terraformcomplete#NeovimRun() 
    let s:callbacks = {
                \ 'on_stdout': function('terraformcomplete#NeovimRunHandler'),
                \ 'on_stderr': function('terraformcomplete#NeovimRunHandler'),
                \ 'on_exit': function('terraformcomplete#NeovimRunHandler')
                \ }

    if exists('g:planOutputFile')
        echo 'Already running Plan in background'
    else
        echo 'Running Plan in background'

        let g:planOutputFile = tempname()
        let job1 = jobstart(['/bin/sh', '-c', 'terraform plan -input=false -no-color &> ' . g:planOutputFile ], extend({'shell': ''}, s:callbacks))
    endif
endfun

function! terraformcomplete#AsyncRunHandler(channel)
	    let file = expand('%')
	    botright new
        execute ':r ' . g:planOutputFile
	    setlocal buftype=nofile
	    setlocal bufhidden=hide
	    setlocal nowrap
	    setlocal noswapfile
	    setlocal readonly
	    setlocal foldmethod=expr
	    setlocal foldexpr=terraformcomplete#OutputFold()

        syntax match addedItem '^+ .*'
        syntax match removedItem '^- .*'
        syntax match recreateItem '^-/+ .*'
        syntax match changedItem '^\~ .*'
        highlight addedItem guifg=#409900
        highlight removedItem guifg=#BC4C4C
        highlight recreateItem guifg=#409900
        highlight changedItem guifg=#FFAE19

        execute 'normal! GG'
	    noremap <silent><buffer> q :q<CR>
        unlet g:planOutputFile
endfunction

fun! terraformcomplete#AsyncRun()
    if v:version < 800
        echoerr 'AsyncRun requires VIM version 8 or higher'
        return
    endif

    if exists('g:planOutputFile')
        echo 'Already running Plan in background'
    else
        echo 'Running Plan in background'

        let g:planOutputFile = tempname()
        call job_start(["/bin/sh", "-c", "terraform plan -input=false -no-color &> " . g:planOutputFile], {'close_cb': 'terraformcomplete#AsyncRunHandler'})
    endif
endfun

fun! terraformcomplete#Run()
    let file = expand('%')
    botright new
    setlocal buftype=nofile
    setlocal bufhidden=hide
    setlocal nowrap
    setlocal noswapfile
    setlocal readonly
    silent execute ':r!terraform plan -no-color -input=false'
    setlocal foldmethod=expr
    setlocal foldexpr=terraformcomplete#OutputFold()

    syntax match addedItem '^+ .*'
    syntax match removedItem '^- .*'
    syntax match recreateItem '^-/+ .*'
    syntax match changed2Item '^~ .*'
    highlight addedItem guifg=#409900
    highlight removedItem guifg=#BC4C4C
    highlight recreateItem guifg=#409900
    highlight changedItem guifg=#FFAE19

    noremap <silent><buffer> q :q<CR>
endfunc

let s:oldpos = []
function! terraformcomplete#JumpRef()
    try 
        let old_pos = getpos(".")
        if strpart(getline("."),0, getpos(".")[2]) =~ ".*{"
            execute 'normal! t}'
            let a_curr = strpart(getline("."),0, getpos(".")[2])
            let a_attr = split(split(a_curr, "${")[-1], '\.')
            call setpos('.', old_pos)
            let s:oldpos = getpos('.')

            if a_attr[0] == 'var'
                call search('\s*variable\s*"' . a_attr[1] . '".*')
            else
              if a_attr[0] == "data" 
                call search('.*\s*"' . a_attr[1] . '"\s*"' . a_attr[2] . '".*')
              else
                call search('.*\s*"' . a_attr[0] . '"\s*"' . a_attr[1] . '".*')
              endif
            end
            echo 'Jump to ' . a_attr[0] . '.' . a_attr[1]
        else
            call setpos('.', s:oldpos)
            echo 'Jumping Back'
            let s:oldpos = []
        end
    catch
    endtry
endfunction

function! terraformcomplete#LookupAttr()
    " TODO: Improve capture of interpolation
    " let a_curr = expand("<cWORD>")
        " ruby <<EOF
        " temp = VIM::evaluate('a_curr')
        " if temp[-1] != '.'
        "     temp = temp[0..-2]
        " end
        " if temp.match(/\${.*[^\w.-](?:(?![^\w.-]))(.*\.)[\)}]/) != nil
        "     res = temp.match(/\${.*[^\w.-](?:(?![^\w.-]))(.*\.)[\)}]/)[1]
        " elsif temp.match(/.*\${(.*\.)}/) != nil
        "     res = temp.match(/.*\${(.*\.)}/)[1]
        " end

    " VIM::command("let a_temp_attr = '#{res}'")
" EOF
try
    let a_curr_word = expand("<cWORD>")

    if a_curr_word =~ '${.*}'
        let a_word_array = split(matchlist(a_curr_word, '\v\$\{(.*)\}')[1], '\.')
        if a_word_array[0] == 'data'
            let a_look_for = a_word_array[0] . '.' . a_word_array[1] . '.' . a_word_array[2]
            if len(a_word_array) > 4
                let a_look_attr = a_word_array[3] . '.' . a_word_array[4]
            else
                let a_look_attr = a_word_array[3]
            endif
        else
            let a_look_for = a_word_array[0] . '.' . a_word_array[1]
            let a_look_attr = a_word_array[2]
        endif

        echo system(s:path . '/../utils/lookup_attrs ' . expand("%:p:h") . ' ' . a_look_for . ' ' . a_look_attr)
    endif
catch
endtry
endfunction

function! terraformcomplete#GetDoc()
    let s:curr_pos = getpos('.')
    if getline(".") !~# '^\s*\(resource\|data\)\s*"'
        execute '?\s*\(resource\|data\)\s*"'
    endif
    let a_provider = split(split(substitute(getline("."),'"', '', ''))[1], "_")[0]

    let a_resource = substitute(split(split(getline("."))[1], a_provider . "_")[1], '"','','')
    if getline(".") =~ '^data.*'
        let s:type = 'datas'
    else
        let s:type = 'resources'
    end
    call setpos('.', s:curr_pos)
    let a_curr_word = expand("<cWORD>")
    let a_search_word = ''
    let a_word_array = []

    if a_curr_word =~ '${.*}'
      let a_word_array = split(matchlist(a_curr_word, '\v\$\{(.*)\}')[1], '\.')
      if a_word_array[0] == 'data'
        let a_provider = split(a_word_array[1], "_")[0]
        let a_resource = split(a_word_array[1], a_provider . "_")[0]
        let s:type = 'datas'
        let a_res_type = 'attributes'
        let a_search_word = a_word_array[3]
      else
        let a_provider = split(a_word_array[0], "_")[0]
        let a_resource = split(a_word_array[0], a_provider . "_")[0]
        let s:type = 'resources'
        let a_res_type = 'attributes'
        let a_search_word = a_word_array[2]
      endif
    else
      let a_search_word = a_curr_word
      let a_res_type = 'arguments'
    endif

      let res = system(s:path . '/../utils/get_doc ' . s:path . " '" . a_search_word . "' " . a_provider . " " . a_resource . " " . s:type . " " . a_res_type)

      echo substitute(res, '\n', '', '')
endfunction


fun! terraformcomplete#GetResource()
    let s:curr_pos = getpos('.')
    if getline(".") !~# '^\s*\(resource\|data\)\s*"'
        execute '?^\s*\(resource\|data\)\s*"'
    endif
    let a_provider = split(split(substitute(getline("."),'"', '', ''))[1], "_")[0]

    let a_resource = substitute(split(split(getline("."))[1], a_provider . "_")[1], '"','','')
    call setpos('.', s:curr_pos)
    unlet s:curr_pos
    return a_resource
endfun

fun! terraformcomplete#GetType()
    let s:curr_pos = getpos('.')
    if getline(".") !~# '^\s*\(resource\|data\)\s*"'
        execute '?\s*\(resource\|data\)\s*"'
    endif

    if getline(".") =~? "resource"
        let a_res = "resource"
    else
        let a_res = "data"
    endif

    call setpos(".", s:curr_pos)
    unlet s:curr_pos
	return a_res
endfun

fun! terraformcomplete#GetProvider()
    let s:curr_pos = getpos('.')
    if getline(".") !~# '^\s*\(resource\|data\)\s*"'
        execute '?^\s*\(resource\|data\)\s*"'
    endif

    let a_provider = split(split(substitute(getline("."),'"', '', ''))[1], "_")[0]

    call setpos(".", s:curr_pos)
    unlet s:curr_pos
	return a_provider
endfun

function! terraformcomplete#rubyComplete(ins, provider, resource, attribute, data_or_resource, block_word)

    let s:curr_pos = getpos('.')
    let a_res = []
    let a_resource_line = getline(s:curr_pos[1]) =~ "^[ ]*resource"
    let a_data_line = getline(s:curr_pos[1]) =~ "^[ ]*data"
    let a_provider_line = (strpart(getline("."),0, getpos(".")[2]) =~ '^[ ]*\(resource\|data\)[ ]*"\%["]$' || getline(s:curr_pos[1]) =~ "provider")

  ruby << EOF
require 'json'

def terraform_complete(provider, resource)
    begin
        data = ''
        if VIM::evaluate('a_provider_line') == 0 then
						if File.exists? "#{VIM::evaluate('s:path')}/../provider_json/#{provider}/#{VIM::evaluate("g:terraform_versions_config")[provider]}/#{provider}.json" 
							File.open("#{VIM::evaluate('s:path')}/../provider_json/#{provider}/#{VIM::evaluate("g:terraform_versions_config")[provider]}/#{provider}.json", "r") do |f|
								f.each_line do |line|
									data = line
								end
							end
						else
							File.open("#{VIM::evaluate('s:path')}/../community_provider_json/#{provider}/#{VIM::evaluate("g:terraform_versions_config")[provider]}/#{provider}.json", "r") do |f|
								f.each_line do |line|
									data = line
								end
							end
						end

            parsed_data = JSON.parse(data)
						block_word = VIM::evaluate('a:block_word')
            if VIM::evaluate('a:attribute') == "true" then
              if VIM::evaluate('a:data_or_resource') == 0 then
								if block_word == "" then
									result = parsed_data['datas'][resource]["attributes"]
								else
									result = parsed_data['datas'][resource]["attributes"]
									for r in result
										if r["word"] == block_word
											result = r["subblock"]
										end
									end
								end
              else
								if block_word == "" then
									result = parsed_data['resources'][resource]["attributes"]
								else
									result = parsed_data['resources'][resource]["attributes"]
									for r in result
										if r["word"] == block_word
											result = r["subblock"]
										end
									end
								end
              end
            elsif VIM::evaluate('a_data_line') == 1 then
                temp = parsed_data['datas'].keys
                temp.delete("provider_arguments")
                result = temp.map { |x|
                    { "word" => x }
                }
            elsif VIM::evaluate('a_resource_line') == 1 then
                temp = parsed_data['resources'].keys
                temp.delete("provider_arguments")
                result = temp.map { |x|
                    { "word" => x }
                }
            else
              if VIM::evaluate('a:data_or_resource') == 0 then
                result = parsed_data['datas'][resource]["arguments"]
              else
                result = parsed_data['resources'][resource]["arguments"]
              end
              result.concat(JSON.parse(File.read("#{VIM::evaluate('s:path')}/../extra_json/base.json")))
            end
        elsif VIM::evaluate('a_provider_line') == 1 then
						result = VIM::evaluate('g:terraform_versions_config').keys.sort.map	do |value|
							{ "word" => value }
						end
        end

        return JSON.generate(result)
    rescue
        return []
    end
end


class TerraformComplete
  def initialize()
    @buffer = Vim::Buffer.current
   
    print Vim::evaluate('a:ins')

    result = terraform_complete(VIM::evaluate('a:provider'), VIM::evaluate('a:resource'))
    Vim::command("let a_res = #{result}")
  end
end
gem = TerraformComplete.new()
EOF
let a_resource_line = 0
let a_provider_line = 0
return a_res
endfunction

fun! terraformcomplete#tfcompleterc_Complete(findstart, base)
	if a:findstart
		" locate the start of the word
		let line = getline('.')
		let start = col('.') - 1
		while start > 0 && line[start - 1] =~ '\a'
			let start -= 1
		endwhile
		return start
	else
    let a_res = []
		for m in readfile(s:path . "/../dicts/tfcompleterc_dict")
			if m =~ '^' . a:base
				call add(a_res, m)
			endif
		endfor
		return a_res
	endif
endfunc

fun! terraformcomplete#Complete(findstart, base)
  if a:findstart
    " locate the start of the word
    let line = getline('.')
    let start = col('.') - 1
    while start > 0 && line[start - 1] =~ '\a'
      let start -= 1
    endwhile
    return start
  else
    let res = []
    let final_res = []
		if getline(".") =~ '\s*source\s*=\s*"'
			if g:terraform_registry_module_completion
				for m in terraformcomplete#GetAllRegistryModules()
					if m.word =~ '^' . a:base
            call add(final_res, m)
					endif
				endfor
        return final_res
			endif
		endif
    try
      let a_provider = terraformcomplete#GetProvider()
    catch
      let a_provider = ''
    endtry
	
    try
      let a_resource = terraformcomplete#GetResource()
    catch
      let a_resource = ''
    endtry

    let a_old_pos = getpos(".")
    try
        execute 'normal! [{'
        let a_test_line = getline(".")
        call setpos(".",a_old_pos)
				let a_all_line = []
				let counter = 0
				while counter <= 40
					let counter += 1
					execute 'normal! [{'
					let a_curr_line = match(getline("."), '^\s*\(resource\|data\|module\|variable\|output\|locals\|provider\)\s*"')
					if a_curr_line != 0
						call add(a_all_line,matchlist(getline("."), '\s*\([^ ]*\)\s*{', '')[1])
					else
						break
					endif
				endw
        call setpos(".",a_old_pos)
        execute 'normal! [{'

				let a_nested = match(getline("."), '^\s*\(resource\|data\|module\)\s*"')
				call search('^\s*\(resource\|data\|module\)\s*"', 'b')

        let a_data_or_resource = matchlist(getline("."), '\s*\([^" ]*\)\s*.*', '')[1] 
        call setpos(".",a_old_pos)
        let a_test_name = matchlist(a_test_line, '\s*\([^ ]*\)\s*{', '')[1]
        ruby <<EOF
            require 'json'
            data = ''
						if File.exists? "#{VIM::evaluate('s:path')}/../provider_json/#{VIM::evaluate('a_provider')}/#{VIM::evaluate("g:terraform_versions_config")[VIM::evaluate('a_provider')]}/#{VIM::evaluate('a_provider')}.json" 
							File.open("#{VIM::evaluate('s:path')}/../provider_json/#{VIM::evaluate('a_provider')}/#{VIM::evaluate("g:terraform_versions_config")[VIM::evaluate('a_provider')]}/#{VIM::evaluate('a_provider')}.json", "r") do |f|
								f.each_line do |line|
									data = line
								end
							end
						else
							File.open("#{VIM::evaluate('s:path')}/../community_provider_json/#{VIM::evaluate('a_provider')}/#{VIM::evaluate("g:terraform_versions_config")[VIM::evaluate('a_provider')]}/#{VIM::evaluate('a_provider')}.json", "r") do |f|
								f.each_line do |line|
									data = line
								end
							end
						end

            base_data = JSON.parse(File.read("#{VIM::evaluate('s:path')}/../extra_json/base.json"))

            test = VIM::evaluate("a_test_name")
            nested = VIM::evaluate("a_nested")
            parsed_data = ''
            result = JSON.parse(data)["#{VIM::evaluate('a_data_or_resource')}s"][VIM::evaluate("a_resource")]['arguments']

            result.concat(base_data)

						all_words = VIM::evaluate("a_all_line")
						result_subblock = result 
						all_words.reverse.each do |word|
							result_subblock = result_subblock.find {|i| i["word"] == word }["subblock"]
						end
						parsed_data = JSON.generate(result_subblock)
            result.each do |i| 
	    end
            VIM::command("let a_res = #{parsed_data}")
EOF
        return a_res
    catch
    endtry
    call setpos(".",a_old_pos)


    if strpart(getline('.'),0, getpos('.')[2]) =~ '\${[^}]*\%[}]$'
    try
            let a_search_continue = 1
            let a_resource_list = []
            let a_type_list = {}
            let a_data_list = []
            let a_data_type_list = {}

            let a_all_res = terraformcomplete#GetAll('resource')
            let a_resource_list = a_all_res[0]
            let a_type_list = a_all_res[1]
            call add(a_resource_list, { 'word': 'var' })
            call add(a_resource_list, { 'word': 'module' })
            call add(a_resource_list, { 'word': 'data' })
            ruby <<EOF
            require 'json'
            res = JSON.parse(File.read("#{VIM::evaluate('s:path')}/../extra_json/functions.json"))
            res.each do |i|
                VIM::command("call add(a_resource_list, #{JSON.generate(i)})") 
            end
EOF

            try
                let a_curr = strpart(getline('.'),0, getpos('.')[2])

                ruby <<EOF
                temp = VIM::evaluate('a_curr')
                if temp[-1] != '.'
                    temp = temp[0..-2]
                end

								#puts temp.match(/\${.*[^\w*.-](?:(?![^\w*.-]))(.*\.)$/)
                if temp.match(/\${.*[^\[\]\w*.-](?:(?![^\[\]\w*.-]))(.*\.)$/) != nil
                    res = temp.match(/\${.*[^\[\]\w*.-](?:(?![^\[\]\w*.-]))(.*\.)$/)[1]
                elsif temp.match(/.*\${(.*\.)$/) != nil
                    res = temp.match(/.*\${(.*\.)$/)[1]
                end
								#res_ar = res.split "."

								#puts res_ar
								#if res_ar[0] == "data" and res_ar[3] == '*'
								#	res_ar.delete_at 3
								#elsif res_ar[2] == "*"
								#	res_ar.delete_at 2
								#end

                VIM::command("let a_temp_attr = '#{res}'")
EOF
                let a_attr = split(a_temp_attr, '\.')


                if len(a_attr) == 1
                    if a_attr[0] == "data" 
                      let a_data_list = terraformcomplete#GetAll('data')[0]
                      return a_data_list
                    elseif a_attr[0] == "module" 
                      let a_module_list = terraformcomplete#GetAllModule()[0]
                      return a_module_list
                    elseif a_attr[0] == "var" 
                        ruby <<EOF
                        require 'json'

                        def terraform_get_vars()
                            path = "#{Vim::evaluate("expand('%:p:h')")}"
                            curr_file = "#{Vim::evaluate("expand('%:p')")}"
                            vars_file_paths = ["#{path}/variables.tf", "#{path}/vars.tf", curr_file]
                            vars = []
                            vars_file_paths.each do |file|
                                if File.readable? file then
                                    vars_array = File.read(file)
                                    vars_array = vars_array.split("\n")
                                    vars_array = vars_array.find_all {|x| x[/variable\s*".*"/]}
                                    vars.concat(vars_array.map {|x| { "word": x.split(" ")[1].tr("\"", '')} })
                                end
                            end
                            return JSON.generate(vars)
                        end

                        Vim::command("let a_vars_res = #{terraform_get_vars()}")
EOF
                        return a_vars_res
                    else
                        if a_type_list != {}
                          return a_type_list[a_attr[0]]
                        else
                          return 
                        endif
                    endif
                elseif len(a_attr) == 2
                    if a_attr[0] == "data" 
                      let a_data_type_list = terraformcomplete#GetAll('data')[1]
                      return a_data_type_list[a_attr[1]]
                    elseif a_attr[0] == "module"
                        let a_file_path = expand('%:p:h')
                        let a_line = terraformcomplete#GetAllModule()[1][a_attr[1]][0]
                        let a_module_name = a_attr[1]
                        ruby <<EOF
                        require "#{Vim::evaluate("s:path")}/../module"
                        include ModuleUtils
                        name = Vim::evaluate("a_module_name")
                        line = Vim::evaluate("a_line")
                        file_path = Vim::evaluate("a_file_path")
                        Vim::command("let a_res = #{load_attr_module(name, line.to_s, file_path)}")
EOF
                        return a_res
                    else
                      let a_provider = split(a_attr[0], "_")[0]

                      let a_resource = split(a_attr[0], a_provider . "_")[0]
                      let a_data_or_resource = 1

                      for m in terraformcomplete#rubyComplete(a:base, a_provider, a_resource, 'true', a_data_or_resource, "")
                        if m.word =~ '^' . a:base
                          call add(res, m)
                        endif
                      endfor
                      return res
                    endif
                elseif len(a_attr) == 3
                    if a_attr[0] == "data"
                        let a_res = []
                        let a_provider = split(a_attr[1], "_")[0]

                        let a_resource = split(a_attr[1], a_provider . "_")[0]
                        let a_data_or_resource = 0
                        for m in terraformcomplete#rubyComplete(a:base, a_provider, a_resource, 'true', a_data_or_resource, "")
                            if m.word =~ '^' . a:base
                                call add(a_res, m)
                            endif
                        endfor
                        return a_res
                    else
                      let a_provider = split(a_attr[0], "_")[0]

                      let a_resource = split(a_attr[0], a_provider . "_")[0]
                      let a_data_or_resource = 1

                      for m in terraformcomplete#rubyComplete(a:base, a_provider, a_resource, 'true', a_data_or_resource, "")
                        if m.word =~ '^' . a:base
                          call add(res, m)
                        endif
                      endfor
                      return res
                    endif
                elseif len(a_attr) == 4 
                    if a_attr[0] == "data"
                        let a_res = []
                        let a_provider = split(a_attr[1], "_")[0]

                        let a_resource = split(a_attr[1], a_provider . "_")[0]
                        let a_data_or_resource = 0

												"if match(a_attr[3], "^[0-9*]*$") == 0
												"	let a_attr_block_word = a_attr[4]
												"else
												"	let a_attr_block_word = a_attr[3]
												"endif
												"echo a_attr_block_word

                        for m in terraformcomplete#rubyComplete(a:base, a_provider, a_resource, 'true', a_data_or_resource, "")
                            if m.word =~ '^' . a:base
                                call add(a_res, m)
                            endif
                        endfor
                        return a_res
                    else
                      let a_provider = split(a_attr[0], "_")[0]

                      let a_resource = split(a_attr[0], a_provider . "_")[0]
                      let a_data_or_resource = 1

											if match(a_attr[2], "^[0-9*]*$") == 0
												let a_attr_block_word = a_attr[3]
											else
												let a_attr_block_word = a_attr[2]
											endif

                      for m in terraformcomplete#rubyComplete(a:base, a_provider, a_resource, 'true', a_data_or_resource, a_attr_block_word)
                        if m.word =~ '^' . a:base
                          call add(res, m)
                        endif
                      endfor
                      return res
                    endif
                elseif len(a_attr) == 5 
                    if a_attr[0] == "data"
                        let a_res = []
                        let a_provider = split(a_attr[1], "_")[0]

                        let a_resource = split(a_attr[1], a_provider . "_")[0]
                        let a_data_or_resource = 0

												if match(a_attr[3], "^[0-9*]*$") == 0
													let a_attr_block_word = a_attr[4]
												else
													let a_attr_block_word = a_attr[3]
												endif

                        for m in terraformcomplete#rubyComplete(a:base, a_provider, a_resource, 'true', a_data_or_resource, a_attr_block_word)
                            if m.word =~ '^' . a:base
                                call add(a_res, m)
                            endif
                        endfor
                        return a_res
                    else
                      let a_provider = split(a_attr[0], "_")[0]

                      let a_resource = split(a_attr[0], a_provider . "_")[0]
                      let a_data_or_resource = 1

											if match(a_attr[2], "^[0-9*]*$") == 0
												let a_attr_block_word = a_attr[3]
											else
												let a_attr_block_word = a_attr[2]
											endif

                      for m in terraformcomplete#rubyComplete(a:base, a_provider, a_resource, 'true', a_data_or_resource, a_attr_block_word)
                        if m.word =~ '^' . a:base
                          call add(res, m)
                        endif
                      endfor
                      return res
                    endif
                elseif len(a_attr) == 6 
                    if a_attr[0] == "data"
                        let a_res = []
                        let a_provider = split(a_attr[1], "_")[0]

                        let a_resource = split(a_attr[1], a_provider . "_")[0]
                        let a_data_or_resource = 0

												if match(a_attr[4], "^[0-9*]*$") == 0
													let a_attr_block_word = a_attr[5]
												else
													let a_attr_block_word = a_attr[4]
												endif

                        for m in terraformcomplete#rubyComplete(a:base, a_provider, a_resource, 'true', a_data_or_resource, a_attr_block_word)
                            if m.word =~ '^' . a:base
                                call add(a_res, m)
                            endif
                        endfor
                        return a_res
                    endif
                else
                    return a_resource_list
                endif
            catch
                return a_resource_list
            endtry
        catch
            return a_resource_list
        endtry
    else
        try
          let s:curr_pos = getpos('.')
          let s:oldline = getline('.')
          call search('^\s*\(resource\|data\|module\)\s*"', 'b')
          if getline('.') =~ '^\s*module'
            let a_module_name = matchlist(getline("."), '^\s*module\s*"\(.*\)".*')[1]
            execute '/^\s*source.*'
            let a_line = getline(".")
            call setpos('.', s:curr_pos)
            let a_file_path = expand('%:p:h')
              ruby <<EOF
                  require "#{Vim::evaluate("s:path")}/../module"
                  include ModuleUtils
                  name = Vim::evaluate("a_module_name")
                  line = Vim::evaluate("a_line")
                  file_path = Vim::evaluate("a_file_path")
                  Vim::command("let a_res = #{load_arg_module(name, line.to_s, file_path)}")
EOF
              return a_res
          else
            if getline('.') =~ '^\s*data'
              let a_data_or_resource = 0
            else
              let a_data_or_resource = 1
            endif

            call setpos('.', s:curr_pos)
            for m in terraformcomplete#rubyComplete(a:base, a_provider, a_resource, 'false', a_data_or_resource, "")
              if m.word =~ '^' . a:base
                call add(res, m)
              endif
            endfor
            return res
          endif
      catch
      endtry
    endif
  endif
endfun

fun! terraformcomplete#GetAllModule() abort
  let a_old_pos = getpos('.')
  execute 'normal! gg'
  let a_search_continue = 1
  let a_list = []
  let a_source_list = {}
  if getline(".") =~ 'module\s*".*"\s*' 
      let temp = substitute(split(split(getline(1),'\s*module ')[0], ' ')[0], '"','','g')
      let a_oldpos = getpos('.')
      call search('source\s*=')
      let a_source = getline('.')
      call setpos('.', a_oldpos)
      call add(a_list, { 'word': temp })

      if has_key(a_source_list, temp) == 0
        let a_source_list[temp] = []
      endif

      call add(a_source_list[temp], a_source )
  endif
  while a_search_continue != 0

    let a_search_continue = search('module\s*".*"\s*', 'W')

    if a_search_continue != 0 
      let temp = substitute(split(split(getline(a_search_continue),'module ')[0], ' ')[0], '"','','g')
      let a_oldpos = getpos('.')
      call search('source\s*=')
      let a_source = getline(".")
      call setpos('.', a_oldpos)
      call add(a_list, { 'word': temp })

      if has_key(a_source_list, temp) == 0
        let a_source_list[temp] = []
      endif

      call add(a_source_list[temp], a_source )
    endif
  endwhile
  call setpos('.', a_old_pos)
  return [a_list, a_source_list]
endfunc

fun! terraformcomplete#GetAllRegistryModules() abort
	let res = []
	ruby <<EOF
	require 'json'
	require 'open-uri'
	modules = []
	offset = 0
	loop do
		d = JSON.parse(open("https://registry.terraform.io/v1/modules?limit=10000&offset=#{offset}").read);
		modules.push(* d["modules"])
		break if d["meta"]["next_offset"].nil?
		offset = d["meta"]["next_offset"]
	end
	puts modules.count
	data = modules.map {|m| { "word": m["id"].split("/")[0..-2].join("/") }}
	Vim::command("let res = #{JSON.generate(data)}")

EOF
	return res
endfunc

fun! terraformcomplete#GetAll(data_or_resource) abort
  let a_old_pos = getpos('.')
  execute 'normal! gg'
  let a_search_continue = 1
  let a_list = []
  let a_type_list = {}
  if getline(".") =~ '^\s*' . a:data_or_resource . '\s*"\w*"\s*"[^"]*"' 
      let temp = substitute(split(split(getline(a_search_continue),a:data_or_resource . ' ')[0], ' ')[0], '"','','g')
      call add(a_list, { 'word': temp })

      if has_key(a_type_list, temp) == 0
        let a_type_list[temp] = []
      endif

      call add(a_type_list[temp], { 'word': substitute(split(split(getline(a_search_continue), a:data_or_resource . ' ')[0], ' ')[1], '"','','g')})
  endif
  while a_search_continue != 0

    let a_search_continue = search('^\s*' . a:data_or_resource . '\s*"\w*"\s*"[^"]*"', 'W')

    if a_search_continue != 0 
      let temp = substitute(split(split(getline(a_search_continue),a:data_or_resource . ' ')[0], ' ')[0], '"','','g')
      call add(a_list, { 'word': temp })

      if has_key(a_type_list, temp) == 0
        let a_type_list[temp] = []
      endif

      call add(a_type_list[temp], { 'word': substitute(split(split(getline(a_search_continue), a:data_or_resource . ' ')[0], ' ')[1], '"','','g')})
    endif
  endwhile
  call setpos('.', a_old_pos)
	ruby <<EOF
	data_or_resource = VIM::evaluate("a:data_or_resource")
	Dir.glob('*.tf').each do |file|
	File.read(file).split("\n").map {|i| i.match(/^\s*#{data_or_resource}\s*"(\w*)"\s*"([^"]*)"/) }.compact.each do |temp|
		res = VIM::evaluate("has_key(a_type_list, \"#{temp[1]}\")")

		if res == 0
			VIM::command("let a_type_list[\"#{temp[1]}\"] = []")
		end

		
		VIM::command("call add(a_list, { 'word': \"#{temp[1]}\" })")
		VIM::command("call add(a_type_list[\"#{temp[1]}\"], { 'word': \"#{temp[2]}\"})")
		end
	end

	sorted_list =  VIM::evaluate("a_list").sort_by { |item| item['word'] }
	sorted_type_list = {}

	VIM::evaluate("a_type_list").map do |itemName, itemList| 
    sorted_type_list[itemName] =	itemList.sort_by { |item| item['word'] }
	end

	VIM::command("let a_list = #{sorted_list.to_json}")
	VIM::command("let a_type_list = #{sorted_type_list.to_json}")

EOF
  return [a_list, a_type_list]
endfunc


================================================
FILE: check_new_provider
================================================
#!/bin/bash
curl -s https://api.github.com/orgs/terraform-providers/repos?per_page=200  | jq .[].name | sort > temp.txt
sed -e 's;"\(.*\)";"https://api.github.com/repos/terraform-providers/\1/tags";' temp.txt > tags_urls.txt && rm temp.txt


================================================
FILE: community/backup_community.json
================================================
[
   {
      "versions" : [
         "master",
         "v0.9.1",
         "v0.9.0",
         "v0.8.0",
         "v0.7.0",
         "v0.6.0",
         "v0.5.1",
         "v0.5.0",
         "v0.4.0"
      ],
      "link" : "https://github.com/IBM-Cloud/terraform-provider-ibm",
      "owner" : "IBM-Cloud",
      "parse_target" : "ibm",
      "name" : "terraform-provider-ibm"
   },
   {
      "link" : "https://github.com/vancluever/terraform-provider-acme",
      "versions" : [
         "master",
         "v0.5.0",
         "v0.4.0",
         "v0.3.0",
         "v0.3.0-beta2",
         "v0.2.1",
         "v0.2.0",
         "v0.1.0"
      ],
      "name" : "terraform-provider-acme",
      "owner" : "vancluever",
      "parse_target" : "plugin/providers/acme"
   },
   {
      "name" : "terraform-provider-ad",
      "owner" : "GSLabDev",
      "parse_target" : "ad",
      "link" : "https://github.com/GSLabDev/terraform-provider-ad",
      "versions" : [
         "master"
      ]
   },
   {
      "link" : "https://github.com/zambien/terraform-provider-apigee",
      "versions" : [
         "master",
         "v0.0.9",
         "v0.0.8",
         "v0.0.7",
         "v0.0.6",
         "v0.0.5",
         "v0.0.4",
         "v0.0.3",
         "v0.0.2",
         "v0.0.1"
      ],
      "name" : "terraform-provider-apigee",
      "owner" : "zambien",
      "parse_target" : "apigee"
   },
   {
      "name" : "terraform-provider-artifactory",
      "parse_target" : "pkg/artifactory",
      "owner" : "atlassian",
      "link" : "https://github.com/atlassian/terraform-provider-artifactory",
      "versions" : [
         "master",
         "v1.2.2",
         "v1.2.1",
         "v1.2.0",
         "v1.1.0",
         "v1.0.1",
         "v0.0.2",
         "v0.0.1"
      ]
   },
   {
      "name" : "terraform-provider-avi",
      "parse_target" : "avi",
      "owner" : "avinetworks",
      "link" : "https://github.com/avinetworks/terraform-provider-avi",
      "versions" : [
         "master",
         "17.2.9",
         "17.2.7b1"
      ]
   },
   {
      "versions" : [
         "master"
      ],
      "link" : "https://github.com/AviatrixSystems/terraform-provider-aviatrix",
      "owner" : "AviatrixSystems",
      "parse_target" : "aviatrix",
      "name" : "terraform-provider-aviatrix"
   },
   {
      "link" : "https://github.com/nicolai86/terraform-provider-couchdb",
      "versions" : [
         "master"
      ],
      "name" : "terraform-provider-couchdb",
      "owner" : "nicolai86",
      "parse_target" : "couchdb"
   },
   {
      "owner" : "rackn",
      "parse_target" : "provider",
      "name" : "terraform-provider-drp",
      "versions" : [
         "master",
         "v1.0.5",
         "v1.0.4",
         "v1.0.3",
         "v1.0.2",
         "v1.0.1",
         "v1.0.0",
         "v0.9.5",
         "v0.9.0",
         "v0.7.8",
         "v0.7.7",
         "v0.7.6",
         "v0.7.5",
         "v0.7.4",
         "v0.7.3",
         "v0.7.2",
         "v0.7.1",
         "v0.7.0",
         "v0.0.1",
         "tip",
         "stable"
      ],
      "link" : "https://github.com/rackn/terraform-provider-drp/"
   },
   {
      "name" : "terraform-provider-dockermachine",
      "parse_target" : "provider",
      "owner" : "gstruct",
      "link" : "https://github.com/gstruct/terraform-provider-dockermachine",
      "versions" : [
         "master",
         "0.1.4",
         "0.1.3",
         "0.1.2",
         "0.1.1",
         "0.1.0"
      ]
   },
   {
      "link" : "https://github.com/tiramiseb/terraform-provider-gandi",
      "versions" : [
         "master"
      ],
      "name" : "terraform-provider-gandi",
      "owner" : "tiramiseb",
      "parse_target" : "gandi"
   },
   {
      "owner" : "Mastercard",
      "parse_target" : "restapi",
      "name" : "terraform-provider-restapi",
      "versions" : [
         "master",
         "v0.1.0"
      ],
      "link" : "https://github.com/Mastercard/terraform-provider-restapi"
   },
   {
      "owner" : "MikeSouza",
      "parse_target" : "glue",
      "name" : "terraform-provider-glue",
      "versions" : [
         "master"
      ],
      "link" : "https://github.com/MikeSouza/terraform-provider-glue"
   },
   {
      "name" : "terraform-provider-gocd",
      "parse_target" : "gocd",
      "owner" : "drewsonne",
      "link" : "https://github.com/drewsonne/terraform-provider-gocd",
      "versions" : [
         "master",
         "0.1.19",
         "0.1.18",
         "0.1.17",
         "0.1.16",
         "0.1.15",
         "0.1.14",
         "0.1.13",
         "0.1.12",
         "0.1.11",
         "0.1.10",
         "0.1.9",
         "0.1.8",
         "0.1.7",
         "0.1.6",
         "0.1.5",
         "0.1.4",
         "0.1.3",
         "0.1.2",
         "0.1.1",
         "0.1.0",
         "0.0.11-rc2",
         "0.0.11-rc1",
         "0.0.10",
         "0.0.9",
         "0.0.8",
         "0.0.7",
         "0.0.6",
         "0.0.5",
         "0.0.4",
         "0.0.3"
      ]
   },
   {
      "link" : "https://github.com/sethvargo/terraform-provider-googlecalendar",
      "versions" : [
         "master",
         "v0.1.0"
      ],
      "name" : "terraform-provider-googlecalendar",
      "owner" : "sethvargo",
      "parse_target" : "googlecalendar"
   },
   {
      "versions" : [
         "master",
         "v0.1.4",
         "v0.1.3",
         "v0.1.2",
         "v0.1.1",
         "v0.1.0"
      ],
      "link" : "https://github.com/DeviaVir/terraform-provider-gsuite",
      "owner" : "DeviaVir",
      "parse_target" : "gsuite",
      "name" : "terraform-provider-gsuite"
   },
   {
      "versions" : [
         "master",
         "v0.5.1",
         "v0.5.0",
         "v0.4.0",
         "v0.3.2",
         "v0.3.1",
         "v0.3.0",
         "v0.2.0",
         "v0.1.0"
      ],
      "link" : "https://github.com/mcuadros/terraform-provider-helm",
      "parse_target" : "helm",
      "owner" : "mcuadros",
      "name" : "terraform-provider-helm"
   },
   {
      "versions" : [
         "master",
         "v1.1.0",
         "v1.0.0"
      ],
      "link" : "https://github.com/hetznercloud/terraform-provider-hcloud",
      "owner" : "hetznercloud",
      "parse_target" : "hcloud",
      "name" : "terraform-provider-hcloud"
   },
   {
      "name" : "terraform-provider-httpfileupload",
      "parse_target" : "httpfileupload",
      "owner" : "GSLabDev",
      "link" : "https://github.com/GSLabDev/terraform-provider-httpfileupload",
      "versions" : [
         "master"
      ]
   },
   {
      "name" : "terraform-provider-oneview",
      "owner" : "HewlettPackard",
      "parse_target" : "oneview",
      "link" : "https://github.com/HewlettPackard/terraform-provider-oneview",
      "versions" : [
         "master"
      ]
   },
   {
      "versions" : [
         "master",
         "0.1.11",
         "0.1.10",
         "0.1.9",
         "0.1.8",
         "0.1.7",
         "0.1.6",
         "0.1.5",
         "0.1.4",
         "0.1.3",
         "0.1.2",
         "0.1.1",
         "0.1.0",
         "0.0.13",
         "0.0.12",
         "0.0.11",
         "0.0.10",
         "0.0.9",
         "0.0.8",
         "0.0.7",
         "0.0.6",
         "0.0.5",
         "0.0.4",
         "0.0.3",
         "0.0.2",
         "0.0.1"
      ],
      "link" : "https://github.com/sky-uk/terraform-provider-infoblox",
      "owner" : "sky-uk",
      "parse_target" : "infoblox",
      "name" : "terraform-provider-infoblox"
   },
   {
      "link" : "https://github.com/anubhavmishra/terraform-provider-jira",
      "versions" : [
         "master",
         "0.1.0"
      ],
      "name" : "terraform-provider-jira",
      "owner" : "anubhavmishra",
      "parse_target" : "jira"
   },
   {
      "name" : "terraform-provider-keboola",
      "parse_target" : "plugin/providers/keboola",
      "owner" : "plmwong",
      "link" : "https://github.com/plmwong/terraform-provider-keboola",
      "versions" : [
         "master"
      ]
   },
   {
      "versions" : [
         "master"
      ],
      "link" : "https://github.com/Mongey/terraform-provider-kafka",
      "owner" : "Mongey",
      "parse_target" : "kafka",
      "name" : "terraform-provider-kafka"
   },
   {
      "versions" : [
         "master",
         "v0.6.0",
         "v0.5.1",
         "v0.5.0",
         "v0.4.0",
         "v0.3.0",
         "v0.2.0",
         "v0.1.2",
         "v0.1.1",
         "v0.1.0"
      ],
      "link" : "https://github.com/ewilde/terraform-provider-kibana",
      "parse_target" : "kibana",
      "owner" : "ewilde",
      "name" : "terraform-provider-kibana"
   },
   {
      "parse_target" : "kong",
      "owner" : "kevholditch",
      "name" : "terraform-provider-kong",
      "versions" : [
         "master",
         "v0.14.0",
         "v0.13.0",
         "v0.12.0",
         "v0.11.0",
         "v0.10.0",
         "v0.9.0",
         "v0.8.0",
         "v0.7.0",
         "v0.6.0",
         "v0.5.0",
         "v0.4.0",
         "v0.3.0",
         "v0.2.0",
         "v0.1.0"
      ],
      "link" : "https://github.com/kevholditch/terraform-provider-kong"
   },
   {
      "parse_target" : "lxd",
      "owner" : "sl1pm4t",
      "name" : "terraform-provider-lxd",
      "versions" : [
         "master",
         "v1.1.0",
         "v1.0.0",
         "v0.10.4",
         "v0.10.0-beta2",
         "v0.9.8",
         "v0.9.5",
         "v0.9.5beta1",
         "v0.9.4",
         "v0.9.3",
         "v0.9.1",
         "v0.9.0",
         "v0.8.1",
         "v0.8.0",
         "v0.8.0-rc3"
      ],
      "link" : "https://github.com/sl1pm4t/terraform-provider-lxd"
   },
   {
      "name" : "terraform-provider-matchbox",
      "owner" : "coreos",
      "parse_target" : "matchbox",
      "link" : "https://github.com/coreos/terraform-provider-matchbox",
      "versions" : [
         "master",
         "v0.2.2",
         "v0.2.1",
         "v0.2.0",
         "v0.1.2",
         "v0.1.1",
         "v0.1.0"
      ]
   },
   {
      "link" : "https://github.com/akshaykarle/terraform-provider-mongodbatlas",
      "versions" : [
         "master",
         "v0.4.5",
         "v0.4.4",
         "v0.4.3",
         "v0.4.2",
         "v0.2.2",
         "v0.2.1",
         "v0.2.0",
         "v0.1.0",
         "v0.0.2",
         "v0.0.1",
         "0.4.2",
         "0.4.1",
         "0.4.0",
         "0.3.1",
         "0.3.0"
      ],
      "name" : "terraform-provider-mongodbatlas",
      "owner" : "akshaykarle",
      "parse_target" : "mongodbatlas"
   },
   {
      "name" : "terraform-provider-nutanix",
      "owner" : "nutanix",
      "parse_target" : "nutanix",
      "link" : "https://github.com/nutanix/terraform-provider-nutanix",
      "versions" : [
         "master"
      ]
   },
   {
      "name" : "terraform-provider-odl",
      "parse_target" : "odl",
      "owner" : "GSLabDev",
      "link" : "https://github.com/GSLabDev/terraform-provider-odl",
      "versions" : [
         "master"
      ]
   },
   {
      "link" : "https://github.com/camptocamp/terraform-provider-pass",
      "versions" : [
         "master",
         "1.0.1",
         "1.0.0",
         "0.1.4",
         "0.1.3",
         "0.1.2",
         "0.1.1",
         "0.1.0"
      ],
      "name" : "terraform-provider-pass",
      "owner" : "camptocamp",
      "parse_target" : "pass"
   },
   {
      "name" : "terraform-provider-puppetca",
      "parse_target" : "puppetca",
      "owner" : "camptocamp",
      "link" : "https://github.com/camptocamp/terraform-provider-puppetca",
      "versions" : [
         "master",
         "1.0.1",
         "1.0.0"
      ]
   },
   {
      "versions" : [
         "master",
         "0.1.1",
         "0.1.0"
      ],
      "link" : "https://github.com/camptocamp/terraform-provider-puppetdb",
      "parse_target" : "puppetdb",
      "owner" : "camptocamp",
      "name" : "terraform-provider-puppetdb"
   },
   {
      "name" : "terraform-provider-qingcloud",
      "owner" : "yunify",
      "parse_target" : "qingcloud",
      "link" : "https://github.com/yunify/terraform-provider-qingcloud",
      "versions" : [
         "master",
         "v1.2.1",
         "v1.2.0",
         "v1.1",
         "v1.0.1",
         "v1.0.0"
      ]
   },
   {
      "parse_target" : "redshift",
      "owner" : "frankfarrell",
      "name" : "terraform-provider-redshift",
      "versions" : [
         "master"
      ],
      "link" : "https://github.com/frankfarrell/terraform-provider-redshift"
   },
   {
      "owner" : "yamamoto-febc",
      "parse_target" : "rke",
      "name" : "terraform-provider-rke",
      "versions" : [
         "master",
         "0.2.0",
         "0.1.0",
         "0.0.1"
      ],
      "link" : "https://github.com/yamamoto-febc/terraform-provider-rke"
   },
   {
      "owner" : "ewilde",
      "parse_target" : "runscope",
      "name" : "terraform-provider-runscope",
      "versions" : [
         "master",
         "v0.5.7",
         "v0.5.6",
         "v0.5.5",
         "v0.5.4",
         "v0.5.3",
         "v0.5.2",
         "v0.5.1",
         "v0.5.0",
         "v0.5",
         "v0.4.1",
         "v0.4.0",
         "v0.3.1",
         "v0.3.0",
         "v0.2.0",
         "v0.1.0"
      ],
      "link" : "https://github.com/ewilde/terraform-provider-runscope"
   },
   {
      "owner" : "sacloud",
      "parse_target" : "sakuracloud",
      "name" : "terraform-provider-sakuracloud",
      "versions" : [
         "master",
         "v1.1.1",
         "v1.1.0",
         "v1.0.5",
         "v1.0.4",
         "v1.0.3",
         "v1.0.2",
         "v1.0.1",
         "v1.0.0",
         "v1.0.0-rc7",
         "v1.0.0-rc6",
         "v1.0.0-rc5",
         "v1.0.0-rc4",
         "v1.0.0-rc3",
         "v1.0.0-rc2",
         "v1.0.0-rc1",
         "v0.14.0",
         "v0.13.1",
         "v0.13.0",
         "v0.12.0",
         "v0.12.0-rc1",
         "v0.11.0",
         "v0.10.4",
         "v0.10.3",
         "v0.10.2",
         "v0.10.1",
         "v0.10.0",
         "v0.9.1",
         "v0.9.0",
         "v0.8.1",
         "v0.8.0"
      ],
      "link" : "https://github.com/sacloud/terraform-provider-sakuracloud"
   },
   {
      "link" : "https://github.com/jianyuan/terraform-provider-sentry",
      "versions" : [
         "master",
         "v0.4.0",
         "v0.3.1",
         "v0.3.0",
         "v0.2.0",
         "v0.1.0"
      ],
      "name" : "terraform-provider-sentry",
      "parse_target" : "sentry",
      "owner" : "jianyuan"
   },
   {
      "link" : "https://github.com/Yelp/terraform-provider-signalform",
      "versions" : [
         "master",
         "v2.7.0",
         "v2.6.0",
         "v2.5.1",
         "v2.5.0",
         "v2.4.0",
         "v2.3.0",
         "v2.2.9",
         "v2.2.8",
         "v2.2.7",
         "v2.2.6",
         "v2.2.5",
         "v2.2.4",
         "v2.2.3",
         "v2.2.2",
         "v2.2",
         "v2.1.2",
         "v2.1.1",
         "v2.1.0",
         "v2.0",
         "v1.9.1",
         "v1.9",
         "v1.8",
         "v1.7",
         "v1.6",
         "v1.5",
         "v1.4",
         "v1.3",
         "v1.2",
         "v1.1",
         "v1.0"
      ],
      "name" : "terraform-provider-signalform",
      "parse_target" : "signalform",
      "owner" : "Yelp"
   },
   {
      "versions" : [
         "master"
      ],
      "link" : "https://github.com/GSLabDev/terraform-provider-scvmm",
      "owner" : "GSLabDev",
      "parse_target" : "scvmm",
      "name" : "terraform-provider-scvmm"
   },
   {
      "link" : "https://github.com/GSLabDev/terraform-provider-vra",
      "versions" : [
         "master"
      ],
      "name" : "terraform-provider-vra",
      "owner" : "GSLabDev",
      "parse_target" : "vra"
   },
   {
      "link" : "https://github.com/sethvargo/terraform-provider-filesystem",
      "versions" : [
         "master"
      ],
      "name" : "terraform-provider-filesystem",
      "owner" : "sethvargo",
      "parse_target" : "filesystem"
   },
   {
      "link" : "https://github.com/mitchellh/terraform-provider-netlify",
      "versions" : [
         "master"
      ],
      "name" : "terraform-provider-netlify",
      "owner" : "mitchellh",
      "parse_target" : "netlify"
   }
]


================================================
FILE: community/community-index.html
================================================
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="Category for community-built providers.">

    <link rel="apple-touch-icon" sizes="180x180" href="/assets/images/favicons/apple-touch-icon-13180a24.png">
    <link rel="icon" type="image/png" href="/assets/images/favicons/favicon-32x32-62171ffd.png" sizes="32x32">
    <link rel="icon" type="image/png" href="/assets/images/favicons/favicon-16x16-2821bcc8.png" sizes="16x16">
    <link rel="manifest" href="/android-manifest.json">
    <link rel="mask-icon" href="/assets/images/favicons/safari-pinned-tab-bab846e1.svg" color="#5C4EE5">
    <meta name="msapplication-config" content="/microsoft-tile.xml" />
    <meta name="theme-color" content="#ffffff">

    <meta name="twitter:card" content="summary_large_image" />
    <meta name="twitter:site" content="@HashiCorp" />
    <meta name="twitter:creator" content="@HashiCorp" />
    <meta property="og:type" content="website" />
    <meta property="og:url" content="https://www.terraform.io/docs/providers/type/community-index.html" />
    <meta property="og:title" content="Community Providers - Terraform by HashiCorp" />
    <meta property="og:site_name" content="Terraform by HashiCorp"/>
    <meta property="og:image" content="https://www.terraform.io/assets/images/og-image-f5bbc98c.png"/>
    <meta property="og:image:width" content="100"/>
    <meta property="og:image:height" content="100"/>
    <meta property="og:description" content="Category for community-built providers." />

    <title>Community Providers - Terraform by HashiCorp</title>

    <!-- Stylesheets -->
    <link rel="stylesheet" href="https://use.typekit.net/wxf7mfi.css">
    <link href="/assets/stylesheets/application-b19bad99.css" rel="stylesheet" />

    <!-- Site scripts -->
    <!--[if lt IE 9]><script src="/assets/javascripts/ie-compat-c141a02d.js" defer="defer"></script><![endif]-->
    <script src="/assets/javascripts/application-e080fe63.js" defer="defer"></script>

    <!-- Analytics scrpts -->
    <script defer>
      !function(){var e=window.analytics=window.analytics||[];if(!e.initialize)if(e.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{e.invoked=!0,e.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","once","off","on"],e.factory=function(t){return function(){var a=Array.prototype.slice.call(arguments);return a.unshift(t),e.push(a),e}};for(var t=0;t<e.methods.length;t++){var a=e.methods[t];e[a]=e.factory(a)}e.load=function(e){var t=document.createElement("script");t.type="text/javascript",t.async=!0,t.src=("https:"===document.location.protocol?"https://":"http://")+"cdn.segment.com/analytics.js/v1/"+e+"/analytics.min.js";var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(t,a)},e.SNIPPET_VERSION="4.0.0",e.load("EnEETDWhfxp1rp09jVvJr66LdvwI6KVP")}}();var om597a24292a958,om597a24292a958_poll=function(){var e=0;return function(t,a){clearInterval(e),e=setInterval(t,a)}}();!function(e,t,a){if(e.getElementById(a))om597a24292a958_poll(function(){if(window.om_loaded&&!om597a24292a958)return(om597a24292a958=new OptinMonsterApp).init({s:"35109.597a24292a958",staging:0,dev:0,beta:0})},25);else{var n=!1,o=e.createElement("script");o.id=a,o.src="//a.optnmstr.com/app/js/api.min.js",o.async=!0,o.onload=o.onreadystatechange=function(){if(!(n||this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState))try{n=om_loaded=!0,(om597a24292a958=new OptinMonsterApp).init({s:"35109.597a24292a958",staging:0,dev:0,beta:0}),o.onload=o.onreadystatechange=null}catch(e){}},(document.getElementsByTagName("head")[0]||document.documentElement).appendChild(o)}}(document,0,"omapi-script");
    </script>

    
  </head>

  <body id="page-docs-providers-community" class="layout-docs page-community-providers">

    <svg class="hidden-print" aria-hidden="true" style="position: absolute; width: 0; height: 0;" width="0" height="0" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <defs>
    <symbol id="mega-nav-icon-angle" viewBox="0 0 13 7">
      <polygon points="6.5,6.5 0.7,1.6 1.3,0.8 6.5,5.2 11.7,0.8 12.3,1.6 "/>
    </symbol>
    <symbol id="mega-nav-icon-close" viewBox="0 0 13 15">
      <path vector-effect="non-scaling-stroke" d="M1.1 14L11.9 1M11.9 14L1.1 1"/>
    </symbol>
  </defs>
</svg>
<div class="hidden-print mega-nav-sandbox">
  <div class="mega-nav-banner">
    <div class="container">
      <div class="mega-nav-banner-item">
        <a class="mega-nav-banner-logo" href="https://www.hashicorp.com"><img src="/assets/images/mega-nav/logo-hashicorp-wordmark-bbed0e8a.svg" alt="HashiCorp Logo" /></a>
      </div>
      <div class="mega-nav-banner-item">
        <p class="mega-nav-tagline"><span class="visible-xs text-muted">Learn the</span><span class="hidden-xs text-muted">Learn how Terraform fits into the</span></p>
        <div id="#mega-nav" class="mega-nav">
          <button type="button" id="mega-nav-ctrl" class="mega-nav-ctrl">
            <div class="mega-nav-ctrl-items">
              <img src="/assets/images/mega-nav/logo-hashicorp-a66fda95.svg" alt="HashiCorp Logo" />
              <strong>HashiCorp Suite</strong>
              <span class="mega-nav-icon-outline">
                <svg class="mega-nav-icon mega-nav-icon-angle-right" aria-hidden="true"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#mega-nav-icon-angle"></use></svg><span class="visuallyhidden">Open</span>
              </span>
            </div>
          </button>
          <div id="mega-nav-body-ct" class="mega-nav-body-ct" aria-labelledby="mega-nav-ctrl">
            <div class="mega-nav-body">
              <button type="button" id="mega-nav-close" class="mega-nav-close"><svg class="mega-nav-icon mega-nav-icon-close" aria-hidden="true"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#mega-nav-icon-close"></use></svg><span class="visuallyhidden">Close</span></button>
              <div class="mega-nav-body-header">
                <div class="mega-nav-body-header-item">
                  <h2 class="mega-nav-h1">Provision, Secure, Connect, and&nbsp;Run</h2>
                  <p class="mega-nav-h2">Any infrastructure for any&nbsp;application</p>
                </div>
                <div class="mega-nav-body-header-item">
                  <a href="https://www.hashicorp.com/" class="mega-nav-btn"><img src="/assets/images/mega-nav/logo-hashicorp-a66fda95.svg" alt="HashiCorp Logo" /> Learn the HashiCorp Enterprise&nbsp;Suite <svg class="mega-nav-icon mega-nav-icon-angle-right" aria-hidden="true"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#mega-nav-icon-angle"></use></svg></a>
                </div>
              </div>
              <div class="mega-nav-body-grid">
                <div class="mega-nav-body-grid-item">
                  <h3 class="mega-nav-h3">Provision</h3>
                  <ul class="mega-nav-grid">
                    <li>
                      <a href="https://www.vagrantup.com" class="mega-nav-grid-item mega-nav-grid-item-vagrant">
                        <div class="mega-nav-grid-item-img">
                          <img src="/assets/images/mega-nav/logo-vagrant-a7ab5898.svg" alt="Vagrant Logo" />
                        </div>
                        <b>Vagrant</b>
                        <ul>
                          <li><span class="mega-nav-tag">Build</span></li>
                          <li><span class="mega-nav-tag">Test</span></li>
                        </ul>
                      </a>
                    </li>
                    <li>
                      <a href="https://www.packer.io" class="mega-nav-grid-item mega-nav-grid-item-packer">
                        <div class="mega-nav-grid-item-img">
                          <img src="/assets/images/mega-nav/logo-packer-cb3b9b94.svg" alt="Packer Logo" />
                        </div>
                        <b>Packer</b>
                        <ul>
                          <li><span class="mega-nav-tag">Package</span></li>
                        </ul>
                      </a>
                    </li>
                    <li>
                      <a href="https://www.terraform.io" class="mega-nav-grid-item mega-nav-grid-item-terraform">
                        <div class="mega-nav-grid-item-img">
                          <img src="/assets/images/mega-nav/logo-terraform-ff69eaae.svg" alt="Terraform Logo" />
                        </div>
                        <b>Terraform</b>
                        <ul>
                          <li><span class="mega-nav-tag">Provision</span></li>
                        </ul>
                      </a>
                    </li>
                  </ul>
                </div>
                <div class="mega-nav-body-grid-item">
                  <h3 class="mega-nav-h3">Secure</h3>
                  <ul class="mega-nav-grid">
                    <li>
                      <a href="https://www.vaultproject.io" class="mega-nav-grid-item mega-nav-grid-item-vault">
                        <div class="mega-nav-grid-item-img">
                          <img src="/assets/images/mega-nav/logo-vault-0f83e3d2.svg" alt="Vault Logo" />
                        </div>
                        <b>Vault</b>
                        <ul>
                          <li><span class="mega-nav-tag">Secure</span></li>
                        </ul>
                      </a>
                    </li>
                  </ul>
                </div>
                <div class="mega-nav-body-grid-item">
                  <h3 class="mega-nav-h3">Connect</h3>
                  <ul class="mega-nav-grid">
                    <li>
                      <a href="https://www.consul.io" class="mega-nav-grid-item mega-nav-grid-item-consul">
                        <div class="mega-nav-grid-item-img">
                          <img src="/assets/images/mega-nav/logo-consul-c77f6844.svg" alt="Consul Logo" />
                        </div>
                        <b>Consul</b>
                        <ul>
                          <li><span class="mega-nav-tag">Connect</span></li>
                        </ul>
                      </a>
                    </li>
                  </ul>
                </div>
                <div class="mega-nav-body-grid-item">
                  <h3 class="mega-nav-h3">Run</h3>
                  <ul class="mega-nav-grid">
                    <li>
                      <a href="https://www.nomadproject.io" class="mega-nav-grid-item mega-nav-grid-item-nomad">
                        <div class="mega-nav-grid-item-img">
                          <img src="/assets/images/mega-nav/logo-nomad-c4c148be.svg" alt="Nomad Logo" />
                        </div>
                        <b>Nomad</b>
                        <ul>
                          <li><span class="mega-nav-tag">Run</span></li>
                        </ul>
                      </a>
                    </li>
                  </ul>
                </div>
              </div>
              <div class="mega-nav-body-footer">
                <p>Seven elements of the modern Application Lifecycle</p>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>


    <div id="header" class="navigation navbar-static-top hidden-print">
      <div class="container">
        <div class="row">
          <div class="col-xs-12">
            <div class="navbar-header">
              <div class="navbar-brand">
                <a href="/">
                  <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 251 61" class="logo" height="50">
  <path class="text" fill="#000" fill-rule="nonzero" d="M81.78 19.54h-8.89v-5.31H96.7v5.31h-8.9v26.53h-6"></path>
  <path class="text" fill="#000" fill-rule="nonzero" d="M102.19 41.77c2.415-.012 4.814-.383 7.12-1.1l.91 4.4c-2.745.99-5.642 1.49-8.56 1.48-7.31 0-9.85-3.39-9.85-9V31.4c0-4.92 2.2-9.08 9.66-9.08s9.13 4.35 9.13 9.37v5h-13v1.2c.05 2.78 1.05 3.88 4.59 3.88zM97.65 32h7.41v-1.18c0-2.2-.67-3.73-3.54-3.73s-3.87 1.53-3.87 3.73V32zm28.54-4.33c-2.148.97-4.217 2.102-6.19 3.39v15h-5.83V22.79h4.92l.38 2.58c1.897-1.284 3.955-2.313 6.12-3.06l.6 5.36zm14.24 0c-2.14.97-4.204 2.103-6.17 3.39v15h-5.83V22.79h4.92l.38 2.58c1.897-1.284 3.955-2.313 6.12-3.06l.58 5.36zm19.51 18.4h-4.78l-.43-1.58c-2.062 1.342-4.47 2.058-6.93 2.06-4.25 0-6.07-2.92-6.07-6.93 0-4.73 2.06-6.55 6.79-6.55h5.59v-2.44c0-2.58-.72-3.49-4.45-3.49-2.17.024-4.33.266-6.45.72l-.72-4.45c2.606-.72 5.296-1.09 8-1.1 7.31 0 9.47 2.58 9.47 8.41l-.02 15.35zm-5.83-8.8h-4.3c-1.91 0-2.44.53-2.44 2.29s.53 2.34 2.34 2.34c1.544-.024 3.058-.436 4.4-1.2v-3.43zm23.75-19.79c-1.1-.237-2.224-.364-3.35-.38-2.29 0-2.63 1-2.63 2.77v2.92h5.93l-.33 4.64h-5.59v18.64h-5.83V27.43h-3.73v-4.64h3.73v-3.25c0-4.83 2.25-7.22 7.41-7.22 1.69-.006 3.372.22 5 .67l-.61 4.49zm11.38 29.07c-8 0-10.13-4.4-10.13-9.18v-5.88c0-4.78 2.15-9.18 10.13-9.18s10.13 4.4 10.13 9.18v5.88c.01 4.78-2.15 9.18-10.13 9.18zm0-19.27c-3.11 0-4.3 1.39-4.3 4v6.26c0 2.63 1.2 4 4.3 4 3.1 0 4.3-1.39 4.3-4V31.3c0-2.63-1.19-4.02-4.3-4.02zm25.14.39c-2.14.97-4.204 2.103-6.17 3.39v15h-5.83V22.79h4.92l.38 2.58c1.897-1.284 3.954-2.313 6.12-3.06l.58 5.36zm16.02 18.4V29.82c0-1.24-.53-1.86-1.86-1.86-2.137.254-4.2.934-6.07 2v16.11h-5.83V22.79h4.45l.57 2c2.906-1.47 6.088-2.315 9.34-2.48 1.843-.174 3.6.82 4.4 2.49 2.91-1.49 6.104-2.34 9.37-2.49 3.87 0 5.26 2.72 5.26 6.88v16.88h-5.83V29.82c0-1.24-.53-1.86-1.86-1.86-2.14.236-4.208.917-6.07 2v16.11h-5.87z"></path>
  <path class="rect-dark" fill="#4040B2" d="M36.4 39.13l16.4-9.46V10.72L36.4 20.2"></path>
  <path class="rect-light" fill="#5C4EE5" d="M18.2 10.72l16.4 9.48v18.93l-16.4-9.47"></path>
  <path class="rect-light" fill="#5C4EE5" d="M0 19.09l16.4 9.47V9.62L0 .15m18.2 50.53l16.4 9.47V41.21l-16.4-9.47"></path>
</svg>

                </a>
              </div>
              <button class="navbar-toggle" type="button">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
            </div>
            <div class="buttons hidden-xs">
              <nav class="navigation-links" role="navigation">
                <ul class="main-links nav navbar-nav navbar-right">
                  <li><a href="/intro/index.html">Intro</a></li>
                  <li><a href="/docs/index.html">Docs</a></li>
                  <li><a href="/guides/index.html">Guides</a></li>
                  <li><a href="/docs/extend/index.html">Extend</a></li>
                  <li><a href="https://www.hashicorp.com/products/terraform/?utm_source=oss&utm_medium=header-nav&utm_campaign=terraform">Enterprise</a></li>
                  <li>
                    <a href="/downloads.html">
                      <svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewbox="0 0 28 28" enable-background="new 0 0 28 28" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
  <path d="M28 0H0v28h28V0zM13.8 22.9L7 17.3l2-2.4 3.2 2.6V7h3.2v10.5l3.2-2.6 2 2.4L13.8 22.9z"></path>
</svg>
 Download
                    </a>
                  </li>
                  <li>
                    <a href="https://github.com/hashicorp/terraform">
                      <svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewbox="0 0 28 28" enable-background="new 0 0 28 28" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
  <path d="M28 0H0v28h11.4c0 0 0-1.3 0-2.4C7.7 26.4 7 23.9 7 23.9 6.4 22.4 5.5 22 5.5 22c-1.2-0.8 0.1-0.8 0.1-0.8 1.3 0.1 2 1.4 2 1.4 1.2 2 3 1.4 3.8 1.1 0.1-0.8 0.5-1.4 0.9-1.8 -2.9-0.3-6-1.5-6-6.5 0-1.4 0.5-2.6 1.3-3.5C7.5 11.5 7 10.2 7.8 8.4c0 0 1.1-0.4 3.6 1.3 1-0.3 2.2-0.4 3.3-0.4 1.1 0 2.2 0.2 3.3 0.4 2.5-1.7 3.6-1.3 3.6-1.3 0.7 1.8 0.3 3.1 0.1 3.5 0.8 0.9 1.3 2.1 1.3 3.5 0 5-3.1 6.1-6 6.5 0.5 0.4 0.9 1.2 0.9 2.4 0 1.8 0 3.7 0 3.7H28V0z"></path>
</svg>
 GitHub
                    </a>
                  </li>
                </ul>
              </nav>
            </div>
          </div>
        </div>
      </div>
    </div>

    <div class="sidebar-overlay"></div>

<aside class="sidebar" role="navigation">
  <div class="sidebar-header">
    <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 251 61" class="logo" height="42">
  <path class="text" fill="#000" fill-rule="nonzero" d="M81.78 19.54h-8.89v-5.31H96.7v5.31h-8.9v26.53h-6"></path>
  <path class="text" fill="#000" fill-rule="nonzero" d="M102.19 41.77c2.415-.012 4.814-.383 7.12-1.1l.91 4.4c-2.745.99-5.642 1.49-8.56 1.48-7.31 0-9.85-3.39-9.85-9V31.4c0-4.92 2.2-9.08 9.66-9.08s9.13 4.35 9.13 9.37v5h-13v1.2c.05 2.78 1.05 3.88 4.59 3.88zM97.65 32h7.41v-1.18c0-2.2-.67-3.73-3.54-3.73s-3.87 1.53-3.87 3.73V32zm28.54-4.33c-2.148.97-4.217 2.102-6.19 3.39v15h-5.83V22.79h4.92l.38 2.58c1.897-1.284 3.955-2.313 6.12-3.06l.6 5.36zm14.24 0c-2.14.97-4.204 2.103-6.17 3.39v15h-5.83V22.79h4.92l.38 2.58c1.897-1.284 3.955-2.313 6.12-3.06l.58 5.36zm19.51 18.4h-4.78l-.43-1.58c-2.062 1.342-4.47 2.058-6.93 2.06-4.25 0-6.07-2.92-6.07-6.93 0-4.73 2.06-6.55 6.79-6.55h5.59v-2.44c0-2.58-.72-3.49-4.45-3.49-2.17.024-4.33.266-6.45.72l-.72-4.45c2.606-.72 5.296-1.09 8-1.1 7.31 0 9.47 2.58 9.47 8.41l-.02 15.35zm-5.83-8.8h-4.3c-1.91 0-2.44.53-2.44 2.29s.53 2.34 2.34 2.34c1.544-.024 3.058-.436 4.4-1.2v-3.43zm23.75-19.79c-1.1-.237-2.224-.364-3.35-.38-2.29 0-2.63 1-2.63 2.77v2.92h5.93l-.33 4.64h-5.59v18.64h-5.83V27.43h-3.73v-4.64h3.73v-3.25c0-4.83 2.25-7.22 7.41-7.22 1.69-.006 3.372.22 5 .67l-.61 4.49zm11.38 29.07c-8 0-10.13-4.4-10.13-9.18v-5.88c0-4.78 2.15-9.18 10.13-9.18s10.13 4.4 10.13 9.18v5.88c.01 4.78-2.15 9.18-10.13 9.18zm0-19.27c-3.11 0-4.3 1.39-4.3 4v6.26c0 2.63 1.2 4 4.3 4 3.1 0 4.3-1.39 4.3-4V31.3c0-2.63-1.19-4.02-4.3-4.02zm25.14.39c-2.14.97-4.204 2.103-6.17 3.39v15h-5.83V22.79h4.92l.38 2.58c1.897-1.284 3.954-2.313 6.12-3.06l.58 5.36zm16.02 18.4V29.82c0-1.24-.53-1.86-1.86-1.86-2.137.254-4.2.934-6.07 2v16.11h-5.83V22.79h4.45l.57 2c2.906-1.47 6.088-2.315 9.34-2.48 1.843-.174 3.6.82 4.4 2.49 2.91-1.49 6.104-2.34 9.37-2.49 3.87 0 5.26 2.72 5.26 6.88v16.88h-5.83V29.82c0-1.24-.53-1.86-1.86-1.86-2.14.236-4.208.917-6.07 2v16.11h-5.87z"></path>
  <path class="rect-dark" fill="#4040B2" d="M36.4 39.13l16.4-9.46V10.72L36.4 20.2"></path>
  <path class="rect-light" fill="#5C4EE5" d="M18.2 10.72l16.4 9.48v18.93l-16.4-9.47"></path>
  <path class="rect-light" fill="#5C4EE5" d="M0 19.09l16.4 9.47V9.62L0 .15m18.2 50.53l16.4 9.47V41.21l-16.4-9.47"></path>
</svg>

  </div>

  <ul class="nav sidebar-nav">
    <li><a href="/intro/index.html">Intro</a></li>
    <li><a href="/docs/index.html">Docs</a></li>
    <li><a href="/guides/index.html">Guides</a></li>
    <li><a href="/docs/extend/index.html">Extend</a></li>
    <li><a href="https://www.hashicorp.com/products/terraform/?utm_source=oss&utm_medium=header-nav&utm_campaign=terraform">Enterprise</a></li>
  </ul>

  <div class="divider"></div>

  <ul class="external nav sidebar-nav">
    <li>
      <a href="/downloads.html">
        <svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewbox="0 0 28 28" enable-background="new 0 0 28 28" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
  <path d="M28 0H0v28h28V0zM13.8 22.9L7 17.3l2-2.4 3.2 2.6V7h3.2v10.5l3.2-2.6 2 2.4L13.8 22.9z"></path>
</svg>
 Download
      </a>
    </li>
    <li>
      <a href="https://github.com/hashicorp/terraform">
        <svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewbox="0 0 28 28" enable-background="new 0 0 28 28" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
  <path d="M28 0H0v28h11.4c0 0 0-1.3 0-2.4C7.7 26.4 7 23.9 7 23.9 6.4 22.4 5.5 22 5.5 22c-1.2-0.8 0.1-0.8 0.1-0.8 1.3 0.1 2 1.4 2 1.4 1.2 2 3 1.4 3.8 1.1 0.1-0.8 0.5-1.4 0.9-1.8 -2.9-0.3-6-1.5-6-6.5 0-1.4 0.5-2.6 1.3-3.5C7.5 11.5 7 10.2 7.8 8.4c0 0 1.1-0.4 3.6 1.3 1-0.3 2.2-0.4 3.3-0.4 1.1 0 2.2 0.2 3.3 0.4 2.5-1.7 3.6-1.3 3.6-1.3 0.7 1.8 0.3 3.1 0.1 3.5 0.8 0.9 1.3 2.1 1.3 3.5 0 5-3.1 6.1-6 6.5 0.5 0.4 0.9 1.2 0.9 2.4 0 1.8 0 3.7 0 3.7H28V0z"></path>
</svg>
 GitHub
      </a>
    </li>
  </ul>
</aside>


    <div class="container">
  <div class="row">
    <div id="docs-sidebar" class="col-sm-4 col-md-3 col-xs-12 hidden-print" role="complementary">
          <ul class="nav docs-sidenav">
      <li>
        <a href="/docs/configuration/index.html">Configuration</a>
        <ul class="nav">
          <li>
            <a href="/docs/configuration/load.html">Load Order and Semantics</a>
          </li>

          <li>
            <a href="/docs/configuration/syntax.html">Configuration Syntax</a>
          </li>

          <li>
            <a href="/docs/configuration/interpolation.html">Interpolation Syntax</a>
          </li>

          <li>
            <a href="/docs/configuration/override.html">Overrides</a>
          </li>

          <li>
            <a href="/docs/configuration/resources.html">Resources</a>
          </li>

          <li>
            <a href="/docs/configuration/data-sources.html">Data Sources</a>
          </li>

          <li>
            <a href="/docs/configuration/providers.html">Providers</a>
          </li>

          <li>
            <a href="/docs/configuration/variables.html">Variables</a>
          </li>

          <li>
            <a href="/docs/configuration/outputs.html">Outputs</a>
          </li>

          <li>
            <a href="/docs/configuration/locals.html">Local Values</a>
          </li>

          <li>
            <a href="/docs/configuration/modules.html">Modules</a>
          </li>

          <li>
            <a href="/docs/configuration/terraform.html">Terraform</a>
          </li>

          <li>
            <a href="/docs/configuration/terraform-enterprise.html">Terraform Push (deprecated)</a>
          </li>

          <li>
            <a href="/docs/configuration/environment-variables.html">Environment Variables</a>
          </li>
        </ul>
      </li>

      <li>
        <a href="/docs/commands/index.html">Commands (CLI)</a>
        <ul class="nav">
          <li>
            <a href="/docs/commands/apply.html">apply</a>
          </li>

          <li>
            <a href="/docs/commands/console.html">console</a>
          </li>

          <li>
            <a href="/docs/commands/destroy.html">destroy</a>
          </li>

          <li>
            <a href="/docs/commands/env.html">env</a>
          </li>

          <li>
            <a href="/docs/commands/fmt.html">fmt</a>
          </li>

          <li>
            <a href="/docs/commands/force-unlock.html">force-unlock</a>
          </li>

          <li>
            <a href="/docs/commands/get.html">get</a>
          </li>

          <li>
            <a href="/docs/commands/graph.html">graph</a>
          </li>

          <li>
            <a href="/docs/commands/import.html">import</a>
          </li>

          <li>
            <a href="/docs/commands/init.html">init</a>
          </li>

          <li>
            <a href="/docs/commands/output.html">output</a>
          </li>

          <li>
            <a href="/docs/commands/plan.html">plan</a>
          </li>

          <li>
            <a href="/docs/commands/providers.html">providers</a>
          </li>

          <li>
            <a href="/docs/commands/push.html">push</a>
          </li>

          <li>
            <a href="/docs/commands/refresh.html">refresh</a>
          </li>

          <li>
            <a href="/docs/commands/show.html">show</a>
          </li>

          <li>
            <a href="/docs/commands/state/index.html">state</a>
          </li>

          <li>
            <a href="/docs/commands/taint.html">taint</a>
          </li>

          <li>
            <a href="/docs/commands/validate.html">validate</a>
          </li>

          <li>
            <a href="/docs/commands/untaint.html">untaint</a>
          </li>

          <li>
            <a href="/docs/commands/workspace/index.html">workspace</a>
          </li>

          <li>
            <a href="/docs/commands/cli-config.html">CLI Config File</a>
          </li>
        </ul>
      </li>

      <li>
        <a href="/docs/import/index.html">Import</a>
        <ul class="nav">
          <li>
            <a href="/docs/import/usage.html">Usage</a>
          </li>

          <li>
            <a href="/docs/import/importability.html">Resource Importability</a>
          </li>
        </ul>
      </li>

      <li>
        <a href="/docs/state/index.html">State</a>
        <ul class="nav">
          <li>
            <a href="/docs/state/purpose.html">Purpose</a>
          </li>

          <li>
            <a href="/docs/state/import.html">Import Existing Resources</a>
          </li>

          <li>
            <a href="/docs/state/locking.html">Locking</a>
          </li>

          <li>
            <a href="/docs/state/workspaces.html">Workspaces</a>
          </li>

          <li>
            <a href="/docs/state/remote.html">Remote State</a>
          </li>

          <li>
            <a href="/docs/state/sensitive-data.html">Sensitive Data</a>
          </li>
        </ul>
      </li>

      <li class="active">
        <a href="/docs/providers/index.html">Providers</a>
        <ul class="nav">
          <li>
             <a href="/docs/providers/type/major-index.html">Major Cloud</a>
          </li>

          <li>
             <a href="/docs/providers/type/cloud-index.html"> Cloud</a>
          </li>

          <li>
             <a href="/docs/providers/type/infra-index.html">Infrastructure Software</a>
          </li>

          <li>
             <a href="/docs/providers/type/network-index.html">Network</a>
          </li>

          <li>
             <a href="/docs/providers/type/vcs-index.html">VCS</a>
          </li>

          <li>
             <a href="/docs/providers/type/monitor-index.html">Monitor & System Management</a>
          </li>

          <li>
             <a href="/docs/providers/type/database-index.html">Database</a>
          </li>

          <li>
             <a href="/docs/providers/type/misc-index.html">Misc.</a>
          </li>

          <li class="active">
             <a href="/docs/providers/type/community-index.html">Community</a>
          </li>

        </ul>
      </li>

      <li>
        <a href="/docs/provisioners/index.html">Provisioners</a>
        <ul class="nav">
          <li>
            <a href="/docs/provisioners/chef.html">chef</a>
          </li>

          <li>
            <a href="/docs/provisioners/connection.html">connection</a>
          </li>

          <li>
            <a href="/docs/provisioners/file.html">file</a>
          </li>

          <li>
            <a href="/docs/provisioners/habitat.html">habitat</a>
          </li>

          <li>
            <a href="/docs/provisioners/local-exec.html">local-exec</a>
          </li>

          <li>
            <a href="/docs/provisioners/null_resource.html">null_resource</a>
          </li>

          <li>
            <a href="/docs/provisioners/remote-exec.html">remote-exec</a>
          </li>

          <li>
            <a href="/docs/provisioners/salt-masterless.html">salt-masterless</a>
          </li>
        </ul>
      </li>

      <li>
        <a href="/docs/modules/index.html">Modules</a>
        <ul class="nav">
          <li>
            <a href="/docs/modules/usage.html">Usage</a>
          </li>

          <li>
            <a href="/docs/modules/sources.html">Sources</a>
          </li>

          <li>
            <a href="/docs/registry/index.html">Registry</a>
          </li>

          <li>
            <a href="/docs/modules/create.html">Creating Modules</a>
          </li>
        </ul>
      </li>

      <li>
        <a href="/docs/backends/index.html">Backends</a>
        <ul class="nav">
          <li>
            <a href="/docs/backends/init.html">Init</a>
          </li>

          <li>
            <a href="/docs/backends/config.html">Configuration</a>
          </li>

          <li>
            <a href="/docs/backends/state.html">State Storage & Locking</a>
          </li>

          <li>
            <a href="/docs/backends/types/index.html">Backend Types</a>
          </li>
        </ul>
      </li>

      <li>
        <a href="/docs/plugins/index.html">Plugins</a>
        <ul class="nav">
          <li>
            <a href="/docs/plugins/basics.html">Basics</a>
          </li>

          <li>
            <a href="/docs/plugins/provider.html">Provider</a>
          </li>

          <li>
            <a href="/docs/internals/internal-plugins.html">Internals</a>
          </li>
        </ul>
      </li>

      <li>
        <a href="/docs/internals/index.html">Internals</a>
        <ul class="nav">
          <li>
            <a href="/docs/internals/debugging.html">Debugging Terraform</a>
          </li>

          <li>
            <a href="/docs/internals/graph.html">Resource Graph</a>
          </li>

          <li>
            <a href="/docs/internals/lifecycle.html">Resource Lifecycle</a>
          </li>

          <li>
            <a href="/docs/internals/resource-addressing.html">Resource Addressing</a>
          </li>

          <li>
            <a href="/docs/internals/remote-service-discovery.html">Remote Service Discovery</a>
          </li>

          <li>
            <a href="/docs/internals/internal-plugins.html">Internal Plugins</a>
          </li>
        </ul>
      </li>

      <hr>

      <li>
        <a class="back" href="/docs/enterprise/index.html">Terraform Enterprise</a>
      </li>

      <li>
        <a class="back" href="/docs/enterprise-legacy/index.html">Terraform Enterprise (legacy)</a>
      </li>

    </ul>

    </div>

    <div id="inner" class="col-sm-8 col-md-9 col-xs-12" role="main">
      
  <h1 id="community-providers">
  <a name="community-providers" class="anchor" href="#community-providers">&raquo;</a>
  Community Providers
</h1>
<p>The providers listed below have been built by the community of Terraform users
and vendors. These providers are not tested nor officially maintained by
HashiCorp, and are listed here in order to help users find them easily.</p>
<p>If you have built a provider and would like to add it to this community list,
please fill out this <a href="https://docs.google.com/forms/d/e/1FAIpQLSeenG02tGEmz7pntIqMKlp5kY53f8AV5u88wJ_H1pJc2CmvKA/viewform?usp=sf_link#responses">community providers form</a>.</p>

<hr/>
<table class="table">
<p><td><a href="https://github.com/vancluever/terraform-provider-acme">ACME/Let&#39;s Encrypt</a></td>
<td><a href="https://github.com/GSLabDev/terraform-provider-ad">Active Directory</a></td>
<td><a href="https://github.com/zambien/terraform-provider-apigee">Apigee</a></td>
</tr>
<tr>
<td><a href="https://github.com/atlassian/terraform-provider-artifactory">Artifactory</a></td>
<td><a href="https://github.com/bocodigitalmedia/terraform-provider-auth0">Auth0</a></td>
<td><a href="https://github.com/avinetworks/terraform-provider-avi">AVI</a></td>
</tr>
<tr>
<td><a href="https://github.com/AviatrixSystems/terraform-provider-aviatrix">Aviatrix</a></td>
<td><a href="https://github.com/cloudamqp/terraform-provider">CloudAMQP</a></td>
<td><a href="https://github.com/cloudkarafka/terraform-provider">CloudKarafka</a></td>
</tr>
<tr>
<td><a href="https://github.com/cloudmqtt/terraform-provider">CloudMQTT</a></td>
<td><a href="https://github.com/Ashald/terraform-provider-consulacl">Consul ACL</a></td>
<td><a href="https://github.com/coreos/terraform-provider-ct">CoreOS Container Linux Configs</a></td>
</tr>
<tr>
<td><a href="https://github.com/nicolai86/terraform-provider-couchdb">CouchDB</a></td>
<td><a href="https://github.com/rackn/terraform-provider-drp/">Digital Rebar</a></td>
<td><a href="https://github.com/gstruct/terraform-provider-dockermachine">Docker Machine</a></td>
</tr>
<tr>
<td><a href="https://github.com/artisanofcode/terraform-provider-drone">Drone</a></td>
<td><a href="https://github.com/callensm/terraform-provider-dropbox">Dropbox</a></td>
<td><a href="https://github.com/alexissavin/terraform-provider-solidserver">EfficientIP</a></td>
</tr>
<tr>
<td><a href="https://github.com/elephantsql/terraform-provider">ElephantSQL</a></td>
<td><a href="https://github.com/josenk/terraform-provider-esxi">ESXI</a></td>
<td><a href="https://github.com/tiramiseb/terraform-provider-gandi">Gandi</a></td>
</tr>
<tr>
<td><a href="https://github.com/Mastercard/terraform-provider-restapi">Generic Rest API</a></td>
<td><a href="https://github.com/MikeSouza/terraform-provider-glue">Glue</a></td><br/>
<td><a href="https://github.com/drewsonne/terraform-provider-gocd">GoCD</a></td>
</tr>
<tr>
<td><a href="https://github.com/sethvargo/terraform-provider-googlecalendar">Google Calendar</a></td>
<td><a href="https://github.com/DeviaVir/terraform-provider-gsuite">Google G Suite</a></td>
<td><a href="https://github.com/mcuadros/terraform-provider-helm">Helm</a></td>
</tr>
<tr>
<td><a href="https://github.com/ribbybibby/terraform-provider-hiera">Hiera</a></td>
<td><a href="https://github.com/GSLabDev/terraform-provider-httpfileupload">HTTP File Upload</a></td>
<td><a href="https://github.com/HewlettPackard/terraform-provider-oneview">HP OneView</a></td>
</tr>
<tr>
<td><a href="https://github.com/IBM-Cloud/terraform-provider-ibm">IBM Cloud</a></td>
<td><a href="https://github.com/iij/terraform-provider-p2pub">IIJ GIO</a></td>
<td><a href="https://github.com/sky-uk/terraform-provider-infoblox">Infoblox</a></td>
</tr>
<tr>
<td><a href="https://github.com/anubhavmishra/terraform-provider-jira">Jira</a></td>
<td><a href="https://github.com/geekmuse/jumpcloud-terraform-provider">JumpCloud</a></td>
<td><a href="https://github.com/plmwong/terraform-provider-keboola">Kaboola</a></td>
</tr>
<tr>
<td><a href="https://github.com/Mongey/terraform-provider-kafka">Kafka</a></td>
<td><a href="https://github.com/ewilde/terraform-provider-kibana">Kibana</a></td>
<td><a href="https://github.com/kevholditch/terraform-provider-kong">Kong</a></td>
</tr>
<tr>
<td><a href="https://github.com/sl1pm4t/terraform-provider-lxd">LXD</a></td>
<td><a href="https://github.com/coreos/terraform-provider-matchbox">Matchbox</a></td>
<td><a href="https://github.com/akshaykarle/terraform-provider-mongodbatlas">MongoDB Atlas</a></td>
</tr>
<tr>
<td><a href="https://github.com/GSLabDev/terraform-provider-nsxv">NSX-V</a></td>
<td><a href="https://github.com/nutanix/terraform-provider-nutanix">Nutanix</a></td>
<td><a href="https://github.com/src-d/terraform-provider-online-net">Online.net</a></td>
</tr>
<tr>
<td><a href="https://github.com/GSLabDev/terraform-provider-odl">Open Day Light</a></td>
<td><a href="https://github.com/dikhan/terraform-provider-openapi">OpenAPI</a></td>
<td><a href="https://github.com/camptocamp/terraform-provider-pass">Pass</a></td>
</tr>
<tr>
<td><a href="https://github.com/camptocamp/terraform-provider-puppetca">Puppet CA</a></td>
<td><a href="https://github.com/camptocamp/terraform-provider-puppetdb">PuppetDB</a></td>
<td><a href="https://github.com/yunify/terraform-provider-qingcloud">QingCloud</a></td>
</tr>
<tr>
<td><a href="https://github.com/frankfarrell/terraform-provider-redshift">Redshift</a></td>
<td><a href="https://github.com/yamamoto-febc/terraform-provider-rke">RKE</a></td>
<td><a href="https://github.com/ewilde/terraform-provider-runscope">Runscope</a></td>
</tr>
<tr>
<td><a href="https://github.com/sacloud/terraform-provider-sakuracloud">SakuraCloud</a></td>
<td><a href="https://github.com/GSLabDev/terraform-provider-scvmm">SCVMM</a></td>
<td><a href="https://github.com/jianyuan/terraform-provider-sentry">Sentry</a></td>
</tr>
<tr>
<td><a href="https://github.com/SewanDevs/terraform-provider-sewan">Sewan</a></td>
<td><a href="https://github.com/Yelp/terraform-provider-signalform">SignalFx</a></td>
<td><a href="https://github.com/ShopRunner/terraform-provider-snowflake">Snowflake</a></td>
</tr>
<tr>
<td><a href="https://github.com/Ashald/terraform-provider-stateful">Stateful</a></td>
<td><a href="https://github.com/bocodigitalmedia/terraform-provider-transloadit">Transloadit</a></td>
<td><a href="https://github.com/PortOfPortland/terraform-provider-windns">Win DNS</a></td>
</tr>
<tr>
<td><a href="https://github.com/GSLabDev/terraform-provider-vra">vRealize Automation</a></td>
<td><a href="https://github.com/Ashald/terraform-provider-yaml">YAML</a></td>
<td><a href="https://github.com/cormacrelf/terraform-provider-zerotier">ZeroTier</a></td>
</tr></p>
</table>

    </div>
  </div>
</div>


    <div id="footer" class="navigation hidden-print">
      <div class="container">
        <div class="row">
          <div class="col-xs-12">
            <ul class="footer-links nav navbar-nav">
              <li><a href="/intro/index.html">Intro</a></li>
              <li><a href="/docs/index.html">Docs</a></li>
              <li><a href="/docs/extend/index.html">Extend</a></li>
              <li><a href="https://www.hashicorp.com/privacy">Privacy</a></li>
              <li><a href="/security.html">Security</a></li>
              <li><a href="/assets/files/press-kit.zip">Press Kit</a></li>
            </ul>
            <ul class="footer-links nav navbar-nav navbar-right">
              <li><a href="https://github.com/hashicorp/terraform/edit/master/website/docs/providers/type/community-index.html.markdown">Edit this page</a></li>
            </ul>
          </div>
        </div>
      </div>
    </div>

    <script type="application/ld+json">
      {
        "@context": "http://schema.org",
        "@type": "Product",
        "name": "Terraform",
        "alternateName": "Terraform by HashiCorp",
        "manufacturer": "HashiCorp",
        "url": "https://www.terraform.io",
        "logo": "https://www.terraform.io/assets/images/logo-hashicorp-3f10732f.svg",
        "sameAs": [
          "https://github.com/hashicorp/terraform"
        ]
      }
    </script>
  </body>
</html>


================================================
FILE: community/community.json
================================================
[
   {
      "versions" : [
				"master"
      ],
      "parse_target" : "minikube",
      "name" : "terraform-provider-minikube",
      "owner" : "jgensler8",
      "link" : "https://github.com/jgensler8/terraform-provider-minikube"
   },
   {
      "versions" : [
				"master"
      ],
      "parse_target" : "razor",
      "name" : "terraform-provider-razor",
      "owner" : "juliosueiras",
      "link" : "https://github.com/juliosueiras/terraform-provider-razor"
   },
   {
      "versions" : [
				"develop"
      ],
      "parse_target" : "nifi",
      "name" : "terraform-provider-nifi",
      "owner" : "Glympse",
      "link" : "https://github.com/Glympse/terraform-provider-nifi"
   },
   {
      "versions" : [
				"master"
      ],
      "parse_target" : "akamai",
      "name" : "terraform-provider-akamai",
      "owner" : "akamai",
      "link" : "https://github.com/akamai/terraform-provider-akamai"
   },
   {
      "parse_target" : "plugin/providers/acme",
      "name" : "terraform-provider-acme",
      "owner" : "vancluever",
      "versions" : [
         "master",
         "v1.0.0",
         "v0.6.0",
         "v0.5.0",
         "v0.4.0",
         "v0.3.0",
         "v0.3.0-beta2",
         "v0.2.1",
         "v0.2.0",
         "v0.1.0"
      ],
      "link" : "https://github.com/vancluever/terraform-provider-acme"
   },
   {
      "versions" : [
				"master"
      ],
      "parse_target" : "packer",
      "name" : "terraform-provider-packer",
      "owner" : "juliosueiras",
      "link" : "https://github.com/juliosueiras/terraform-provider-packer"
   },
   {
      "parse_target" : "plugin/providers/acme",
      "name" : "terraform-provider-acme",
      "owner" : "vancluever",
      "versions" : [
         "master",
         "v1.0.0",
         "v0.6.0",
         "v0.5.0",
         "v0.4.0",
         "v0.3.0",
         "v0.3.0-beta2",
         "v0.2.1",
         "v0.2.0",
         "v0.1.0"
      ],
      "link" : "https://github.com/vancluever/terraform-provider-acme"
   },
   {
      "versions" : [
         "master"
      ],
      "link" : "https://github.com/GSLabDev/terraform-provider-ad",
      "owner" : "GSLabDev",
      "name" : "terraform-provider-ad",
      "parse_target" : "ad"
   },
   {
      "versions" : [
         "master",
         "v0.0.9",
         "v0.0.8",
         "v0.0.7",
         "v0.0.6",
         "v0.0.5",
         "v0.0.4",
         "v0.0.3",
         "v0.0.2",
         "v0.0.1"
      ],
      "link" : "https://github.com/zambien/terraform-provider-apigee",
      "owner" : "zambien",
      "parse_target" : "apigee",
      "name" : "terraform-provider-apigee"
   },
   {
      "versions" : [
         "master",
         "v1.2.3",
         "v1.2.2",
         "v1.2.1",
         "v1.2.0",
         "v1.1.0",
         "v1.0.1",
         "v0.0.2",
         "v0.0.1"
      ],
      "link" : "https://github.com/atlassian/terraform-provider-artifactory",
      "parse_target" : "pkg/artifactory",
      "name" : "terraform-provider-artifactory",
      "owner" : "atlassian"
   },
   {
      "parse_target" : "auth0",
      "name" : "terraform-provider-auth0",
      "owner" : "bocodigitalmedia",
      "link" : "https://github.com/bocodigitalmedia/terraform-provider-auth0",
      "versions" : [
         "master"
      ]
   },
   {
      "parse_target" : "avi",
      "name" : "terraform-provider-avi",
      "owner" : "avinetworks",
      "versions" : [
         "master",
         "17.2.9",
         "17.2.7b1"
      ],
      "link" : "https://github.com/avinetworks/terraform-provider-avi"
   },
   {
      "versions" : [
         "master"
      ],
      "link" : "https://github.com/AviatrixSystems/terraform-provider-aviatrix",
      "name" : "terraform-provider-aviatrix",
      "parse_target" : "aviatrix",
      "owner" : "AviatrixSystems"
   },
   {
      "parse_target" : "provider",
      "name" : "terraform-provider",
      "owner" : "cloudamqp",
      "versions" : [
         "master"
      ],
      "link" : "https://github.com/cloudamqp/terraform-provider"
   },
   {
      "link" : "https://github.com/cloudkarafka/terraform-provider",
      "versions" : [
         "master"
      ],
      "name" : "terraform-provider",
      "parse_target" : "provider",
      "owner" : "cloudkarafka"
   },
   {
      "parse_target" : "provider",
      "name" : "terraform-provider",
      "owner" : "cloudmqtt",
      "link" : "https://github.com/cloudmqtt/terraform-provider",
      "versions" : [
         "master"
      ]
   },
   {
      "parse_target" : "consulacl",
      "name" : "terraform-provider-consulacl",
      "owner" : "Ashald",
      "link" : "https://github.com/Ashald/terraform-provider-consulacl",
      "versions" : [
         "master",
         "v1.1.0",
         "v1.0.0"
      ]
   },
   {
      "versions" : [
         "master",
         "v0.3.0",
         "v0.2.1",
         "v0.2.0",
         "v0.1.0"
      ],
      "link" : "https://github.com/coreos/terraform-provider-ct",
      "owner" : "coreos",
      "name" : "terraform-provider-ct",
      "parse_target" : "ct"
   },
   {
      "versions" : [
         "master"
      ],
      "link" : "https://github.com/nicolai86/terraform-provider-couchdb",
      "parse_target" : "couchdb",
      "name" : "terraform-provider-couchdb",
      "owner" : "nicolai86"
   },
   {
      "versions" : [
         "master",
         "v1.1.1",
         "v1.1.0",
         "v1.0.6",
         "v1.0.5",
         "v1.0.4",
         "v1.0.3",
         "v1.0.2",
         "v1.0.1",
         "v1.0.0",
         "v0.9.5",
         "v0.9.0",
         "v0.7.8",
         "v0.7.7",
         "v0.7.6",
         "v0.7.5",
         "v0.7.4",
         "v0.7.3",
         "v0.7.2",
         "v0.7.1",
         "v0.7.0",
         "v0.0.1",
         "untagged-ce4bf22f459a74382826",
         "tip",
         "stable"
      ],
      "link" : "https://github.com/rackn/terraform-provider-drp/",
      "parse_target" : "provider",
      "name" : "terraform-provider-drp",
      "owner" : "rackn"
   },
   {
      "versions" : [
         "master",
         "0.1.4",
         "0.1.3",
         "0.1.2",
         "0.1.1",
         "0.1.0"
      ],
      "link" : "https://github.com/gstruct/terraform-provider-dockermachine",
      "owner" : "gstruct",
      "parse_target" : "provider",
      "name" : "terraform-provider-dockermachine"
   },
   {
      "link" : "https://github.com/artisanofcode/terraform-provider-drone",
      "versions" : [
         "master",
         "v0.0.2",
         "v0.0.1"
      ],
      "owner" : "artisanofcode",
      "parse_target" : "drone",
      "name" : "terraform-provider-drone"
   },
   {
      "versions" : [
         "master",
         "1.0.0"
      ],
      "link" : "https://github.com/callensm/terraform-provider-dropbox",
      "owner" : "callensm",
      "parse_target" : "dropbox",
      "name" : "terraform-provider-dropbox"
   },
   {
      "versions" : [
         "master",
         "v1.0.3",
         "v1.0.2",
         "v1.0.1",
         "v1.0.0"
      ],
      "link" : "https://github.com/alexissavin/terraform-provider-solidserver",
      "parse_target" : "solidserver",
      "name" : "terraform-provider-solidserver",
      "owner" : "alexissavin"
   },
   {
      "link" : "https://github.com/elephantsql/terraform-provider",
      "versions" : [
         "master"
      ],
      "owner" : "elephantsql",
      "parse_target" : "provider",
      "name" : "terraform-provider"
   },
   {
      "owner" : "josenk",
      "parse_target" : "esxi",
      "name" : "terraform-provider-esxi",
      "link" : "https://github.com/josenk/terraform-provider-esxi",
      "versions" : [
         "master"
      ]
   },
   {
      "versions" : [
         "master"
      ],
      "link" : "https://github.com/tiramiseb/terraform-provider-gandi",
      "parse_target" : "gandi",
      "name" : "terraform-provider-gandi",
      "owner" : "tiramiseb"
   },
   {
      "link" : "https://github.com/Mastercard/terraform-provider-restapi",
      "versions" : [
         "master",
         "v0.1.0"
      ],
      "owner" : "Mastercard",
      "parse_target" : "restapi",
      "name" : "terraform-provider-restapi"
   },
   {
      "link" : "https://github.com/MikeSouza/terraform-provider-glue",
      "versions" : [
         "master"
      ],
      "owner" : "MikeSouza",
      "name" : "terraform-provider-glue",
      "parse_target" : "glue"
   },
   {
      "parse_target" : "gocd",
      "name" : "terraform-provider-gocd",
      "owner" : "drewsonne",
      "versions" : [
         "master",
         "0.1.21",
         "0.1.20",
         "0.1.19",
         "0.1.18",
         "0.1.17",
         "0.1.16",
         "0.1.15",
         "0.1.14",
         "0.1.13",
         "0.1.12",
         "0.1.11",
         "0.1.10",
         "0.1.9",
         "0.1.8",
         "0.1.7",
         "0.1.6",
         "0.1.5",
         "0.1.4",
         "0.1.3",
         "0.1.2",
         "0.1.1",
         "0.1.0",
         "0.0.11-rc2",
         "0.0.11-rc1",
         "0.0.10",
         "0.0.9",
         "0.0.8",
         "0.0.7",
         "0.0.6",
         "0.0.5"
      ],
      "link" : "https://github.com/drewsonne/terraform-provider-gocd"
   },
   {
      "link" : "https://github.com/sethvargo/terraform-provider-googlecalendar",
      "versions" : [
         "master",
         "v0.1.0"
      ],
      "name" : "terraform-provider-googlecalendar",
      "parse_target" : "googlecalendar",
      "owner" : "sethvargo"
   },
   {
      "owner" : "DeviaVir",
      "parse_target" : "gsuite",
      "name" : "terraform-provider-gsuite",
      "link" : "https://github.com/DeviaVir/terraform-provider-gsuite",
      "versions" : [
         "master",
         "v0.1.7",
         "v0.1.6",
         "v0.1.5",
         "v0.1.4",
         "v0.1.3",
         "v0.1.2",
         "v0.1.1",
         "v0.1.0"
      ]
   },
   {
      "versions" : [
         "master",
         "v0.5.1",
         "v0.5.0",
         "v0.4.0",
         "v0.3.2",
         "v0.3.1",
         "v0.3.0",
         "v0.2.0",
         "v0.1.0"
      ],
      "link" : "https://github.com/mcuadros/terraform-provider-helm",
      "owner" : "mcuadros",
      "parse_target" : "helm",
      "name" : "terraform-provider-helm"
   },
   {
      "parse_target" : "hiera",
      "name" : "terraform-provider-hiera",
      "owner" : "ribbybibby",
      "versions" : [
         "master",
         "v.0.1.0"
      ],
      "link" : "https://github.com/ribbybibby/terraform-provider-hiera"
   },
   {
      "link" : "https://github.com/GSLabDev/terraform-provider-httpfileupload",
      "versions" : [
         "master"
      ],
      "name" : "terraform-provider-httpfileupload",
      "parse_target" : "httpfileupload",
      "owner" : "GSLabDev"
   },
   {
      "link" : "https://github.com/HewlettPackard/terraform-provider-oneview",
      "versions" : [
         "master"
      ],
      "name" : "terraform-provider-oneview",
      "parse_target" : "oneview",
      "owner" : "HewlettPackard"
   },
   {
      "versions" : [
         "master",
         "v0.11.1",
         "v0.11.0",
         "v0.10.0",
         "v0.9.1",
         "v0.9.0",
         "v0.8.0",
         "v0.7.0",
         "v0.6.0",
         "v0.5.1",
         "v0.5.0",
         "v0.4.0"
      ],
      "link" : "https://github.com/IBM-Cloud/terraform-provider-ibm",
      "name" : "terraform-provider-ibm",
      "parse_target" : "ibm",
      "owner" : "IBM-Cloud"
   },
   {
      "versions" : [
         "master",
         "v0.3.0",
         "v0.2.0",
         "v0.1.0"
      ],
      "link" : "https://github.com/iij/terraform-provider-p2pub",
      "owner" : "iij",
      "parse_target" : "p2pub",
      "name" : "terraform-provider-p2pub"
   },
   {
      "link" : "https://github.com/sky-uk/terraform-provider-infoblox",
      "versions" : [
         "master",
         "0.1.11",
         "0.1.10",
         "0.1.9",
         "0.1.8",
         "0.1.7",
         "0.1.6",
         "0.1.5",
         "0.1.4",
         "0.1.3",
         "0.1.2",
         "0.1.1",
         "0.1.0",
         "0.0.13",
         "0.0.12",
         "0.0.11",
         "0.0.10",
         "0.0.9",
         "0.0.8",
         "0.0.7",
         "0.0.6",
         "0.0.5",
         "0.0.4",
         "0.0.3",
         "0.0.2",
         "0.0.1"
      ],
      "owner" : "sky-uk",
      "parse_target" : "infoblox",
      "name" : "terraform-provider-infoblox"
   },
   {
      "parse_target" : "jira",
      "name" : "terraform-provider-jira",
      "owner" : "anubhavmishra",
      "link" : "https://github.com/anubhavmishra/terraform-provider-jira",
      "versions" : [
         "master",
         "0.1.0"
      ]
   },
   {
      "versions" : [
         "master",
         "0.0.1"
      ],
      "link" : "https://github.com/geekmuse/jumpcloud-terraform-provider",
      "name" : "jumpcloud-terraform-provider",
      "parse_target" : "provider",
      "owner" : "geekmuse"
   },
   {
      "owner" : "plmwong",
      "name" : "terraform-provider-keboola",
      "parse_target" : "plugin/providers/keboola",
      "link" : "https://github.com/plmwong/terraform-provider-keboola",
      "versions" : [
         "master"
      ]
   },
   {
      "owner" : "Mongey",
      "parse_target" : "kafka",
      "name" : "terraform-provider-kafka",
      "versions" : [
         "master",
         "v0.1.1",
         "v0.1.0"
      ],
      "link" : "https://github.com/Mongey/terraform-provider-kafka"
   },
   {
      "versions" : [
         "master",
         "v0.6.0",
         "v0.5.1",
         "v0.5.0",
         "v0.4.0",
         "v0.3.0",
         "v0.2.0",
         "v0.1.2",
         "v0.1.1",
         "v0.1.0"
      ],
      "link" : "https://github.com/ewilde/terraform-provider-kibana",
      "parse_target" : "kibana",
      "name" : "terraform-provider-kibana",
      "owner" : "ewilde"
   },
   {
      "owner" : "kevholditch",
      "name" : "terraform-provider-kong",
      "parse_target" : "kong",
      "versions" : [
         "master",
         "v1.5.0",
         "v1.4.0",
         "v1.3.0",
         "v1.2.0",
         "v1.1.0",
         "v1.0.0",
         "v0.14.0",
         "v0.13.0",
         "v0.12.0",
         "v0.11.0",
         "v0.10.0",
         "v0.9.0",
         "v0.8.0",
         "v0.7.0",
         "v0.6.0",
         "v0.5.0",
         "v0.4.0",
         "v0.3.0",
         "v0.2.0",
         "v0.1.0"
      ],
      "link" : "https://github.com/kevholditch/terraform-provider-kong"
   },
   {
      "name" : "terraform-provider-lxd",
      "parse_target" : "lxd",
      "owner" : "sl1pm4t",
      "versions" : [
         "master",
         "v1.1.1",
         "v1.1.0",
         "v1.0.0",
         "v0.10.4",
         "v0.10.0-beta2",
         "v0.9.8",
         "v0.9.5",
         "v0.9.5beta1",
         "v0.9.4",
         "v0.9.3",
         "v0.9.1",
         "v0.9.0",
         "v0.8.1",
         "v0.8.0",
         "v0.8.0-rc3"
      ],
      "link" : "https://github.com/sl1pm4t/terraform-provider-lxd"
   },
   {
      "link" : "https://github.com/coreos/terraform-provider-matchbox",
      "versions" : [
         "master",
         "v0.2.2",
         "v0.2.1",
         "v0.2.0",
         "v0.1.2",
         "v0.1.1",
         "v0.1.0"
      ],
      "parse_target" : "matchbox",
      "name" : "terraform-provider-matchbox",
      "owner" : "coreos"
   },
   {
      "versions" : [
         "master",
         "v0.6.1",
         "v0.6.0",
         "v0.5.0",
         "v0.4.6",
         "v0.4.5",
         "v0.4.4",
         "v0.4.3",
         "v0.4.2",
         "v0.2.2",
         "v0.2.1",
         "v0.2.0",
         "v0.1.0",
         "v0.0.2",
         "v0.0.1",
         "0.4.2",
         "0.4.1",
         "0.4.0",
         "0.3.1",
         "0.3.0"
      ],
      "link" : "https://github.com/akshaykarle/terraform-provider-mongodbatlas",
      "name" : "terraform-provider-mongodbatlas",
      "parse_target" : "mongodbatlas",
      "owner" : "akshaykarle"
   },
   {
      "parse_target" : "nsxv",
      "name" : "terraform-provider-nsxv",
      "owner" : "GSLabDev",
      "versions" : [
         "master"
      ],
      "link" : "https://github.com/GSLabDev/terraform-provider-nsxv"
   },
   {
      "parse_target" : "nutanix",
      "name" : "terraform-provider-nutanix",
      "owner" : "nutanix",
      "versions" : [
         "master",
         "v1.0.0-rc1"
      ],
      "link" : "https://github.com/nutanix/terraform-provider-nutanix"
   },
   {
      "versions" : [
         "master"
      ],
      "link" : "https://github.com/src-d/terraform-provider-online-net",
      "owner" : "src-d",
      "name" : "terraform-provider-online-net",
      "parse_target" : "net"
   },
   {
      "name" : "terraform-provider-odl",
      "parse_target" : "odl",
      "owner" : "GSLabDev",
      "link" : "https://github.com/GSLabDev/terraform-provider-odl",
      "versions" : [
         "master"
      ]
   },
   {
      "parse_target" : "openapi",
      "name" : "terraform-provider-openapi",
      "owner" : "dikhan",
      "link" : "https://github.com/dikhan/terraform-provider-openapi",
      "versions" : [
         "master",
         "v0.1.2",
         "v0.1.1",
         "v0.1.0"
      ]
   },
   {
      "link" : "https://github.com/camptocamp/terraform-provider-pass",
      "versions" : [
         "master",
         "1.1.0",
         "1.0.1",
         "1.0.0",
         "0.1.4",
         "0.1.3",
         "0.1.2",
         "0.1.1",
         "0.1.0"
      ],
      "owner" : "camptocamp",
      "parse_target" : "pass",
      "name" : "terraform-provider-pass"
   },
   {
      "versions" : [
         "master",
         "1.0.1",
         "1.0.0"
      ],
      "link" : "https://github.com/camptocamp/terraform-provider-puppetca",
      "parse_target" : "puppetca",
      "name" : "terraform-provider-puppetca",
      "owner" : "camptocamp"
   },
   {
      "link" : "https://github.com/camptocamp/terraform-provider-puppetdb",
      "versions" : [
         "master",
         "0.1.1",
         "0.1.0"
      ],
      "name" : "terraform-provider-puppetdb",
      "parse_target" : "puppetdb",
      "owner" : "camptocamp"
   },
   {
      "name" : "terraform-provider-qingcloud",
      "parse_target" : "qingcloud",
      "owner" : "yunify",
      "versions" : [
         "master",
         "v1.2.2",
         "v1.2.1",
         "v1.2.0",
         "v1.1",
         "v1.0.1",
         "v1.0.0"
      ],
      "link" : "https://github.com/yunify/terraform-provider-qingcloud"
   },
   {
      "link" : "https://github.com/frankfarrell/terraform-provider-redshift",
      "versions" : [
         "master"
      ],
      "owner" : "frankfarrell",
      "parse_target" : "redshift",
      "name" : "terraform-provider-redshift"
   },
   {
      "name" : "terraform-provider-rke",
      "parse_target" : "rke",
      "owner" : "yamamoto-febc",
      "versions" : [
         "master",
         "0.3.4",
         "0.3.3",
         "0.3.2",
         "0.3.1",
         "0.3.0",
         "0.2.1",
         "0.2.0",
         "0.1.0",
         "0.0.1"
      ],
      "link" : "https://github.com/yamamoto-febc/terraform-provider-rke"
   },
   {
      "versions" : [
         "master",
         "v0.5.7",
         "v0.5.6",
         "v0.5.5",
         "v0.5.4",
         "v0.5.3",
         "v0.5.2",
         "v0.5.1",
         "v0.5.0",
         "v0.5",
         "v0.4.1",
         "v0.4.0",
         "v0.3.1",
         "v0.3.0",
         "v0.2.0",
         "v0.1.0"
      ],
      "link" : "https://github.com/ewilde/terraform-provider-runscope",
      "name" : "terraform-provider-runscope",
      "parse_target" : "runscope",
      "owner" : "ewilde"
   },
   {
      "parse_target" : "sakuracloud",
      "name" : "terraform-provider-sakuracloud",
      "owner" : "sacloud",
      "link" : "https://github.com/sacloud/terraform-provider-sakuracloud",
      "versions" : [
         "master",
         "v1.3.2",
         "v1.3.1",
         "v1.3.0",
         "v1.2.0",
         "v1.1.3",
         "v1.1.2",
         "v1.1.1",
         "v1.1.0",
         "v1.0.5",
         "v1.0.4",
         "v1.0.3",
         "v1.0.2",
         "v1.0.1",
         "v1.0.0",
         "v1.0.0-rc7",
         "v1.0.0-rc6",
         "v1.0.0-rc5",
         "v1.0.0-rc4",
         "v1.0.0-rc3",
         "v1.0.0-rc2",
         "v1.0.0-rc1",
         "v0.14.0",
         "v0.13.1",
         "v0.13.0",
         "v0.12.0",
         "v0.12.0-rc1",
         "v0.11.0",
         "v0.10.4",
         "v0.10.3",
         "v0.10.2"
      ]
   },
   {
      "link" : "https://github.com/GSLabDev/terraform-provider-scvmm",
      "versions" : [
         "master"
      ],
      "parse_target" : "scvmm",
      "name" : "terraform-provider-scvmm",
      "owner" : "GSLabDev"
   },
   {
      "link" : "https://github.com/jianyuan/terraform-provider-sentry",
      "versions" : [
         "master",
         "v0.4.0",
         "v0.3.1",
         "v0.3.0",
         "v0.2.0",
         "v0.1.0"
      ],
      "name" : "terraform-provider-sentry",
      "parse_target" : "sentry",
      "owner" : "jianyuan"
   },
   {
      "versions" : [
         "master"
      ],
      "link" : "https://github.com/SewanDevs/terraform-provider-sewan",
      "owner" : "SewanDevs",
      "name" : "terraform-provider-sewan",
      "parse_target" : "sewan"
   },
   {
      "name" : "terraform-provider-signalform",
      "parse_target" : "signalform",
      "owner" : "Yelp",
      "versions" : [
         "master",
         "v2.7.0",
         "v2.6.0",
         "v2.5.1",
         "v2.5.0",
         "v2.4.0",
         "v2.3.0",
         "v2.2.9",
         "v2.2.8",
         "v2.2.7",
         "v2.2.6",
         "v2.2.5",
         "v2.2.4",
         "v2.2.3",
         "v2.2.2",
         "v2.2",
         "v2.1.2",
         "v2.1.1",
         "v2.1.0",
         "v2.0",
         "v1.9.1",
         "v1.9",
         "v1.8",
         "v1.7",
         "v1.6",
         "v1.5",
         "v1.4",
         "v1.3",
         "v1.2",
         "v1.1",
         "v1.0"
      ],
      "link" : "https://github.com/Yelp/terraform-provider-signalform"
   },
   {
      "parse_target" : "snowflake",
      "name" : "terraform-provider-snowflake",
      "owner" : "ShopRunner",
      "versions" : [
         "master"
      ],
      "link" : "https://github.com/ShopRunner/terraform-provider-snowflake"
   },
   {
      "owner" : "Ashald",
      "parse_target" : "stateful",
      "name" : "terraform-provider-stateful",
      "versions" : [
         "master",
         "v1.0.0"
      ],
      "link" : "https://github.com/Ashald/terraform-provider-stateful"
   },
   {
      "name" : "terraform-provider-transloadit",
      "parse_target" : "transloadit",
      "owner" : "bocodigitalmedia",
      "link" : "https://github.com/bocodigitalmedia/terraform-provider-transloadit",
      "versions" : [
         "master"
      ]
   },
   {
      "link" : "https://github.com/PortOfPortland/terraform-provider-windns",
      "versions" : [
         "master",
         "v0.2.0",
         "v0.1.0"
      ],
      "name" : "terraform-provider-windns",
      "parse_target" : "windns",
      "owner" : "PortOfPortland"
   },
   {
      "parse_target" : "vra",
      "name" : "terraform-provider-vra",
      "owner" : "GSLabDev",
      "versions" : [
         "master"
      ],
      "link" : "https://github.com/GSLabDev/terraform-provider-vra"
   },
   {
      "versions" : [
         "master",
         "v2.0.0",
         "v1.0.0"
      ],
      "link" : "https://github.com/Ashald/terraform-provider-yaml",
      "name" : "terraform-provider-yaml",
      "parse_target" : "yaml",
      "owner" : "Ashald"
   },
   {
      "versions" : [
         "master",
         "v0.2.0",
         "v0.1.0",
         "v0.0.1"
      ],
      "link" : "https://github.com/cormacrelf/terraform-provider-zerotier",
      "parse_target" : "zerotier",
      "name" : "terraform-provider-zerotier",
      "owner" : "cormacrelf"
   },
   {
      "versions" : [
         "master",
         "v0.11.1",
         "v0.11.0",
         "v0.10.0",
         "v0.9.1",
         "v0.9.0",
         "v0.8.0",
         "v0.7.0",
         "v0.6.0",
         "v0.5.1",
         "v0.5.0",
         "v0.4.0"
      ],
      "link" : "https://github.com/IBM-Cloud/terraform-provider-ibm",
      "parse_target" : "ibm",
      "name" : "terraform-provider-ibm",
      "owner" : "IBM-Cloud"
   }
]


================================================
FILE: community/schemas.rb
================================================
require 'json'
require 'pry'

community = JSON.parse(File.read("community.json"))

community.each do |provider|

name = provider["name"].split("-")[-1]

`mkdir ~/.go/src/github.com/#{provider["owner"]}/#{provider["name"]}/generate-schema`
version = provider["versions"][0]

puts "Start with #{provider["name"]} version #{version}"

if version != "master" and File.exists? "../schemas-extractor/community_schemas/#{name}-#{version}.json"
	exit
end

if version == "master" and provider["versions"].count != 1
	version = provider["versions"][1]
end

`cd ~/.go/src/github.com/#{provider["owner"]}/#{provider["name"]}/ && git checkout #{version} -f`

special = ""
if ["drp", "dockermachine"].include? provider["name"].split("-")[-1]
	special = provider["name"].split("-")[-1]
end

generate_schema_file = <<EOF
// Code from https://github.com/VladRassokhin/intellij-hcl/blob/master/schemas-extractor/template/generate-schema.go

package main

import (
	"github.com/hashicorp/terraform/helper/schema"
	tf "github.com/hashicorp/terraform/terraform"
	#{special} "github.com/#{provider["owner"]}/#{provider["name"]}/#{provider["parse_target"]}"

	"encoding/json"
	"fmt"
	"os"
	"path/filepath"
	"reflect"
)

// ExportSchema should be called to export the structure
// of the provider.
func Export(p *schema.Provider) *ResourceProviderSchema {
	result := new(ResourceProviderSchema)

	result.Name = "#{name}"
	result.Type = "provider"
	result.Version = "#{version}"
	result.Provider = schemaMap(p.Schema).Export()
	result.Resources = make(map[string]SchemaInfo)
	result.DataSources = make(map[string]SchemaInfo)

	for k, r := range p.ResourcesMap {
		result.Resources[k] = ExportResource(r)
	}
	for k, ds := range p.DataSourcesMap {
		result.DataSources[k] = ExportResource(ds)
	}

	return result
}

func ExportResource(r *schema.Resource) SchemaInfo {
	return schemaMap(r.Schema).Export()
}

// schemaMap is a wrapper that adds nice functions on top of schemas.
type schemaMap map[string]*schema.Schema

// Export exports the format of this schema.
func (m schemaMap) Export() SchemaInfo {
	result := make(SchemaInfo)
	for k, v := range m {
		item := export(v)
		result[k] = item
	}
	return result
}

func export(v *schema.Schema) SchemaDefinition {
	item := SchemaDefinition{}

	item.Type = fmt.Sprintf("%s", v.Type)
	item.Optional = v.Optional
	item.Required = v.Required
	item.Description = v.Description
	item.InputDefault = v.InputDefault
	item.Computed = v.Computed
	item.MaxItems = v.MaxItems
	item.MinItems = v.MinItems
	item.PromoteSingle = v.PromoteSingle
	item.ComputedWhen = v.ComputedWhen
	item.ConflictsWith = v.ConflictsWith
	item.Deprecated = v.Deprecated
	item.Removed = v.Removed

	if v.Elem != nil {
		item.Elem = exportValue(v.Elem, fmt.Sprintf("%T", v.Elem))
	}

	// TODO: Find better solution
	if defValue, err := v.DefaultValue(); err == nil && defValue != nil && !reflect.DeepEqual(defValue, v.Default) {
		item.Default = exportValue(defValue, fmt.Sprintf("%T", defValue))
	}
	return item
}

func exportValue(value interface{}, t string) SchemaElement {
	s2, ok := value.(*schema.Schema)
	if ok {
		return SchemaElement{Type: "SchemaElements", ElementsType: fmt.Sprintf("%s", s2.Type)}
	}
	r2, ok := value.(*schema.Resource)
	if ok {
		return SchemaElement{Type: "SchemaInfo", Info: ExportResource(r2)}
	}
	return SchemaElement{Type: t, Value: fmt.Sprintf("%v", value)}
}

func Generate(provider *schema.Provider, name string, outputPath string) {
	outputFilePath := filepath.Join(outputPath, fmt.Sprintf("%s.json", name))

	if err := DoGenerate(provider, name, outputFilePath); err != nil {
		fmt.Fprintln(os.Stderr, "Error: ", err.Error())
		os.Exit(255)
	}
}

func DoGenerate(provider *schema.Provider, providerName string, outputFilePath string) error {
	providerJson, err := json.MarshalIndent(Export(provider), "", "  ")

	if err != nil {
		return err
	}

	file, err := os.Create(outputFilePath)
	if err != nil {
		return err
	}

	defer file.Close()

	_, err = file.Write(providerJson)
	if err != nil {
		return err
	}

	return file.Sync()
}

type SchemaElement struct {
	// One of ValueType or "SchemaElements" or "SchemaInfo"
	Type string `json:",omitempty"`
	// Set for simple types (from ValueType)
	Value string `json:",omitempty"`
	// Set if Type == "SchemaElements"
	ElementsType string `json:",omitempty"`
	// Set if Type == "SchemaInfo"
	Info SchemaInfo `json:",omitempty"`
}

type SchemaDefinition struct {
	Type          string `json:",omitempty"`
	Optional      bool   `json:",omitempty"`
	Required      bool   `json:",omitempty"`
	Description   string `json:",omitempty"`
	InputDefault  string `json:",omitempty"`
	Computed      bool   `json:",omitempty"`
	MaxItems      int    `json:",omitempty"`
	MinItems      int    `json:",omitempty"`
	PromoteSingle bool   `json:",omitempty"`

	ComputedWhen  []string `json:",omitempty"`
	ConflictsWith []string `json:",omitempty"`

	Deprecated string `json:",omitempty"`
	Removed    string `json:",omitempty"`

	Default SchemaElement `json:",omitempty"`
	Elem    SchemaElement `json:",omitempty"`
}

type SchemaInfo map[string]SchemaDefinition

// ResourceProviderSchema
type ResourceProviderSchema struct {
	Name        string                `json:"name"`
	Type        string                `json:"type"`
	Version     string                `json:"version"`
	Provider    SchemaInfo            `json:"provider"`
	Resources   map[string]SchemaInfo `json:"resources"`
	DataSources map[string]SchemaInfo `json:"data-sources"`
}

func main() {
	var provider tf.ResourceProvider
	provider = #{name}.Provider()
	Generate(provider.(*schema.Provider), "#{name}-#{version}", "/Users/fastsupport/.vim/plugged/vim-terraform-completion/schemas-extractor/community_schemas")
}
EOF


		open("/Users/fastsupport/.go/src/github.com/#{provider["owner"]}/#{provider["name"]}/generate-schema/generate-schema.go", "w") do |f|
			f << generate_schema_file
		end

		`cd ~/.go/src/github.com/#{provider["owner"]}/#{provider["name"]} && go run generate-schema/generate-schema.go`
end


================================================
FILE: community/test.rb
================================================
require 'nokogiri'
require 'json'
require 'rest-client'
require 'pry'

test =  Nokogiri::HTML(File.read('community-index.html'))

hrefs = test.css("table a").collect { |i| i['href'] }

community = JSON.parse(File.read("community.json"))

new_community = []

hrefs.push("https://github.com/IBM-Cloud/terraform-provider-ibm")
hrefs.compact.each do |href|
	names =  href[19..-1].split("/")

	if not Dir.exists? "/Users/fastsupport/.go/src/github.com/#{href[19..-1]}"
		`mkdir -p ~/.go/src/github.com/#{names[0]} && cd ~/.go/src/github.com/#{names[0]} && git clone #{href}`
	else
		`cd ~/.go/src/github.com/#{names[0]}/#{names[1]} && git pull`
	end

	tags = JSON.parse(RestClient.get("https://api.github.com/repos/#{names[0]}/#{names[1]}/tags?access_token=#{ENV['GITHUB_TOKEN']}"))

	tags = tags.collect {|i| i["name"]}

	if not community.find {|i| i["name"] == names[1] }.nil?
		parse_target = community.find {|i| i["name"] == names[1] }["parse_target"]
	else
		parse_target = names[1].split("-")[-1]
	end

	puts "Added #{names[1]}"
	new_community.push({
		"name": names[1],
		"owner": names[0],
		"parse_target": parse_target,
		"link": href,
		"versions": [
			"master"
		] + tags
	})
end

open("community.json", "w+") do |f|
	f << new_community.to_json
end
`cat community.json | json_pp > test.json && mv test.json community.json`


================================================
FILE: community_provider_json/acme/master/acme.json
================================================
{"provider_arguments":[],"resources":{"certificate":{"arguments":[{"word":"account_key_pem","kind":"String(R)"},{"word":"certificate_request_pem","kind":"String(O)"},{"word":"common_name","kind":"String(O)"},{"word":"dns_challenge","kind":"Set(O)(B)","subblock":[{"word":"config","kind":"Map(O)"},{"word":"provider","kind":"String(R)"}]},{"word":"http_challenge_port","kind":"Int(O)"},{"word":"key_type","kind":"String(O)"},{"word":"min_days_remaining","kind":"Int(O)"},{"word":"must_staple","kind":"Bool(O)"},{"word":"registration_url","kind":"String(R)"},{"word":"server_url","kind":"String(R)"},{"word":"subject_alternative_names","kind":"Set(O)"},{"word":"tls_challenge_port","kind":"Int(O)"}],"attributes":[{"word":"account_key_pem","kind":"String"},{"word":"account_ref","kind":"String"},{"word":"certificate_domain","kind":"String"},{"word":"certificate_pem","kind":"String"},{"word":"certificate_request_pem","kind":"String"},{"word":"certificate_url","kind":"String"},{"word":"common_name","kind":"String"},{"word":"dns_challenge","kind":"Set(B)","subblock":[{"word":"config","kind":"Map"},{"word":"provider","kind":"String"},{"word":"id","kind":"String"}]},{"word":"http_challenge_port","kind":"Int"},{"word":"issuer_pem","kind":"String"},{"word":"key_type","kind":"String"},{"word":"min_days_remaining","kind":"Int"},{"word":"must_staple","kind":"Bool"},{"word":"private_key_pem","kind":"String"},{"word":"registration_url","kind":"String"},{"word":"server_url","kind":"String"},{"word":"subject_alternative_names","kind":"Set"},{"word":"tls_challenge_port","kind":"Int"},{"word":"id","kind":"String"}]},"registration":{"arguments":[{"word":"account_key_pem","kind":"String(R)"},{"word":"email_address","kind":"String(R)"},{"word":"server_url","kind":"String(R)"}],"attributes":[{"word":"account_key_pem","kind":"String"},{"word":"email_address","kind":"String"},{"word":"registration_body","kind":"String"},{"word":"registration_new_authz_url","kind":"String"},{"word":"registration_tos_url","kind":"String"},{"word":"registration_url","kind":"String"},{"word":"server_url","kind":"String"},{"word":"id","kind":"String"}]}},"datas":{},"unknowns":{}}

================================================
FILE: community_provider_json/acme/v0.3.0/acme.json
================================================
{"provider_arguments":[],"resources":{"certificate":{"arguments":[{"word":"account_key_pem","kind":"String(R)"},{"word":"certificate_request_pem","kind":"String(O)"},{"word":"common_name","kind":"String(O)"},{"word":"dns_challenge","kind":"Set(O)(B)","subblock":[{"word":"config","kind":"Map(O)"},{"word":"provider","kind":"String(R)"}]},{"word":"http_challenge_port","kind":"Int(O)"},{"word":"key_type","kind":"String(O)"},{"word":"min_days_remaining","kind":"Int(O)"},{"word":"must_staple","kind":"Bool(O)"},{"word":"registration_url","kind":"String(R)"},{"word":"server_url","kind":"String(R)"},{"word":"subject_alternative_names","kind":"Set(O)"},{"word":"tls_challenge_port","kind":"Int(O)"}],"attributes":[{"word":"account_key_pem","kind":"String"},{"word":"account_ref","kind":"String"},{"word":"certificate_domain","kind":"String"},{"word":"certificate_pem","kind":"String"},{"word":"certificate_request_pem","kind":"String"},{"word":"certificate_url","kind":"String"},{"word":"common_name","kind":"String"},{"word":"dns_challenge","kind":"Set(B)","subblock":[{"word":"config","kind":"Map"},{"word":"provider","kind":"String"},{"word":"id","kind":"String"}]},{"word":"http_challenge_port","kind":"Int"},{"word":"issuer_pem","kind":"String"},{"word":"key_type","kind":"String"},{"word":"min_days_remaining","kind":"Int"},{"word":"must_staple","kind":"Bool"},{"word":"private_key_pem","kind":"String"},{"word":"registration_url","kind":"String"},{"word":"server_url","kind":"String"},{"word":"subject_alternative_names","kind":"Set"},{"word":"tls_challenge_port","kind":"Int"},{"word":"id","kind":"String"}]},"registration":{"arguments":[{"word":"account_key_pem","kind":"String(R)"},{"word":"email_address","kind":"String(R)"},{"word":"server_url","kind":"String(R)"}],"attributes":[{"word":"account_key_pem","kind":"String"},{"word":"email_address","kind":"String"},{"word":"registration_body","kind":"String"},{"word":"registration_new_authz_url","kind":"String"},{"word":"registration_tos_url","kind":"String"},{"word":"registration_url","kind":"String"},{"word":"server_url","kind":"String"},{"word":"id","kind":"String"}]}},"datas":{},"unknowns":{}}

================================================
FILE: community_provider_json/acme/v0.4.0/acme.json
================================================
{"provider_arguments":[],"resources":{"certificate":{"arguments":[{"word":"account_key_pem","kind":"String(R)"},{"word":"certificate_request_pem","kind":"String(O)"},{"word":"common_name","kind":"String(O)"},{"word":"dns_challenge","kind":"Set(O)(B)","subblock":[{"word":"config","kind":"Map(O)"},{"word":"provider","kind":"String(R)"}]},{"word":"http_challenge_port","kind":"Int(O)"},{"word":"key_type","kind":"String(O)"},{"word":"min_days_remaining","kind":"Int(O)"},{"word":"must_staple","kind":"Bool(O)"},{"word":"registration_url","kind":"String(R)"},{"word":"server_url","kind":"String(R)"},{"word":"subject_alternative_names","kind":"Set(O)"},{"word":"tls_challenge_port","kind":"Int(O)"}],"attributes":[{"word":"account_key_pem","kind":"String"},{"word":"account_ref","kind":"String"},{"word":"certificate_domain","kind":"String"},{"word":"certificate_pem","kind":"String"},{"word":"certificate_request_pem","kind":"String"},{"word":"certificate_url","kind":"String"},{"word":"common_name","kind":"String"},{"word":"dns_challenge","kind":"Set(B)","subblock":[{"word":"config","kind":"Map"},{"word":"provider","kind":"String"},{"word":"id","kind":"String"}]},{"word":"http_challenge_port","kind":"Int"},{"word":"issuer_pem","kind":"String"},{"word":"key_type","kind":"String"},{"word":"min_days_remaining","kind":"Int"},{"word":"must_staple","kind":"Bool"},{"word":"private_key_pem","kind":"String"},{"word":"registration_url","kind":"String"},{"word":"server_url","kind":"String"},{"word":"subject_alternative_names","kind":"Set"},{"word":"tls_challenge_port","kind":"Int"},{"word":"id","kind":"String"}]},"registration":{"arguments":[{"word":"account_key_pem","kind":"String(R)"},{"word":"email_address","kind":"String(R)"},{"word":"server_url","kind":"String(R)"}],"attributes":[{"word":"account_key_pem","kind":"String"},{"word":"email_address","kind":"String"},{"word":"registration_body","kind":"String"},{"word":"registration_new_authz_url","kind":"String"},{"word":"registration_tos_url","kind":"String"},{"word":"registration_url","kind":"String"},{"word":"server_url","kind":"String"},{"word":"id","kind":"String"}]}},"datas":{},"unknowns":{}}

================================================
FILE: community_provider_json/acme/v0.5.0/acme.json
================================================
{"provider_arguments":[],"resources":{"certificate":{"arguments":[{"word":"account_key_pem","kind":"String(R)"},{"word":"certificate_request_pem","kind":"String(O)"},{"word":"common_name","kind":"String(O)"},{"word":"dns_challenge","kind":"Set(O)(B)","subblock":[{"word":"config","kind":"Map(O)"},{"word":"provider","kind":"String(R)"}]},{"word":"http_challenge_port","kind":"Int(O)"},{"word":"key_type","kind":"String(O)"},{"word":"min_days_remaining","kind":"Int(O)"},{"word":"must_staple","kind":"Bool(O)"},{"word":"registration_url","kind":"String(R)"},{"word":"server_url","kind":"String(R)"},{"word":"subject_alternative_names","kind":"Set(O)"},{"word":"tls_challenge_port","kind":"Int(O)"}],"attributes":[{"word":"account_key_pem","kind":"String"},{"word":"account_ref","kind":"String"},{"word":"certificate_domain","kind":"String"},{"word":"certificate_pem","kind":"String"},{"word":"certificate_request_pem","kind":"String"},{"word":"certificate_url","kind":"String"},{"word":"common_name","kind":"String"},{"word":"dns_challenge","kind":"Set(B)","subblock":[{"word":"config","kind":"Map"},{"word":"provider","kind":"String"},{"word":"id","kind":"String"}]},{"word":"http_challenge_port","kind":"Int"},{"word":"issuer_pem","kind":"String"},{"word":"key_type","kind":"String"},{"word":"min_days_remaining","kind":"Int"},{"word":"must_staple","kind":"Bool"},{"word":"private_key_pem","kind":"String"},{"word":"registration_url","kind":"String"},{"word":"server_url","kind":"String"},{"word":"subject_alternative_names","kind":"Set"},{"word":"tls_challenge_port","kind":"Int"},{"word":"id","kind":"String"}]},"registration":{"arguments":[{"word":"account_key_pem","kind":"String(R)"},{"word":"email_address","kind":"String(R)"},{"word":"server_url","kind":"String(R)"}],"attributes":[{"word":"account_key_pem","kind":"String"},{"word":"email_address","kind":"String"},{"word":"registration_body","kind":"String"},{"word":"registration_new_authz_url","kind":"String"},{"word":"registration_tos_url","kind":"String"},{"word":"registration_url","kind":"String"},{"word":"server_url","kind":"String"},{"word":"id","kind":"String"}]}},"datas":{},"unknowns":{}}

================================================
FILE: community_provider_json/ad/master/ad.json
================================================
{"provider_arguments":[],"resources":{"computer":{"arguments":[{"word":"computer_name","kind":"String(R)"},{"word":"domain","kind":"String(R)"}],"attributes":[{"word":"computer_name","kind":"String"},{"word":"domain","kind":"String"},{"word":"id","kind":"String"}]}},"datas":{},"unknowns":{}}

================================================
FILE: community_provider_json/akamai/master/akamai.json
================================================
{"provider_arguments":[],"resources":{"cp_code":{"arguments":[{"word":"contract_id","kind":"String(R)"},{"word":"group_id","kind":"String(R)"},{"word":"name","kind":"String(R)"},{"word":"product_id","kind":"String(R)"}],"attributes":[{"word":"contract_id","kind":"String"},{"word":"group_id","kind":"String"},{"word":"name","kind":"String"},{"word":"product_id","kind":"String"},{"word":"id","kind":"String"}]},"fastdns_zone":{"arguments":[{"word":"a","kind":"Set(O)(B)","subblock":[{"word":"active","kind":"Bool(R)"},{"word":"name","kind":"String(R)"},{"word":"target","kind":"String(R)"},{"word":"ttl","kind":"Int(R)"}]},{"word":"aaaa","kind":"Set(O)(B)","subblock":[{"word":"active","kind":"Bool(R)"},{"word":"name","kind":"String(R)"},{"word":"target","kind":"String(R)"},{"word":"ttl","kind":"Int(R)"}]},{"word":"afsdb","kind":"Set(O)(B)","subblock":[{"word":"active","kind":"Bool(R)"},{"word":"name","kind":"String(R)"},{"word":"subtype","kind":"Int(R)"},{"word":"target","kind":"String(R)"},{"word":"ttl","kind":"Int(R)"}]},{"word":"cname","kind":"Set(O)(B)","subblock":[{"word":"active","kind":"Bool(R)"},{"word":"name","kind":"String(R)"},{"word":"target","kind":"String(R)"},{"word":"ttl","kind":"Int(R)"}]},{"word":"dnskey","kind":"Set(O)(B)","subblock":[{"word":"active","kind":"Bool(R)"},{"word":"algorithm","kind":"Int(R)"},{"word":"flags","kind":"Int(R)"},{"word":"key","kind":"String(R)"},{"word":"name","kind":"String(R)"},{"word":"protocol","kind":"Int(R)"},{"word":"ttl","kind":"Int(R)"}]},{"word":"ds","kind":"Set(O)(B)","subblock":[{"word":"active","kind":"Bool(R)"},{"word":"algorithm","kind":"Int(R)"},{"word":"digest","kind":"String(R)"},{"word":"digest_type","kind":"Int(R)"},{"word":"keytag","kind":"Int(R)"},{"word":"name","kind":"String(R)"},{"word":"ttl","kind":"Int(R)"}]},{"word":"hinfo","kind":"Set(O)(B)","subblock":[{"word":"active","kind":"Bool(R)"},{"word":"hardware","kind":"String(R)"},{"word":"name","kind":"String(R)"},{"word":"software","kind":"String(R)"},{"word":"ttl","kind":"Int(R)"}]},{"word":"hostname","kind":"String(R)"},{"word":"loc","kind":"Set(O)(B)","subblock":[{"word":"active","kind":"Bool(R)"},{"word":"name","kind":"String(R)"},{"word":"target","kind":"String(R)"},{"word":"ttl","kind":"Int(R)"}]},{"word":"mx","kind":"Set(O)(B)","subblock":[{"word":"active","kind":"Bool(R)"},{"word":"name","kind":"String(R)"},{"word":"priority","kind":"String(R)"},{"word":"target","kind":"String(R)"},{"word":"ttl","kind":"Int(R)"}]},{"word":"naptr","kind":"Set(O)(B)","subblock":[{"word":"active","kind":"Bool(R)"},{"word":"flags","kind":"String(R)"},{"word":"name","kind":"String(R)"},{"word":"order","kind":"Int(R)"},{"word":"preference","kind":"Int(R)"},{"word":"regexp","kind":"String(R)"},{"word":"replacement","kind":"String(R)"},{"word":"service","kind":"String(R)"},{"word":"ttl","kind":"Int(R)"}]},{"word":"ns","kind":"Set(O)(B)","subblock":[{"word":"active","kind":"Bool(R)"},{"word":"name","kind":"String(R)"},{"word":"target","kind":"String(R)"},{"word":"ttl","kind":"Int(R)"}]},{"word":"nsec3","kind":"Set(O)(B)","subblock":[{"word":"active","kind":"Bool(R)"},{"word":"algorithm","kind":"Int(R)"},{"word":"flags","kind":"Int(R)"},{"word":"iterations","kind":"Int(R)"},{"word":"name","kind":"String(R)"},{"word":"next_hashed_owner_name","kind":"String(R)"},{"word":"salt","kind":"String(R)"},{"word":"ttl","kind":"Int(R)"},{"word":"type_bitmaps","kind":"String(R)"}]},{"word":"nsec3param","kind":"Set(O)(B)","subblock":[{"word":"active","kind":"Bool(R)"},{"word":"algorithm","kind":"Int(R)"},{"word":"flags","kind":"Int(R)"},{"word":"iterations","kind":"Int(R)"},{"word":"name","kind":"String(R)"},{"word":"salt","kind":"String(R)"},{"word":"ttl","kind":"Int(R)"}]},{"word":"ptr","kind":"Set(O)(B)","subblock":[{"word":"active","kind":"Bool(R)"},{"word":"name","kind":"String(R)"},{"word":"target","kind":"String(R)"},{"word":"ttl","kind":"Int(R)"}]},{"word":"rp","kind":"Set(O)(B)","subblock":[{"word":"active","kind":"Bool(R)"},{"word":"mailbox","kind":"String(R)"},{"word":"name","kind":"String(R)"},{"word":"ttl","kind":"Int(R)"},{"word":"txt","kind":"String(R)"}]},{"word":"rrsig","kind":"Set(O)(B)","subblock":[{"word":"active","kind":"Bool(R)"},{"word":"algorithm","kind":"Int(R)"},{"word":"expiration","kind":"String(R)"},{"word":"inception","kind":"String(R)"},{"word":"keytag","kind":"Int(R)"},{"word":"labels","kind":"Int(R)"},{"word":"name","kind":"String(R)"},{"word":"original_ttl","kind":"Int(R)"},{"word":"signature","kind":"String(R)"},{"word":"signer","kind":"String(R)"},{"word":"ttl","kind":"Int(R)"},{"word":"type_covered","kind":"String(R)"}]},{"word":"soa","kind":"Set(O)(B)","subblock":[{"word":"contact","kind":"String(O)"},{"word":"expire","kind":"Int(O)"},{"word":"minimum","kind":"Int(O)"},{"word":"originserver","kind":"String(O)"},{"word":"refresh","kind":"Int(O)"},{"word":"retry","kind":"Int(O)"},{"word":"serial","kind":"Int(O)"},{"word":"ttl","kind":"Int(O)"}]},{"word":"spf","kind":"Set(O)(B)","subblock":[{"word":"active","kind":"Bool(R)"},{"word":"name","kind":"String(R)"},{"word":"target","kind":"String(R)"},{"word":"ttl","kind":"Int(R)"}]},{"word":"srv","kind":"Set(O)(B)","subblock":[{"word":"active","kind":"Bool(R)"},{"word":"name","kind":"String(R)"},{"word":"port","kind":"Int(R)"},{"word":"priority","kind":"Int(R)"},{"word":"target","kind":"String(R)"},{"word":"ttl","kind":"Int(R)"},{"word":"weight","kind":"Int(R)"}]},{"word":"sshfp","kind":"Set(O)(B)","subblock":[{"word":"active","kind":"Bool(R)"},{"word":"algorithm","kind":"Int(R)"},{"word":"fingerprint","kind":"String(R)"},{"word":"fingerprint_type","kind":"Int(R)"},{"word":"name","kind":"String(R)"},{"word":"ttl","kind":"Int(R)"}]},{"word":"txt","kind":"Set(O)(B)","subblock":[{"word":"active","kind":"Bool(R)"},{"word":"name","kind":"String(R)"},{"word":"target","kind":"String(R)"},{"word":"ttl","kind":"Int(R)"}]}],"attributes":[{"word":"a","kind":"Set(B)","subblock":[{"word":"active","kind":"Bool"},{"word":"name","kind":"String"},{"word":"target","kind":"String"},{"word":"ttl","kind":"Int"},{"word":"id","kind":"String"}]},{"word":"aaaa","kind":"Set(B)","subblock":[{"word":"active","kind":"Bool"},{"word":"name","kind":"String"},{"word":"target","kind":"String"},{"word":"ttl","kind":"Int"},{"word":"id","kind":"String"}]},{"word":"afsdb","kind":"Set(B)","subblock":[{"word":"active","kind":"Bool"},{"word":"name","kind":"String"},{"word":"subtype","kind":"Int"},{"word":"target","kind":"String"},{"word":"ttl","kind":"Int"},{"word":"id","kind":"String"}]},{"word":"cname","kind":"Set(B)","subblock":[{"word":"active","kind":"Bool"},{"word":"name","kind":"String"},{"word":"target","kind":"String"},{"word":"ttl","kind":"Int"},{"word":"id","kind":"String"}]},{"word":"dnskey","kind":"Set(B)","subblock":[{"word":"active","kind":"Bool"},{"word":"algorithm","kind":"Int"},{"word":"flags","kind":"Int"},{"word":"key","kind":"String"},{"word":"name","kind":"String"},{"word":"protocol","kind":"Int"},{"word":"ttl","kind":"Int"},{"word":"id","kind":"String"}]},{"word":"ds","kind":"Set(B)","subblock":[{"word":"active","kind":"Bool"},{"word":"algorithm","kind":"Int"},{"word":"digest","kind":"String"},{"word":"digest_type","kind":"Int"},{"word":"keytag","kind":"Int"},{"word":"name","kind":"String"},{"word":"ttl","kind":"Int"},{"word":"id","kind":"String"}]},{"word":"hinfo","kind":"Set(B)","subblock":[{"word":"active","kind":"Bool"},{"word":"hardware","kind":"String"},{"word":"name","kind":"String"},{"word":"software","kind":"String"},{"word":"ttl","kind":"Int"},{"word":"id","kind":"String"}]},{"word":"hostname","kind":"String"},{"word":"loc","kind":"Set(B)","subblock":[{"word":"active","kind":"Bool"},{"word":"name","kind":"String"},{"word":"target","kind":"String"},{"word":"ttl","kind":"Int"},{"word":"id","kind":"String"}]},{"word":"mx","kind":"Set(B)","subblock":[{"word":"active","kind":"Bool"},{"word":"name","kind":"String"},{"word":"priority","kind":"String"},{"word":"target","kind":"String"},{"word":"ttl","kind":"Int"},{"word":"id","kind":"String"}]},{"word":"naptr","kind":"Set(B)","subblock":[{"word":"active","kind":"Bool"},{"word":"flags","kind":"String"},{"word":"name","kind":"String"},{"word":"order","kind":"Int"},{"word":"preference","kind":"Int"},{"word":"regexp","kind":"String"},{"word":"replacement","kind":"String"},{"word":"service","kind":"String"},{"word":"ttl","kind":"Int"},{"word":"id","kind":"String"}]},{"word":"ns","kind":"Set(B)","subblock":[{"word":"active","kind":"Bool"},{"word":"name","kind":"String"},{"word":"target","kind":"String"},{"word":"ttl","kind":"Int"},{"word":"id","kind":"String"}]},{"word":"nsec3","kind":"Set(B)","subblock":[{"word":"active","kind":"Bool"},{"word":"algorithm","kind":"Int"},{"word":"flags","kind":"Int"},{"word":"iterations","kind":"Int"},{"word":"name","kind":"String"},{"word":"next_hashed_owner_name","kind":"String"},{"word":"salt","kind":"String"},{"word":"ttl","kind":"Int"},{"word":"type_bitmaps","kind":"String"},{"word":"id","kind":"String"}]},{"word":"nsec3param","kind":"Set(B)","subblock":[{"word":"active","kind":"Bool"},{"word":"algorithm","kind":"Int"},{"word":"flags","kind":"Int"},{"word":"iterations","kind":"Int"},{"word":"name","kind":"String"},{"word":"salt","kind":"String"},{"word":"ttl","kind":"Int"},{"word":"id","kind":"String"}]},{"word":"ptr","kind":"Set(B)","subblock":[{"word":"active","kind":"Bool"},{"word":"name","kind":"String"},{"word":"target","kind":"String"},{"word":"ttl","kind":"Int"},{"word":"id","kind":"String"}]},{"word":"rp","kind":"Set(B)","subblock":[{"word":"active","kind":"Bool"},{"word":"mailbox","kind":"String"},{"word":"name","kind":"String"},{"word":"ttl","kind":"Int"},{"word":"txt","kind":"String"},{"word":"id","kind":"String"}]},{"word":"rrsig","kind":"Set(B)","subblock":[{"word":"active","kind":"Bool"},{"word":"algorithm","kind":"Int"},{"word":"expiration","kind":"String"},{"word":"inception","kind":"String"},{"word":"keytag","kind":"Int"},{"word":"labels","kind":"Int"},{"word":"name","kind":"String"},{"word":"original_ttl","kind":"Int"},{"word":"signature","kind":"String"},{"word":"signer","kind":"String"},{"word":"ttl","kind":"Int"},{"word":"type_covered","kind":"String"},{"word":"id","kind":"String"}]},{"word":"soa","kind":"Set(B)","subblock":[{"word":"contact","kind":"String"},{"word":"expire","kind":"Int"},{"word":"minimum","kind":"Int"},{"word":"originserver","kind":"String"},{"word":"refresh","kind":"Int"},{"word":"retry","kind":"Int"},{"word":"serial","kind":"Int"},{"word":"ttl","kind":"Int"},{"word":"id","kind":"String"}]},{"word":"spf","kind":"Set(B)","subblock":[{"word":"active","kind":"Bool"},{"word":"name","kind":"String"},{"word":"target","kind":"String"},{"word":"ttl","kind":"Int"},{"word":"id","kind":"String"}]},{"word":"srv","kind":"Set(B)","subblock":[{"word":"active","kind":"Bool"},{"word":"name","kind":"String"},{"word":"port","kind":"Int"},{"word":"priority","kind":"Int"},{"word":"target","kind":"String"},{"word":"ttl","kind":"Int"},{"word":"weight","kind":"Int"},{"word":"id","kind":"String"}]},{"word":"sshfp","kind":"Set(B)","subblock":[{"word":"active","kind":"Bool"},{"word":"algorithm","kind":"Int"},{"word":"fingerprint","kind":"String"},{"word":"fingerprint_type","kind":"Int"},{"word":"name","kind":"String"},{"word":"ttl","kind":"Int"},{"word":"id","kind":"String"}]},{"word":"txt","kind":"Set(B)","subblock":[{"word":"active","kind":"Bool"},{"word":"name","kind":"String"},{"word":"target","kind":"String"},{"word":"ttl","kind":"Int"},{"word":"id","kind":"String"}]},{"word":"id","kind":"String"}]},"property":{"arguments":[{"word":"activate","kind":"Bool(O)"},{"word":"clone_from","kind":"Set(O)(B)","subblock":[{"word":"copy_hostnames","kind":"Bool(O)"},{"word":"etag","kind":"String(O)"},{"word":"property_id","kind":"String(R)"},{"word":"version","kind":"Int(O)"}]},{"word":"contact","kind":"Set(R)"},{"word":"contract_id","kind":"String(O)"},{"word":"cp_code","kind":"String(R)"},{"word":"edge_hostname","kind":"Map(O)"},{"word":"group_id","kind":"String(O)"},{"word":"hostname","kind":"Set(R)"},{"word":"ipv6","kind":"Bool(O)"},{"word":"name","kind":"String(R)"},{"word":"network","kind":"String(O)"},{"word":"origin","kind":"Set(O)(B)","subblock":[{"word":"cache_key_hostname","kind":"String(O)"},{"word":"compress","kind":"Bool(O)"},{"word":"enable_true_client_ip","kind":"Bool(O)"},{"word":"forward_hostname","kind":"String(O)"},{"word":"hostname","kind":"String(R)"},{"word":"is_secure","kind":"String(R)"},{"word":"port","kind":"Int(O)"}]},{"word":"product_id","kind":"String(O)"},{"word":"rule_format","kind":"String(O)"},{"word":"rules","kind":"Set(O)(B)","subblock":[{"word":"behavior","kind":"Set(O)(B)","subblock":[{"word":"name","kind":"String(R)"},{"word":"option","kind":"Set(O)(B)","subblock":[{"word":"key","kind":"String(R)"},{"word":"value","kind":"String(O)"},{"word":"values","kind":"Set(O)"}]}]},{"word":"criteria_match","kind":"String(O)"},{"word":"rule","kind":"Set(O)(B)","subblock":[{"word":"behavior","kind":"Set(O)(B)","subblock":[{"word":"name","kind":"String(R)"},{"word":"option","kind":"Set(O)(B)","subblock":[{"word":"key","kind":"String(R)"},{"word":"value","kind":"String(O)"},{"word":"values","kind":"Set(O)"}]}]},{"word":"comment","kind":"String(O)"},{"word":"criteria","kind":"Set(O)(B)","subblock":[{"word":"name","kind":"String(R)"},{"word":"option","kind":"Set(O)(B)","subblock":[{"word":"key","kind":"String(R)"},{"word":"value","kind":"String(O)"},{"word":"values","kind":"Set(O)"}]}]},{"word":"criteria_match","kind":"String(O)"},{"word":"name","kind":"String(R)"},{"word":"rule","kind":"Set(O)(B)","subblock":[{"word":"behavior","kind":"Set(O)(B)","subblock":[{"word":"name","kind":"String(R)"},{"word":"option","kind":"Set(O)(B)","subblock":[{"word":"key","kind":"String(R)"},{"word":"value","kind":"String(O)"},{"word":"values","kind":"Set(O)"}]}]},{"word":"comment","kind":"String(O)"},{"word":"criteria","kind":"Set(O)(B)","subblock":[{"word":"name","kind":"String(R)"},{"word":"option","kind":"Set(O)(B)","subblock":[{"word":"key","kind":"String(R)"},{"word":"value","kind":"String(O)"},{"word":"values","kind":"Set(O)"}]}]},{"word":"criteria_match","kind":"String(O)"},{"word":"name","kind":"String(R)"},{"word":"rule","kind":"Set(O)(B)","subblock":[{"word":"behavior","kind":"Set(O)(B)",
Download .txt
gitextract_vuj6chnl/

├── .gitignore
├── .gitmodules
├── .tfcompleterc
├── .travis.yml
├── CHANGELOG.md
├── COMMUNITY_PROVIDER_VERSIONS.md
├── CONTRIBUTORS.md
├── CUSTOM_PROVIDER.md
├── DEMO.md
├── Dockerfile
├── Dockerfile_base
├── Gemfile
├── LICENSE.md
├── PROVIDER_VERSIONS.md
├── README.md
├── addon-info.json
├── autoload/
│   └── terraformcomplete.vim
├── check_new_provider
├── community/
│   ├── backup_community.json
│   ├── community-index.html
│   ├── community.json
│   ├── schemas.rb
│   └── test.rb
├── community_provider_json/
│   ├── acme/
│   │   ├── master/
│   │   │   └── acme.json
│   │   ├── v0.3.0/
│   │   │   └── acme.json
│   │   ├── v0.4.0/
│   │   │   └── acme.json
│   │   └── v0.5.0/
│   │       └── acme.json
│   ├── ad/
│   │   └── master/
│   │       └── ad.json
│   ├── akamai/
│   │   └── master/
│   │       └── akamai.json
│   ├── apigee/
│   │   ├── master/
│   │   │   └── apigee.json
│   │   ├── v0.0.1/
│   │   │   └── apigee.json
│   │   └── v0.0.9/
│   │       └── apigee.json
│   ├── artifactory/
│   │   ├── v0.0.1/
│   │   │   └── artifactory.json
│   │   ├── v0.0.2/
│   │   │   └── artifactory.json
│   │   ├── v1.0.1/
│   │   │   └── artifactory.json
│   │   ├── v1.1.0/
│   │   │   └── artifactory.json
│   │   ├── v1.2.0/
│   │   │   └── artifactory.json
│   │   ├── v1.2.1/
│   │   │   └── artifactory.json
│   │   ├── v1.2.2/
│   │   │   └── artifactory.json
│   │   └── v1.2.3/
│   │       └── artifactory.json
│   ├── avi/
│   │   ├── 17.2.9/
│   │   │   └── avi.json
│   │   └── master/
│   │       └── avi.json
│   ├── aviatrix/
│   │   └── master/
│   │       └── aviatrix.json
│   ├── cloudamqp/
│   │   └── master/
│   │       └── cloudamqp.json
│   ├── cloudkarafka/
│   │   └── master/
│   │       └── cloudkarafka.json
│   ├── cloudmqtt/
│   │   └── master/
│   │       └── cloudmqtt.json
│   ├── concourse/
│   │   └── master/
│   │       └── concourse.json
│   ├── couchdb/
│   │   └── master/
│   │       └── couchdb.json
│   ├── ct/
│   │   └── v0.3.0/
│   │       └── ct.json
│   ├── dockermachine/
│   │   ├── 0.1.4/
│   │   │   └── dockermachine.json
│   │   └── master/
│   │       └── dockermachine.json
│   ├── dominos/
│   │   └── master/
│   │       └── dominos.json
│   ├── drp/
│   │   ├── v0.0.1/
│   │   │   └── drp.json
│   │   ├── v0.7.0/
│   │   │   └── drp.json
│   │   ├── v0.7.1/
│   │   │   └── drp.json
│   │   ├── v0.7.2/
│   │   │   └── drp.json
│   │   ├── v0.7.3/
│   │   │   └── drp.json
│   │   ├── v0.7.4/
│   │   │   └── drp.json
│   │   ├── v0.7.5/
│   │   │   └── drp.json
│   │   ├── v0.7.6/
│   │   │   └── drp.json
│   │   ├── v0.7.7/
│   │   │   └── drp.json
│   │   └── v0.7.8/
│   │       └── drp.json
│   ├── esxi/
│   │   └── master/
│   │       └── esxi.json
│   ├── filesystem/
│   │   └── master/
│   │       └── filesystem.json
│   ├── gandi/
│   │   └── master/
│   │       └── gandi.json
│   ├── glue/
│   │   └── master/
│   │       └── glue.json
│   ├── gocd/
│   │   ├── 0.1.21/
│   │   │   └── gocd.json
│   │   └── master/
│   │       └── gocd.json
│   ├── googlecalendar/
│   │   ├── master/
│   │   │   └── googlecalendar.json
│   │   └── v0.1.0/
│   │       └── googlecalendar.json
│   ├── gsuite/
│   │   ├── master/
│   │   │   └── gsuite.json
│   │   ├── v0.1.0/
│   │   │   └── gsuite.json
│   │   ├── v0.1.1/
│   │   │   └── gsuite.json
│   │   ├── v0.1.2/
│   │   │   └── gsuite.json
│   │   ├── v0.1.3/
│   │   │   └── gsuite.json
│   │   ├── v0.1.4/
│   │   │   └── gsuite.json
│   │   ├── v0.1.5/
│   │   │   └── gsuite.json
│   │   └── v0.1.7/
│   │       └── gsuite.json
│   ├── hcloud/
│   │   ├── master/
│   │   │   └── hcloud.json
│   │   ├── v1.0.0/
│   │   │   └── hcloud.json
│   │   └── v1.1.0/
│   │       └── hcloud.json
│   ├── helm/
│   │   ├── master/
│   │   │   └── helm.json
│   │   ├── v0.1.0/
│   │   │   └── helm.json
│   │   ├── v0.2.0/
│   │   │   └── helm.json
│   │   ├── v0.3.0/
│   │   │   └── helm.json
│   │   ├── v0.3.1/
│   │   │   └── helm.json
│   │   ├── v0.3.2/
│   │   │   └── helm.json
│   │   ├── v0.4.0/
│   │   │   └── helm.json
│   │   ├── v0.5.0/
│   │   │   └── helm.json
│   │   └── v0.5.1/
│   │       └── helm.json
│   ├── hiera/
│   │   └── v.0.1.0/
│   │       └── hiera.json
│   ├── httpfileupload/
│   │   └── master/
│   │       └── httpfileupload.json
│   ├── ibm/
│   │   ├── v0.10.0/
│   │   │   └── ibm.json
│   │   ├── v0.12.0/
│   │   │   └── ibm.json
│   │   ├── v0.4.0/
│   │   │   └── ibm.json
│   │   ├── v0.5.0/
│   │   │   └── ibm.json
│   │   ├── v0.5.1/
│   │   │   └── ibm.json
│   │   ├── v0.6.0/
│   │   │   └── ibm.json
│   │   ├── v0.7.0/
│   │   │   └── ibm.json
│   │   ├── v0.8.0/
│   │   │   └── ibm.json
│   │   ├── v0.9.0/
│   │   │   └── ibm.json
│   │   └── v0.9.1/
│   │       └── ibm.json
│   ├── infoblox/
│   │   ├── 0.1.11/
│   │   │   └── infoblox.json
│   │   └── master/
│   │       └── infoblox.json
│   ├── jira/
│   │   ├── 0.1.0/
│   │   │   └── jira.json
│   │   └── master/
│   │       └── jira.json
│   ├── kafka/
│   │   ├── master/
│   │   │   └── kafka.json
│   │   ├── v0.1.0/
│   │   │   └── kafka.json
│   │   └── v0.1.1/
│   │       └── kafka.json
│   ├── keboola/
│   │   └── master/
│   │       └── keboola.json
│   ├── kibana/
│   │   ├── master/
│   │   │   └── kibana.json
│   │   ├── v0.1.0/
│   │   │   └── kibana.json
│   │   ├── v0.1.1/
│   │   │   └── kibana.json
│   │   ├── v0.1.2/
│   │   │   └── kibana.json
│   │   ├── v0.2.0/
│   │   │   └── kibana.json
│   │   ├── v0.3.0/
│   │   │   └── kibana.json
│   │   ├── v0.4.0/
│   │   │   └── kibana.json
│   │   ├── v0.5.0/
│   │   │   └── kibana.json
│   │   ├── v0.5.1/
│   │   │   └── kibana.json
│   │   └── v0.6.0/
│   │       └── kibana.json
│   ├── kong/
│   │   ├── master/
│   │   │   └── kong.json
│   │   ├── v0.1.0/
│   │   │   └── kong.json
│   │   ├── v0.10.0/
│   │   │   └── kong.json
│   │   ├── v0.11.0/
│   │   │   └── kong.json
│   │   ├── v0.12.0/
│   │   │   └── kong.json
│   │   ├── v0.13.0/
│   │   │   └── kong.json
│   │   ├── v0.14.0/
│   │   │   └── kong.json
│   │   ├── v0.2.0/
│   │   │   └── kong.json
│   │   ├── v0.3.0/
│   │   │   └── kong.json
│   │   ├── v0.4.0/
│   │   │   └── kong.json
│   │   ├── v0.5.0/
│   │   │   └── kong.json
│   │   ├── v0.6.0/
│   │   │   └── kong.json
│   │   ├── v0.7.0/
│   │   │   └── kong.json
│   │   ├── v0.8.0/
│   │   │   └── kong.json
│   │   ├── v0.9.0/
│   │   │   └── kong.json
│   │   ├── v1.1.0/
│   │   │   └── kong.json
│   │   └── v1.5.0/
│   │       └── kong.json
│   ├── kubernetes/
│   │   └── sl1pm4t/
│   │       └── kubernetes.json
│   ├── lxd/
│   │   ├── v1.0.0/
│   │   │   └── lxd.json
│   │   ├── v1.1.0/
│   │   │   └── lxd.json
│   │   └── v1.1.1/
│   │       └── lxd.json
│   ├── matchbox/
│   │   ├── master/
│   │   │   └── matchbox.json
│   │   ├── v0.1.0/
│   │   │   └── matchbox.json
│   │   ├── v0.1.1/
│   │   │   └── matchbox.json
│   │   ├── v0.1.2/
│   │   │   └── matchbox.json
│   │   ├── v0.2.0/
│   │   │   └── matchbox.json
│   │   ├── v0.2.1/
│   │   │   └── matchbox.json
│   │   └── v0.2.2/
│   │       └── matchbox.json
│   ├── minikube/
│   │   └── master/
│   │       └── minikube.json
│   ├── mongodbatlas/
│   │   ├── master/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.0.1/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.0.2/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.1.0/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.2.0/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.2.1/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.2.2/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.4.2/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.4.3/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.4.4/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.4.5/
│   │   │   └── mongodbatlas.json
│   │   ├── v0.5.0/
│   │   │   └── mongodbatlas.json
│   │   └── v0.6.1/
│   │       └── mongodbatlas.json
│   ├── netlify/
│   │   └── master/
│   │       └── netlify.json
│   ├── nifi/
│   │   └── develop/
│   │       └── nifi.json
│   ├── nutanix/
│   │   └── master/
│   │       └── nutanix.json
│   ├── odl/
│   │   └── master/
│   │       └── odl.json
│   ├── oneview/
│   │   └── master/
│   │       └── oneview.json
│   ├── packer/
│   │   ├── 0.1.0/
│   │   │   └── packer.json
│   │   ├── master/
│   │   │   └── packer.json
│   │   └── vsphere/
│   │       └── packer.json
│   ├── pass/
│   │   ├── 1.0.1/
│   │   │   └── pass.json
│   │   └── master/
│   │       └── pass.json
│   ├── puppetca/
│   │   ├── 1.0.1/
│   │   │   └── puppetca.json
│   │   └── master/
│   │       └── puppetca.json
│   ├── puppetdb/
│   │   ├── 0.1.1/
│   │   │   └── puppetdb.json
│   │   └── master/
│   │       └── puppetdb.json
│   ├── qingcloud/
│   │   ├── master/
│   │   │   └── qingcloud.json
│   │   ├── v1.0.0/
│   │   │   └── qingcloud.json
│   │   ├── v1.0.1/
│   │   │   └── qingcloud.json
│   │   ├── v1.1/
│   │   │   └── qingcloud.json
│   │   ├── v1.2.0/
│   │   │   └── qingcloud.json
│   │   ├── v1.2.1/
│   │   │   └── qingcloud.json
│   │   └── v1.2.2/
│   │       └── qingcloud.json
│   ├── razor/
│   │   └── master/
│   │       └── razor.json
│   ├── redshift/
│   │   └── master/
│   │       └── redshift.json
│   ├── restapi/
│   │   ├── master/
│   │   │   └── restapi.json
│   │   └── v0.1.0/
│   │       └── restapi.json
│   ├── rke/
│   │   ├── 0.2.0/
│   │   │   └── rke.json
│   │   ├── 0.3.4/
│   │   │   └── rke.json
│   │   └── master/
│   │       └── rke.json
│   ├── runscope/
│   │   ├── master/
│   │   │   └── runscope.json
│   │   ├── v0.5.6/
│   │   │   └── runscope.json
│   │   └── v0.5.7/
│   │       └── runscope.json
│   ├── sakuracloud/
│   │   ├── master/
│   │   │   └── sakuracloud.json
│   │   ├── v1.0.0/
│   │   │   └── sakuracloud.json
│   │   ├── v1.0.1/
│   │   │   └── sakuracloud.json
│   │   ├── v1.0.2/
│   │   │   └── sakuracloud.json
│   │   ├── v1.0.3/
│   │   │   └── sakuracloud.json
│   │   ├── v1.0.4/
│   │   │   └── sakuracloud.json
│   │   ├── v1.0.5/
│   │   │   └── sakuracloud.json
│   │   ├── v1.1.0/
│   │   │   └── sakuracloud.json
│   │   ├── v1.1.1/
│   │   │   └── sakuracloud.json
│   │   ├── v1.1.2/
│   │   │   └── sakuracloud.json
│   │   └── v1.3.2/
│   │       └── sakuracloud.json
│   ├── scvmm/
│   │   └── master/
│   │       └── scvmm.json
│   ├── sentry/
│   │   ├── master/
│   │   │   └── sentry.json
│   │   ├── v0.2.0/
│   │   │   └── sentry.json
│   │   ├── v0.3.0/
│   │   │   └── sentry.json
│   │   ├── v0.3.1/
│   │   │   └── sentry.json
│   │   └── v0.4.0/
│   │       └── sentry.json
│   ├── servicenow/
│   │   └── master/
│   │       └── servicenow.json
│   ├── signalform/
│   │   ├── v1.0/
│   │   │   └── signalform.json
│   │   ├── v1.1/
│   │   │   └── signalform.json
│   │   ├── v1.2/
│   │   │   └── signalform.json
│   │   ├── v1.3/
│   │   │   └── signalform.json
│   │   ├── v1.4/
│   │   │   └── signalform.json
│   │   ├── v1.5/
│   │   │   └── signalform.json
│   │   ├── v1.6/
│   │   │   └── signalform.json
│   │   ├── v1.7/
│   │   │   └── signalform.json
│   │   ├── v1.8/
│   │   │   └── signalform.json
│   │   ├── v1.9/
│   │   │   └── signalform.json
│   │   └── v1.9.1/
│   │       └── signalform.json
│   ├── stateful/
│   │   └── v1.0.0/
│   │       └── stateful.json
│   ├── vra/
│   │   └── master/
│   │       └── vra.json
│   └── windns/
│       └── v0.2.0/
│           └── windns.json
├── ctags/
│   └── terraform.ctags
├── dicts/
│   ├── provider_acme.dicts
│   ├── provider_alicloud.dicts
│   ├── provider_archive.dicts
│   ├── provider_arukas.dicts
│   ├── provider_atlas.dicts
│   ├── provider_aws.dicts
│   ├── provider_azure.dicts
│   ├── provider_azuread.dicts
│   ├── provider_azurerm.dicts
│   ├── provider_azurestack.dicts
│   ├── provider_bigip.dicts
│   ├── provider_bitbucket.dicts
│   ├── provider_brightbox.dicts
│   ├── provider_chef.dicts
│   ├── provider_circonus.dicts
│   ├── provider_clc.dicts
│   ├── provider_cloudflare.dicts
│   ├── provider_cloudscale.dicts
│   ├── provider_cloudstack.dicts
│   ├── provider_cobbler.dicts
│   ├── provider_consul.dicts
│   ├── provider_datadog.dicts
│   ├── provider_digitalocean.dicts
│   ├── provider_dme.dicts
│   ├── provider_dns.dicts
│   ├── provider_dnsimple.dicts
│   ├── provider_docker.dicts
│   ├── provider_dyn.dicts
│   ├── provider_external.dicts
│   ├── provider_fastly.dicts
│   ├── provider_flexibleengine.dicts
│   ├── provider_github.dicts
│   ├── provider_gitlab.dicts
│   ├── provider_google.dicts
│   ├── provider_grafana.dicts
│   ├── provider_hcloud.dicts
│   ├── provider_hedvig.dicts
│   ├── provider_helm.dicts
│   ├── provider_heroku.dicts
│   ├── provider_http.dicts
│   ├── provider_huaweicloud.dicts
│   ├── provider_icinga2.dicts
│   ├── provider_ignition.dicts
│   ├── provider_influxdb.dicts
│   ├── provider_kubernetes.dicts
│   ├── provider_librato.dicts
│   ├── provider_linode.dicts
│   ├── provider_local.dicts
│   ├── provider_logentries.dicts
│   ├── provider_logicmonitor.dicts
│   ├── provider_mailgun.dicts
│   ├── provider_mysql.dicts
│   ├── provider_netlify.dicts
│   ├── provider_newrelic.dicts
│   ├── provider_nomad.dicts
│   ├── provider_ns1.dicts
│   ├── provider_nsxt.dicts
│   ├── provider_null.dicts
│   ├── provider_nutanix.dicts
│   ├── provider_oci.dicts
│   ├── provider_oneandone.dicts
│   ├── provider_opc.dicts
│   ├── provider_openstack.dicts
│   ├── provider_opentelekomcloud.dicts
│   ├── provider_opsgenie.dicts
│   ├── provider_oraclepaas.dicts
│   ├── provider_ovh.dicts
│   ├── provider_packet.dicts
│   ├── provider_pagerduty.dicts
│   ├── provider_panos.dicts
│   ├── provider_postgresql.dicts
│   ├── provider_powerdns.dicts
│   ├── provider_profitbricks.dicts
│   ├── provider_rabbitmq.dicts
│   ├── provider_rancher.dicts
│   ├── provider_random.dicts
│   ├── provider_rightscale.dicts
│   ├── provider_rundeck.dicts
│   ├── provider_runscope.dicts
│   ├── provider_scaleway.dicts
│   ├── provider_selvpc.dicts
│   ├── provider_skytap.dicts
│   ├── provider_softlayer.dicts
│   ├── provider_spotinst.dicts
│   ├── provider_statuscake.dicts
│   ├── provider_telefonicaopencloud.dicts
│   ├── provider_template.dicts
│   ├── provider_tencentcloud.dicts
│   ├── provider_terraform.dicts
│   ├── provider_tfe.dicts
│   ├── provider_tls.dicts
│   ├── provider_triton.dicts
│   ├── provider_ucloud.dicts
│   ├── provider_ultradns.dicts
│   ├── provider_vault.dicts
│   ├── provider_vcd.dicts
│   ├── provider_vsphere.dicts
│   ├── terraform_snippets_dict
│   └── tfcompleterc_dict
├── dissect.rb
├── doc/
│   └── vim-terraform-completion.txt
├── example.vimrc
├── extra_json/
│   ├── base.json
│   └── functions.json
├── ftdetect/
│   └── tfcompleterc.vim
├── ftplugin/
│   ├── terraform/
│   │   └── completion.vim
│   ├── terraform_tagbar.vim
│   └── tfcompleterc.vim
├── generate-schema/
│   └── generate-schema.go
├── generate_provider_snippets.rb
├── generate_snippets.rb
├── get_all_version_schema.rb
├── module.rb
├── provider_json/
│   ├── acme/
│   │   ├── 1.0.1/
│   │   │   └── acme.json
│   │   ├── 1.1.0/
│   │   │   └── acme.json
│   │   ├── 1.1.1/
│   │   │   └── acme.json
│   │   ├── 1.3.1/
│   │   │   └── acme.json
│   │   └── 1.3.4/
│   │       └── acme.json
│   ├── alicloud/
│   │   ├── 0.1.0/
│   │   │   └── alicloud.json
│   │   ├── 0.1.1/
│   │   │   └── alicloud.json
│   │   ├── 1.10.0/
│   │   │   └── alicloud.json
│   │   ├── 1.11.0/
│   │   │   └── alicloud.json
│   │   ├── 1.12.0/
│   │   │   └── alicloud.json
│   │   ├── 1.13.0/
│   │   │   └── alicloud.json
│   │   ├── 1.14.0/
│   │   │   └── alicloud.json
│   │   ├── 1.15.0/
│   │   │   └── alicloud.json
│   │   ├── 1.16.0/
│   │   │   └── alicloud.json
│   │   ├── 1.17.0/
│   │   │   └── alicloud.json
│   │   ├── 1.18.0/
│   │   │   └── alicloud.json
│   │   ├── 1.19.0/
│   │   │   └── alicloud.json
│   │   ├── 1.2.0/
│   │   │   └── alicloud.json
│   │   ├── 1.20.0/
│   │   │   └── alicloud.json
│   │   ├── 1.21.0/
│   │   │   └── alicloud.json
│   │   ├── 1.22.0/
│   │   │   └── alicloud.json
│   │   ├── 1.23.0/
│   │   │   └── alicloud.json
│   │   ├── 1.24.0/
│   │   │   └── alicloud.json
│   │   ├── 1.25.0/
│   │   │   └── alicloud.json
│   │   ├── 1.26.0/
│   │   │   └── alicloud.json
│   │   ├── 1.27.0/
│   │   │   └── alicloud.json
│   │   ├── 1.28.0/
│   │   │   └── alicloud.json
│   │   ├── 1.29.0/
│   │   │   └── alicloud.json
│   │   ├── 1.30.0/
│   │   │   └── alicloud.json
│   │   ├── 1.31.0/
│   │   │   └── alicloud.json
│   │   ├── 1.32.0/
│   │   │   └── alicloud.json
│   │   ├── 1.32.1/
│   │   │   └── alicloud.json
│   │   ├── 1.33.0/
│   │   │   └── alicloud.json
│   │   ├── 1.34.0/
│   │   │   └── alicloud.json
│   │   ├── 1.35.0/
│   │   │   └── alicloud.json
│   │   ├── 1.36.0/
│   │   │   └── alicloud.json
│   │   ├── 1.37.0/
│   │   │   └── alicloud.json
│   │   ├── 1.38.0/
│   │   │   └── alicloud.json
│   │   ├── 1.39.0/
│   │   │   └── alicloud.json
│   │   ├── 1.40.0/
│   │   │   └── alicloud.json
│   │   ├── 1.41.0/
│   │   │   └── alicloud.json
│   │   ├── 1.43.0/
│   │   │   └── alicloud.json
│   │   ├── 1.5.0/
│   │   │   └── alicloud.json
│   │   ├── 1.5.1/
│   │   │   └── alicloud.json
│   │   ├── 1.5.2/
│   │   │   └── alicloud.json
│   │   ├── 1.5.3/
│   │   │   └── alicloud.json
│   │   ├── 1.52.0/
│   │   │   └── alicloud.json
│   │   ├── 1.52.2/
│   │   │   └── alicloud.json
│   │   ├── 1.6.0/
│   │   │   └── alicloud.json
│   │   ├── 1.7.0/
│   │   │   └── alicloud.json
│   │   ├── 1.7.1/
│   │   │   └── alicloud.json
│   │   ├── 1.7.2/
│   │   │   └── alicloud.json
│   │   ├── 1.8.0/
│   │   │   └── alicloud.json
│   │   ├── 1.8.1/
│   │   │   └── alicloud.json
│   │   ├── 1.9.0/
│   │   │   └── alicloud.json
│   │   ├── 1.9.1/
│   │   │   └── alicloud.json
│   │   ├── 1.9.2/
│   │   │   └── alicloud.json
│   │   ├── 1.9.3/
│   │   │   └── alicloud.json
│   │   ├── 1.9.4/
│   │   │   └── alicloud.json
│   │   ├── 1.9.5/
│   │   │   └── alicloud.json
│   │   └── 1.9.6/
│   │       └── alicloud.json
│   ├── archive/
│   │   ├── 0.1.0/
│   │   │   └── archive.json
│   │   ├── 1.0.0/
│   │   │   └── archive.json
│   │   ├── 1.0.1/
│   │   │   └── archive.json
│   │   ├── 1.0.2/
│   │   │   └── archive.json
│   │   ├── 1.0.3/
│   │   │   └── archive.json
│   │   ├── 1.1.0/
│   │   │   └── archive.json
│   │   ├── 1.2.0/
│   │   │   └── archive.json
│   │   ├── 1.2.1/
│   │   │   └── archive.json
│   │   └── 1.2.2/
│   │       └── archive.json
│   ├── arukas/
│   │   ├── 0.1.0/
│   │   │   └── arukas.json
│   │   ├── 1.0.0/
│   │   │   └── arukas.json
│   │   └── 1.1.0/
│   │       └── arukas.json
│   ├── atlas/
│   │   ├── 0.1.0/
│   │   │   └── atlas.json
│   │   └── 0.1.1/
│   │       └── atlas.json
│   ├── aws/
│   │   ├── 0.1.0/
│   │   │   └── aws.json
│   │   ├── 0.1.1/
│   │   │   └── aws.json
│   │   ├── 0.1.2/
│   │   │   └── aws.json
│   │   ├── 0.1.3/
│   │   │   └── aws.json
│   │   ├── 0.1.4/
│   │   │   └── aws.json
│   │   ├── 1.0.0/
│   │   │   └── aws.json
│   │   ├── 1.1.0/
│   │   │   └── aws.json
│   │   ├── 1.10.0/
│   │   │   └── aws.json
│   │   ├── 1.11.0/
│   │   │   └── aws.json
│   │   ├── 1.12.0/
│   │   │   └── aws.json
│   │   ├── 1.13.0/
│   │   │   └── aws.json
│   │   ├── 1.14.0/
│   │   │   └── aws.json
│   │   ├── 1.14.1/
│   │   │   └── aws.json
│   │   ├── 1.15.0/
│   │   │   └── aws.json
│   │   ├── 1.16.0/
│   │   │   └── aws.json
│   │   ├── 1.17.0/
│   │   │   └── aws.json
│   │   ├── 1.18.0/
│   │   │   └── aws.json
│   │   ├── 1.19.0/
│   │   │   └── aws.json
│   │   ├── 1.2.0/
│   │   │   └── aws.json
│   │   ├── 1.20.0/
│   │   │   └── aws.json
│   │   ├── 1.21.0/
│   │   │   └── aws.json
│   │   ├── 1.22.0/
│   │   │   └── aws.json
│   │   ├── 1.23.0/
│   │   │   └── aws.json
│   │   ├── 1.24.0/
│   │   │   └── aws.json
│   │   ├── 1.25.0/
│   │   │   └── aws.json
│   │   ├── 1.26.0/
│   │   │   └── aws.json
│   │   ├── 1.27.0/
│   │   │   └── aws.json
│   │   ├── 1.28.0/
│   │   │   └── aws.json
│   │   ├── 1.29.0/
│   │   │   └── aws.json
│   │   ├── 1.3.0/
│   │   │   └── aws.json
│   │   ├── 1.3.1/
│   │   │   └── aws.json
│   │   ├── 1.30.0/
│   │   │   └── aws.json
│   │   ├── 1.31.0/
│   │   │   └── aws.json
│   │   ├── 1.32.0/
│   │   │   └── aws.json
│   │   ├── 1.33.0/
│   │   │   └── aws.json
│   │   ├── 1.34.0/
│   │   │   └── aws.json
│   │   ├── 1.35.0/
│   │   │   └── aws.json
│   │   ├── 1.36.0/
│   │   │   └── aws.json
│   │   ├── 1.37.0/
│   │   │   └── aws.json
│   │   ├── 1.38.0/
│   │   │   └── aws.json
│   │   ├── 1.39.0/
│   │   │   └── aws.json
│   │   ├── 1.4.0/
│   │   │   └── aws.json
│   │   ├── 1.40.0/
│   │   │   └── aws.json
│   │   ├── 1.41.0/
│   │   │   └── aws.json
│   │   ├── 1.42.0/
│   │   │   └── aws.json
│   │   ├── 1.43.0/
│   │   │   └── aws.json
│   │   ├── 1.43.2/
│   │   │   └── aws.json
│   │   ├── 1.45.0/
│   │   │   └── aws.json
│   │   ├── 1.46.0/
│   │   │   └── aws.json
│   │   ├── 1.49.0/
│   │   │   └── aws.json
│   │   ├── 1.5.0/
│   │   │   └── aws.json
│   │   ├── 1.50.0/
│   │   │   └── aws.json
│   │   ├── 1.51.0/
│   │   │   └── aws.json
│   │   ├── 1.52.0/
│   │   │   └── aws.json
│   │   ├── 1.54.0/
│   │   │   └── aws.json
│   │   ├── 1.55.0/
│   │   │   └── aws.json
│   │   ├── 1.56.0/
│   │   │   └── aws.json
│   │   ├── 1.57.0/
│   │   │   └── aws.json
│   │   ├── 1.59.0/
│   │   │   └── aws.json
│   │   ├── 1.6.0/
│   │   │   └── aws.json
│   │   ├── 1.60.0/
│   │   │   └── aws.json
│   │   ├── 1.7.0/
│   │   │   └── aws.json
│   │   ├── 1.7.1/
│   │   │   └── aws.json
│   │   ├── 1.8.0/
│   │   │   └── aws.json
│   │   ├── 1.9.0/
│   │   │   └── aws.json
│   │   ├── 2.0.0/
│   │   │   └── aws.json
│   │   ├── 2.1.0/
│   │   │   └── aws.json
│   │   ├── 2.11.0/
│   │   │   └── aws.json
│   │   ├── 2.19.0/
│   │   │   └── aws.json
│   │   ├── 2.2.0/
│   │   │   └── aws.json
│   │   ├── 2.21.1/
│   │   │   └── aws.json
│   │   ├── 2.3.0/
│   │   │   └── aws.json
│   │   ├── 2.4.0/
│   │   │   └── aws.json
│   │   ├── 2.5.0/
│   │   │   └── aws.json
│   │   ├── 2.6.0/
│   │   │   └── aws.json
│   │   ├── 2.7.0/
│   │   │   └── aws.json
│   │   └── 2.8.0/
│   │       └── aws.json
│   ├── azure/
│   │   ├── 0.1.0/
│   │   │   └── azure.json
│   │   └── 0.1.1/
│   │       └── azure.json
│   ├── azuread/
│   │   ├── 0.1.0/
│   │   │   └── azuread.json
│   │   ├── 0.2.0/
│   │   │   └── azuread.json
│   │   ├── 0.3.1/
│   │   │   └── azuread.json
│   │   ├── 0.4.0/
│   │   │   └── azuread.json
│   │   └── 0.5.1/
│   │       └── azuread.json
│   ├── azurerm/
│   │   ├── 0.1.0/
│   │   │   └── azurerm.json
│   │   ├── 0.1.1/
│   │   │   └── azurerm.json
│   │   ├── 0.1.2/
│   │   │   └── azurerm.json
│   │   ├── 0.1.3/
│   │   │   └── azurerm.json
│   │   ├── 0.1.4/
│   │   │   └── azurerm.json
│   │   ├── 0.1.5/
│   │   │   └── azurerm.json
│   │   ├── 0.1.6/
│   │   │   └── azurerm.json
│   │   ├── 0.1.7/
│   │   │   └── azurerm.json
│   │   ├── 0.2.0/
│   │   │   └── azurerm.json
│   │   ├── 0.2.1/
│   │   │   └── azurerm.json
│   │   ├── 0.2.2/
│   │   │   └── azurerm.json
│   │   ├── 0.3.0/
│   │   │   └── azurerm.json
│   │   ├── 0.3.1/
│   │   │   └── azurerm.json
│   │   ├── 0.3.2/
│   │   │   └── azurerm.json
│   │   ├── 0.3.3/
│   │   │   └── azurerm.json
│   │   ├── 1.0.0/
│   │   │   └── azurerm.json
│   │   ├── 1.0.1/
│   │   │   └── azurerm.json
│   │   ├── 1.1.0/
│   │   │   └── azurerm.json
│   │   ├── 1.1.1/
│   │   │   └── azurerm.json
│   │   ├── 1.1.2/
│   │   │   └── azurerm.json
│   │   ├── 1.10.0/
│   │   │   └── azurerm.json
│   │   ├── 1.11.0/
│   │   │   └── azurerm.json
│   │   ├── 1.12.0/
│   │   │   └── azurerm.json
│   │   ├── 1.13.0/
│   │   │   └── azurerm.json
│   │   ├── 1.14.0/
│   │   │   └── azurerm.json
│   │   ├── 1.15.0/
│   │   │   └── azurerm.json
│   │   ├── 1.16.0/
│   │   │   └── azurerm.json
│   │   ├── 1.17.0/
│   │   │   └── azurerm.json
│   │   ├── 1.18.0/
│   │   │   └── azurerm.json
│   │   ├── 1.19.0/
│   │   │   └── azurerm.json
│   │   ├── 1.2.0/
│   │   │   └── azurerm.json
│   │   ├── 1.20.0/
│   │   │   └── azurerm.json
│   │   ├── 1.21.0/
│   │   │   └── azurerm.json
│   │   ├── 1.22.1/
│   │   │   └── azurerm.json
│   │   ├── 1.23.0/
│   │   │   └── azurerm.json
│   │   ├── 1.24.0/
│   │   │   └── azurerm.json
│   │   ├── 1.25.0/
│   │   │   └── azurerm.json
│   │   ├── 1.27.1/
│   │   │   └── azurerm.json
│   │   ├── 1.28.0/
│   │   │   └── azurerm.json
│   │   ├── 1.3.0/
│   │   │   └── azurerm.json
│   │   ├── 1.3.1/
│   │   │   └── azurerm.json
│   │   ├── 1.3.2/
│   │   │   └── azurerm.json
│   │   ├── 1.3.3/
│   │   │   └── azurerm.json
│   │   ├── 1.31.0/
│   │   │   └── azurerm.json
│   │   ├── 1.32.0/
│   │   │   └── azurerm.json
│   │   ├── 1.4.0/
│   │   │   └── azurerm.json
│   │   ├── 1.5.0/
│   │   │   └── azurerm.json
│   │   ├── 1.6.0/
│   │   │   └── azurerm.json
│   │   ├── 1.7.0/
│   │   │   └── azurerm.json
│   │   ├── 1.8.0/
│   │   │   └── azurerm.json
│   │   └── 1.9.0/
│   │       └── azurerm.json
│   ├── azurestack/
│   │   ├── 0.1.0/
│   │   │   └── azurestack.json
│   │   ├── 0.2.0/
│   │   │   └── azurestack.json
│   │   ├── 0.3.0/
│   │   │   └── azurestack.json
│   │   ├── 0.4.0/
│   │   │   └── azurestack.json
│   │   ├── 0.5.0/
│   │   │   └── azurestack.json
│   │   ├── 0.6.0/
│   │   │   └── azurestack.json
│   │   └── 0.8.1/
│   │       └── azurestack.json
│   ├── bigip/
│   │   ├── 0.12.0/
│   │   │   └── bigip.json
│   │   ├── 0.12.1/
│   │   │   └── bigip.json
│   │   ├── 0.12.2/
│   │   │   └── bigip.json
│   │   └── 0.12.3/
│   │       └── bigip.json
│   ├── bitbucket/
│   │   ├── 0.1.0/
│   │   │   └── bitbucket.json
│   │   ├── 1.0.0/
│   │   │   └── bitbucket.json
│   │   └── 1.1.0/
│   │       └── bitbucket.json
│   ├── brightbox/
│   │   ├── 1.0.5/
│   │   │   └── brightbox.json
│   │   ├── 1.0.6/
│   │   │   └── brightbox.json
│   │   ├── 1.1.0/
│   │   │   └── brightbox.json
│   │   ├── 1.1.1/
│   │   │   └── brightbox.json
│   │   ├── 1.1.2/
│   │   │   └── brightbox.json
│   │   └── 1.2.0/
│   │       └── brightbox.json
│   ├── chef/
│   │   ├── 0.1.0/
│   │   │   └── chef.json
│   │   └── 0.2.0/
│   │       └── chef.json
│   ├── circonus/
│   │   ├── 0.1.0/
│   │   │   └── circonus.json
│   │   ├── 0.1.1/
│   │   │   └── circonus.json
│   │   └── 0.2.0/
│   │       └── circonus.json
│   ├── clc/
│   │   └── 0.1.0/
│   │       └── clc.json
│   ├── cloudflare/
│   │   ├── 0.1.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.0.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.1.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.10.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.11.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.12.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.13.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.14.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.16.1/
│   │   │   └── cloudflare.json
│   │   ├── 1.2.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.3.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.4.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.5.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.6.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.7.0/
│   │   │   └── cloudflare.json
│   │   ├── 1.8.0/
│   │   │   └── cloudflare.json
│   │   └── 1.9.0/
│   │       └── cloudflare.json
│   ├── cloudscale/
│   │   ├── 1.0.0/
│   │   │   └── cloudscale.json
│   │   ├── 1.0.1/
│   │   │   └── cloudscale.json
│   │   ├── 1.1.0/
│   │   │   └── cloudscale.json
│   │   └── 2.0.0/
│   │       └── cloudscale.json
│   ├── cloudstack/
│   │   ├── 0.1.0/
│   │   │   └── cloudstack.json
│   │   ├── 0.1.1/
│   │   │   └── cloudstack.json
│   │   ├── 0.1.2/
│   │   │   └── cloudstack.json
│   │   ├── 0.1.3/
│   │   │   └── cloudstack.json
│   │   ├── 0.1.4/
│   │   │   └── cloudstack.json
│   │   ├── 0.1.5/
│   │   │   └── cloudstack.json
│   │   ├── 0.2.0/
│   │   │   └── cloudstack.json
│   │   └── 0.3.0/
│   │       └── cloudstack.json
│   ├── cobbler/
│   │   ├── 0.1.0/
│   │   │   └── cobbler.json
│   │   ├── 1.0.0/
│   │   │   └── cobbler.json
│   │   ├── 1.0.1/
│   │   │   └── cobbler.json
│   │   └── 1.1.0/
│   │       └── cobbler.json
│   ├── consul/
│   │   ├── 0.1.0/
│   │   │   └── consul.json
│   │   ├── 1.0.0/
│   │   │   └── consul.json
│   │   ├── 1.1.0/
│   │   │   └── consul.json
│   │   ├── 2.0.0/
│   │   │   └── consul.json
│   │   ├── 2.1.0/
│   │   │   └── consul.json
│   │   ├── 2.2.0/
│   │   │   └── consul.json
│   │   ├── 2.3.0/
│   │   │   └── consul.json
│   │   └── 2.5.0/
│   │       └── consul.json
│   ├── datadog/
│   │   ├── 0.1.0/
│   │   │   └── datadog.json
│   │   ├── 0.1.1/
│   │   │   └── datadog.json
│   │   ├── 1.0.0/
│   │   │   └── datadog.json
│   │   ├── 1.0.1/
│   │   │   └── datadog.json
│   │   ├── 1.0.2/
│   │   │   └── datadog.json
│   │   ├── 1.0.3/
│   │   │   └── datadog.json
│   │   ├── 1.0.4/
│   │   │   └── datadog.json
│   │   ├── 1.1.0/
│   │   │   └── datadog.json
│   │   ├── 1.2.0/
│   │   │   └── datadog.json
│   │   ├── 1.3.0/
│   │   │   └── datadog.json
│   │   ├── 1.4.0/
│   │   │   └── datadog.json
│   │   ├── 1.5.0/
│   │   │   └── datadog.json
│   │   ├── 1.6.0/
│   │   │   └── datadog.json
│   │   ├── 1.7.0/
│   │   │   └── datadog.json
│   │   ├── 1.8.0/
│   │   │   └── datadog.json
│   │   ├── 1.9.0/
│   │   │   └── datadog.json
│   │   ├── 2.0.2/
│   │   │   └── datadog.json
│   │   └── 2.1.0/
│   │       └── datadog.json
│   ├── digitalocean/
│   │   ├── 0.1.0/
│   │   │   └── digitalocean.json
│   │   ├── 0.1.1/
│   │   │   └── digitalocean.json
│   │   ├── 0.1.2/
│   │   │   └── digitalocean.json
│   │   ├── 0.1.3/
│   │   │   └── digitalocean.json
│   │   ├── 1.0.0/
│   │   │   └── digitalocean.json
│   │   ├── 1.0.1/
│   │   │   └── digitalocean.json
│   │   ├── 1.0.2/
│   │   │   └── digitalocean.json
│   │   ├── 1.1.0/
│   │   │   └── digitalocean.json
│   │   ├── 1.2.0/
│   │   │   └── digitalocean.json
│   │   ├── 1.3.0/
│   │   │   └── digitalocean.json
│   │   └── 1.5.0/
│   │       └── digitalocean.json
│   ├── dme/
│   │   └── 0.1.0/
│   │       └── dme.json
│   ├── dns/
│   │   ├── 0.1.0/
│   │   │   └── dns.json
│   │   ├── 0.1.1/
│   │   │   └── dns.json
│   │   ├── 1.0.0/
│   │   │   └── dns.json
│   │   ├── 2.0.0/
│   │   │   └── dns.json
│   │   ├── 2.1.0/
│   │   │   └── dns.json
│   │   ├── 2.1.1/
│   │   │   └── dns.json
│   │   └── 2.2.0/
│   │       └── dns.json
│   ├── dnsimple/
│   │   ├── 0.1.0/
│   │   │   └── dnsimple.json
│   │   └── 0.2.0/
│   │       └── dnsimple.json
│   ├── docker/
│   │   ├── 0.1.0/
│   │   │   └── docker.json
│   │   ├── 0.1.1/
│   │   │   └── docker.json
│   │   ├── 1.0.0/
│   │   │   └── docker.json
│   │   ├── 1.0.1/
│   │   │   └── docker.json
│   │   ├── 1.0.2/
│   │   │   └── docker.json
│   │   ├── 1.0.3/
│   │   │   └── docker.json
│   │   ├── 1.0.4/
│   │   │   └── docker.json
│   │   ├── 1.1.0/
│   │   │   └── docker.json
│   │   ├── 1.1.1/
│   │   │   └── docker.json
│   │   ├── 2.0.0/
│   │   │   └── docker.json
│   │   └── 2.1.0/
│   │       └── docker.json
│   ├── dyn/
│   │   ├── 0.1.0/
│   │   │   └── dyn.json
│   │   ├── 1.0.0/
│   │   │   └── dyn.json
│   │   ├── 1.1.0/
│   │   │   └── dyn.json
│   │   └── 1.2.0/
│   │       └── dyn.json
│   ├── external/
│   │   ├── 0.1.0/
│   │   │   └── external.json
│   │   ├── 1.0.0/
│   │   │   └── external.json
│   │   ├── 1.1.0/
│   │   │   └── external.json
│   │   ├── 1.1.1/
│   │   │   └── external.json
│   │   ├── 1.1.2/
│   │   │   └── external.json
│   │   └── 1.2.0/
│   │       └── external.json
│   ├── fastly/
│   │   ├── 0.1.0/
│   │   │   └── fastly.json
│   │   ├── 0.1.1/
│   │   │   └── fastly.json
│   │   ├── 0.1.2/
│   │   │   └── fastly.json
│   │   ├── 0.1.3/
│   │   │   └── fastly.json
│   │   ├── 0.1.4/
│   │   │   └── fastly.json
│   │   ├── 0.2.0/
│   │   │   └── fastly.json
│   │   ├── 0.3.0/
│   │   │   └── fastly.json
│   │   ├── 0.4.0/
│   │   │   └── fastly.json
│   │   ├── 0.5.0/
│   │   │   └── fastly.json
│   │   ├── 0.6.0/
│   │   │   └── fastly.json
│   │   └── 0.8.1/
│   │       └── fastly.json
│   ├── flexibleengine/
│   │   ├── 1.0.0/
│   │   │   └── flexibleengine.json
│   │   ├── 1.0.1/
│   │   │   └── flexibleengine.json
│   │   ├── 1.1.0/
│   │   │   └── flexibleengine.json
│   │   ├── 1.2.0/
│   │   │   └── flexibleengine.json
│   │   ├── 1.2.1/
│   │   │   └── flexibleengine.json
│   │   ├── 1.3.1/
│   │   │   └── flexibleengine.json
│   │   ├── 1.4.0/
│   │   │   └── flexibleengine.json
│   │   ├── 1.5.0/
│   │   │   └── flexibleengine.json
│   │   └── 1.6.0/
│   │       └── flexibleengine.json
│   ├── github/
│   │   ├── 0.1.0/
│   │   │   └── github.json
│   │   ├── 0.1.1/
│   │   │   └── github.json
│   │   ├── 0.1.2/
│   │   │   └── github.json
│   │   ├── 1.0.0/
│   │   │   └── github.json
│   │   ├── 1.1.0/
│   │   │   └── github.json
│   │   ├── 1.2.1/
│   │   │   └── github.json
│   │   ├── 1.3.0/
│   │   │   └── github.json
│   │   ├── 2.0.0/
│   │   │   └── github.json
│   │   ├── 2.1.0/
│   │   │   └── github.json
│   │   └── 2.2.0/
│   │       └── github.json
│   ├── gitlab/
│   │   ├── 0.1.0/
│   │   │   └── gitlab.json
│   │   ├── 1.0.0/
│   │   │   └── gitlab.json
│   │   ├── 1.1.0/
│   │   │   └── gitlab.json
│   │   ├── 1.2.0/
│   │   │   └── gitlab.json
│   │   ├── 1.3.0/
│   │   │   └── gitlab.json
│   │   ├── 2.0.0/
│   │   │   └── gitlab.json
│   │   └── 2.2.0/
│   │       └── gitlab.json
│   ├── google/
│   │   ├── 0.1.0/
│   │   │   └── google.json
│   │   ├── 0.1.1/
│   │   │   └── google.json
│   │   ├── 0.1.2/
│   │   │   └── google.json
│   │   ├── 0.1.3/
│   │   │   └── google.json
│   │   ├── 1.0.0/
│   │   │   └── google.json
│   │   ├── 1.0.1/
│   │   │   └── google.json
│   │   ├── 1.1.0/
│   │   │   └── google.json
│   │   ├── 1.1.1/
│   │   │   └── google.json
│   │   ├── 1.10.0/
│   │   │   └── google.json
│   │   ├── 1.11.0/
│   │   │   └── google.json
│   │   ├── 1.12.0/
│   │   │   └── google.json
│   │   ├── 1.13.0/
│   │   │   └── google.json
│   │   ├── 1.14.0/
│   │   │   └── google.json
│   │   ├── 1.15.0/
│   │   │   └── google.json
│   │   ├── 1.16.0/
│   │   │   └── google.json
│   │   ├── 1.16.1/
│   │   │   └── google.json
│   │   ├── 1.16.2/
│   │   │   └── google.json
│   │   ├── 1.17.1/
│   │   │   └── google.json
│   │   ├── 1.18.0/
│   │   │   └── google.json
│   │   ├── 1.19.0/
│   │   │   └── google.json
│   │   ├── 1.19.1/
│   │   │   └── google.json
│   │   ├── 1.2.0/
│   │   │   └── google.json
│   │   ├── 1.20.0/
│   │   │   └── google.json
│   │   ├── 1.3.0/
│   │   │   └── google.json
│   │   ├── 1.4.0/
│   │   │   └── google.json
│   │   ├── 1.5.0/
│   │   │   └── google.json
│   │   ├── 1.6.0/
│   │   │   └── google.json
│   │   ├── 1.7.0/
│   │   │   └── google.json
│   │   ├── 1.8.0/
│   │   │   └── google.json
│   │   ├── 1.9.0/
│   │   │   └── google.json
│   │   ├── 2.0.0/
│   │   │   └── google.json
│   │   ├── 2.1.0/
│   │   │   └── google.json
│   │   ├── 2.10.0/
│   │   │   └── google.json
│   │   ├── 2.11.0/
│   │   │   └── google.json
│   │   ├── 2.2.0/
│   │   │   └── google.json
│   │   ├── 2.3.0/
│   │   │   └── google.json
│   │   ├── 2.4.0/
│   │   │   └── google.json
│   │   ├── 2.5.0/
│   │   │   └── google.json
│   │   ├── 2.5.1/
│   │   │   └── google.json
│   │   ├── 2.7.0/
│   │   │   └── google.json
│   │   ├── beta_1.19.0/
│   │   │   └── google.json
│   │   ├── beta_1.20.0/
│   │   │   └── google.json
│   │   └── beta_2.3.0/
│   │       └── google.json
│   ├── grafana/
│   │   ├── 0.1.0/
│   │   │   └── grafana.json
│   │   ├── 1.0.0/
│   │   │   └── grafana.json
│   │   ├── 1.0.1/
│   │   │   └── grafana.json
│   │   ├── 1.0.2/
│   │   │   └── grafana.json
│   │   ├── 1.1.0/
│   │   │   └── grafana.json
│   │   ├── 1.2.0/
│   │   │   └── grafana.json
│   │   ├── 1.3.0/
│   │   │   └── grafana.json
│   │   ├── 1.4.0/
│   │   │   └── grafana.json
│   │   └── 1.5.0/
│   │       └── grafana.json
│   ├── hcloud/
│   │   ├── 1.10.0/
│   │   │   └── hcloud.json
│   │   ├── 1.11.0/
│   │   │   └── hcloud.json
│   │   ├── 1.2.0/
│   │   │   └── hcloud.json
│   │   ├── 1.3.0/
│   │   │   └── hcloud.json
│   │   ├── 1.4.0/
│   │   │   └── hcloud.json
│   │   ├── 1.5.0/
│   │   │   └── hcloud.json
│   │   ├── 1.6.0/
│   │   │   └── hcloud.json
│   │   ├── 1.7.0/
│   │   │   └── hcloud.json
│   │   ├── 1.8.0/
│   │   │   └── hcloud.json
│   │   └── 1.9.0/
│   │       └── hcloud.json
│   ├── hedvig/
│   │   ├── 1.0.1/
│   │   │   └── hedvig.json
│   │   ├── 1.0.2/
│   │   │   └── hedvig.json
│   │   ├── 1.0.3/
│   │   │   └── hedvig.json
│   │   └── 1.0.4/
│   │       └── hedvig.json
│   ├── helm/
│   │   ├── 0.1.0/
│   │   │   └── helm.json
│   │   ├── 0.10.0/
│   │   │   └── helm.json
│   │   ├── 0.6.0/
│   │   │   └── helm.json
│   │   ├── 0.6.2/
│   │   │   └── helm.json
│   │   ├── 0.7.0/
│   │   │   └── helm.json
│   │   ├── 0.8.0/
│   │   │   └── helm.json
│   │   ├── 0.9.0/
│   │   │   └── helm.json
│   │   └── 0.9.1/
│   │       └── helm.json
│   ├── heroku/
│   │   ├── 0.1.0/
│   │   │   └── heroku.json
│   │   ├── 0.1.1/
│   │   │   └── heroku.json
│   │   ├── 0.1.2/
│   │   │   └── heroku.json
│   │   ├── 1.0.0/
│   │   │   └── heroku.json
│   │   ├── 1.0.1/
│   │   │   └── heroku.json
│   │   ├── 1.0.2/
│   │   │   └── heroku.json
│   │   ├── 1.1.0/
│   │   │   └── heroku.json
│   │   ├── 1.1.1/
│   │   │   └── heroku.json
│   │   ├── 1.2.0/
│   │   │   └── heroku.json
│   │   ├── 1.3.0/
│   │   │   └── heroku.json
│   │   ├── 1.4.0/
│   │   │   └── heroku.json
│   │   ├── 1.5.0/
│   │   │   └── heroku.json
│   │   ├── 1.6.0/
│   │   │   └── heroku.json
│   │   ├── 1.7.0/
│   │   │   └── heroku.json
│   │   ├── 1.7.1/
│   │   │   └── heroku.json
│   │   ├── 1.7.2/
│   │   │   └── heroku.json
│   │   ├── 1.7.3/
│   │   │   └── heroku.json
│   │   ├── 1.7.4/
│   │   │   └── heroku.json
│   │   ├── 1.8.0/
│   │   │   └── heroku.json
│   │   ├── 1.9.0/
│   │   │   └── heroku.json
│   │   ├── 2.0.3/
│   │   │   └── heroku.json
│   │   └── 2.1.0/
│   │       └── heroku.json
│   ├── http/
│   │   ├── 0.1.0/
│   │   │   └── http.json
│   │   ├── 1.0.0/
│   │   │   └── http.json
│   │   ├── 1.0.1/
│   │   │   └── http.json
│   │   ├── 1.1.0/
│   │   │   └── http.json
│   │   └── 1.1.1/
│   │       └── http.json
│   ├── huaweicloud/
│   │   ├── 1.0.0/
│   │   │   └── huaweicloud.json
│   │   ├── 1.1.0/
│   │   │   └── huaweicloud.json
│   │   ├── 1.2.0/
│   │   │   └── huaweicloud.json
│   │   ├── 1.3.0/
│   │   │   └── huaweicloud.json
│   │   ├── 1.4.0/
│   │   │   └── huaweicloud.json
│   │   ├── 1.5.0/
│   │   │   └── huaweicloud.json
│   │   └── 1.6.0/
│   │       └── huaweicloud.json
│   ├── icinga2/
│   │   ├── 0.1.0/
│   │   │   └── icinga2.json
│   │   ├── 0.1.1/
│   │   │   └── icinga2.json
│   │   └── 0.2.0/
│   │       └── icinga2.json
│   ├── ignition/
│   │   ├── 0.1.0/
│   │   │   └── ignition.json
│   │   ├── 0.2.0/
│   │   │   └── ignition.json
│   │   ├── 1.0.0/
│   │   │   └── ignition.json
│   │   ├── 1.0.1/
│   │   │   └── ignition.json
│   │   └── 1.1.0/
│   │       └── ignition.json
│   ├── influxdb/
│   │   ├── 0.1.0/
│   │   │   └── influxdb.json
│   │   ├── 1.0.0/
│   │   │   └── influxdb.json
│   │   ├── 1.0.1/
│   │   │   └── influxdb.json
│   │   ├── 1.0.2/
│   │   │   └── influxdb.json
│   │   ├── 1.0.3/
│   │   │   └── influxdb.json
│   │   ├── 1.1.0/
│   │   │   └── influxdb.json
│   │   └── 1.2.0/
│   │       └── influxdb.json
│   ├── kubernetes/
│   │   ├── 0.1.0/
│   │   │   └── kubernetes.json
│   │   ├── 0.1.1/
│   │   │   └── kubernetes.json
│   │   ├── 0.1.2/
│   │   │   └── kubernetes.json
│   │   ├── 1.0.0/
│   │   │   └── kubernetes.json
│   │   ├── 1.0.1/
│   │   │   └── kubernetes.json
│   │   ├── 1.1.0/
│   │   │   └── kubernetes.json
│   │   ├── 1.2.0/
│   │   │   └── kubernetes.json
│   │   ├── 1.3.0/
│   │   │   └── kubernetes.json
│   │   ├── 1.4.0/
│   │   │   └── kubernetes.json
│   │   ├── 1.5.0/
│   │   │   └── kubernetes.json
│   │   ├── 1.5.1/
│   │   │   └── kubernetes.json
│   │   ├── 1.5.2/
│   │   │   └── kubernetes.json
│   │   ├── 1.6.0/
│   │   │   └── kubernetes.json
│   │   ├── 1.6.2/
│   │   │   └── kubernetes.json
│   │   ├── 1.7.0/
│   │   │   └── kubernetes.json
│   │   ├── 1.8.0/
│   │   │   └── kubernetes.json
│   │   └── 1.8.1/
│   │       └── kubernetes.json
│   ├── librato/
│   │   └── 0.1.0/
│   │       └── librato.json
│   ├── linode/
│   │   ├── 1.0.0/
│   │   │   └── linode.json
│   │   ├── 1.1.0/
│   │   │   └── linode.json
│   │   ├── 1.2.0/
│   │   │   └── linode.json
│   │   ├── 1.3.0/
│   │   │   └── linode.json
│   │   ├── 1.4.0/
│   │   │   └── linode.json
│   │   ├── 1.5.0/
│   │   │   └── linode.json
│   │   ├── 1.6.0/
│   │   │   └── linode.json
│   │   ├── 1.7.0/
│   │   │   └── linode.json
│   │   └── 1.8.0/
│   │       └── linode.json
│   ├── local/
│   │   ├── 0.1.0/
│   │   │   └── local.json
│   │   ├── 1.0.0/
│   │   │   └── local.json
│   │   ├── 1.1.0/
│   │   │   └── local.json
│   │   ├── 1.2.0/
│   │   │   └── local.json
│   │   ├── 1.2.1/
│   │   │   └── local.json
│   │   ├── 1.2.2/
│   │   │   └── local.json
│   │   └── 1.3.0/
│   │       └── local.json
│   ├── logentries/
│   │   ├── 0.1.0/
│   │   │   └── logentries.json
│   │   └── 1.0.0/
│   │       └── logentries.json
│   ├── logicmonitor/
│   │   ├── 1.0.0/
│   │   │   └── logicmonitor.json
│   │   ├── 1.1.0/
│   │   │   └── logicmonitor.json
│   │   ├── 1.2.0/
│   │   │   └── logicmonitor.json
│   │   └── 1.2.1/
│   │       └── logicmonitor.json
│   ├── mailgun/
│   │   └── 0.1.0/
│   │       └── mailgun.json
│   ├── mysql/
│   │   ├── 0.1.0/
│   │   │   └── mysql.json
│   │   ├── 1.0.0/
│   │   │   └── mysql.json
│   │   ├── 1.0.1/
│   │   │   └── mysql.json
│   │   ├── 1.1.0/
│   │   │   └── mysql.json
│   │   ├── 1.5.0/
│   │   │   └── mysql.json
│   │   ├── 1.5.1/
│   │   │   └── mysql.json
│   │   ├── 1.6.0/
│   │   │   └── mysql.json
│   │   └── 1.7.0/
│   │       └── mysql.json
│   ├── netlify/
│   │   ├── 0.1.0/
│   │   │   └── netlify.json
│   │   └── 0.3.0/
│   │       └── netlify.json
│   ├── newrelic/
│   │   ├── 0.1.0/
│   │   │   └── newrelic.json
│   │   ├── 0.1.1/
│   │   │   └── newrelic.json
│   │   ├── 1.0.0/
│   │   │   └── newrelic.json
│   │   ├── 1.0.1/
│   │   │   └── newrelic.json
│   │   ├── 1.1.0/
│   │   │   └── newrelic.json
│   │   ├── 1.2.0/
│   │   │   └── newrelic.json
│   │   ├── 1.3.0/
│   │   │   └── newrelic.json
│   │   ├── 1.4.0/
│   │   │   └── newrelic.json
│   │   ├── 1.5.0/
│   │   │   └── newrelic.json
│   │   └── 1.5.1/
│   │       └── newrelic.json
│   ├── nomad/
│   │   ├── 0.1.0/
│   │   │   └── nomad.json
│   │   ├── 1.0.0/
│   │   │   └── nomad.json
│   │   ├── 1.1.0/
│   │   │   └── nomad.json
│   │   ├── 1.2.0/
│   │   │   └── nomad.json
│   │   ├── 1.3.0/
│   │   │   └── nomad.json
│   │   └── 1.4.0/
│   │       └── nomad.json
│   ├── ns1/
│   │   ├── 0.1.0/
│   │   │   └── ns1.json
│   │   ├── 1.0.0/
│   │   │   └── ns1.json
│   │   ├── 1.1.0/
│   │   │   └── ns1.json
│   │   ├── 1.1.2/
│   │   │   └── ns1.json
│   │   ├── 1.2.0/
│   │   │   └── ns1.json
│   │   ├── 1.3.0/
│   │   │   └── ns1.json
│   │   ├── 1.3.1/
│   │   │   └── ns1.json
│   │   ├── 1.4.0/
│   │   │   └── ns1.json
│   │   └── 1.4.1/
│   │       └── ns1.json
│   ├── nsxt/
│   │   ├── 1.0.0/
│   │   │   └── nsxt.json
│   │   └── 1.1.0/
│   │       └── nsxt.json
│   ├── null/
│   │   ├── 0.1.0/
│   │   │   └── null.json
│   │   ├── 1.0.0/
│   │   │   └── null.json
│   │   ├── 2.0.0/
│   │   │   └── null.json
│   │   ├── 2.1.0/
│   │   │   └── null.json
│   │   ├── 2.1.1/
│   │   │   └── null.json
│   │   └── 2.1.2/
│   │       └── null.json
│   ├── nutanix/
│   │   ├── 1.0.0/
│   │   │   └── nutanix.json
│   │   └── 1.0.1/
│   │       └── nutanix.json
│   ├── oci/
│   │   ├── 3.1.1/
│   │   │   └── oci.json
│   │   ├── 3.11.1/
│   │   │   └── oci.json
│   │   ├── 3.12.0/
│   │   │   └── oci.json
│   │   ├── 3.19.0/
│   │   │   └── oci.json
│   │   ├── 3.2.0/
│   │   │   └── oci.json
│   │   ├── 3.20.0/
│   │   │   └── oci.json
│   │   ├── 3.23.0/
│   │   │   └── oci.json
│   │   ├── 3.3.0/
│   │   │   └── oci.json
│   │   ├── 3.4.0/
│   │   │   └── oci.json
│   │   └── 3.8.0/
│   │       └── oci.json
│   ├── oneandone/
│   │   ├── 0.1.0/
│   │   │   └── oneandone.json
│   │   ├── 1.0.0/
│   │   │   └── oneandone.json
│   │   ├── 1.1.0/
│   │   │   └── oneandone.json
│   │   ├── 1.2.0/
│   │   │   └── oneandone.json
│   │   └── 1.3.0/
│   │       └── oneandone.json
│   ├── opc/
│   │   ├── 0.1.0/
│   │   │   └── opc.json
│   │   ├── 0.1.1/
│   │   │   └── opc.json
│   │   ├── 0.1.2/
│   │   │   └── opc.json
│   │   ├── 0.1.3/
│   │   │   └── opc.json
│   │   ├── 1.0.0/
│   │   │   └── opc.json
│   │   ├── 1.0.1/
│   │   │   └── opc.json
│   │   ├── 1.1.0/
│   │   │   └── opc.json
│   │   ├── 1.1.1/
│   │   │   └── opc.json
│   │   ├── 1.1.2/
│   │   │   └── opc.json
│   │   ├── 1.2.0/
│   │   │   └── opc.json
│   │   ├── 1.2.1/
│   │   │   └── opc.json
│   │   ├── 1.3.0/
│   │   │   └── opc.json
│   │   ├── 1.3.1/
│   │   │   └── opc.json
│   │   ├── 1.3.2/
│   │   │   └── opc.json
│   │   ├── 1.3.3/
│   │   │   └── opc.json
│   │   ├── 1.3.4/
│   │   │   └── opc.json
│   │   ├── 1.3.5/
│   │   │   └── opc.json
│   │   └── 1.3.6/
│   │       └── opc.json
│   ├── openstack/
│   │   ├── 0.1.0/
│   │   │   └── openstack.json
│   │   ├── 0.2.0/
│   │   │   └── openstack.json
│   │   ├── 0.2.1/
│   │   │   └── openstack.json
│   │   ├── 0.2.2/
│   │   │   └── openstack.json
│   │   ├── 0.3.0/
│   │   │   └── openstack.json
│   │   ├── 1.0.0/
│   │   │   └── openstack.json
│   │   ├── 1.1.0/
│   │   │   └── openstack.json
│   │   ├── 1.10.0/
│   │   │   └── openstack.json
│   │   ├── 1.11.0/
│   │   │   └── openstack.json
│   │   ├── 1.12.0/
│   │   │   └── openstack.json
│   │   ├── 1.13.0/
│   │   │   └── openstack.json
│   │   ├── 1.14.0/
│   │   │   └── openstack.json
│   │   ├── 1.15.0/
│   │   │   └── openstack.json
│   │   ├── 1.16.0/
│   │   │   └── openstack.json
│   │   ├── 1.17.0/
│   │   │   └── openstack.json
│   │   ├── 1.19.0/
│   │   │   └── openstack.json
│   │   ├── 1.2.0/
│   │   │   └── openstack.json
│   │   ├── 1.20.0/
│   │   │   └── openstack.json
│   │   ├── 1.3.0/
│   │   │   └── openstack.json
│   │   ├── 1.4.0/
│   │   │   └── openstack.json
│   │   ├── 1.5.0/
│   │   │   └── openstack.json
│   │   ├── 1.6.0/
│   │   │   └── openstack.json
│   │   ├── 1.7.0/
│   │   │   └── openstack.json
│   │   ├── 1.8.0/
│   │   │   └── openstack.json
│   │   └── 1.9.0/
│   │       └── openstack.json
│   ├── opentelekomcloud/
│   │   ├── 1.0.0/
│   │   │   └── opentelekomcloud.json
│   │   ├── 1.1.0/
│   │   │   └── opentelekomcloud.json
│   │   ├── 1.10.0/
│   │   │   └── opentelekomcloud.json
│   │   ├── 1.2.0/
│   │   │   └── opentelekomcloud.json
│   │   ├── 1.3.0/
│   │   │   └── opentelekomcloud.json
│   │   ├── 1.4.0/
│   │   │   └── opentelekomcloud.json
│   │   ├── 1.5.1/
│   │   │   └── opentelekomcloud.json
│   │   ├── 1.5.2/
│   │   │   └── opentelekomcloud.json
│   │   ├── 1.6.0/
│   │   │   └── opentelekomcloud.json
│   │   ├── 1.6.1/
│   │   │   └── opentelekomcloud.json
│   │   ├── 1.7.0/
│   │   │   └── opentelekomcloud.json
│   │   └── 1.8.0/
│   │       └── opentelekomcloud.json
│   ├── opsgenie/
│   │   └── 0.1.0/
│   │       └── opsgenie.json
│   ├── oraclepaas/
│   │   ├── 1.0.0/
│   │   │   └── oraclepaas.json
│   │   ├── 1.1.1/
│   │   │   └── oraclepaas.json
│   │   ├── 1.2.0/
│   │   │   └── oraclepaas.json
│   │   ├── 1.2.1/
│   │   │   └── oraclepaas.json
│   │   ├── 1.3.0/
│   │   │   └── oraclepaas.json
│   │   ├── 1.3.1/
│   │   │   └── oraclepaas.json
│   │   ├── 1.3.2/
│   │   │   └── oraclepaas.json
│   │   ├── 1.4.1/
│   │   │   └── oraclepaas.json
│   │   ├── 1.4.2/
│   │   │   └── oraclepaas.json
│   │   ├── 1.4.3/
│   │   │   └── oraclepaas.json
│   │   ├── 1.5.0/
│   │   │   └── oraclepaas.json
│   │   ├── 1.5.1/
│   │   │   └── oraclepaas.json
│   │   └── 1.5.2/
│   │       └── oraclepaas.json
│   ├── ovh/
│   │   ├── 0.1.0/
│   │   │   └── ovh.json
│   │   ├── 0.1.1/
│   │   │   └── ovh.json
│   │   ├── 0.2.0/
│   │   │   └── ovh.json
│   │   ├── 0.3.0/
│   │   │   └── ovh.json
│   │   └── 0.5.0/
│   │       └── ovh.json
│   ├── packet/
│   │   ├── 0.1.0/
│   │   │   └── packet.json
│   │   ├── 1.0.0/
│   │   │   └── packet.json
│   │   ├── 1.1.0/
│   │   │   └── packet.json
│   │   ├── 1.2.0/
│   │   │   └── packet.json
│   │   ├── 1.2.1/
│   │   │   └── packet.json
│   │   ├── 1.2.2/
│   │   │   └── packet.json
│   │   ├── 1.2.3/
│   │   │   └── packet.json
│   │   ├── 1.2.4/
│   │   │   └── packet.json
│   │   ├── 1.2.5/
│   │   │   └── packet.json
│   │   ├── 1.3.2/
│   │   │   └── packet.json
│   │   ├── 1.4.1/
│   │   │   └── packet.json
│   │   ├── 1.5.0/
│   │   │   └── packet.json
│   │   ├── 1.6.0/
│   │   │   └── packet.json
│   │   ├── 1.7.0/
│   │   │   └── packet.json
│   │   ├── 1.7.2/
│   │   │   └── packet.json
│   │   ├── 2.0.0/
│   │   │   └── packet.json
│   │   ├── 2.1.0/
│   │   │   └── packet.json
│   │   ├── 2.2.0/
│   │   │   └── packet.json
│   │   └── 2.2.1/
│   │       └── packet.json
│   ├── pagerduty/
│   │   ├── 0.1.0/
│   │   │   └── pagerduty.json
│   │   ├── 0.1.1/
│   │   │   └── pagerduty.json
│   │   ├── 0.1.2/
│   │   │   └── pagerduty.json
│   │   ├── 0.1.3/
│   │   │   └── pagerduty.json
│   │   ├── 1.0.0/
│   │   │   └── pagerduty.json
│   │   ├── 1.1.0/
│   │   │   └── pagerduty.json
│   │   ├── 1.1.1/
│   │   │   └── pagerduty.json
│   │   ├── 1.2.0/
│   │   │   └── pagerduty.json
│   │   ├── 1.2.1/
│   │   │   └── pagerduty.json
│   │   └── 1.3.0/
│   │       └── pagerduty.json
│   ├── panos/
│   │   ├── 1.0.0/
│   │   │   └── panos.json
│   │   ├── 1.1.0/
│   │   │   └── panos.json
│   │   ├── 1.2.0/
│   │   │   └── panos.json
│   │   ├── 1.3.0/
│   │   │   └── panos.json
│   │   ├── 1.4.0/
│   │   │   └── panos.json
│   │   ├── 1.4.1/
│   │   │   └── panos.json
│   │   ├── 1.5.1/
│   │   │   └── panos.json
│   │   └── 1.5.2/
│   │       └── panos.json
│   ├── postgresql/
│   │   ├── 0.1.0/
│   │   │   └── postgresql.json
│   │   ├── 0.1.1/
│   │   │   └── postgresql.json
│   │   ├── 0.1.2/
│   │   │   └── postgresql.json
│   │   ├── 0.1.3/
│   │   │   └── postgresql.json
│   │   ├── 0.2.0/
│   │   │   └── postgresql.json
│   │   ├── 0.2.1/
│   │   │   └── postgresql.json
│   │   ├── 0.3.0/
│   │   │   └── postgresql.json
│   │   ├── 0.4.0/
│   │   │   └── postgresql.json
│   │   └── 1.1.0/
│   │       └── postgresql.json
│   ├── powerdns/
│   │   └── 0.1.0/
│   │       └── powerdns.json
│   ├── profitbricks/
│   │   ├── 0.1.0/
│   │   │   └── profitbricks.json
│   │   ├── 0.1.1/
│   │   │   └── profitbricks.json
│   │   ├── 0.1.2/
│   │   │   └── profitbricks.json
│   │   ├── 1.0.0/
│   │   │   └── profitbricks.json
│   │   ├── 1.0.1/
│   │   │   └── profitbricks.json
│   │   ├── 1.1.0/
│   │   │   └── profitbricks.json
│   │   ├── 1.1.1/
│   │   │   └── profitbricks.json
│   │   ├── 1.2.0/
│   │   │   └── profitbricks.json
│   │   ├── 1.2.1/
│   │   │   └── profitbricks.json
│   │   ├── 1.3.1/
│   │   │   └── profitbricks.json
│   │   ├── 1.3.2/
│   │   │   └── profitbricks.json
│   │   ├── 1.3.3/
│   │   │   └── profitbricks.json
│   │   ├── 1.4.0/
│   │   │   └── profitbricks.json
│   │   ├── 1.4.1/
│   │   │   └── profitbricks.json
│   │   ├── 1.4.2/
│   │   │   └── profitbricks.json
│   │   ├── 1.4.3/
│   │   │   └── profitbricks.json
│   │   └── 1.4.4/
│   │       └── profitbricks.json
│   ├── rabbitmq/
│   │   ├── 0.1.0/
│   │   │   └── rabbitmq.json
│   │   ├── 0.2.0/
│   │   │   └── rabbitmq.json
│   │   ├── 1.0.0/
│   │   │   └── rabbitmq.json
│   │   └── 1.1.0/
│   │       └── rabbitmq.json
│   ├── rancher/
│   │   ├── 0.1.0/
│   │   │   └── rancher.json
│   │   ├── 0.1.1/
│   │   │   └── rancher.json
│   │   ├── 0.2.0/
│   │   │   └── rancher.json
│   │   ├── 1.0.0/
│   │   │   └── rancher.json
│   │   ├── 1.1.0/
│   │   │   └── rancher.json
│   │   ├── 1.1.1/
│   │   │   └── rancher.json
│   │   ├── 1.2.0/
│   │   │   └── rancher.json
│   │   ├── 1.2.1/
│   │   │   └── rancher.json
│   │   ├── 1.3.0/
│   │   │   └── rancher.json
│   │   └── 1.4.0/
│   │       └── rancher.json
│   ├── random/
│   │   ├── 0.1.0/
│   │   │   └── random.json
│   │   ├── 1.0.0/
│   │   │   └── random.json
│   │   ├── 1.1.0/
│   │   │   └── random.json
│   │   ├── 1.2.0/
│   │   │   └── random.json
│   │   ├── 1.3.0/
│   │   │   └── random.json
│   │   ├── 1.3.1/
│   │   │   └── random.json
│   │   ├── 2.0.0/
│   │   │   └── random.json
│   │   ├── 2.1.0/
│   │   │   └── random.json
│   │   ├── 2.1.1/
│   │   │   └── random.json
│   │   └── 2.1.2/
│   │       └── random.json
│   ├── rightscale/
│   │   ├── 1.3.0/
│   │   │   └── rightscale.json
│   │   └── 1.3.1/
│   │       └── rightscale.json
│   ├── rundeck/
│   │   ├── 0.1.0/
│   │   │   └── rundeck.json
│   │   ├── 0.2.0/
│   │   │   └── rundeck.json
│   │   └── 0.3.0/
│   │       └── rundeck.json
│   ├── runscope/
│   │   ├── 0.1.0/
│   │   │   └── runscope.json
│   │   ├── 0.2.0/
│   │   │   └── runscope.json
│   │   ├── 0.3.0/
│   │   │   └── runscope.json
│   │   ├── 0.4.0/
│   │   │   └── runscope.json
│   │   ├── 0.5.0/
│   │   │   └── runscope.json
│   │   └── 0.6.0/
│   │       └── runscope.json
│   ├── scaleway/
│   │   ├── 0.1.0/
│   │   │   └── scaleway.json
│   │   ├── 0.1.1/
│   │   │   └── scaleway.json
│   │   ├── 1.0.0/
│   │   │   └── scaleway.json
│   │   ├── 1.0.1/
│   │   │   └── scaleway.json
│   │   ├── 1.1.0/
│   │   │   └── scaleway.json
│   │   ├── 1.10.0/
│   │   │   └── scaleway.json
│   │   ├── 1.2.0/
│   │   │   └── scaleway.json
│   │   ├── 1.3.0/
│   │   │   └── scaleway.json
│   │   ├── 1.4.0/
│   │   │   └── scaleway.json
│   │   ├── 1.4.1/
│   │   │   └── scaleway.json
│   │   ├── 1.5.0/
│   │   │   └── scaleway.json
│   │   ├── 1.5.1/
│   │   │   └── scaleway.json
│   │   ├── 1.6.0/
│   │   │   └── scaleway.json
│   │   ├── 1.7.0/
│   │   │   └── scaleway.json
│   │   ├── 1.8.0/
│   │   │   └── scaleway.json
│   │   ├── 1.9.1/
│   │   │   └── scaleway.json
│   │   └── 1.9.2/
│   │       └── scaleway.json
│   ├── selectel/
│   │   ├── 2.0.0/
│   │   │   └── selectel.json
│   │   ├── 2.1.0/
│   │   │   └── selectel.json
│   │   ├── 2.2.0/
│   │   │   └── selectel.json
│   │   └── 2.3.0/
│   │       └── selectel.json
│   ├── selvpc/
│   │   ├── 0.3.0/
│   │   │   └── selvpc.json
│   │   ├── 1.0.0/
│   │   │   └── selvpc.json
│   │   └── 1.1.0/
│   │       └── selvpc.json
│   ├── skytap/
│   │   ├── 0.11.1/
│   │   │   └── skytap.json
│   │   └── 0.9.0/
│   │       └── skytap.json
│   ├── softlayer/
│   │   └── 0.0.1/
│   │       └── softlayer.json
│   ├── spotinst/
│   │   ├── 0.1.0/
│   │   │   └── spotinst.json
│   │   ├── 1.0.0/
│   │   │   └── spotinst.json
│   │   ├── 1.1.0/
│   │   │   └── spotinst.json
│   │   ├── 1.1.1/
│   │   │   └── spotinst.json
│   │   ├── 1.10.0/
│   │   │   └── spotinst.json
│   │   ├── 1.11.0/
│   │   │   └── spotinst.json
│   │   ├── 1.12.0/
│   │   │   └── spotinst.json
│   │   ├── 1.13.0/
│   │   │   └── spotinst.json
│   │   ├── 1.13.2/
│   │   │   └── spotinst.json
│   │   ├── 1.13.3/
│   │   │   └── spotinst.json
│   │   ├── 1.2.0/
│   │   │   └── spotinst.json
│   │   ├── 1.3.0/
│   │   │   └── spotinst.json
│   │   ├── 1.4.0/
│   │   │   └── spotinst.json
│   │   ├── 1.5.0/
│   │   │   └── spotinst.json
│   │   ├── 1.6.0/
│   │   │   └── spotinst.json
│   │   ├── 1.6.1/
│   │   │   └── spotinst.json
│   │   ├── 1.7.0/
│   │   │   └── spotinst.json
│   │   ├── 1.8.0/
│   │   │   └── spotinst.json
│   │   └── 1.9.0/
│   │       └── spotinst.json
│   ├── statuscake/
│   │   ├── 0.1.0/
│   │   │   └── statuscake.json
│   │   ├── 0.2.0/
│   │   │   └── statuscake.json
│   │   └── 1.0.0/
│   │       └── statuscake.json
│   ├── telefonicaopencloud/
│   │   └── 1.0.0/
│   │       └── telefonicaopencloud.json
│   ├── template/
│   │   ├── 0.1.0/
│   │   │   └── template.json
│   │   ├── 0.1.1/
│   │   │   └── template.json
│   │   ├── 1.0.0/
│   │   │   └── template.json
│   │   ├── 2.0.0/
│   │   │   └── template.json
│   │   ├── 2.1.0/
│   │   │   └── template.json
│   │   ├── 2.1.1/
│   │   │   └── template.json
│   │   └── 2.1.2/
│   │       └── template.json
│   ├── tencentcloud/
│   │   ├── 1.11.0/
│   │   │   └── tencentcloud.json
│   │   ├── 1.13.0/
│   │   │   └── tencentcloud.json
│   │   ├── 1.2.2/
│   │   │   └── tencentcloud.json
│   │   ├── 1.3.0/
│   │   │   └── tencentcloud.json
│   │   ├── 1.4.0/
│   │   │   └── tencentcloud.json
│   │   ├── 1.5.0/
│   │   │   └── tencentcloud.json
│   │   └── 1.7.0/
│   │       └── tencentcloud.json
│   ├── terraform/
│   │   ├── 0.1.0/
│   │   │   └── terraform.json
│   │   ├── 1.0.0/
│   │   │   └── terraform.json
│   │   ├── 1.0.1/
│   │   │   └── terraform.json
│   │   └── 1.0.2/
│   │       └── terraform.json
│   ├── tfe/
│   │   ├── 0.1.0/
│   │   │   └── tfe.json
│   │   ├── 0.10.1/
│   │   │   └── tfe.json
│   │   ├── 0.2.0/
│   │   │   └── tfe.json
│   │   ├── 0.3.0/
│   │   │   └── tfe.json
│   │   ├── 0.4.0/
│   │   │   └── tfe.json
│   │   ├── 0.5.0/
│   │   │   └── tfe.json
│   │   ├── 0.6.0/
│   │   │   └── tfe.json
│   │   ├── 0.7.1/
│   │   │   └── tfe.json
│   │   ├── 0.8.1/
│   │   │   └── tfe.json
│   │   ├── 0.8.2/
│   │   │   └── tfe.json
│   │   └── 0.9.0/
│   │       └── tfe.json
│   ├── tls/
│   │   ├── 0.1.0/
│   │   │   └── tls.json
│   │   ├── 1.0.0/
│   │   │   └── tls.json
│   │   ├── 1.0.1/
│   │   │   └── tls.json
│   │   ├── 1.1.0/
│   │   │   └── tls.json
│   │   ├── 1.2.0/
│   │   │   └── tls.json
│   │   ├── 2.0.0/
│   │   │   └── tls.json
│   │   └── 2.0.1/
│   │       └── tls.json
│   ├── triton/
│   │   ├── 0.1.0/
│   │   │   └── triton.json
│   │   ├── 0.1.1/
│   │   │   └── triton.json
│   │   ├── 0.1.2/
│   │   │   └── triton.json
│   │   ├── 0.1.3/
│   │   │   └── triton.json
│   │   ├── 0.2.0/
│   │   │   └── triton.json
│   │   ├── 0.2.1/
│   │   │   └── triton.json
│   │   ├── 0.3.0/
│   │   │   └── triton.json
│   │   ├── 0.4.0/
│   │   │   └── triton.json
│   │   ├── 0.4.1/
│   │   │   └── triton.json
│   │   ├── 0.4.2/
│   │   │   └── triton.json
│   │   ├── 0.5.0/
│   │   │   └── triton.json
│   │   └── 0.5.1/
│   │       └── triton.json
│   ├── ucloud/
│   │   ├── 1.0.0/
│   │   │   └── ucloud.json
│   │   ├── 1.1.0/
│   │   │   └── ucloud.json
│   │   ├── 1.11.0/
│   │   │   └── ucloud.json
│   │   ├── 1.11.1/
│   │   │   └── ucloud.json
│   │   ├── 1.2.1/
│   │   │   └── ucloud.json
│   │   ├── 1.3.1/
│   │   │   └── ucloud.json
│   │   ├── 1.4.0/
│   │   │   └── ucloud.json
│   │   ├── 1.5.0/
│   │   │   └── ucloud.json
│   │   ├── 1.6.0/
│   │   │   └── ucloud.json
│   │   └── 1.9.0/
│   │       └── ucloud.json
│   ├── ultradns/
│   │   └── 0.1.0/
│   │       └── ultradns.json
│   ├── vault/
│   │   ├── 0.1.0/
│   │   │   └── vault.json
│   │   ├── 1.0.0/
│   │   │   └── vault.json
│   │   ├── 1.1.0/
│   │   │   └── vault.json
│   │   ├── 1.1.1/
│   │   │   └── vault.json
│   │   ├── 1.1.2/
│   │   │   └── vault.json
│   │   ├── 1.1.3/
│   │   │   └── vault.json
│   │   ├── 1.1.4/
│   │   │   └── vault.json
│   │   ├── 1.2.0/
│   │   │   └── vault.json
│   │   ├── 1.3.1/
│   │   │   └── vault.json
│   │   ├── 1.4.1/
│   │   │   └── vault.json
│   │   ├── 1.5.0/
│   │   │   └── vault.json
│   │   ├── 1.6.0/
│   │   │   └── vault.json
│   │   ├── 1.7.0/
│   │   │   └── vault.json
│   │   ├── 1.8.0/
│   │   │   └── vault.json
│   │   └── 2.1.0/
│   │       └── vault.json
│   ├── vcd/
│   │   ├── 0.1.0/
│   │   │   └── vcd.json
│   │   ├── 0.1.1/
│   │   │   └── vcd.json
│   │   ├── 0.1.2/
│   │   │   └── vcd.json
│   │   ├── 0.1.3/
│   │   │   └── vcd.json
│   │   ├── 1.0.0/
│   │   │   └── vcd.json
│   │   ├── 2.0.0/
│   │   │   └── vcd.json
│   │   ├── 2.1.0/
│   │   │   └── vcd.json
│   │   ├── 2.2.0/
│   │   │   └── vcd.json
│   │   └── 2.3.0/
│   │       └── vcd.json
│   ├── vsphere/
│   │   ├── 0.1.0/
│   │   │   └── vsphere.json
│   │   ├── 0.2.0/
│   │   │   └── vsphere.json
│   │   ├── 0.2.1/
│   │   │   └── vsphere.json
│   │   ├── 0.2.2/
│   │   │   └── vsphere.json
│   │   ├── 0.3.0/
│   │   │   └── vsphere.json
│   │   ├── 0.4.0/
│   │   │   └── vsphere.json
│   │   ├── 0.4.1/
│   │   │   └── vsphere.json
│   │   ├── 0.4.2/
│   │   │   └── vsphere.json
│   │   ├── 1.0.0/
│   │   │   └── vsphere.json
│   │   ├── 1.0.1/
│   │   │   └── vsphere.json
│   │   ├── 1.0.2/
│   │   │   └── vsphere.json
│   │   ├── 1.0.3/
│   │   │   └── vsphere.json
│   │   ├── 1.1.0/
│   │   │   └── vsphere.json
│   │   ├── 1.1.1/
│   │   │   └── vsphere.json
│   │   ├── 1.10.0/
│   │   │   └── vsphere.json
│   │   ├── 1.11.0/
│   │   │   └── vsphere.json
│   │   ├── 1.12.0/
│   │   │   └── vsphere.json
│   │   ├── 1.2.0/
│   │   │   └── vsphere.json
│   │   ├── 1.3.0/
│   │   │   └── vsphere.json
│   │   ├── 1.3.1/
│   │   │   └── vsphere.json
│   │   ├── 1.3.2/
│   │   │   └── vsphere.json
│   │   ├── 1.3.3/
│   │   │   └── vsphere.json
│   │   ├── 1.4.0/
│   │   │   └── vsphere.json
│   │   ├── 1.4.1/
│   │   │   └── vsphere.json
│   │   ├── 1.5.0/
│   │   │   └── vsphere.json
│   │   ├── 1.6.0/
│   │   │   └── vsphere.json
│   │   ├── 1.7.0/
│   │   │   └── vsphere.json
│   │   ├── 1.8.0/
│   │   │   └── vsphere.json
│   │   ├── 1.8.1/
│   │   │   └── vsphere.json
│   │   ├── 1.9.0/
│   │   │   └── vsphere.json
│   │   └── 1.9.1/
│   │       └── vsphere.json
│   └── yandex/
│       ├── 0.1.15/
│       │   └── yandex.json
│       ├── 0.1.16/
│       │   └── yandex.json
│       ├── 0.2.0/
│       │   └── yandex.json
│       ├── 0.3.0/
│       │   └── yandex.json
│       ├── 0.4.0/
│       │   └── yandex.json
│       ├── 0.4.1/
│       │   └── yandex.json
│       ├── 0.5.0/
│       │   └── yandex.json
│       ├── 0.5.1/
│       │   └── yandex.json
│       ├── 0.5.2/
│       │   └── yandex.json
│       └── 0.8.2/
│           └── yandex.json
├── provider_json_backup/
│   ├── alicloud.json
│   ├── archive.json
│   ├── arukas.json
│   ├── atlas.json
│   ├── aws.json
│   ├── azure.json
│   ├── azurerm.json
│   ├── bitbucket.json
│   ├── chef.json
│   ├── circonus.json
│   ├── clc.json
│   ├── cloudflare.json
│   ├── cloudstack.json
│   ├── cobbler.json
│   ├── consul.json
│   ├── datadog.json
│   ├── digitalocean.json
│   ├── dme.json
│   ├── dns.json
│   ├── dnsimple.json
│   ├── docker.json
│   ├── dyn.json
│   ├── external.json
│   ├── fastly.json
│   ├── github.json
│   ├── gitlab.json
│   ├── google.json
│   ├── grafana.json
│   ├── heroku.json
│   ├── http.json
│   ├── icinga2.json
│   ├── ignition.json
│   ├── influxdb.json
│   ├── kubernetes.json
│   ├── librato.json
│   ├── local.json
│   ├── logentries.json
│   ├── mailgun.json
│   ├── mysql.json
│   ├── newrelic.json
│   ├── nomad.json
│   ├── ns1.json
│   ├── null.json
│   ├── oneandone.json
│   ├── opc.json
│   ├── openstack.json
│   ├── opsgenie.json
│   ├── ovh.json
│   ├── packet.json
│   ├── pagerduty.json
│   ├── postgresql.json
│   ├── powerdns.json
│   ├── profitbricks.json
│   ├── rabbitmq.json
│   ├── rancher.json
│   ├── random.json
│   ├── rundeck.json
│   ├── scaleway.json
│   ├── softlayer.json
│   ├── spotinst.json
│   ├── statuscake.json
│   ├── template.json
│   ├── terraform.json
│   ├── tls.json
│   ├── triton.json
│   ├── ultradns.json
│   ├── vault.json
│   ├── vcd.json
│   └── vsphere.json
├── providers_list.txt
├── routine_update.rb
├── run-test
├── schemas-extractor/
│   └── schemas/
│       └── .gitkeep
├── syntax_checkers/
│   └── terraform/
│       ├── terraform_validate.vim
│       ├── tffilter.vim
│       └── tflint.vim
├── tags_urls.txt
├── test-vim-terraform-completion
├── tests/
│   ├── README.md
│   ├── data.vader
│   ├── module.vader
│   ├── modules/
│   │   ├── outputs.tf
│   │   └── variables.tf
│   ├── plug.vim
│   └── resource.vader
├── tests.vimrc
├── update_community_provider_md.rb
├── update_provider_md.rb
├── update_tfcompleterc.rb
├── update_versions.rb
├── utils/
│   ├── generate_provider_data
│   ├── get_doc
│   ├── lookup_attrs
│   └── terraform_validate_filter
└── version_dissect.rb
Download .txt
SYMBOL INDEX (21 symbols across 4 files)

FILE: dissect.rb
  function parse_items_attr (line 11) | def parse_items_attr(items)
  function parse_items (line 36) | def parse_items(items)
  function parse_arrays (line 63) | def parse_arrays(ar1, ar2)

FILE: generate-schema/generate-schema.go
  function Export (line 19) | func Export(p *schema.Provider) *ResourceProviderSchema {
  function ExportResource (line 39) | func ExportResource(r *schema.Resource) SchemaInfo {
  type schemaMap (line 44) | type schemaMap
    method Export (line 47) | func (m schemaMap) Export() SchemaInfo {
  function export (line 56) | func export(v *schema.Schema) SchemaDefinition {
  function exportValue (line 84) | func exportValue(value interface{}, t string) SchemaElement {
  function Generate (line 96) | func Generate(provider *schema.Provider, name string, outputPath string) {
  function DoGenerate (line 105) | func DoGenerate(provider *schema.Provider, providerName string, outputFi...
  type SchemaElement (line 127) | type SchemaElement struct
  type SchemaDefinition (line 138) | type SchemaDefinition struct
  type SchemaInfo (line 159) | type SchemaInfo
  type ResourceProviderSchema (line 162) | type ResourceProviderSchema struct
  function main (line 171) | func main() {

FILE: generate_snippets.rb
  function get_snippets (line 5) | def get_snippets(args)

FILE: module.rb
  type ModuleUtils (line 7) | module ModuleUtils
    function parse_link (line 8) | def parse_link(name, source)
    function load_arg_module (line 23) | def load_arg_module(name, source, path)
    function load_attr_module (line 43) | def load_attr_module(name,source, path)
Copy disabled (too large) Download .json
Condensed preview — 1379 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (122,658K chars).
[
  {
    "path": ".gitignore",
    "chars": 1658,
    "preview": "\n# Created by https://www.gitignore.io/api/ruby,vim,linux\n\n### Linux ###\n*~\n\n# temporary files which can be created if a"
  },
  {
    "path": ".gitmodules",
    "chars": 102,
    "preview": "[submodule \"snippets\"]\n\tpath = snippets\n\turl = https://github.com/juliosueiras/vim-terraform-snippets\n"
  },
  {
    "path": ".tfcompleterc",
    "chars": 1403,
    "preview": "acme=1.3.4\nalicloud=1.52.2\narchive=1.2.2\narukas=1.1.0\natlas=0.1.1\naws=2.21.1\nazuread=0.5.1\nazure=0.1.1\nazurerm=1.32.0\naz"
  },
  {
    "path": ".travis.yml",
    "chars": 218,
    "preview": "sudo: required\n\nlanguage: ruby\n\nrvm: 2.3.1\nenv:\n  - VIM_TYPE=nvim\n  - VIM_TYPE=vim\n\nservices:\n  - docker\n\nbefore_script:"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 5022,
    "preview": "# Changelog\n## **Disclamier:** Have to mostly use asciinema due to my laptop take foerever to do gifs\n\n## 2018-04-20\n- A"
  },
  {
    "path": "COMMUNITY_PROVIDER_VERSIONS.md",
    "chars": 11116,
    "preview": "||||||\n|---|---|---|---|---|\n|[![](https://img.shields.io/badge/style-v1.0.0-blue.svg?style=for-the-badge&label=acme)](h"
  },
  {
    "path": "CONTRIBUTORS.md",
    "chars": 295,
    "preview": "# Contributors\n\n- [Christopher Campanale](https://github.com/ccampanale)\n    - Creating the Dockerfile for the plugin\n\n-"
  },
  {
    "path": "CUSTOM_PROVIDER.md",
    "chars": 989,
    "preview": "# Completion for Custom Provider\n\nDue to unstable and unpredicted nature of unofficial providers, the result can be vary"
  },
  {
    "path": "DEMO.md",
    "chars": 539,
    "preview": "# Asciinema Demos\n\n## Linter Demo\n\n[![asciicast](https://asciinema.org/a/118441.png)](https://asciinema.org/a/118441)\n\n#"
  },
  {
    "path": "Dockerfile",
    "chars": 221,
    "preview": "FROM juliosueiras/vim-terraform-completion-base:latest\nUSER root\nRUN git clone https://github.com/junegunn/vader.vim\nADD"
  },
  {
    "path": "Dockerfile_base",
    "chars": 758,
    "preview": "FROM alpine:3.8 AS vim_ruby\n\nRUN apk add --no-cache \\\n      build-base \\\n      ctags \\\n      git \\\n      libx11-dev \\\n  "
  },
  {
    "path": "Gemfile",
    "chars": 58,
    "preview": "source 'https://rubygems.org'\n\ngem 'nokogiri'\ngem 'rdoc'\n\n"
  },
  {
    "path": "LICENSE.md",
    "chars": 1086,
    "preview": "\nThe MIT License (MIT)\n\nCopyright (c) 2017 Julio Tain Sueiras\n\nPermission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "PROVIDER_VERSIONS.md",
    "chars": 18354,
    "preview": "||||||\n|---|---|---|---|---|\n|[![](https://img.shields.io/badge/style-v1.3.4-blue.svg?style=for-the-badge&label=acme)](h"
  },
  {
    "path": "README.md",
    "chars": 8578,
    "preview": "# (Neo)Vim Terraform Completion with Linter - [Demos](./DEMO.md)\n\n**IMPORTANT: This plugin now allow version based compl"
  },
  {
    "path": "addon-info.json",
    "chars": 260,
    "preview": "{\n  \"name\": \"vim-terraform-completion\",\n  \"description\": \"A (Neo)Vim AutoCompletion Plugin for HashiCorp's Terraform\",\n "
  },
  {
    "path": "autoload/terraformcomplete.vim",
    "chars": 35859,
    "preview": "if !has(\"ruby\") && !has(\"ruby/dyn\")\n    finish\nendif\n\nif exists('g:syntastic_extra_filetypes')\n    call add(g:syntastic_"
  },
  {
    "path": "check_new_provider",
    "chars": 240,
    "preview": "#!/bin/bash\ncurl -s https://api.github.com/orgs/terraform-providers/repos?per_page=200  | jq .[].name | sort > temp.txt\n"
  },
  {
    "path": "community/backup_community.json",
    "chars": 16230,
    "preview": "[\n   {\n      \"versions\" : [\n         \"master\",\n         \"v0.9.1\",\n         \"v0.9.0\",\n         \"v0.8.0\",\n         \"v0.7.0"
  },
  {
    "path": "community/community-index.html",
    "chars": 38250,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"mobile-web-app-capable\" content=\"ye"
  },
  {
    "path": "community/community.json",
    "chars": 24403,
    "preview": "[\n   {\n      \"versions\" : [\n\t\t\t\t\"master\"\n      ],\n      \"parse_target\" : \"minikube\",\n      \"name\" : \"terraform-provider-"
  },
  {
    "path": "community/schemas.rb",
    "chars": 6031,
    "preview": "require 'json'\nrequire 'pry'\n\ncommunity = JSON.parse(File.read(\"community.json\"))\n\ncommunity.each do |provider|\n\nname = "
  },
  {
    "path": "community/test.rb",
    "chars": 1331,
    "preview": "require 'nokogiri'\nrequire 'json'\nrequire 'rest-client'\nrequire 'pry'\n\ntest =  Nokogiri::HTML(File.read('community-index"
  },
  {
    "path": "community_provider_json/acme/master/acme.json",
    "chars": 2161,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"certificate\":{\"arguments\":[{\"word\":\"account_key_pem\",\"kind\":\"String(R)\"},{\"word\":"
  },
  {
    "path": "community_provider_json/acme/v0.3.0/acme.json",
    "chars": 2161,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"certificate\":{\"arguments\":[{\"word\":\"account_key_pem\",\"kind\":\"String(R)\"},{\"word\":"
  },
  {
    "path": "community_provider_json/acme/v0.4.0/acme.json",
    "chars": 2161,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"certificate\":{\"arguments\":[{\"word\":\"account_key_pem\",\"kind\":\"String(R)\"},{\"word\":"
  },
  {
    "path": "community_provider_json/acme/v0.5.0/acme.json",
    "chars": 2161,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"certificate\":{\"arguments\":[{\"word\":\"account_key_pem\",\"kind\":\"String(R)\"},{\"word\":"
  },
  {
    "path": "community_provider_json/ad/master/ad.json",
    "chars": 292,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"computer\":{\"arguments\":[{\"word\":\"computer_name\",\"kind\":\"String(R)\"},{\"word\":\"doma"
  },
  {
    "path": "community_provider_json/akamai/master/akamai.json",
    "chars": 20637,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cp_code\":{\"arguments\":[{\"word\":\"contract_id\",\"kind\":\"String(R)\"},{\"word\":\"group_i"
  },
  {
    "path": "community_provider_json/apigee/master/apigee.json",
    "chars": 5352,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"api_proxy\":{\"arguments\":[{\"word\":\"bundle\",\"kind\":\"String(R)\"},{\"word\":\"bundle_sha"
  },
  {
    "path": "community_provider_json/apigee/v0.0.1/apigee.json",
    "chars": 5352,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"api_proxy\":{\"arguments\":[{\"word\":\"bundle\",\"kind\":\"String(R)\"},{\"word\":\"bundle_sha"
  },
  {
    "path": "community_provider_json/apigee/v0.0.9/apigee.json",
    "chars": 5352,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"api_proxy\":{\"arguments\":[{\"word\":\"bundle\",\"kind\":\"String(R)\"},{\"word\":\"bundle_sha"
  },
  {
    "path": "community_provider_json/artifactory/v0.0.1/artifactory.json",
    "chars": 10002,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"admin_privileges\",\"kind\":\"Bool(O)\"},{\"word\":\"auto_j"
  },
  {
    "path": "community_provider_json/artifactory/v0.0.2/artifactory.json",
    "chars": 10002,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"admin_privileges\",\"kind\":\"Bool(O)\"},{\"word\":\"auto_j"
  },
  {
    "path": "community_provider_json/artifactory/v1.0.1/artifactory.json",
    "chars": 10002,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"admin_privileges\",\"kind\":\"Bool(O)\"},{\"word\":\"auto_j"
  },
  {
    "path": "community_provider_json/artifactory/v1.1.0/artifactory.json",
    "chars": 9653,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"admin_privileges\",\"kind\":\"Bool(O)\"},{\"word\":\"auto_j"
  },
  {
    "path": "community_provider_json/artifactory/v1.2.0/artifactory.json",
    "chars": 9746,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"admin_privileges\",\"kind\":\"Bool(O)\"},{\"word\":\"auto_j"
  },
  {
    "path": "community_provider_json/artifactory/v1.2.1/artifactory.json",
    "chars": 9746,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"admin_privileges\",\"kind\":\"Bool(O)\"},{\"word\":\"auto_j"
  },
  {
    "path": "community_provider_json/artifactory/v1.2.2/artifactory.json",
    "chars": 9746,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"admin_privileges\",\"kind\":\"Bool(O)\"},{\"word\":\"auto_j"
  },
  {
    "path": "community_provider_json/artifactory/v1.2.3/artifactory.json",
    "chars": 9841,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"admin_privileges\",\"kind\":\"Bool(O)\"},{\"word\":\"auto_j"
  },
  {
    "path": "community_provider_json/avi/17.2.9/avi.json",
    "chars": 732087,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"actiongroupconfig\":{\"arguments\":[{\"word\":\"action_script_config_ref\",\"kind\":\"Strin"
  },
  {
    "path": "community_provider_json/avi/master/avi.json",
    "chars": 733280,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"actiongroupconfig\":{\"arguments\":[{\"word\":\"action_script_config_ref\",\"kind\":\"Strin"
  },
  {
    "path": "community_provider_json/aviatrix/master/aviatrix.json",
    "chars": 14816,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"account\":{\"arguments\":[{\"word\":\"account_email\",\"kind\":\"String(O)\"},{\"word\":\"accou"
  },
  {
    "path": "community_provider_json/cloudamqp/master/cloudamqp.json",
    "chars": 1428,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"instance\":{\"arguments\":[{\"word\":\"name\",\"kind\":\"String(R)\",\"info\":\"Name of the ins"
  },
  {
    "path": "community_provider_json/cloudkarafka/master/cloudkarafka.json",
    "chars": 1205,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"instance\":{\"arguments\":[{\"word\":\"name\",\"kind\":\"String(R)\",\"info\":\"Name of the ins"
  },
  {
    "path": "community_provider_json/cloudmqtt/master/cloudmqtt.json",
    "chars": 729,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"instance\":{\"arguments\":[{\"word\":\"name\",\"kind\":\"String(R)\",\"info\":\"Name of the ins"
  },
  {
    "path": "community_provider_json/concourse/master/concourse.json",
    "chars": 1942,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"pipeline\":{\"arguments\":[{\"word\":\"config\",\"kind\":\"String(R)\",\"info\":\"Pipeline conf"
  },
  {
    "path": "community_provider_json/couchdb/master/couchdb.json",
    "chars": 6079,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"admin_user\":{\"arguments\":[{\"word\":\"name\",\"kind\":\"String(R)\",\"info\":\"Name of the a"
  },
  {
    "path": "community_provider_json/ct/v0.3.0/ct.json",
    "chars": 509,
    "preview": "{\"provider_arguments\":[],\"resources\":{},\"datas\":{\"config\":{\"arguments\":[{\"word\":\"content\",\"kind\":\"String(R)\"},{\"word\":\"p"
  },
  {
    "path": "community_provider_json/dockermachine/0.1.4/dockermachine.json",
    "chars": 59851,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"amazonec2\":{\"arguments\":[{\"word\":\"amazonec2_access_key\",\"kind\":\"String(O)\"},{\"wor"
  },
  {
    "path": "community_provider_json/dockermachine/master/dockermachine.json",
    "chars": 59851,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"amazonec2\":{\"arguments\":[{\"word\":\"amazonec2_access_key\",\"kind\":\"String(O)\"},{\"wor"
  },
  {
    "path": "community_provider_json/dominos/master/dominos.json",
    "chars": 1762,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"order\":{\"arguments\":[{\"word\":\"address_api_object\",\"kind\":\"String(R)\"},{\"word\":\"it"
  },
  {
    "path": "community_provider_json/drp/v0.0.1/drp.json",
    "chars": 1112,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"instance\":{\"arguments\":[{\"word\":\"bootenv\",\"kind\":\"String(O)\"},{\"word\":\"descriptio"
  },
  {
    "path": "community_provider_json/drp/v0.7.0/drp.json",
    "chars": 1181,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"instance\":{\"arguments\":[{\"word\":\"bootenv\",\"kind\":\"String(O)\"},{\"word\":\"descriptio"
  },
  {
    "path": "community_provider_json/drp/v0.7.1/drp.json",
    "chars": 1181,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"instance\":{\"arguments\":[{\"word\":\"bootenv\",\"kind\":\"String(O)\"},{\"word\":\"descriptio"
  },
  {
    "path": "community_provider_json/drp/v0.7.2/drp.json",
    "chars": 1180,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"machine\":{\"arguments\":[{\"word\":\"bootenv\",\"kind\":\"String(O)\"},{\"word\":\"description"
  },
  {
    "path": "community_provider_json/drp/v0.7.3/drp.json",
    "chars": 1180,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"machine\":{\"arguments\":[{\"word\":\"bootenv\",\"kind\":\"String(O)\"},{\"word\":\"description"
  },
  {
    "path": "community_provider_json/drp/v0.7.4/drp.json",
    "chars": 1180,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"machine\":{\"arguments\":[{\"word\":\"bootenv\",\"kind\":\"String(O)\"},{\"word\":\"description"
  },
  {
    "path": "community_provider_json/drp/v0.7.5/drp.json",
    "chars": 1180,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"machine\":{\"arguments\":[{\"word\":\"bootenv\",\"kind\":\"String(O)\"},{\"word\":\"description"
  },
  {
    "path": "community_provider_json/drp/v0.7.6/drp.json",
    "chars": 1180,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"machine\":{\"arguments\":[{\"word\":\"bootenv\",\"kind\":\"String(O)\"},{\"word\":\"description"
  },
  {
    "path": "community_provider_json/drp/v0.7.7/drp.json",
    "chars": 1180,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"machine\":{\"arguments\":[{\"word\":\"bootenv\",\"kind\":\"String(O)\"},{\"word\":\"description"
  },
  {
    "path": "community_provider_json/drp/v0.7.8/drp.json",
    "chars": 1180,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"machine\":{\"arguments\":[{\"word\":\"bootenv\",\"kind\":\"String(O)\"},{\"word\":\"description"
  },
  {
    "path": "community_provider_json/esxi/master/esxi.json",
    "chars": 6165,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"guest\":{\"arguments\":[{\"word\":\"boot_disk_size\",\"kind\":\"String(O)\",\"info\":\"Guest bo"
  },
  {
    "path": "community_provider_json/filesystem/master/filesystem.json",
    "chars": 1795,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"file_reader\":{\"arguments\":[{\"word\":\"path\",\"kind\":\"String(R)\",\"info\":\"Path to read"
  },
  {
    "path": "community_provider_json/gandi/master/gandi.json",
    "chars": 816,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"domainattachment\":{\"arguments\":[{\"word\":\"domain\",\"kind\":\"String(R)\"},{\"word\":\"zon"
  },
  {
    "path": "community_provider_json/glue/master/glue.json",
    "chars": 1710,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"var_map\":{\"arguments\":[{\"word\":\"entries\",\"kind\":\"Map(R)\"},{\"word\":\"identifier\",\"k"
  },
  {
    "path": "community_provider_json/gocd/0.1.21/gocd.json",
    "chars": 7866,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"environment\":{\"arguments\":[{\"word\":\"name\",\"kind\":\"String(R)\"}],\"attributes\":[{\"wo"
  },
  {
    "path": "community_provider_json/gocd/master/gocd.json",
    "chars": 7866,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"environment\":{\"arguments\":[{\"word\":\"name\",\"kind\":\"String(R)\"}],\"attributes\":[{\"wo"
  },
  {
    "path": "community_provider_json/googlecalendar/master/googlecalendar.json",
    "chars": 1713,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"event\":{\"arguments\":[{\"word\":\"attendee\",\"kind\":\"Set(O)(B)\",\"subblock\":[{\"word\":\"e"
  },
  {
    "path": "community_provider_json/googlecalendar/v0.1.0/googlecalendar.json",
    "chars": 1713,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"event\":{\"arguments\":[{\"word\":\"attendee\",\"kind\":\"Set(O)(B)\",\"subblock\":[{\"word\":\"e"
  },
  {
    "path": "community_provider_json/gsuite/master/gsuite.json",
    "chars": 4178,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\"},{\"word\":\"email\",\"k"
  },
  {
    "path": "community_provider_json/gsuite/v0.1.0/gsuite.json",
    "chars": 3627,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\"},{\"word\":\"email\",\"k"
  },
  {
    "path": "community_provider_json/gsuite/v0.1.1/gsuite.json",
    "chars": 4178,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\"},{\"word\":\"email\",\"k"
  },
  {
    "path": "community_provider_json/gsuite/v0.1.2/gsuite.json",
    "chars": 4178,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\"},{\"word\":\"email\",\"k"
  },
  {
    "path": "community_provider_json/gsuite/v0.1.3/gsuite.json",
    "chars": 4178,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\"},{\"word\":\"email\",\"k"
  },
  {
    "path": "community_provider_json/gsuite/v0.1.4/gsuite.json",
    "chars": 4178,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\"},{\"word\":\"email\",\"k"
  },
  {
    "path": "community_provider_json/gsuite/v0.1.5/gsuite.json",
    "chars": 4178,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\"},{\"word\":\"email\",\"k"
  },
  {
    "path": "community_provider_json/gsuite/v0.1.7/gsuite.json",
    "chars": 4178,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\"},{\"word\":\"email\",\"k"
  },
  {
    "path": "community_provider_json/hcloud/master/hcloud.json",
    "chars": 1734,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"floating_ip\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\"},{\"word\":\"hom"
  },
  {
    "path": "community_provider_json/hcloud/v1.0.0/hcloud.json",
    "chars": 1809,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"floating_ip\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\"},{\"word\":\"hom"
  },
  {
    "path": "community_provider_json/hcloud/v1.1.0/hcloud.json",
    "chars": 1809,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"floating_ip\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\"},{\"word\":\"hom"
  },
  {
    "path": "community_provider_json/helm/master/helm.json",
    "chars": 5456,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"release\":{\"arguments\":[{\"word\":\"chart\",\"kind\":\"String(R)\",\"info\":\"Chart name to b"
  },
  {
    "path": "community_provider_json/helm/v0.1.0/helm.json",
    "chars": 4862,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"chart\":{\"arguments\":[{\"word\":\"chart\",\"kind\":\"String(R)\",\"info\":\"Chart name to be "
  },
  {
    "path": "community_provider_json/helm/v0.2.0/helm.json",
    "chars": 4864,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"chart\":{\"arguments\":[{\"word\":\"chart\",\"kind\":\"String(R)\",\"info\":\"Chart name to be "
  },
  {
    "path": "community_provider_json/helm/v0.3.0/helm.json",
    "chars": 5017,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"chart\":{\"arguments\":[{\"word\":\"chart\",\"kind\":\"String(R)\",\"info\":\"Chart name to be "
  },
  {
    "path": "community_provider_json/helm/v0.3.1/helm.json",
    "chars": 5017,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"chart\":{\"arguments\":[{\"word\":\"chart\",\"kind\":\"String(R)\",\"info\":\"Chart name to be "
  },
  {
    "path": "community_provider_json/helm/v0.3.2/helm.json",
    "chars": 5017,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"chart\":{\"arguments\":[{\"word\":\"chart\",\"kind\":\"String(R)\",\"info\":\"Chart name to be "
  },
  {
    "path": "community_provider_json/helm/v0.4.0/helm.json",
    "chars": 4748,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"release\":{\"arguments\":[{\"word\":\"chart\",\"kind\":\"String(R)\",\"info\":\"Chart name to b"
  },
  {
    "path": "community_provider_json/helm/v0.5.0/helm.json",
    "chars": 5277,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"release\":{\"arguments\":[{\"word\":\"chart\",\"kind\":\"String(R)\",\"info\":\"Chart name to b"
  },
  {
    "path": "community_provider_json/helm/v0.5.1/helm.json",
    "chars": 5456,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"release\":{\"arguments\":[{\"word\":\"chart\",\"kind\":\"String(R)\",\"info\":\"Chart name to b"
  },
  {
    "path": "community_provider_json/hiera/v.0.1.0/hiera.json",
    "chars": 554,
    "preview": "{\"provider_arguments\":[],\"resources\":{},\"datas\":{\"\":{\"arguments\":[{\"word\":\"key\",\"kind\":\"String(R)\"}],\"attributes\":[{\"wor"
  },
  {
    "path": "community_provider_json/httpfileupload/master/httpfileupload.json",
    "chars": 486,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"file\":{\"arguments\":[{\"word\":\"file_path\",\"kind\":\"String(R)\",\"info\":\"Absolute filep"
  },
  {
    "path": "community_provider_json/ibm/v0.10.0/ibm.json",
    "chars": 105162,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"app\":{\"arguments\":[{\"word\":\"app_path\",\"kind\":\"String(R)\",\"info\":\"Define the  path"
  },
  {
    "path": "community_provider_json/ibm/v0.12.0/ibm.json",
    "chars": 118109,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"app\":{\"arguments\":[{\"word\":\"app_path\",\"kind\":\"String(R)\",\"info\":\"Define the  path"
  },
  {
    "path": "community_provider_json/ibm/v0.4.0/ibm.json",
    "chars": 48315,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"app\":{\"arguments\":[{\"word\":\"app_path\",\"kind\":\"String(R)\",\"info\":\"Define the  path"
  },
  {
    "path": "community_provider_json/ibm/v0.5.0/ibm.json",
    "chars": 62246,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"app\":{\"arguments\":[{\"word\":\"app_path\",\"kind\":\"String(R)\",\"info\":\"Define the  path"
  },
  {
    "path": "community_provider_json/ibm/v0.5.1/ibm.json",
    "chars": 63021,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"app\":{\"arguments\":[{\"word\":\"app_path\",\"kind\":\"String(R)\",\"info\":\"Define the  path"
  },
  {
    "path": "community_provider_json/ibm/v0.6.0/ibm.json",
    "chars": 69058,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"app\":{\"arguments\":[{\"word\":\"app_path\",\"kind\":\"String(R)\",\"info\":\"Define the  path"
  },
  {
    "path": "community_provider_json/ibm/v0.7.0/ibm.json",
    "chars": 84909,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"app\":{\"arguments\":[{\"word\":\"app_path\",\"kind\":\"String(R)\",\"info\":\"Define the  path"
  },
  {
    "path": "community_provider_json/ibm/v0.8.0/ibm.json",
    "chars": 91822,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"app\":{\"arguments\":[{\"word\":\"app_path\",\"kind\":\"String(R)\",\"info\":\"Define the  path"
  },
  {
    "path": "community_provider_json/ibm/v0.9.0/ibm.json",
    "chars": 97658,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"app\":{\"arguments\":[{\"word\":\"app_path\",\"kind\":\"String(R)\",\"info\":\"Define the  path"
  },
  {
    "path": "community_provider_json/ibm/v0.9.1/ibm.json",
    "chars": 98351,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"app\":{\"arguments\":[{\"word\":\"app_path\",\"kind\":\"String(R)\",\"info\":\"Define the  path"
  },
  {
    "path": "community_provider_json/infoblox/0.1.11/infoblox.json",
    "chars": 89445,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"admin_group\":{\"arguments\":[{\"word\":\"access_method\",\"kind\":\"List(O)\",\"info\":\"Metho"
  },
  {
    "path": "community_provider_json/infoblox/master/infoblox.json",
    "chars": 89445,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"admin_group\":{\"arguments\":[{\"word\":\"access_method\",\"kind\":\"List(O)\",\"info\":\"Metho"
  },
  {
    "path": "community_provider_json/jira/0.1.0/jira.json",
    "chars": 634,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"issue\":{\"arguments\":[{\"word\":\"assignee\",\"kind\":\"String(R)\"},{\"word\":\"description\""
  },
  {
    "path": "community_provider_json/jira/master/jira.json",
    "chars": 634,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"issue\":{\"arguments\":[{\"word\":\"assignee\",\"kind\":\"String(R)\"},{\"word\":\"description\""
  },
  {
    "path": "community_provider_json/kafka/master/kafka.json",
    "chars": 685,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"topic\":{\"arguments\":[{\"word\":\"config\",\"kind\":\"Map(O)\",\"info\":\"A map of string k/v"
  },
  {
    "path": "community_provider_json/kafka/v0.1.0/kafka.json",
    "chars": 1338,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"acl\":{\"arguments\":[{\"word\":\"acl_host\",\"kind\":\"String(R)\"},{\"word\":\"acl_operation\""
  },
  {
    "path": "community_provider_json/kafka/v0.1.1/kafka.json",
    "chars": 1338,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"acl\":{\"arguments\":[{\"word\":\"acl_host\",\"kind\":\"String(R)\"},{\"word\":\"acl_operation\""
  },
  {
    "path": "community_provider_json/keboola/master/keboola.json",
    "chars": 14107,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"access_token\":{\"arguments\":[{\"word\":\"bucket_permissions\",\"kind\":\"Map(O)\"},{\"word\""
  },
  {
    "path": "community_provider_json/kibana/master/kibana.json",
    "chars": 4731,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"dashboard\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\",\"info\":\"Descrip"
  },
  {
    "path": "community_provider_json/kibana/v0.1.0/kibana.json",
    "chars": 1819,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"search\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\",\"info\":\"Descriptio"
  },
  {
    "path": "community_provider_json/kibana/v0.1.1/kibana.json",
    "chars": 1819,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"search\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\",\"info\":\"Descriptio"
  },
  {
    "path": "community_provider_json/kibana/v0.1.2/kibana.json",
    "chars": 1819,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"search\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\",\"info\":\"Descriptio"
  },
  {
    "path": "community_provider_json/kibana/v0.2.0/kibana.json",
    "chars": 1819,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"search\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\",\"info\":\"Descriptio"
  },
  {
    "path": "community_provider_json/kibana/v0.3.0/kibana.json",
    "chars": 2642,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"search\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\",\"info\":\"Descriptio"
  },
  {
    "path": "community_provider_json/kibana/v0.4.0/kibana.json",
    "chars": 4591,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"dashboard\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\",\"info\":\"Descrip"
  },
  {
    "path": "community_provider_json/kibana/v0.5.0/kibana.json",
    "chars": 4591,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"dashboard\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\",\"info\":\"Descrip"
  },
  {
    "path": "community_provider_json/kibana/v0.5.1/kibana.json",
    "chars": 4591,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"dashboard\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\",\"info\":\"Descrip"
  },
  {
    "path": "community_provider_json/kibana/v0.6.0/kibana.json",
    "chars": 4731,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"dashboard\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\",\"info\":\"Descrip"
  },
  {
    "path": "community_provider_json/kong/master/kong.json",
    "chars": 5795,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"api\":{\"arguments\":[{\"word\":\"hosts\",\"kind\":\"List(O)\"},{\"word\":\"http_if_terminated\""
  },
  {
    "path": "community_provider_json/kong/v0.1.0/kong.json",
    "chars": 1156,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"api\":{\"arguments\":[{\"word\":\"hosts\",\"kind\":\"List(O)\"},{\"word\":\"http_if_terminated\""
  },
  {
    "path": "community_provider_json/kong/v0.10.0/kong.json",
    "chars": 5730,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"api\":{\"arguments\":[{\"word\":\"hosts\",\"kind\":\"List(O)\"},{\"word\":\"http_if_terminated\""
  },
  {
    "path": "community_provider_json/kong/v0.11.0/kong.json",
    "chars": 5795,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"api\":{\"arguments\":[{\"word\":\"hosts\",\"kind\":\"List(O)\"},{\"word\":\"http_if_terminated\""
  },
  {
    "path": "community_provider_json/kong/v0.12.0/kong.json",
    "chars": 5795,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"api\":{\"arguments\":[{\"word\":\"hosts\",\"kind\":\"List(O)\"},{\"word\":\"http_if_terminated\""
  },
  {
    "path": "community_provider_json/kong/v0.13.0/kong.json",
    "chars": 5795,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"api\":{\"arguments\":[{\"word\":\"hosts\",\"kind\":\"List(O)\"},{\"word\":\"http_if_terminated\""
  },
  {
    "path": "community_provider_json/kong/v0.14.0/kong.json",
    "chars": 5795,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"api\":{\"arguments\":[{\"word\":\"hosts\",\"kind\":\"List(O)\"},{\"word\":\"http_if_terminated\""
  },
  {
    "path": "community_provider_json/kong/v0.2.0/kong.json",
    "chars": 1380,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"api\":{\"arguments\":[{\"word\":\"hosts\",\"kind\":\"List(O)\"},{\"word\":\"http_if_terminated\""
  },
  {
    "path": "community_provider_json/kong/v0.3.0/kong.json",
    "chars": 2192,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"api\":{\"arguments\":[{\"word\":\"hosts\",\"kind\":\"List(O)\"},{\"word\":\"http_if_terminated\""
  },
  {
    "path": "community_provider_json/kong/v0.4.0/kong.json",
    "chars": 3398,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"api\":{\"arguments\":[{\"word\":\"hosts\",\"kind\":\"List(O)\"},{\"word\":\"http_if_terminated\""
  },
  {
    "path": "community_provider_json/kong/v0.5.0/kong.json",
    "chars": 3398,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"api\":{\"arguments\":[{\"word\":\"hosts\",\"kind\":\"List(O)\"},{\"word\":\"http_if_terminated\""
  },
  {
    "path": "community_provider_json/kong/v0.6.0/kong.json",
    "chars": 5401,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"api\":{\"arguments\":[{\"word\":\"hosts\",\"kind\":\"List(O)\"},{\"word\":\"http_if_terminated\""
  },
  {
    "path": "community_provider_json/kong/v0.7.0/kong.json",
    "chars": 5401,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"api\":{\"arguments\":[{\"word\":\"hosts\",\"kind\":\"List(O)\"},{\"word\":\"http_if_terminated\""
  },
  {
    "path": "community_provider_json/kong/v0.8.0/kong.json",
    "chars": 5401,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"api\":{\"arguments\":[{\"word\":\"hosts\",\"kind\":\"List(O)\"},{\"word\":\"http_if_terminated\""
  },
  {
    "path": "community_provider_json/kong/v0.9.0/kong.json",
    "chars": 5401,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"api\":{\"arguments\":[{\"word\":\"hosts\",\"kind\":\"List(O)\"},{\"word\":\"http_if_terminated\""
  },
  {
    "path": "community_provider_json/kong/v1.1.0/kong.json",
    "chars": 1156,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"api\":{\"arguments\":[{\"word\":\"hosts\",\"kind\":\"List(O)\"},{\"word\":\"http_if_terminated\""
  },
  {
    "path": "community_provider_json/kong/v1.5.0/kong.json",
    "chars": 7164,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"api\":{\"arguments\":[{\"word\":\"hosts\",\"kind\":\"List(O)\"},{\"word\":\"http_if_terminated\""
  },
  {
    "path": "community_provider_json/kubernetes/sl1pm4t/kubernetes.json",
    "chars": 1555943,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cluster_role\":{\"arguments\":[{\"word\":\"metadata\",\"kind\":\"List(R)(B)\",\"info\":\"Standa"
  },
  {
    "path": "community_provider_json/lxd/v1.0.0/lxd.json",
    "chars": 5089,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cached_image\":{\"arguments\":[{\"word\":\"aliases\",\"kind\":\"List(O)\"},{\"word\":\"copy_ali"
  },
  {
    "path": "community_provider_json/lxd/v1.1.0/lxd.json",
    "chars": 5978,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cached_image\":{\"arguments\":[{\"word\":\"aliases\",\"kind\":\"List(O)\"},{\"word\":\"copy_ali"
  },
  {
    "path": "community_provider_json/lxd/v1.1.1/lxd.json",
    "chars": 5978,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cached_image\":{\"arguments\":[{\"word\":\"aliases\",\"kind\":\"List(O)\"},{\"word\":\"copy_ali"
  },
  {
    "path": "community_provider_json/matchbox/master/matchbox.json",
    "chars": 1023,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"metadata\",\"kind\":\"Map(O)\"},{\"word\":\"name\",\"kind\":\"S"
  },
  {
    "path": "community_provider_json/matchbox/v0.1.0/matchbox.json",
    "chars": 853,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"metadata\",\"kind\":\"Map(O)\"},{\"word\":\"name\",\"kind\":\"S"
  },
  {
    "path": "community_provider_json/matchbox/v0.1.1/matchbox.json",
    "chars": 853,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"metadata\",\"kind\":\"Map(O)\"},{\"word\":\"name\",\"kind\":\"S"
  },
  {
    "path": "community_provider_json/matchbox/v0.1.2/matchbox.json",
    "chars": 853,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"metadata\",\"kind\":\"Map(O)\"},{\"word\":\"name\",\"kind\":\"S"
  },
  {
    "path": "community_provider_json/matchbox/v0.2.0/matchbox.json",
    "chars": 1023,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"metadata\",\"kind\":\"Map(O)\"},{\"word\":\"name\",\"kind\":\"S"
  },
  {
    "path": "community_provider_json/matchbox/v0.2.1/matchbox.json",
    "chars": 1023,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"metadata\",\"kind\":\"Map(O)\"},{\"word\":\"name\",\"kind\":\"S"
  },
  {
    "path": "community_provider_json/matchbox/v0.2.2/matchbox.json",
    "chars": 1023,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"group\":{\"arguments\":[{\"word\":\"metadata\",\"kind\":\"Map(O)\"},{\"word\":\"name\",\"kind\":\"S"
  },
  {
    "path": "community_provider_json/minikube/master/minikube.json",
    "chars": 8039,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"\":{\"arguments\":[{\"word\":\"apiserver_name\",\"kind\":\"String(O)\",\"info\":\"The apiserver"
  },
  {
    "path": "community_provider_json/mongodbatlas/master/mongodbatlas.json",
    "chars": 4489,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cluster\":{\"arguments\":[{\"word\":\"backing_provider\",\"kind\":\"String(O)\"},{\"word\":\"ba"
  },
  {
    "path": "community_provider_json/mongodbatlas/v0.0.1/mongodbatlas.json",
    "chars": 1071,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cluster\":{\"arguments\":[{\"word\":\"backing_provider\",\"kind\":\"String(O)\"},{\"word\":\"ba"
  },
  {
    "path": "community_provider_json/mongodbatlas/v0.0.2/mongodbatlas.json",
    "chars": 2522,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cluster\":{\"arguments\":[{\"word\":\"backing_provider\",\"kind\":\"String(O)\"},{\"word\":\"ba"
  },
  {
    "path": "community_provider_json/mongodbatlas/v0.1.0/mongodbatlas.json",
    "chars": 3109,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cluster\":{\"arguments\":[{\"word\":\"backing_provider\",\"kind\":\"String(O)\"},{\"word\":\"ba"
  },
  {
    "path": "community_provider_json/mongodbatlas/v0.2.0/mongodbatlas.json",
    "chars": 3828,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cluster\":{\"arguments\":[{\"word\":\"backing_provider\",\"kind\":\"String(O)\"},{\"word\":\"ba"
  },
  {
    "path": "community_provider_json/mongodbatlas/v0.2.1/mongodbatlas.json",
    "chars": 3828,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cluster\":{\"arguments\":[{\"word\":\"backing_provider\",\"kind\":\"String(O)\"},{\"word\":\"ba"
  },
  {
    "path": "community_provider_json/mongodbatlas/v0.2.2/mongodbatlas.json",
    "chars": 3828,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cluster\":{\"arguments\":[{\"word\":\"backing_provider\",\"kind\":\"String(O)\"},{\"word\":\"ba"
  },
  {
    "path": "community_provider_json/mongodbatlas/v0.4.2/mongodbatlas.json",
    "chars": 4489,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cluster\":{\"arguments\":[{\"word\":\"backing_provider\",\"kind\":\"String(O)\"},{\"word\":\"ba"
  },
  {
    "path": "community_provider_json/mongodbatlas/v0.4.3/mongodbatlas.json",
    "chars": 4489,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cluster\":{\"arguments\":[{\"word\":\"backing_provider\",\"kind\":\"String(O)\"},{\"word\":\"ba"
  },
  {
    "path": "community_provider_json/mongodbatlas/v0.4.4/mongodbatlas.json",
    "chars": 4489,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cluster\":{\"arguments\":[{\"word\":\"backing_provider\",\"kind\":\"String(O)\"},{\"word\":\"ba"
  },
  {
    "path": "community_provider_json/mongodbatlas/v0.4.5/mongodbatlas.json",
    "chars": 4489,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cluster\":{\"arguments\":[{\"word\":\"backing_provider\",\"kind\":\"String(O)\"},{\"word\":\"ba"
  },
  {
    "path": "community_provider_json/mongodbatlas/v0.5.0/mongodbatlas.json",
    "chars": 5147,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cluster\":{\"arguments\":[{\"word\":\"backing_provider\",\"kind\":\"String(O)\"},{\"word\":\"ba"
  },
  {
    "path": "community_provider_json/mongodbatlas/v0.6.1/mongodbatlas.json",
    "chars": 5600,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cluster\":{\"arguments\":[{\"word\":\"backing_provider\",\"kind\":\"String(O)\"},{\"word\":\"ba"
  },
  {
    "path": "community_provider_json/netlify/master/netlify.json",
    "chars": 1672,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"build_hook\":{\"arguments\":[{\"word\":\"branch\",\"kind\":\"String(R)\"},{\"word\":\"site_id\","
  },
  {
    "path": "community_provider_json/nifi/develop/nifi.json",
    "chars": 9874,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"connection\":{\"arguments\":[{\"word\":\"component\",\"kind\":\"List(R)(B)\",\"subblock\":[{\"w"
  },
  {
    "path": "community_provider_json/nutanix/master/nutanix.json",
    "chars": 85145,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"category_key\":{\"arguments\":[{\"word\":\"api_version\",\"kind\":\"String(O)\"},{\"word\":\"de"
  },
  {
    "path": "community_provider_json/odl/master/odl.json",
    "chars": 1660,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"virtual_bridge\":{\"arguments\":[{\"word\":\"age_interval\",\"kind\":\"Int(O)\"},{\"word\":\"br"
  },
  {
    "path": "community_provider_json/oneview/master/oneview.json",
    "chars": 15048,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"ethernet_network\":{\"arguments\":[{\"word\":\"description\",\"kind\":\"String(O)\"},{\"word\""
  },
  {
    "path": "community_provider_json/packer/0.1.0/packer.json",
    "chars": 532091,
    "preview": "{\"provider_arguments\":[],\"resources\":{},\"datas\":{\"json\":{\"arguments\":[{\"word\":\"builders\",\"kind\":\"List(O)(B)\",\"subblock\":"
  },
  {
    "path": "community_provider_json/packer/master/packer.json",
    "chars": 541368,
    "preview": "{\"provider_arguments\":[],\"resources\":{},\"datas\":{\"json\":{\"arguments\":[{\"word\":\"builders\",\"kind\":\"List(O)(B)\",\"subblock\":"
  },
  {
    "path": "community_provider_json/packer/vsphere/packer.json",
    "chars": 573576,
    "preview": "{\"provider_arguments\":[],\"resources\":{},\"datas\":{\"json\":{\"arguments\":[{\"word\":\"builders\",\"kind\":\"List(O)(B)\",\"subblock\":"
  },
  {
    "path": "community_provider_json/pass/1.0.1/pass.json",
    "chars": 1011,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"password\":{\"arguments\":[{\"word\":\"data\",\"kind\":\"Map(O)\",\"info\":\"additional secret "
  },
  {
    "path": "community_provider_json/pass/master/pass.json",
    "chars": 1075,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"password\":{\"arguments\":[{\"word\":\"data\",\"kind\":\"Map(O)\",\"info\":\"additional secret "
  },
  {
    "path": "community_provider_json/puppetca/1.0.1/puppetca.json",
    "chars": 238,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"certificate\":{\"arguments\":[{\"word\":\"name\",\"kind\":\"String(R)\"}],\"attributes\":[{\"wo"
  },
  {
    "path": "community_provider_json/puppetca/master/puppetca.json",
    "chars": 238,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"certificate\":{\"arguments\":[{\"word\":\"name\",\"kind\":\"String(R)\"}],\"attributes\":[{\"wo"
  },
  {
    "path": "community_provider_json/puppetdb/0.1.1/puppetdb.json",
    "chars": 883,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"node\":{\"arguments\":[{\"word\":\"certname\",\"kind\":\"String(R)\"}],\"attributes\":[{\"word\""
  },
  {
    "path": "community_provider_json/puppetdb/master/puppetdb.json",
    "chars": 883,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"node\":{\"arguments\":[{\"word\":\"certname\",\"kind\":\"String(R)\"}],\"attributes\":[{\"word\""
  },
  {
    "path": "community_provider_json/qingcloud/master/qingcloud.json",
    "chars": 9151,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"eip\":{\"arguments\":[{\"word\":\"bandwidth\",\"kind\":\"Int(R)\"},{\"word\":\"billing_mode\",\"k"
  },
  {
    "path": "community_provider_json/qingcloud/v1.0.0/qingcloud.json",
    "chars": 5831,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"eip\":{\"arguments\":[{\"word\":\"bandwidth\",\"kind\":\"Int(R)\"},{\"word\":\"billing_mode\",\"k"
  },
  {
    "path": "community_provider_json/qingcloud/v1.0.1/qingcloud.json",
    "chars": 5831,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"eip\":{\"arguments\":[{\"word\":\"bandwidth\",\"kind\":\"Int(R)\"},{\"word\":\"billing_mode\",\"k"
  },
  {
    "path": "community_provider_json/qingcloud/v1.1/qingcloud.json",
    "chars": 5831,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"eip\":{\"arguments\":[{\"word\":\"bandwidth\",\"kind\":\"Int(R)\"},{\"word\":\"billing_mode\",\"k"
  },
  {
    "path": "community_provider_json/qingcloud/v1.2.0/qingcloud.json",
    "chars": 9151,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"eip\":{\"arguments\":[{\"word\":\"bandwidth\",\"kind\":\"Int(R)\"},{\"word\":\"billing_mode\",\"k"
  },
  {
    "path": "community_provider_json/qingcloud/v1.2.1/qingcloud.json",
    "chars": 9151,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"eip\":{\"arguments\":[{\"word\":\"bandwidth\",\"kind\":\"Int(R)\"},{\"word\":\"billing_mode\",\"k"
  },
  {
    "path": "community_provider_json/qingcloud/v1.2.2/qingcloud.json",
    "chars": 9145,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"eip\":{\"arguments\":[{\"word\":\"bandwidth\",\"kind\":\"Int(R)\"},{\"word\":\"billing_mode\",\"k"
  },
  {
    "path": "community_provider_json/razor/master/razor.json",
    "chars": 2918,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"policy\":{\"arguments\":[{\"word\":\"after\",\"kind\":\"String(O)\"},{\"word\":\"before\",\"kind\""
  },
  {
    "path": "community_provider_json/redshift/master/redshift.json",
    "chars": 2714,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"database\":{\"arguments\":[{\"word\":\"connection_limit\",\"kind\":\"String(O)\"},{\"word\":\"d"
  },
  {
    "path": "community_provider_json/restapi/master/restapi.json",
    "chars": 1273,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"object\":{\"arguments\":[{\"word\":\"data\",\"kind\":\"String(R)\",\"info\":\"Valid JSON data t"
  },
  {
    "path": "community_provider_json/restapi/v0.1.0/restapi.json",
    "chars": 1273,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"object\":{\"arguments\":[{\"word\":\"data\",\"kind\":\"String(R)\",\"info\":\"Valid JSON data t"
  },
  {
    "path": "community_provider_json/rke/0.2.0/rke.json",
    "chars": 19957,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cluster\":{\"arguments\":[{\"word\":\"addon_job_timeout\",\"kind\":\"Int(O)\",\"info\":\"Timeou"
  },
  {
    "path": "community_provider_json/rke/0.3.4/rke.json",
    "chars": 39198,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cluster\":{\"arguments\":[{\"word\":\"addon_job_timeout\",\"kind\":\"Int(O)\",\"info\":\"Timeou"
  },
  {
    "path": "community_provider_json/rke/master/rke.json",
    "chars": 18240,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"cluster\":{\"arguments\":[{\"word\":\"addons\",\"kind\":\"String(O)\",\"info\":\"YAML manifest "
  },
  {
    "path": "community_provider_json/runscope/master/runscope.json",
    "chars": 5192,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"bucket\":{\"arguments\":[{\"word\":\"name\",\"kind\":\"String(R)\"},{\"word\":\"team_uuid\",\"kin"
  },
  {
    "path": "community_provider_json/runscope/v0.5.6/runscope.json",
    "chars": 5522,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"bucket\":{\"arguments\":[{\"word\":\"name\",\"kind\":\"String(R)\"},{\"word\":\"team_uuid\",\"kin"
  },
  {
    "path": "community_provider_json/runscope/v0.5.7/runscope.json",
    "chars": 5597,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"bucket\":{\"arguments\":[{\"word\":\"name\",\"kind\":\"String(R)\"},{\"word\":\"team_uuid\",\"kin"
  },
  {
    "path": "community_provider_json/sakuracloud/master/sakuracloud.json",
    "chars": 55061,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"archive\":{\"arguments\":[{\"word\":\"archive_file\",\"kind\":\"String(R)\"},{\"word\":\"descri"
  },
  {
    "path": "community_provider_json/sakuracloud/v1.0.0/sakuracloud.json",
    "chars": 52048,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"archive\":{\"arguments\":[{\"word\":\"archive_file\",\"kind\":\"String(R)\"},{\"word\":\"descri"
  },
  {
    "path": "community_provider_json/sakuracloud/v1.0.1/sakuracloud.json",
    "chars": 52048,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"archive\":{\"arguments\":[{\"word\":\"archive_file\",\"kind\":\"String(R)\"},{\"word\":\"descri"
  },
  {
    "path": "community_provider_json/sakuracloud/v1.0.2/sakuracloud.json",
    "chars": 52048,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"archive\":{\"arguments\":[{\"word\":\"archive_file\",\"kind\":\"String(R)\"},{\"word\":\"descri"
  },
  {
    "path": "community_provider_json/sakuracloud/v1.0.3/sakuracloud.json",
    "chars": 52048,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"archive\":{\"arguments\":[{\"word\":\"archive_file\",\"kind\":\"String(R)\"},{\"word\":\"descri"
  },
  {
    "path": "community_provider_json/sakuracloud/v1.0.4/sakuracloud.json",
    "chars": 52048,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"archive\":{\"arguments\":[{\"word\":\"archive_file\",\"kind\":\"String(R)\"},{\"word\":\"descri"
  },
  {
    "path": "community_provider_json/sakuracloud/v1.0.5/sakuracloud.json",
    "chars": 52048,
    "preview": "{\"provider_arguments\":[],\"resources\":{\"archive\":{\"arguments\":[{\"word\":\"archive_file\",\"kind\":\"String(R)\"},{\"word\":\"descri"
  }
]

// ... and 1179 more files (download for full content)

About this extraction

This page contains the full source code of the juliosueiras/vim-terraform-completion GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1379 files (100.0 MB), approximately 26.3M tokens, and a symbol index with 21 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!