diff --git a/builtin/providers/digitalocean/resource_digitalocean_droplet.go b/builtin/providers/digitalocean/resource_digitalocean_droplet.go index 4dbb77ab73d6..ef25b0074137 100644 --- a/builtin/providers/digitalocean/resource_digitalocean_droplet.go +++ b/builtin/providers/digitalocean/resource_digitalocean_droplet.go @@ -100,6 +100,7 @@ func resourceDigitalOceanDroplet() *schema.Resource { "user_data": &schema.Schema{ Type: schema.TypeString, Optional: true, + ForceNew: true, }, }, } diff --git a/builtin/providers/digitalocean/resource_digitalocean_droplet_test.go b/builtin/providers/digitalocean/resource_digitalocean_droplet_test.go index 730718c3f45f..7f85034cb3d4 100644 --- a/builtin/providers/digitalocean/resource_digitalocean_droplet_test.go +++ b/builtin/providers/digitalocean/resource_digitalocean_droplet_test.go @@ -71,6 +71,36 @@ func TestAccDigitalOceanDroplet_Update(t *testing.T) { }) } +func TestAccDigitalOceanDroplet_UpdateUserData(t *testing.T) { + var droplet godo.Droplet + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckDigitalOceanDropletDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testAccCheckDigitalOceanDropletConfig_basic, + Check: resource.ComposeTestCheckFunc( + testAccCheckDigitalOceanDropletExists("digitalocean_droplet.foobar", &droplet), + testAccCheckDigitalOceanDropletAttributes(&droplet), + ), + }, + + resource.TestStep{ + Config: testAccCheckDigitalOceanDropletConfig_userdata_update, + Check: resource.ComposeTestCheckFunc( + testAccCheckDigitalOceanDropletExists("digitalocean_droplet.foobar", &droplet), + resource.TestCheckResourceAttr( + "digitalocean_droplet.foobar", + "user_data", + "foobar foobar"), + ), + }, + }, + }) +} + func TestAccDigitalOceanDroplet_PrivateNetworkingIpv6(t *testing.T) { var droplet godo.Droplet @@ -261,6 +291,16 @@ resource "digitalocean_droplet" "foobar" { } ` +const testAccCheckDigitalOceanDropletConfig_userdata_update = ` +resource "digitalocean_droplet" "foobar" { + name = "foo" + size = "512mb" + image = "centos-5-8-x32" + region = "nyc3" + user_data = "foobar foobar" +} +` + const testAccCheckDigitalOceanDropletConfig_RenameAndResize = ` resource "digitalocean_droplet" "foobar" { name = "baz"