internal/provider/provider_mux.go (23 lines of code) (raw):

package provider import ( "context" "github.com/hashicorp/terraform-plugin-framework/providerserver" "github.com/hashicorp/terraform-plugin-go/tfprotov6" "github.com/hashicorp/terraform-plugin-mux/tf6muxserver" "gitlab.com/gitlab-org/terraform-provider-gitlab/internal/provider/sdk" ) func NewMuxedProviderServer(ctx context.Context, version string) (func() tfprotov6.ProviderServer, error) { sdkProvider, err := sdk.NewV6(ctx, version) if err != nil { return nil, err } providers := []func() tfprotov6.ProviderServer{ // SDKv2 provider server func() tfprotov6.ProviderServer { return sdkProvider }, // Framework provider server providerserver.NewProtocol6(New(version)()), } muxServer, err := tf6muxserver.NewMuxServer(ctx, providers...) if err != nil { return nil, err } return muxServer.ProviderServer, nil }