//go:build intergration

package ft

import (
	"os"

	"sigs.k8s.io/yaml"
)

type Config struct {
	FTConfig `json:",inline"`

	ResourceLabels map[string]string `json:"resourceLabels,omitempty"`
}

type FTConfig struct {
	Provider       string   `json:"provider"`
	Region         string   `json:"region"`
	ServerURL      string   `json:"serverURL"`
	Namespace      string   `json:"namespace"`
	RoleName       string   `json:"roleName"`
	DefaultAccount string   `json:"defaultAccount"`
	AccountIDList  []string `json:"accountIDList"`
}

func LoadConfig(path string) (*Config, error) {
	data, err := os.ReadFile(path)
	if err != nil {
		return nil, err
	}

	var config Config
	if err := yaml.Unmarshal(data, &config); err != nil {
		return nil, err
	}
	return &config, nil
}
