diff --git a/terraform/resource_provider.go b/terraform/resource_provider.go index 99eedb6f5..dfbed2940 100644 --- a/terraform/resource_provider.go +++ b/terraform/resource_provider.go @@ -129,6 +129,10 @@ func (c *ResourceConfig) Get(k string) (interface{}, bool) { // raw configuration itself, since a key may be omitted from the raw // configuration if it is being computed. func (c *ResourceConfig) IsSet(k string) bool { + if c == nil { + return false + } + for _, ck := range c.ComputedKeys { if ck == k { return true diff --git a/terraform/resource_provider_test.go b/terraform/resource_provider_test.go index 61478d49e..f2952c192 100644 --- a/terraform/resource_provider_test.go +++ b/terraform/resource_provider_test.go @@ -167,3 +167,11 @@ func TestResourceConfig_IsSet(t *testing.T) { } } } + +func TestResourceConfig_IsSet_nil(t *testing.T) { + var rc *ResourceConfig + + if rc.IsSet("foo") { + t.Fatal("bad") + } +}