func()

in teamcity/project.go [73:109]


func (r *projectResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) {
	var plan models.ProjectResourceModel
	diags := req.Plan.Get(ctx, &plan)
	resp.Diagnostics.Append(diags...)
	if resp.Diagnostics.HasError() {
		return
	}

	project := models.ProjectJson{
		Name: plan.Name.ValueString(),
	}
	if !plan.Id.IsUnknown() {
		val := plan.Id.ValueString()
		project.Id = &val
	}
	if !plan.ParentProjectId.IsUnknown() {
		parentProjectId := plan.ParentProjectId.ValueString()
		project.ParentProject = &models.ProjectJson{Id: &parentProjectId}
	}

	result, err := r.client.NewProject(project)
	if err != nil {
		resp.Diagnostics.AddError(
			fmt.Sprintf("Error setting project: %s", project.Name),
			"Cannot set project, unexpected error: "+err.Error(),
		)
		return
	}

	newState := r.convertToResource(result)

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