package models

import "github.com/tidbcloud/infra-provider/regional-server/pkg/common/constants"

type ServiceInfo struct {
	ServerName  string            `json:"serverName"`
	Port        int               `json:"port"`
	MetricsPort int               `json:"metricsPort"`
	Vendor      string            `json:"vendor"`
	Region      string            `json:"region"`
	Env         string            `json:"env"`
	EnableHttps bool              `json:"enableHttps"`
	Development bool              `json:"development"`
	Certificate CertificateInfo   `json:"certificate"`
	AccountInfo AccountInfoConfig `json:"accountInfo"`
}

type AccountInfoConfig struct {
	OidcARN string `json:"oidc-arn" yaml:"oidc-arn"`
	Oidc    string `json:"oidc" yaml:"oidc"`
	Env     string `json:"env" yaml:"env"`
	Project string `json:"project" yaml:"project"`
	Account string `json:"account" yaml:"account"`
	Region  string `json:"region" yaml:"region"`
}

type CommonReqInfo struct {
	Vendor constants.ProvidedVendor `json:"vendor" form:"vendor" validate:"required,max=16"`
	Region string                   `json:"region" form:"region" validate:"required,max=16"`
}

type CertificateInfo struct {
	CrtFilePath string
	KeyFilePath string
}

type VPCInfo struct {
}
