Skip to content

Commit 909613a

Browse files
committed
Suppress diff for databricks_user.external_id
Fixes #1097
1 parent b39c839 commit 909613a

File tree

3 files changed

+37
-2
lines changed

3 files changed

+37
-2
lines changed

CHANGELOG.md

+6-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,12 @@
55
* Prevent creation of `databricks_group` with `users` and `admins` reserved names ([#1089](https://github.com/databrickslabs/terraform-provider-databricks/issues/1089)).
66
* Added support for shared clusters in multi-task `databricks_job` ([#1082](https://github.com/databrickslabs/terraform-provider-databricks/issues/1082)).
77
* Added diff suppression for `external_id` in `databricks_group` ([#1099](https://github.com/databrickslabs/terraform-provider-databricks/issues/1099)).
8-
* Various documentation improvements.
8+
* Added diff suppression for `external_id` in `databricks_user` ([#1097](https://github.com/databrickslabs/terraform-provider-databricks/issues/1097)).
9+
* Added various documentation improvements.
10+
11+
Updated dependency versions:
12+
13+
* Bump google.golang.org/api from 0.66.0 to 0.67.0
914

1015
## 0.4.8
1116

scim/acceptance/resource_user_test.go

+30
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,45 @@
11
package acceptance
22

33
import (
4+
"context"
45
"os"
56
"testing"
67

8+
"github.com/databrickslabs/terraform-provider-databricks/common"
79
"github.com/databrickslabs/terraform-provider-databricks/internal/acceptance"
10+
"github.com/databrickslabs/terraform-provider-databricks/scim"
11+
"github.com/stretchr/testify/assert"
812

913
"github.com/databrickslabs/terraform-provider-databricks/qa"
1014
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
1115
)
1216

17+
// https://github.com/databrickslabs/terraform-provider-databricks/issues/1097
18+
func TestAccForceUserImport(t *testing.T) {
19+
if _, ok := os.LookupEnv("CLOUD_ENV"); !ok {
20+
t.Skip("Acceptance tests skipped unless env 'CLOUD_ENV' is set")
21+
}
22+
username := qa.RandomEmail()
23+
os.Setenv("TEST_USERNAME", username)
24+
ctx := context.Background()
25+
client := common.CommonEnvironmentClient()
26+
usersAPI := scim.NewUsersAPI(ctx, client)
27+
user, err := usersAPI.Create(scim.User{
28+
UserName: username,
29+
ExternalID: qa.RandomName("ext-id"),
30+
})
31+
assert.NoError(t, err)
32+
defer usersAPI.Delete(user.ID)
33+
acceptance.Test(t, []acceptance.Step{
34+
{
35+
Template: `resource "databricks_user" "this" {
36+
user_name = "{env.TEST_USERNAME}"
37+
force = true
38+
}`,
39+
},
40+
})
41+
}
42+
1343
func TestAccUserResource(t *testing.T) {
1444
if _, ok := os.LookupEnv("CLOUD_ENV"); !ok {
1545
t.Skip("Acceptance tests skipped unless env 'CLOUD_ENV' is set")

scim/resource_user.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ func ResourceUser() *schema.Resource {
1616
UserName string `json:"user_name" tf:"force_new"`
1717
DisplayName string `json:"display_name,omitempty" tf:"computed"`
1818
Active bool `json:"active,omitempty"`
19-
ExternalID string `json:"external_id,omitempty"`
19+
ExternalID string `json:"external_id,omitempty" tf:"suppress_diff"`
2020
}
2121
userSchema := common.StructToSchema(entity{},
2222
func(m map[string]*schema.Schema) map[string]*schema.Schema {

0 commit comments

Comments
 (0)