• Go 99.8%
  • Shell 0.1%
  • Makefile 0.1%
Find a file
kwadhwa-source 3090689869
MDROP-22: add terraform support for microdroplets (#1578)
* MDROP-22: add terraform support for microdroplets

Add resources and data sources for DigitalOcean MicroDroplets and
MicroDroplet images, plus a data source for reading MicroDroplet
checkpoints.

New:
- digitalocean_microdroplet (resource)
- digitalocean_microdroplet_image (resource)
- digitalocean_microdroplet (data source)
- digitalocean_microdroplets (data source, plural)
- digitalocean_microdroplet_image (data source)
- digitalocean_microdroplet_images (data source, plural)
- digitalocean_microdroplet_checkpoints (data source, plural; read-only,
  since checkpoints are captured automatically by DO when a MicroDroplet
  pauses)

State transitions on the microdroplet resource use the dedicated pause /
resume action endpoints exposed by the MicroDroplets API in godo
v1.200.0 (which landed on main in #1575), rather than a PATCH on the
resource. This matches the doctl implementation.

Co-authored-by: Cursor <cursoragent@cursor.com>

* MDROP-22: ForceNew on nested auto_pause fields

Nested enabled/idle_timeout weren't ForceNew, so edits inside an
existing auto_pause block produced RequiresNew=false plans that the
Update path silently swallowed (no API endpoint mutates auto_pause
in place). Users tuning idle_timeout or disabling auto-pause hit a
perpetual diff.

Extend RecreateOnAutoPauseChange to cover idle_timeout 5m->10m and
enabled true->false so the guard has regression coverage.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 19:24:02 +05:30
.github changed goreleaser version to v2.14.3 (#1522) 2026-04-15 15:08:01 +05:30
digitalocean MDROP-22: add terraform support for microdroplets (#1578) 2026-07-29 19:24:02 +05:30
docs MDROP-22: add terraform support for microdroplets (#1578) 2026-07-29 19:24:02 +05:30
examples MDROP-22: add terraform support for microdroplets (#1578) 2026-07-29 19:24:02 +05:30
internal Simplify code with maps.Copy and slices.Contains (#1469) 2025-12-04 17:53:10 +05:30
scripts automate release process (#1442) 2025-09-23 22:00:53 +05:30
vendor bump godo ==> v1.200.0 (#1575) 2026-07-23 16:41:51 +05:30
.gitignore Remove .go-version and add to .gitignore (#958) 2023-03-08 10:12:54 -06:00
.golangci.yml Re-introduce d.GetOkExists usage. (#1249) 2024-10-16 11:16:12 -04:00
.goreleaser.yml https://do-internal.atlassian.net/browse/APICLI-4258 - Reverted go version to 1.23 (to enable support for windows/arm32) and the dependencies version (#1520) 2026-04-15 01:24:22 +05:30
CHANGELOG.md MDROP-22: add terraform support for microdroplets (#1578) 2026-07-29 19:24:02 +05:30
CONTRIBUTING.md automate release process (#1442) 2025-09-23 22:00:53 +05:30
GNUmakefile https://do-internal.atlassian.net/browse/APICLI-4258 - Reverted go version to 1.23 (to enable support for windows/arm32) and the dependencies version (#1520) 2026-04-15 01:24:22 +05:30
go.mod bump godo ==> v1.200.0 (#1575) 2026-07-23 16:41:51 +05:30
go.sum bump godo ==> v1.200.0 (#1575) 2026-07-23 16:41:51 +05:30
LICENSE initial commit 2017-06-05 20:54:06 +00:00
main.go upgrade provider to use terraform-plugin-sdk v2 (#492) 2020-10-16 15:50:20 -04:00
README.md [documentation]: update requirements in readme (#1245) 2024-10-18 12:41:17 -04:00

DigitalOcean Terraform Provider

Requirements

  • Terraform 0.10+
  • Go 1.14+ (to build the provider plugin)

Building The Provider

Clone repository to: $GOPATH/src/github.com/digitalocean/terraform-provider-digitalocean

$ mkdir -p $GOPATH/src/github.com/digitalocean; cd $GOPATH/src/github.com/digitalocean
$ git clone git@github.com:digitalocean/terraform-provider-digitalocean

Enter the provider directory and build the provider

$ cd $GOPATH/src/github.com/digitalocean/terraform-provider-digitalocean
$ make build

Using the provider

See the DigitalOcean Provider documentation to get started using the DigitalOcean provider.

Developing the Provider

See CONTRIBUTING.md for information about contributing to this project.