From 3484f236ce9808bea5657abb895c93f54e9cd22d Mon Sep 17 00:00:00 2001 From: Fady Farid <2603657+afady@users.noreply.github.com> Date: Fri, 4 Feb 2022 14:50:04 -0500 Subject: [PATCH] add ip type, source and subnet size to firewall rule printer (#234) --- cmd/printer/firewallRule.go | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/cmd/printer/firewallRule.go b/cmd/printer/firewallRule.go index e1244bbb..9e17e9f7 100644 --- a/cmd/printer/firewallRule.go +++ b/cmd/printer/firewallRule.go @@ -1,14 +1,16 @@ package printer import ( + "fmt" + "github.com/vultr/govultr/v2" ) func FirewallRules(fwr []govultr.FirewallRule, meta *govultr.Meta) { - col := columns{"RULE NUMBER", "ACTION", "PROTOCOL", "PORT", "NETWORK", "NOTES"} + col := columns{"RULE NUMBER", "ACTION", "TYPE", "PROTOCOL", "PORT", "NETWORK", "SOURCE", "NOTES"} display(col) for _, f := range fwr { - display(columns{f.ID, f.Action, f.Protocol, f.Port, f.Subnet, f.Notes}) + display(columns{f.ID, f.Action, f.Type, f.Protocol, f.Port, getFirewallNetwork(f.Subnet, f.SubnetSize), getFirewallSource(f.Source), f.Notes}) } Meta(meta) @@ -16,9 +18,19 @@ func FirewallRules(fwr []govultr.FirewallRule, meta *govultr.Meta) { } func FirewallRule(fwr *govultr.FirewallRule) { - col := columns{"RULE NUMBER", "ACTION", "PROTOCOL", "PORT", "NETWORK", "NOTES"} + col := columns{"RULE NUMBER", "ACTION", "TYPE", "PROTOCOL", "PORT", "NETWORK", "SOURCE", "NOTES"} display(col) - - display(columns{fwr.ID, fwr.Action, fwr.Protocol, fwr.Port, fwr.Subnet, fwr.Notes}) + display(columns{fwr.ID, fwr.Action, fwr.Type, fwr.Protocol, fwr.Port, getFirewallNetwork(fwr.Subnet, fwr.SubnetSize), getFirewallSource(fwr.Source), fwr.Notes}) flush() } + +func getFirewallSource(source string) string { + if source == "" { + return "anywhere" + } + return source +} + +func getFirewallNetwork(subnet string, size int) string { + return fmt.Sprintf("%s/%d", subnet, size) +}