in teamcity/project_param.go [99:138]
func (r *paramResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) {
var plan paramResourceModel
diags := req.Plan.Get(ctx, &plan)
resp.Diagnostics.Append(diags...)
if resp.Diagnostics.HasError() {
return
}
name := plan.Name.ValueString()
var err error
if isSecureParam(plan) {
err = r.client.SecureSetParam(plan.ProjectId.ValueString(), name, plan.Value.ValueString())
} else {
err = r.client.SetParam(plan.ProjectId.ValueString(), name, plan.Value.ValueString())
}
if err != nil {
resp.Diagnostics.AddError(
"Error adding project parameter",
err.Error(),
)
return
}
var newState paramResourceModel
newState.Id = types.StringValue(fmt.Sprintf("%s/%s", plan.ProjectId.ValueString(), plan.Name.ValueString()))
newState.ProjectId = plan.ProjectId
newState.Name = plan.Name
newState.Value = plan.Value
if plan.Type.IsNull() || plan.Type.ValueString() == "" {
newState.Type = types.StringValue(models.ParamTypeText)
} else {
newState.Type = plan.Type
}
diags = resp.State.Set(ctx, newState)
resp.Diagnostics.Append(diags...)
if resp.Diagnostics.HasError() {
return
}
}