mirror of
https://github.com/opentofu/opentofu.git
synced 2025-02-20 11:48:24 -06:00
It's alive! CustomizeDiff logic now has been inserted into the diff process. The test_resource_with_custom_diff resource provides some basic testing and a reference implementation. There should now be plenty of test coverage for this feature via the tests added for ResourceDiff, and the basic test added to the schemaMap.Diff test, and the test resource, but more can be added to test any specific case that comes up otherwise.
35 lines
1023 B
Go
35 lines
1023 B
Go
package test
|
|
|
|
import (
|
|
"github.com/hashicorp/terraform/helper/schema"
|
|
"github.com/hashicorp/terraform/terraform"
|
|
)
|
|
|
|
func Provider() terraform.ResourceProvider {
|
|
return &schema.Provider{
|
|
Schema: map[string]*schema.Schema{
|
|
// Optional attribute to label a particular instance for a test
|
|
// that has multiple instances of this provider, so that they
|
|
// can be distinguished using the test_provider_label data source.
|
|
"label": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
},
|
|
},
|
|
ResourcesMap: map[string]*schema.Resource{
|
|
"test_resource": testResource(),
|
|
"test_resource_gh12183": testResourceGH12183(),
|
|
"test_resource_with_custom_diff": testResourceCustomDiff(),
|
|
},
|
|
DataSourcesMap: map[string]*schema.Resource{
|
|
"test_data_source": testDataSource(),
|
|
"test_provider_label": providerLabelDataSource(),
|
|
},
|
|
ConfigureFunc: providerConfigure,
|
|
}
|
|
}
|
|
|
|
func providerConfigure(d *schema.ResourceData) (interface{}, error) {
|
|
return d.Get("label"), nil
|
|
}
|