From ee5c1e24b479d0bc902a6e2825949911b6b08621 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20L=C3=A9one?= Date: Thu, 9 Mar 2023 18:03:22 +0100 Subject: [PATCH] feat(elastic-metal): add color for offer availability --- internal/namespaces/baremetal/v1/custom.go | 1 + internal/namespaces/baremetal/v1/custom_offer.go | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 internal/namespaces/baremetal/v1/custom_offer.go 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"}, + } +)