From 08e42ba1f705fb3f5c59522f94d01ea09c56d879 Mon Sep 17 00:00:00 2001 From: artaasadi Date: Mon, 8 Jul 2024 15:07:34 +0200 Subject: [PATCH] fix: show preemptible state --- plugin/preferences/default.go | 1 + .../compute_instance/compute_instance_item.go | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/plugin/preferences/default.go b/plugin/preferences/default.go index e3e3708..b439d2e 100644 --- a/plugin/preferences/default.go +++ b/plugin/preferences/default.go @@ -14,6 +14,7 @@ var DefaultComputeEnginePreferences = []*golang.PreferenceItem{ {Service: "ComputeInstance", Key: "CPUBreathingRoom", IsNumber: true, Value: wrapperspb.String("10"), PreventPinning: true, Unit: "%"}, {Service: "ComputeInstance", Key: "MemoryBreathingRoom", IsNumber: true, Value: wrapperspb.String("10"), PreventPinning: true, Unit: "%"}, {Service: "ComputeInstance", Key: "ExcludeUpsizingFeature", Value: wrapperspb.String("Yes"), PreventPinning: true, PossibleValues: []string{"No", "Yes"}}, + {Service: "ComputeInstance", Key: "ProvisioningModel", Pinned: true, PossibleValues: []string{"Standard", "Spot"}}, {Service: "ComputeDisk", Key: "DiskType"}, {Service: "ComputeDisk", Key: "DiskSizeGb", IsNumber: true, Unit: "GiB"}, diff --git a/plugin/processor/compute_instance/compute_instance_item.go b/plugin/processor/compute_instance/compute_instance_item.go index 07973cf..79e205f 100644 --- a/plugin/processor/compute_instance/compute_instance_item.go +++ b/plugin/processor/compute_instance/compute_instance_item.go @@ -54,6 +54,7 @@ func (i ComputeInstanceItem) ComputeInstanceDevice() (*golang.ChartRow, map[stri } RegionProperty := &golang.Property{Key: "Region"} + ProvisioningModelProperty := &golang.Property{Key: "Provisioning Model"} MachineTypeProperty := &golang.Property{Key: "Machine Type"} MachineFamilyProperty := &golang.Property{Key: "Machine Family"} CPUProperty := &golang.Property{Key: " CPU"} @@ -61,6 +62,11 @@ func (i ComputeInstanceItem) ComputeInstanceDevice() (*golang.ChartRow, map[stri if i.Wastage != nil { RegionProperty.Current = i.Wastage.Rightsizing.Current.Region + provisioningModel := "Standard" + if i.Wastage.Rightsizing.Current.Preemptible { + provisioningModel = "Preemptible" + } + ProvisioningModelProperty.Current = provisioningModel MachineTypeProperty.Current = i.Wastage.Rightsizing.Current.MachineType MachineFamilyProperty.Current = i.Wastage.Rightsizing.Current.MachineFamily @@ -88,6 +94,11 @@ func (i ComputeInstanceItem) ComputeInstanceDevice() (*golang.ChartRow, map[stri Value: utils.FormatPriceFloat(i.Wastage.Rightsizing.Current.Cost - i.Wastage.Rightsizing.Recommended.Cost), } RegionProperty.Recommended = i.Wastage.Rightsizing.Recommended.Region + provisioningModel := "Standard" + if i.Wastage.Rightsizing.Recommended.Preemptible { + provisioningModel = "Preemptible" + } + ProvisioningModelProperty.Recommended = provisioningModel MachineTypeProperty.Recommended = i.Wastage.Rightsizing.Recommended.MachineType CPUProperty.Recommended = fmt.Sprintf("%d", i.Wastage.Rightsizing.Recommended.Cpu) MemoryProperty.Recommended = fmt.Sprintf("%d MB", i.Wastage.Rightsizing.Recommended.MemoryMb) @@ -99,6 +110,7 @@ func (i ComputeInstanceItem) ComputeInstanceDevice() (*golang.ChartRow, map[stri properties.Properties = append(properties.Properties, RegionProperty) properties.Properties = append(properties.Properties, MachineTypeProperty) properties.Properties = append(properties.Properties, MachineFamilyProperty) + properties.Properties = append(properties.Properties, ProvisioningModelProperty) properties.Properties = append(properties.Properties, &golang.Property{ Key: "Compute", })