diff --git a/helper/schema/provider.go b/helper/schema/provider.go index 10aa24951..2e3b22e59 100644 --- a/helper/schema/provider.go +++ b/helper/schema/provider.go @@ -2,6 +2,7 @@ package schema import ( "fmt" + "sort" "github.com/hashicorp/terraform/terraform" ) @@ -65,8 +66,14 @@ func (p *Provider) Configure(c *terraform.ResourceConfig) error { // Resources implementation of terraform.ResourceProvider interface. func (p *Provider) Resources() []terraform.ResourceType { - result := make([]terraform.ResourceType, 0, len(p.ResourcesMap)) + keys := make([]string, 0, len(p.ResourcesMap)) for k, _ := range p.ResourcesMap { + keys = append(keys, k) + } + sort.Strings(keys) + + result := make([]terraform.ResourceType, 0, len(keys)) + for _, k := range keys { result = append(result, terraform.ResourceType{ Name: k, }) diff --git a/helper/schema/provider_test.go b/helper/schema/provider_test.go index 9d86e2ad0..217deeb57 100644 --- a/helper/schema/provider_test.go +++ b/helper/schema/provider_test.go @@ -99,8 +99,8 @@ func TestProviderResources(t *testing.T) { }, }, Result: []terraform.ResourceType{ - terraform.ResourceType{Name: "foo"}, terraform.ResourceType{Name: "bar"}, + terraform.ResourceType{Name: "foo"}, }, }, }