Skip to content

Commit

Permalink
Deprecate floating-ip commands in favor of reserved-ip. (#1169)
Browse files Browse the repository at this point in the history
* Replace upstream godo with fork temporarily

* Add reserved IPs services.

* Deprecate floating-ip commands in favor of reserved-ip.

* Vendor godo v1.81.0
  • Loading branch information
andrewsomething committed Jun 15, 2022
1 parent dfb2a1d commit 0e3d4cb
Show file tree
Hide file tree
Showing 37 changed files with 1,328 additions and 457 deletions.
8 changes: 4 additions & 4 deletions commands/command_config.go
Expand Up @@ -46,8 +46,8 @@ type CmdConfig struct {
Images func() do.ImagesService
ImageActions func() do.ImageActionsService
LoadBalancers func() do.LoadBalancersService
FloatingIPs func() do.FloatingIPsService
FloatingIPActions func() do.FloatingIPActionsService
ReservedIPs func() do.ReservedIPsService
ReservedIPActions func() do.ReservedIPActionsService
Droplets func() do.DropletsService
DropletActions func() do.DropletActionsService
Domains func() do.DomainsService
Expand Down Expand Up @@ -95,8 +95,8 @@ func NewCmdConfig(ns string, dc doctl.Config, out io.Writer, args []string, init
c.Regions = func() do.RegionsService { return do.NewRegionsService(godoClient) }
c.Images = func() do.ImagesService { return do.NewImagesService(godoClient) }
c.ImageActions = func() do.ImageActionsService { return do.NewImageActionsService(godoClient) }
c.FloatingIPs = func() do.FloatingIPsService { return do.NewFloatingIPsService(godoClient) }
c.FloatingIPActions = func() do.FloatingIPActionsService { return do.NewFloatingIPActionsService(godoClient) }
c.ReservedIPs = func() do.ReservedIPsService { return do.NewReservedIPsService(godoClient) }
c.ReservedIPActions = func() do.ReservedIPActionsService { return do.NewReservedIPActionsService(godoClient) }
c.Droplets = func() do.DropletsService { return do.NewDropletsService(godoClient) }
c.DropletActions = func() do.DropletActionsService { return do.NewDropletActionsService(godoClient) }
c.Domains = func() do.DomainsService { return do.NewDomainsService(godoClient) }
Expand Down
18 changes: 9 additions & 9 deletions commands/commands_test.go
Expand Up @@ -97,14 +97,14 @@ var (
testPrivateDropletList = do.Droplets{testPrivateDroplet}
testKernel = do.Kernel{Kernel: &godo.Kernel{ID: 1}}
testKernelList = do.Kernels{testKernel}
testFloatingIP = do.FloatingIP{
FloatingIP: &godo.FloatingIP{
testReservedIP = do.ReservedIP{
ReservedIP: &godo.ReservedIP{
Droplet: testDroplet.Droplet,
Region: testDroplet.Region,
IP: "127.0.0.1",
},
}
testFloatingIPList = do.FloatingIPs{testFloatingIP}
testReservedIPList = do.ReservedIPs{testReservedIP}

testSnapshot = do.Snapshot{
Snapshot: &godo.Snapshot{
Expand Down Expand Up @@ -160,8 +160,8 @@ type tcMocks struct {
images *domocks.MockImagesService
imageActions *domocks.MockImageActionsService
invoices *domocks.MockInvoicesService
floatingIPs *domocks.MockFloatingIPsService
floatingIPActions *domocks.MockFloatingIPActionsService
reservedIPs *domocks.MockReservedIPsService
reservedIPActions *domocks.MockReservedIPActionsService
domains *domocks.MockDomainsService
volumes *domocks.MockVolumesService
volumeActions *domocks.MockVolumeActionsService
Expand Down Expand Up @@ -198,8 +198,8 @@ func withTestClient(t *testing.T, tFn testFn) {
images: domocks.NewMockImagesService(ctrl),
imageActions: domocks.NewMockImageActionsService(ctrl),
invoices: domocks.NewMockInvoicesService(ctrl),
floatingIPs: domocks.NewMockFloatingIPsService(ctrl),
floatingIPActions: domocks.NewMockFloatingIPActionsService(ctrl),
reservedIPs: domocks.NewMockReservedIPsService(ctrl),
reservedIPActions: domocks.NewMockReservedIPActionsService(ctrl),
droplets: domocks.NewMockDropletsService(ctrl),
dropletActions: domocks.NewMockDropletActionsService(ctrl),
domains: domocks.NewMockDomainsService(ctrl),
Expand Down Expand Up @@ -246,8 +246,8 @@ func withTestClient(t *testing.T, tFn testFn) {
Regions: func() do.RegionsService { return tm.regions },
Images: func() do.ImagesService { return tm.images },
ImageActions: func() do.ImageActionsService { return tm.imageActions },
FloatingIPs: func() do.FloatingIPsService { return tm.floatingIPs },
FloatingIPActions: func() do.FloatingIPActionsService { return tm.floatingIPActions },
ReservedIPs: func() do.ReservedIPsService { return tm.reservedIPs },
ReservedIPActions: func() do.ReservedIPActionsService { return tm.reservedIPActions },
Droplets: func() do.DropletsService { return tm.droplets },
DropletActions: func() do.DropletActionsService { return tm.dropletActions },
Domains: func() do.DomainsService { return tm.domains },
Expand Down
Expand Up @@ -20,32 +20,32 @@ import (
"github.com/digitalocean/doctl/do"
)

type FloatingIP struct {
FloatingIPs do.FloatingIPs
type ReservedIP struct {
ReservedIPs do.ReservedIPs
}

var _ Displayable = &FloatingIP{}
var _ Displayable = &ReservedIP{}

func (fi *FloatingIP) JSON(out io.Writer) error {
return writeJSON(fi.FloatingIPs, out)
func (rip *ReservedIP) JSON(out io.Writer) error {
return writeJSON(rip.ReservedIPs, out)
}

func (fi *FloatingIP) Cols() []string {
func (rip *ReservedIP) Cols() []string {
return []string{
"IP", "Region", "DropletID", "DropletName",
}
}

func (fi *FloatingIP) ColMap() map[string]string {
func (rip *ReservedIP) ColMap() map[string]string {
return map[string]string{
"IP": "IP", "Region": "Region", "DropletID": "Droplet ID", "DropletName": "Droplet Name",
}
}

func (fi *FloatingIP) KV() []map[string]interface{} {
out := make([]map[string]interface{}, 0, len(fi.FloatingIPs))
func (rip *ReservedIP) KV() []map[string]interface{} {
out := make([]map[string]interface{}, 0, len(rip.ReservedIPs))

for _, f := range fi.FloatingIPs {
for _, f := range rip.ReservedIPs {
var dropletID, dropletName string
if f.Droplet != nil {
dropletID = fmt.Sprintf("%d", f.Droplet.ID)
Expand Down
4 changes: 2 additions & 2 deletions commands/doit.go
Expand Up @@ -168,8 +168,8 @@ func computeCmd() *Command {
cmd.AddCommand(Droplet())
cmd.AddCommand(Domain())
cmd.AddCommand(Firewall())
cmd.AddCommand(FloatingIP())
cmd.AddCommand(FloatingIPAction())
cmd.AddCommand(ReservedIP())
cmd.AddCommand(ReservedIPAction())
cmd.AddCommand(Images())
cmd.AddCommand(ImageAction())
cmd.AddCommand(LoadBalancer())
Expand Down
169 changes: 0 additions & 169 deletions commands/floating_ips.go

This file was deleted.

4 changes: 3 additions & 1 deletion commands/projects.go
Expand Up @@ -259,7 +259,9 @@ func RunProjectResourcesGet(c *CmdConfig) error {
case "droplet":
return RunDropletGet(c)
case "floatingip":
return RunFloatingIPGet(c)
return RunReservedIPGet(c)
case "reservedip":
return RunReservedIPGet(c)
case "loadbalancer":
return RunLoadBalancerGet(c)
case "domain":
Expand Down

0 comments on commit 0e3d4cb

Please sign in to comment.