func()

in teamcity/user.go [157:193]


func (r *userResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) {
	var oldState userResourceModel
	diags := req.State.Get(ctx, &oldState)
	resp.Diagnostics.Append(diags...)
	if resp.Diagnostics.HasError() {
		return
	}

	var actual *client.User
	var err error
	if oldState.Id.IsNull() != true {
		actual, err = r.client.GetUser(oldState.Id.ValueString())
	} else {
		actual, err = r.client.GetUserByName(oldState.Username.ValueString())
	}
	if err != nil {
		resp.Diagnostics.AddError(
			"Error Reading user",
			"Could not read user settings: "+err.Error(),
		)
		return
	}

	if actual == nil {
		resp.State.RemoveResource(ctx)
		return
	}

	newState := r.readState(actual)
	newState.Password = oldState.Password

	diags = resp.State.Set(ctx, newState)
	resp.Diagnostics.Append(diags...)
	if resp.Diagnostics.HasError() {
		return
	}
}