From 9bc9e2193b3c8cb8aa24ed4bb697f8cd68093409 Mon Sep 17 00:00:00 2001 From: kpdhulipala <84343462+kpdhulipala@users.noreply.github.com> Date: Thu, 11 Sep 2025 23:40:24 -0700 Subject: [PATCH] feat: add support for purchaseOrderNumber attribute in secondary device --- internal/api/device.go | 1 + rest_device.go | 1 + rest_device_test.go | 2 ++ 3 files changed, 4 insertions(+) diff --git a/internal/api/device.go b/internal/api/device.go index d43fb11..49a8f7f 100644 --- a/internal/api/device.go +++ b/internal/api/device.go @@ -102,6 +102,7 @@ type SecondaryDeviceRequest struct { MgmtAclTemplateUUID *string `json:"mgmtAclTemplateUuid,omitempty"` VendorConfig map[string]string `json:"vendorConfig,omitempty"` UserPublicKey *DeviceUserPublicKeyRequest `json:"userPublicKey,omitempty"` + PurchaseOrderNumber *string `json:"purchaseOrderNumber,omitempty"` } // DeviceInterface describes device network interface diff --git a/rest_device.go b/rest_device.go index 7db9c21..f35794f 100644 --- a/rest_device.go +++ b/rest_device.go @@ -446,6 +446,7 @@ func createRedundantDeviceRequest(primary Device, secondary Device) api.DeviceRe secReq.Notifications = secondary.Notifications secReq.HostNamePrefix = secondary.HostName secReq.AccountNumber = secondary.AccountNumber + secReq.PurchaseOrderNumber = secondary.PurchaseOrderNumber secReq.AdditionalBandwidth = secondary.AdditionalBandwidth secReq.SshInterfaceID = secondary.WanInterfaceId if secReq.SshInterfaceID == nil { diff --git a/rest_device_test.go b/rest_device_test.go index 659671a..8fef084 100644 --- a/rest_device_test.go +++ b/rest_device_test.go @@ -161,6 +161,7 @@ func TestCreateRedundantDevice(t *testing.T) { Notifications: []string{"secondary@secondary.com"}, HostName: String("secondaryHostname"), AccountNumber: String("99999"), + PurchaseOrderNumber: String("po123"), AdditionalBandwidth: Int(200), ACLTemplateUUID: String("4972e8d2-417f-4821-91a8-f4a61a6dcdc3"), MgmtAclTemplateUuid: String("4972e8d2-417f-4821-91a8-f4a61a6dcdc3"), @@ -552,6 +553,7 @@ func verifyRedundantDeviceRequest(t *testing.T, primary, secondary Device, req a assert.ElementsMatch(t, secondary.Notifications, req.Secondary.Notifications, "Secondary Notifications matches") assert.Equal(t, secondary.HostName, req.Secondary.HostNamePrefix, "Secondary HostName matches") assert.Equal(t, secondary.AccountNumber, req.Secondary.AccountNumber, "Secondary AccountNumber matches") + assert.Equal(t, secondary.PurchaseOrderNumber, req.Secondary.PurchaseOrderNumber, "Secondary PurchaseOrderNumber matches") assert.Equal(t, secondary.AdditionalBandwidth, req.Secondary.AdditionalBandwidth, "Secondary AdditionalBandwidth matches") assert.Equal(t, secondary.ACLTemplateUUID, req.Secondary.ACLTemplateUUID, "Secondary ACLTemplateUUID matches") assert.Equal(t, secondary.MgmtAclTemplateUuid, req.Secondary.MgmtAclTemplateUUID, "Secondary MgmtAclTemplateUuid matches")