Skip to content

Commit 81293ea

Browse files
authored
Fix missing registered_model_id attribute in databricks_mlflow_model resource (#2732)
This attribute was lost during refactoring in #2257, and it broke assignment of permissions. Also expanded corresponding integration test to have check for that This fixes #2730
1 parent 33d98fb commit 81293ea

File tree

3 files changed

+21
-12
lines changed

3 files changed

+21
-12
lines changed

internal/acceptance/mlflow_model_test.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,14 @@ func TestAccMLflowModel(t *testing.T) {
1616
value = "{var.RANDOM}"
1717
}
1818
}
19+
20+
resource "databricks_permissions" "mlflow_model_permissions" {
21+
registered_model_id = databricks_mlflow_model.m1.registered_model_id
22+
access_control {
23+
group_name = "users"
24+
permission_level = "CAN_READ"
25+
}
26+
}
1927
`,
2028
})
2129
}

mlflow/resource_mlflow_model.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ func ResourceMlflowModel() *schema.Resource {
1818
Required: true,
1919
ForceNew: true,
2020
}
21+
s["registered_model_id"] = &schema.Schema{
22+
Computed: true,
23+
Type: schema.TypeString,
24+
}
2125
return s
2226
})
2327

@@ -40,7 +44,6 @@ func ResourceMlflowModel() *schema.Resource {
4044
return err
4145
}
4246
d.SetId(model.RegisteredModelDatabricks.Name)
43-
d.Set("registered_model_id", model.RegisteredModelDatabricks.Id) // alias
4447
return nil
4548
},
4649
Read: func(ctx context.Context, d *schema.ResourceData, c *common.DatabricksClient) error {
@@ -55,7 +58,12 @@ func ResourceMlflowModel() *schema.Resource {
5558
if err != nil {
5659
return err
5760
}
58-
return common.StructToData(res, s, d)
61+
err = common.StructToData(res, s, d)
62+
if err != nil {
63+
return err
64+
}
65+
d.Set("registered_model_id", res.RegisteredModelDatabricks.Id) // alias
66+
return nil
5967
},
6068
Update: func(ctx context.Context, d *schema.ResourceData, c *common.DatabricksClient) error {
6169
w, err := c.WorkspaceClient()

mlflow/resource_mlflow_model_test.go

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,25 +39,18 @@ func TestModelCreateMVP(t *testing.T) {
3939
Response: ml.GetModelResponse{
4040
RegisteredModelDatabricks: &ml.ModelDatabricks{
4141
Name: "xyz",
42+
Id: "123",
4243
},
4344
},
44-
},
45-
{
46-
Method: "GET",
47-
Resource: "/api/2.0/mlflow/databricks/registered-models/get?name=xyz",
48-
Response: ml.GetModelResponse{
49-
RegisteredModelDatabricks: &ml.ModelDatabricks{
50-
Name: "xyz",
51-
},
52-
},
45+
ReuseRequest: true,
5346
},
5447
},
5548
Resource: ResourceMlflowModel(),
5649
Create: true,
5750
HCL: `
5851
name = "xyz"
5952
`,
60-
}.ApplyNoError(t)
53+
}.ApplyAndExpectData(t, map[string]any{"id": "xyz", "registered_model_id": "123"})
6154
}
6255

6356
func TestModelCreateWithTags(t *testing.T) {

0 commit comments

Comments
 (0)