func()

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
	}
}