{"id":17888286,"url":"https://github.com/squat/terraform-provider-vultr","last_synced_at":"2025-03-22T19:33:57.510Z","repository":{"id":73957199,"uuid":"98864585","full_name":"squat/terraform-provider-vultr","owner":"squat","description":"Terraform Vultr Provider","archived":false,"fork":false,"pushed_at":"2019-08-01T14:12:56.000Z","size":34836,"stargazers_count":168,"open_issues_count":12,"forks_count":22,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-06-20T12:41:38.873Z","etag":null,"topics":["terraform","terraform-provider","vultr"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/squat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-31T08:10:18.000Z","updated_at":"2024-05-20T14:50:40.000Z","dependencies_parsed_at":"2023-03-13T05:15:16.713Z","dependency_job_id":null,"html_url":"https://github.com/squat/terraform-provider-vultr","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squat%2Fterraform-provider-vultr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squat%2Fterraform-provider-vultr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squat%2Fterraform-provider-vultr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squat%2Fterraform-provider-vultr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/squat","download_url":"https://codeload.github.com/squat/terraform-provider-vultr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221832797,"owners_count":16888318,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["terraform","terraform-provider","vultr"],"created_at":"2024-10-28T13:37:01.070Z","updated_at":"2024-10-28T13:37:01.624Z","avatar_url":"https://github.com/squat.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vultr Terraform Provider\n\nThis is a Terraform provider for Vultr. Find out more about [Vultr](https://www.vultr.com/about/).\n\n[![Build Status](https://travis-ci.org/squat/terraform-provider-vultr.svg?branch=master)](https://travis-ci.org/squat/terraform-provider-vultr)\n[![Go Report Card](https://goreportcard.com/badge/github.com/squat/terraform-provider-vultr)](https://goreportcard.com/report/github.com/squat/terraform-provider-vultr)\n\n## Requirements\n\n* A Vultr account and API key\n* [Terraform](https://www.terraform.io/downloads.html) 0.12+\n* [Go](https://golang.org/doc/install) 1.8 (to build the provider plugin)\n\n## Usage\n\nDownload `terraform-provider-vultr` from the [releases page](https://github.com/squat/terraform-provider-vultr/releases) and follow the instructions to [install it as a plugin](https://www.terraform.io/docs/plugins/basics.html#installing-a-plugin). After placing it into your plugins directory,  run `terraform init` to initialize it.\n\n*Note*: in order to build and install the provider from the latest commit on master, run:\n```sh\ngo get -u github.com/squat/terraform-provider-vultr\n```\n\nand then register the plugin by symlinking the binary to the [third-party plugins directory](https://www.terraform.io/docs/configuration/providers.html#third-party-plugins):\n```sh\nmkdir -p ~/.terraform.d/plugins\nln -s \"$GOPATH/bin/terraform-provider-vultr\" ~/.terraform.d/plugins/terraform-provider-vultr\n```\n\nSet an environment variable containing the Vultr API key:\n```\nexport VULTR_API_KEY=\u003cyour-vultr-api-key\u003e\n```\n*Note*: as an alternative, the API key can be specified in configuration as shown below.\n\n## Examples\n\n```tf\n// Configure the Vultr provider. \n// Alternatively, export the API key as an environment variable: `export VULTR_API_KEY=\u003cyour-vultr-api-key\u003e`.\nprovider \"vultr\" {\n  api_key = \"\u003cyour-vultr-api-key\u003e\"\n}\n\n// Find the ID of the Silicon Valley region.\ndata \"vultr_region\" \"silicon_valley\" {\n  filter {\n    name   = \"name\"\n    values = [\"Silicon Valley\"]\n  }\n}\n\n// Find the ID for CoreOS Container Linux.\ndata \"vultr_os\" \"container_linux\" {\n  filter {\n    name   = \"family\"\n    values = [\"coreos\"]\n  }\n}\n\n// Find the ID for a starter plan.\ndata \"vultr_plan\" \"starter\" {\n  filter {\n    name   = \"price_per_month\"\n    values = [\"5.00\"]\n  }\n\n  filter {\n    name   = \"ram\"\n    values = [\"1024\"]\n  }\n}\n\n// Find the ID of an existing SSH key.\ndata \"vultr_ssh_key\" \"squat\" {\n  filter {\n    name   = \"name\"\n    values = [\"squat\"]\n  }\n}\n\n// Create a Vultr virtual machine.\nresource \"vultr_instance\" \"example\" {\n  name              = \"example\"\n  region_id         = \"${data.vultr_region.silicon_valley.id}\"\n  plan_id           = \"${data.vultr_plan.starter.id}\"\n  os_id             = \"${data.vultr_os.container_linux.id}\"\n  ssh_key_ids       = [\"${data.vultr_ssh_key.squat.id}\"]\n  hostname          = \"example\"\n  tag               = \"container-linux\"\n  firewall_group_id = \"${vultr_firewall_group.example.id}\"\n}\n\n// Create a new firewall group.\nresource \"vultr_firewall_group\" \"example\" {\n  description = \"example group\"\n}\n\n// Add a firewall rule to the group allowing SSH access.\nresource \"vultr_firewall_rule\" \"ssh\" {\n  firewall_group_id = \"${vultr_firewall_group.example.id}\"\n  cidr_block        = \"0.0.0.0/0\"\n  protocol          = \"tcp\"\n  from_port         = 22\n  to_port           = 22\n}\n```\n\n## Development\n\nTo develop the plugin locally, install the following dependencies:\n* [Go](https://golang.org/doc/install) 1.8 (to build the provider plugin)\n* [Glide](https://github.com/Masterminds/glide#install) (to install and maintain dependencies)\n* [glide-vc](https://github.com/sgotti/glide-vc#install) (to clean up dependencies)\n\nTo build the plugin run:\n```sh\nmake build\n```\n\nTo update Go dependencies run:\n```sh\nmake vendor\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquat%2Fterraform-provider-vultr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsquat%2Fterraform-provider-vultr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquat%2Fterraform-provider-vultr/lists"}