in teamcity/group.go [160:194]
func (r *groupResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) {
var oldState groupResourceModel
diags := req.State.Get(ctx, &oldState)
resp.Diagnostics.Append(diags...)
if resp.Diagnostics.HasError() {
return
}
actual, err := r.client.GetGroup(oldState.Id.ValueString())
if err != nil {
resp.Diagnostics.AddError(
"Error Reading group",
err.Error(),
)
return
}
if actual == nil {
resp.State.RemoveResource(ctx)
return
}
newState := r.readState(actual)
// Only set the key if it was explicitly set before
if oldState.Key.IsNull() {
newState.Key = types.StringNull()
}
diags = resp.State.Set(ctx, newState)
resp.Diagnostics.Append(diags...)
if resp.Diagnostics.HasError() {
return
}
}