66 "fmt"
77 "strings"
88
9- "github.com/goccy/go-yaml"
10-
119 "github.com/stackitcloud/stackit-cli/internal/pkg/args"
1210 "github.com/stackitcloud/stackit-cli/internal/pkg/errors"
1311 "github.com/stackitcloud/stackit-cli/internal/pkg/examples"
@@ -16,9 +14,10 @@ import (
1614 "github.com/stackitcloud/stackit-cli/internal/pkg/services/iaas/client"
1715 "github.com/stackitcloud/stackit-cli/internal/pkg/tables"
1816 "github.com/stackitcloud/stackit-cli/internal/pkg/utils"
19- "github.com/stackitcloud/stackit-sdk-go/services/iaas"
2017
18+ "github.com/goccy/go-yaml"
2119 "github.com/spf13/cobra"
20+ "github.com/stackitcloud/stackit-sdk-go/services/iaas"
2221)
2322
2423const (
@@ -138,8 +137,10 @@ func outputResult(p *print.Printer, model *inputModel, server *iaas.Server) erro
138137 table .AddSeparator ()
139138 table .AddRow ("AVAILABILITY ZONE" , * server .AvailabilityZone )
140139 table .AddSeparator ()
141- table .AddRow ("BOOT VOLUME" , * server .BootVolume .Id )
142- table .AddSeparator ()
140+ if server .BootVolume != nil && server .BootVolume .Id != nil {
141+ table .AddRow ("BOOT VOLUME" , * server .BootVolume .Id )
142+ table .AddSeparator ()
143+ }
143144 table .AddRow ("POWER STATUS" , * server .PowerStatus )
144145 table .AddSeparator ()
145146
@@ -189,20 +190,52 @@ func outputResult(p *print.Printer, model *inputModel, server *iaas.Server) erro
189190 if server .Nics != nil && len (* server .Nics ) > 0 {
190191 nicsTable := tables .NewTable ()
191192 nicsTable .SetTitle ("Attached Network Interfaces" )
192- nicsTable .SetHeader ("ID" , "NETWORK ID" , "NETWORK NAME" , "PUBLIC IP" )
193+ nicsTable .SetHeader ("ID" , "NETWORK ID" , "NETWORK NAME" , "IPv4" , " PUBLIC IP" )
193194
194195 for _ , nic := range * server .Nics {
195- publicIp := ""
196- if nic .PublicIp != nil {
197- publicIp = * nic .PublicIp
198- }
199- nicsTable .AddRow (* nic .NicId , * nic .NetworkId , * nic .NetworkName , publicIp )
196+ nicsTable .AddRow (
197+ utils .PtrString (nic .NicId ),
198+ utils .PtrString (nic .NetworkId ),
199+ utils .PtrString (nic .NetworkName ),
200+ utils .PtrString (nic .Ipv4 ),
201+ utils .PtrString (nic .PublicIp ),
202+ )
200203 nicsTable .AddSeparator ()
201204 }
202205
203206 content = append (content , nicsTable )
204207 }
205208
209+ if server .MaintenanceWindow != nil {
210+ maintenanceWindow := tables .NewTable ()
211+ maintenanceWindow .SetTitle ("Maintenance Window" )
212+
213+ if server .MaintenanceWindow .Status != nil {
214+ maintenanceWindow .AddRow ("STATUS" , * server .MaintenanceWindow .Status )
215+ maintenanceWindow .AddSeparator ()
216+ }
217+ if server .MaintenanceWindow .Details != nil {
218+ maintenanceWindow .AddRow ("DETAILS" , * server .MaintenanceWindow .Details )
219+ maintenanceWindow .AddSeparator ()
220+ }
221+ if server .MaintenanceWindow .StartsAt != nil {
222+ maintenanceWindow .AddRow (
223+ "STARTS AT" ,
224+ utils .ConvertTimePToDateTimeString (server .MaintenanceWindow .StartsAt ),
225+ )
226+ maintenanceWindow .AddSeparator ()
227+ }
228+ if server .MaintenanceWindow .EndsAt != nil {
229+ maintenanceWindow .AddRow (
230+ "ENDS AT" ,
231+ utils .ConvertTimePToDateTimeString (server .MaintenanceWindow .EndsAt ),
232+ )
233+ maintenanceWindow .AddSeparator ()
234+ }
235+
236+ content = append (content , maintenanceWindow )
237+ }
238+
206239 err := tables .DisplayTables (p , content )
207240 if err != nil {
208241 return fmt .Errorf ("render table: %w" , err )
0 commit comments