From 8d37fc48e4328e925c1fa95e9708a4e88c5518bd Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 8 Sep 2026 01:50:58 +0000 Subject: [PATCH 1/2] Add ARM VTGate size mappings Co-authored-by: Max Englander --- internal/cmd/branch/vtgate.go | 31 ++++++++++++++++++++---------- internal/cmd/branch/vtgate_test.go | 2 ++ 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/internal/cmd/branch/vtgate.go b/internal/cmd/branch/vtgate.go index 5cebfcaf..cd15970f 100644 --- a/internal/cmd/branch/vtgate.go +++ b/internal/cmd/branch/vtgate.go @@ -16,20 +16,31 @@ import ( var knownVTGateSizes = []string{ "VTG_DEV", "VTG_5", "VTG_10", "VTG_20", "VTG_40", "VTG_80", "VTG_320", "VTG_640", "VTG_1280", "VTG_2560", + "VTG_5_ARM", "VTG_10_ARM", "VTG_20_ARM", "VTG_40_ARM", + "VTG_80_ARM", "VTG_320_ARM", "VTG_640_ARM", "VTG_1280_ARM", "VTG_2560_ARM", } // vtgateInternalToName maps API-internal VTGate sizes to public SKU names. var vtgateInternalToName = map[string]string{ - "vg.g1.pico": "VTG_DEV", - "vg.c1.nano": "VTG_5", - "vg.c1.micro": "VTG_10", - "vg.c1.small": "VTG_20", - "vg.c1.medium": "VTG_40", - "vg.c1.large": "VTG_80", - "vg.c1.xlarge": "VTG_320", - "vg.c1.2xlarge": "VTG_640", - "vg.c1.4xlarge": "VTG_1280", - "vg.c1.8xlarge": "VTG_2560", + "vg.g1.pico": "VTG_DEV", + "vg.c1.nano": "VTG_5", + "vg.c1.micro": "VTG_10", + "vg.c1.small": "VTG_20", + "vg.c1.medium": "VTG_40", + "vg.c1.large": "VTG_80", + "vg.c1.xlarge": "VTG_320", + "vg.c1.2xlarge": "VTG_640", + "vg.c1.4xlarge": "VTG_1280", + "vg.c1.8xlarge": "VTG_2560", + "vg.c1.arm64.nano": "VTG_5_ARM", + "vg.c1.arm64.micro": "VTG_10_ARM", + "vg.c1.arm64.small": "VTG_20_ARM", + "vg.c1.arm64.medium": "VTG_40_ARM", + "vg.c1.arm64.large": "VTG_80_ARM", + "vg.c1.arm64.xlarge": "VTG_320_ARM", + "vg.c1.arm64.2xlarge": "VTG_640_ARM", + "vg.c1.arm64.4xlarge": "VTG_1280_ARM", + "vg.c1.arm64.8xlarge": "VTG_2560_ARM", } type branchVTGateConfig struct { diff --git a/internal/cmd/branch/vtgate_test.go b/internal/cmd/branch/vtgate_test.go index 9941669b..abc5c862 100644 --- a/internal/cmd/branch/vtgate_test.go +++ b/internal/cmd/branch/vtgate_test.go @@ -244,9 +244,11 @@ func TestBranch_VtgateShowCmd_PendingUsesPreviousAutoscaling(t *testing.T) { func TestPublicVTGateName(t *testing.T) { c := qt.New(t) c.Assert(publicVTGateName("vg.c1.micro"), qt.Equals, "VTG_10") + c.Assert(publicVTGateName("vg.c1.arm64.micro"), qt.Equals, "VTG_10_ARM") c.Assert(publicVTGateName("VTG_320"), qt.Equals, "VTG_320") c.Assert(publicVTGateName("VTG-320"), qt.Equals, "VTG_320") c.Assert(publicVTGateName(""), qt.Equals, "") + c.Assert(knownVTGateSizes, qt.Contains, "VTG_10_ARM") } func TestBranch_VtgateResizeCmd_SizeOnly(t *testing.T) { From cf7263b5dfe93fb395bba5721c2b3dd4790d635a Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 8 Sep 2026 09:08:22 +0000 Subject: [PATCH 2/2] Map vg.g1.arm64.pico to public VTG_DEV_ARM Development ARM VTGate sizes now have a public SKU name matching the API billing mapping. Co-authored-by: Max Englander --- internal/cmd/branch/vtgate.go | 3 ++- internal/cmd/branch/vtgate_test.go | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/cmd/branch/vtgate.go b/internal/cmd/branch/vtgate.go index cd15970f..c74864c9 100644 --- a/internal/cmd/branch/vtgate.go +++ b/internal/cmd/branch/vtgate.go @@ -16,7 +16,7 @@ import ( var knownVTGateSizes = []string{ "VTG_DEV", "VTG_5", "VTG_10", "VTG_20", "VTG_40", "VTG_80", "VTG_320", "VTG_640", "VTG_1280", "VTG_2560", - "VTG_5_ARM", "VTG_10_ARM", "VTG_20_ARM", "VTG_40_ARM", + "VTG_DEV_ARM", "VTG_5_ARM", "VTG_10_ARM", "VTG_20_ARM", "VTG_40_ARM", "VTG_80_ARM", "VTG_320_ARM", "VTG_640_ARM", "VTG_1280_ARM", "VTG_2560_ARM", } @@ -32,6 +32,7 @@ var vtgateInternalToName = map[string]string{ "vg.c1.2xlarge": "VTG_640", "vg.c1.4xlarge": "VTG_1280", "vg.c1.8xlarge": "VTG_2560", + "vg.g1.arm64.pico": "VTG_DEV_ARM", "vg.c1.arm64.nano": "VTG_5_ARM", "vg.c1.arm64.micro": "VTG_10_ARM", "vg.c1.arm64.small": "VTG_20_ARM", diff --git a/internal/cmd/branch/vtgate_test.go b/internal/cmd/branch/vtgate_test.go index abc5c862..3ceb7871 100644 --- a/internal/cmd/branch/vtgate_test.go +++ b/internal/cmd/branch/vtgate_test.go @@ -244,10 +244,12 @@ func TestBranch_VtgateShowCmd_PendingUsesPreviousAutoscaling(t *testing.T) { func TestPublicVTGateName(t *testing.T) { c := qt.New(t) c.Assert(publicVTGateName("vg.c1.micro"), qt.Equals, "VTG_10") + c.Assert(publicVTGateName("vg.g1.arm64.pico"), qt.Equals, "VTG_DEV_ARM") c.Assert(publicVTGateName("vg.c1.arm64.micro"), qt.Equals, "VTG_10_ARM") c.Assert(publicVTGateName("VTG_320"), qt.Equals, "VTG_320") c.Assert(publicVTGateName("VTG-320"), qt.Equals, "VTG_320") c.Assert(publicVTGateName(""), qt.Equals, "") + c.Assert(knownVTGateSizes, qt.Contains, "VTG_DEV_ARM") c.Assert(knownVTGateSizes, qt.Contains, "VTG_10_ARM") }