in teamcity/versioned_settings.go [164:212]
func (r *versionedSettingsResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) {
var plan models.VersionedSettingsModel
diags := req.Plan.Get(ctx, &plan)
resp.Diagnostics.Append(diags...)
if resp.Diagnostics.HasError() {
return
}
var oldState models.VersionedSettingsModel
diags = req.State.Get(ctx, &oldState)
resp.Diagnostics.Append(diags...)
if resp.Diagnostics.HasError() {
return
}
var newState models.VersionedSettingsModel
projectId := plan.ProjectId.ValueString()
newState.ProjectId = plan.ProjectId
if result, ok := r.setPropertyString(projectId, "vcsRootId", oldState.VcsRoot, plan.VcsRoot, &resp.Diagnostics); ok {
newState.VcsRoot = result
} else {
return
}
if result, ok := r.setPropertyBool(projectId, "allowUIEditing", oldState.AllowUIEditing, plan.AllowUIEditing, &resp.Diagnostics); ok {
newState.AllowUIEditing = result
} else {
return
}
if result, ok := r.setPropertyString(projectId, "buildSettingsMode", oldState.Settings, plan.Settings, &resp.Diagnostics); ok {
newState.Settings = result
} else {
return
}
if result, ok := r.setPropertyBool(projectId, "showSettingsChanges", oldState.ShowChanges, plan.ShowChanges, &resp.Diagnostics); ok {
newState.ShowChanges = result
} else {
return
}
diags = resp.State.Set(ctx, newState)
resp.Diagnostics.Append(diags...)
if resp.Diagnostics.HasError() {
return
}
}