Closed yamamoto-febc closed 2 years ago
参考: usacloudでは以下のように表示している。
func userFriendlyPriceString(value interface{}) string {
if value == nil {
return ""
}
v, ok := value.(*sacloud.Price)
if !ok {
return ""
}
var results []string
if v.Base > 0 {
results = append(results, fmt.Sprintf("Base:%d", v.Base))
}
if v.Daily > 0 {
results = append(results, fmt.Sprintf("Daily:%d", v.Daily))
}
if v.Hourly > 0 {
results = append(results, fmt.Sprintf("Hourly:%d", v.Hourly))
}
if v.Monthly > 0 {
results = append(results, fmt.Sprintf("Monthly:%d", v.Monthly))
}
if v.PerUse > 0 {
results = append(results, fmt.Sprintf("PerUse:%d", v.PerUse))
}
if v.Basic > 0 {
results = append(results, fmt.Sprintf("Basic:%d", v.Basic))
}
if v.Traffic > 0 {
results = append(results, fmt.Sprintf("Traffic:%d", v.Traffic))
}
if v.DocomoTraffic > 0 {
results = append(results, fmt.Sprintf("DocomoTraffic:%d", v.DocomoTraffic))
}
if v.KddiTraffic > 0 {
results = append(results, fmt.Sprintf("KddiTraffic:%d", v.KddiTraffic))
}
if v.SbTraffic > 0 {
results = append(results, fmt.Sprintf("SbTraffic:%d", v.SbTraffic))
}
if v.SimSheet > 0 {
results = append(results, fmt.Sprintf("SimSheet:%d", v.SimSheet))
}
if v.Zone != "" {
results = append(results, fmt.Sprintf("Zone:%s", v.Zone))
}
return strings.Join(results, " / ")
}
iaas-api-goの移行に伴いクローズ。必要であればiaas-api-go側で別途オープンする。
related #550
service/serviceclass
(価格表)のPrice
をうまく表示する方法が欲しい。現在は以下のように定義されている。
Price
のどの項目が価格を表しているのかがそれぞれによって異なるため、利用者側で適切なPriceのフィールドを選ばないといけない。