func()

in internal/provider/bitbucketserver_connection_resource.go [203:258]


func (r *bitbucketServerConnectionResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) {
	// Retrieve values from plan
	var plan bitbucketServerConnectionResourceModel
	diags := req.Plan.Get(ctx, &plan)
	resp.Diagnostics.Append(diags...)
	if resp.Diagnostics.HasError() {
		return
	}

	// Generate API request body from plan
	id, err := strconv.Atoi(plan.ID.ValueString())
	if err != nil {
		resp.Diagnostics.AddError(
			"Error updating bitbucketserverconnection",
			"Could not update bitbucketserverconnection, unexpected error: "+err.Error(),
		)
		return
	}
	var bitbucketServerConnectionUpdate = client.BitbucketServerConnection{
		ID:               id,
		CreatedAt:        plan.CreatedAt.ValueString(),
		Endpoint:         plan.Endpoint.ValueString(),
		Name:             plan.Name.ValueString(),
		Password:         plan.Password.ValueString(),
		Proxy:            plan.Proxy.ValueString(),
		RateLimitPerHour: int(plan.RateLimitPerHour.ValueInt64()),
		UpdatedAt:        time.Now().Format(time.RFC850),
		Username:         plan.Username.ValueString(),
	}

	// Update existing order
	updatedBitbucketServerConnection, err := r.client.UpdateBitbucketServerConnection(plan.ID.ValueString(), bitbucketServerConnectionUpdate)
	if err != nil {
		resp.Diagnostics.AddError(
			"Error updating bitbucketserverconnection",
			"Could not update bitbucketserverconnection, unexpected error: "+err.Error(),
		)
		return
	}

	plan.ID = types.StringValue(strconv.Itoa(updatedBitbucketServerConnection.ID))
	plan.LastUpdated = types.StringValue(time.Now().Format(time.RFC850))
	plan.CreatedAt = types.StringValue(updatedBitbucketServerConnection.CreatedAt)
	plan.Endpoint = types.StringValue(updatedBitbucketServerConnection.Endpoint)
	plan.Name = types.StringValue(updatedBitbucketServerConnection.Name)
	plan.Proxy = types.StringValue(updatedBitbucketServerConnection.Proxy)
	plan.RateLimitPerHour = types.Int64Value(int64(updatedBitbucketServerConnection.RateLimitPerHour))
	plan.UpdatedAt = types.StringValue(updatedBitbucketServerConnection.UpdatedAt)
	plan.Username = types.StringValue(updatedBitbucketServerConnection.Username)

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