diff --git a/internal/namespaces/baremetal/v1/custom.go b/internal/namespaces/baremetal/v1/custom.go index ca2a955b24..7cfe0790ec 100644 --- a/internal/namespaces/baremetal/v1/custom.go +++ b/internal/namespaces/baremetal/v1/custom.go @@ -14,6 +14,7 @@ func GetCommands() *core.Commands { )) human.RegisterMarshalerFunc(baremetal.ServerPingStatus(""), human.EnumMarshalFunc(serverPingStatusMarshalSpecs)) + human.RegisterMarshalerFunc(baremetal.OfferStock(""), human.EnumMarshalFunc(offerAvailabilityMarshalSpecs)) cmds.MustFind("baremetal", "server", "create").Override(serverCreateBuilder) cmds.MustFind("baremetal", "server", "install").Override(serverInstallBuilder) diff --git a/internal/namespaces/baremetal/v1/custom_offer.go b/internal/namespaces/baremetal/v1/custom_offer.go new file mode 100644 index 0000000000..b94a6c00af --- /dev/null +++ b/internal/namespaces/baremetal/v1/custom_offer.go @@ -0,0 +1,15 @@ +package baremetal + +import ( + "github.com/fatih/color" + "github.com/scaleway/scaleway-cli/v2/internal/human" + "github.com/scaleway/scaleway-sdk-go/api/baremetal/v1" +) + +var ( + offerAvailabilityMarshalSpecs = human.EnumMarshalSpecs{ + baremetal.OfferStockEmpty: &human.EnumMarshalSpec{Attribute: color.FgRed, Value: "empty"}, + baremetal.OfferStockLow: &human.EnumMarshalSpec{Attribute: color.FgYellow, Value: "low"}, + baremetal.OfferStockAvailable: &human.EnumMarshalSpec{Attribute: color.FgGreen, Value: "available"}, + } +)