softplayer-backend/internal/providers/common.go

26 lines
594 B
Go
Raw Normal View History

2024-04-29 16:28:13 +00:00
package providers
import (
"fmt"
proto "git.badhouseplants.net/softplayer/softplayer-go-proto/pkg/environments"
)
type Providers interface {
2024-04-29 18:03:37 +00:00
GetProviderName() string
RawProviderName() string
GetServerType(string) (string, error)
2024-04-29 16:28:13 +00:00
GetServerLocation(string) (string, error)
2024-04-29 18:03:37 +00:00
RawServerType(string) (string, error)
RawServerLocation(string) (string, error)
2024-04-29 16:28:13 +00:00
}
func GetProvider(provider proto.Provider) (Providers, error) {
switch provider {
case proto.Provider_PROVIDER_HETZNER:
return &Hetzner{}, nil
default:
return nil, fmt.Errorf("unknown provider: %s", provider.String())
}
}