diff --git a/spinifex/accountteardown/reapers_ec2.go b/spinifex/accountteardown/reapers_ec2.go index c9272ea0d..4a5d32a30 100644 --- a/spinifex/accountteardown/reapers_ec2.go +++ b/spinifex/accountteardown/reapers_ec2.go @@ -19,10 +19,10 @@ import ( ec2placementgroupapi "github.com/mulgadc/spinifex/spinifex/domains/ec2/awsapi/placementgroup" ec2routetableapi "github.com/mulgadc/spinifex/spinifex/domains/ec2/awsapi/routetable" ec2snapshotapi "github.com/mulgadc/spinifex/spinifex/domains/ec2/awsapi/snapshot" + ec2volumeapi "github.com/mulgadc/spinifex/spinifex/domains/ec2/awsapi/volume" ec2vpcapi "github.com/mulgadc/spinifex/spinifex/domains/ec2/awsapi/vpc" "github.com/mulgadc/spinifex/spinifex/foundation/aws/errors" gateway_ec2_instance "github.com/mulgadc/spinifex/spinifex/gateway/ec2/instance" - gateway_ec2_volume "github.com/mulgadc/spinifex/spinifex/gateway/ec2/volume" "github.com/nats-io/nats.go" ) @@ -117,7 +117,7 @@ func (r *volumeReaper) Kind() string { return "volume" } func (r *volumeReaper) Stage() Stage { return StageStorage } func (r *volumeReaper) List(ctx context.Context, accountID string) ([]Resource, error) { - out, err := gateway_ec2_volume.DescribeVolumes(ctx, &ec2.DescribeVolumesInput{}, r.nc, accountID) + out, err := ec2volumeapi.DescribeVolumes(ctx, &ec2.DescribeVolumesInput{}, r.nc, accountID) if err != nil { return nil, err } @@ -142,7 +142,7 @@ func (r *volumeReaper) List(ctx context.Context, accountID string) ([]Resource, } func (r *volumeReaper) Delete(ctx context.Context, accountID string, resource Resource, force bool) error { - _, err := gateway_ec2_volume.DeleteVolume(ctx, &ec2.DeleteVolumeInput{ + _, err := ec2volumeapi.DeleteVolume(ctx, &ec2.DeleteVolumeInput{ VolumeId: aws.String(resource.ID), }, r.nc, r.expectedNodes, accountID) if isAlreadyGone(err) { @@ -707,7 +707,7 @@ func forceDeleteVolume(ctx context.Context, nc *nats.Conn, expectedNodes int, ac return fmt.Errorf("force detach %s: %w", volumeID, err) } - _, err = gateway_ec2_volume.DeleteVolume(ctx, &ec2.DeleteVolumeInput{ + _, err = ec2volumeapi.DeleteVolume(ctx, &ec2.DeleteVolumeInput{ VolumeId: aws.String(volumeID), }, nc, expectedNodes, accountID) return ignoreAlreadyGone(err) diff --git a/spinifex/gateway/ec2/volume/AttachVolume.go b/spinifex/domains/ec2/awsapi/volume/AttachVolume.go similarity index 99% rename from spinifex/gateway/ec2/volume/AttachVolume.go rename to spinifex/domains/ec2/awsapi/volume/AttachVolume.go index 0df64aec4..cc7b76a0d 100644 --- a/spinifex/gateway/ec2/volume/AttachVolume.go +++ b/spinifex/domains/ec2/awsapi/volume/AttachVolume.go @@ -1,4 +1,4 @@ -package gateway_ec2_volume +package volume import ( "context" diff --git a/spinifex/gateway/ec2/volume/AttachVolume_test.go b/spinifex/domains/ec2/awsapi/volume/AttachVolume_test.go similarity index 98% rename from spinifex/gateway/ec2/volume/AttachVolume_test.go rename to spinifex/domains/ec2/awsapi/volume/AttachVolume_test.go index 8177a87c0..4000da9e4 100644 --- a/spinifex/gateway/ec2/volume/AttachVolume_test.go +++ b/spinifex/domains/ec2/awsapi/volume/AttachVolume_test.go @@ -1,4 +1,4 @@ -package gateway_ec2_volume +package volume import ( "testing" diff --git a/spinifex/gateway/ec2/volume/CreateVolume.go b/spinifex/domains/ec2/awsapi/volume/CreateVolume.go similarity index 98% rename from spinifex/gateway/ec2/volume/CreateVolume.go rename to spinifex/domains/ec2/awsapi/volume/CreateVolume.go index 6be46c709..8bdb8cc68 100644 --- a/spinifex/gateway/ec2/volume/CreateVolume.go +++ b/spinifex/domains/ec2/awsapi/volume/CreateVolume.go @@ -1,4 +1,4 @@ -package gateway_ec2_volume +package volume import ( "context" diff --git a/spinifex/gateway/ec2/volume/CreateVolume_test.go b/spinifex/domains/ec2/awsapi/volume/CreateVolume_test.go similarity index 99% rename from spinifex/gateway/ec2/volume/CreateVolume_test.go rename to spinifex/domains/ec2/awsapi/volume/CreateVolume_test.go index fd02b6bc9..4f08b0880 100644 --- a/spinifex/gateway/ec2/volume/CreateVolume_test.go +++ b/spinifex/domains/ec2/awsapi/volume/CreateVolume_test.go @@ -1,4 +1,4 @@ -package gateway_ec2_volume +package volume import ( "testing" diff --git a/spinifex/gateway/ec2/volume/DeleteVolume.go b/spinifex/domains/ec2/awsapi/volume/DeleteVolume.go similarity index 99% rename from spinifex/gateway/ec2/volume/DeleteVolume.go rename to spinifex/domains/ec2/awsapi/volume/DeleteVolume.go index 6129385f2..4613a1fd6 100644 --- a/spinifex/gateway/ec2/volume/DeleteVolume.go +++ b/spinifex/domains/ec2/awsapi/volume/DeleteVolume.go @@ -1,4 +1,4 @@ -package gateway_ec2_volume +package volume import ( "context" diff --git a/spinifex/gateway/ec2/volume/DeleteVolume_test.go b/spinifex/domains/ec2/awsapi/volume/DeleteVolume_test.go similarity index 99% rename from spinifex/gateway/ec2/volume/DeleteVolume_test.go rename to spinifex/domains/ec2/awsapi/volume/DeleteVolume_test.go index 7016dd59e..cabc95672 100644 --- a/spinifex/gateway/ec2/volume/DeleteVolume_test.go +++ b/spinifex/domains/ec2/awsapi/volume/DeleteVolume_test.go @@ -1,4 +1,4 @@ -package gateway_ec2_volume +package volume import ( "testing" diff --git a/spinifex/gateway/ec2/volume/DescribeVolumeStatus.go b/spinifex/domains/ec2/awsapi/volume/DescribeVolumeStatus.go similarity index 97% rename from spinifex/gateway/ec2/volume/DescribeVolumeStatus.go rename to spinifex/domains/ec2/awsapi/volume/DescribeVolumeStatus.go index 7da7adc47..e598814c5 100644 --- a/spinifex/gateway/ec2/volume/DescribeVolumeStatus.go +++ b/spinifex/domains/ec2/awsapi/volume/DescribeVolumeStatus.go @@ -1,4 +1,4 @@ -package gateway_ec2_volume +package volume import ( "context" diff --git a/spinifex/gateway/ec2/volume/DescribeVolumeStatus_test.go b/spinifex/domains/ec2/awsapi/volume/DescribeVolumeStatus_test.go similarity index 98% rename from spinifex/gateway/ec2/volume/DescribeVolumeStatus_test.go rename to spinifex/domains/ec2/awsapi/volume/DescribeVolumeStatus_test.go index 27ab29124..5c26e5cab 100644 --- a/spinifex/gateway/ec2/volume/DescribeVolumeStatus_test.go +++ b/spinifex/domains/ec2/awsapi/volume/DescribeVolumeStatus_test.go @@ -1,4 +1,4 @@ -package gateway_ec2_volume +package volume import ( "context" diff --git a/spinifex/gateway/ec2/volume/DescribeVolumes.go b/spinifex/domains/ec2/awsapi/volume/DescribeVolumes.go similarity index 97% rename from spinifex/gateway/ec2/volume/DescribeVolumes.go rename to spinifex/domains/ec2/awsapi/volume/DescribeVolumes.go index 614428842..5c8d8019d 100644 --- a/spinifex/gateway/ec2/volume/DescribeVolumes.go +++ b/spinifex/domains/ec2/awsapi/volume/DescribeVolumes.go @@ -1,4 +1,4 @@ -package gateway_ec2_volume +package volume import ( "context" diff --git a/spinifex/gateway/ec2/volume/DescribeVolumesModifications.go b/spinifex/domains/ec2/awsapi/volume/DescribeVolumesModifications.go similarity index 97% rename from spinifex/gateway/ec2/volume/DescribeVolumesModifications.go rename to spinifex/domains/ec2/awsapi/volume/DescribeVolumesModifications.go index a9c82913a..e068c8266 100644 --- a/spinifex/gateway/ec2/volume/DescribeVolumesModifications.go +++ b/spinifex/domains/ec2/awsapi/volume/DescribeVolumesModifications.go @@ -1,4 +1,4 @@ -package gateway_ec2_volume +package volume import ( "context" diff --git a/spinifex/gateway/ec2/volume/DescribeVolumesModifications_test.go b/spinifex/domains/ec2/awsapi/volume/DescribeVolumesModifications_test.go similarity index 98% rename from spinifex/gateway/ec2/volume/DescribeVolumesModifications_test.go rename to spinifex/domains/ec2/awsapi/volume/DescribeVolumesModifications_test.go index aca66d3e4..acd8b5475 100644 --- a/spinifex/gateway/ec2/volume/DescribeVolumesModifications_test.go +++ b/spinifex/domains/ec2/awsapi/volume/DescribeVolumesModifications_test.go @@ -1,4 +1,4 @@ -package gateway_ec2_volume +package volume import ( "testing" diff --git a/spinifex/gateway/ec2/volume/DescribeVolumes_test.go b/spinifex/domains/ec2/awsapi/volume/DescribeVolumes_test.go similarity index 98% rename from spinifex/gateway/ec2/volume/DescribeVolumes_test.go rename to spinifex/domains/ec2/awsapi/volume/DescribeVolumes_test.go index bcf3b9c71..89fca9404 100644 --- a/spinifex/gateway/ec2/volume/DescribeVolumes_test.go +++ b/spinifex/domains/ec2/awsapi/volume/DescribeVolumes_test.go @@ -1,4 +1,4 @@ -package gateway_ec2_volume +package volume import ( "testing" diff --git a/spinifex/gateway/ec2/volume/DetachVolume.go b/spinifex/domains/ec2/awsapi/volume/DetachVolume.go similarity index 99% rename from spinifex/gateway/ec2/volume/DetachVolume.go rename to spinifex/domains/ec2/awsapi/volume/DetachVolume.go index 74fdba874..a6e9e3f07 100644 --- a/spinifex/gateway/ec2/volume/DetachVolume.go +++ b/spinifex/domains/ec2/awsapi/volume/DetachVolume.go @@ -1,4 +1,4 @@ -package gateway_ec2_volume +package volume import ( "context" diff --git a/spinifex/gateway/ec2/volume/DetachVolume_test.go b/spinifex/domains/ec2/awsapi/volume/DetachVolume_test.go similarity index 99% rename from spinifex/gateway/ec2/volume/DetachVolume_test.go rename to spinifex/domains/ec2/awsapi/volume/DetachVolume_test.go index d97991ed1..e00e0b0c0 100644 --- a/spinifex/gateway/ec2/volume/DetachVolume_test.go +++ b/spinifex/domains/ec2/awsapi/volume/DetachVolume_test.go @@ -1,4 +1,4 @@ -package gateway_ec2_volume +package volume import ( "context" diff --git a/spinifex/gateway/ec2/volume/ModifyVolume.go b/spinifex/domains/ec2/awsapi/volume/ModifyVolume.go similarity index 97% rename from spinifex/gateway/ec2/volume/ModifyVolume.go rename to spinifex/domains/ec2/awsapi/volume/ModifyVolume.go index 8764b746a..7832298ed 100644 --- a/spinifex/gateway/ec2/volume/ModifyVolume.go +++ b/spinifex/domains/ec2/awsapi/volume/ModifyVolume.go @@ -1,4 +1,4 @@ -package gateway_ec2_volume +package volume import ( "context" diff --git a/spinifex/gateway/ec2/volume/ModifyVolume_test.go b/spinifex/domains/ec2/awsapi/volume/ModifyVolume_test.go similarity index 99% rename from spinifex/gateway/ec2/volume/ModifyVolume_test.go rename to spinifex/domains/ec2/awsapi/volume/ModifyVolume_test.go index 2485b59b4..769f92b88 100644 --- a/spinifex/gateway/ec2/volume/ModifyVolume_test.go +++ b/spinifex/domains/ec2/awsapi/volume/ModifyVolume_test.go @@ -1,4 +1,4 @@ -package gateway_ec2_volume +package volume import ( "testing" diff --git a/spinifex/gateway/ec2/volume/handler_test.go b/spinifex/domains/ec2/awsapi/volume/handler_test.go similarity index 99% rename from spinifex/gateway/ec2/volume/handler_test.go rename to spinifex/domains/ec2/awsapi/volume/handler_test.go index ceb5e7d4d..ca354e223 100644 --- a/spinifex/gateway/ec2/volume/handler_test.go +++ b/spinifex/domains/ec2/awsapi/volume/handler_test.go @@ -1,4 +1,4 @@ -package gateway_ec2_volume +package volume import ( "context" diff --git a/spinifex/gateway/ec2.go b/spinifex/gateway/ec2.go index 0ded06023..38a66b480 100644 --- a/spinifex/gateway/ec2.go +++ b/spinifex/gateway/ec2.go @@ -25,6 +25,7 @@ import ( ec2placementgroupapi "github.com/mulgadc/spinifex/spinifex/domains/ec2/awsapi/placementgroup" ec2routetableapi "github.com/mulgadc/spinifex/spinifex/domains/ec2/awsapi/routetable" ec2snapshotapi "github.com/mulgadc/spinifex/spinifex/domains/ec2/awsapi/snapshot" + ec2volumeapi "github.com/mulgadc/spinifex/spinifex/domains/ec2/awsapi/volume" ec2vpcapi "github.com/mulgadc/spinifex/spinifex/domains/ec2/awsapi/vpc" ec2zoneapi "github.com/mulgadc/spinifex/spinifex/domains/ec2/awsapi/zone" "github.com/mulgadc/spinifex/spinifex/foundation/aws/errors" @@ -34,7 +35,6 @@ import ( gateway_ec2_instance "github.com/mulgadc/spinifex/spinifex/gateway/ec2/instance" gateway_ec2_spotinstance "github.com/mulgadc/spinifex/spinifex/gateway/ec2/spotinstance" gateway_ec2_tags "github.com/mulgadc/spinifex/spinifex/gateway/ec2/tags" - gateway_ec2_volume "github.com/mulgadc/spinifex/spinifex/gateway/ec2/volume" handlers_quota "github.com/mulgadc/spinifex/spinifex/handlers/quota" "github.com/mulgadc/spinifex/spinifex/ingress/aws/query" "github.com/nats-io/nats.go" @@ -336,34 +336,34 @@ var ec2Actions = map[string]ec2Action{ return ec2zoneapi.DescribeAvailabilityZones(input, gw.Region, gw.AZ) }), "DescribeVolumes": ec2Handler(func(ctx context.Context, input *ec2.DescribeVolumesInput, gw *GatewayConfig, accountID string) (any, error) { - return gateway_ec2_volume.DescribeVolumes(ctx, input, gw.NATSConn, accountID) + return ec2volumeapi.DescribeVolumes(ctx, input, gw.NATSConn, accountID) }), "ModifyVolume": ec2Handler(func(ctx context.Context, input *ec2.ModifyVolumeInput, gw *GatewayConfig, accountID string) (any, error) { if err := gw.Quota.EnforceVolumeModify(ctx, gw.NATSConn, accountID, aws.StringValue(input.VolumeId), int(aws.Int64Value(input.Size))); err != nil { return nil, err } - return gateway_ec2_volume.ModifyVolume(ctx, input, gw.NATSConn, accountID) + return ec2volumeapi.ModifyVolume(ctx, input, gw.NATSConn, accountID) }), "CreateVolume": ec2IdempotentHandler(func(ctx context.Context, input *ec2.CreateVolumeInput, gw *GatewayConfig, accountID string) (ec2.Volume, error) { if err := gw.Quota.EnforceVolumeCreate(ctx, gw.NATSConn, accountID, int(aws.Int64Value(input.Size))); err != nil { return ec2.Volume{}, err } - return gateway_ec2_volume.CreateVolume(ctx, input, gw.NATSConn, accountID) + return ec2volumeapi.CreateVolume(ctx, input, gw.NATSConn, accountID) }), "DeleteVolume": ec2Handler(func(ctx context.Context, input *ec2.DeleteVolumeInput, gw *GatewayConfig, accountID string) (any, error) { - return gateway_ec2_volume.DeleteVolume(ctx, input, gw.NATSConn, gw.DiscoverActiveNodes(ctx), accountID) + return ec2volumeapi.DeleteVolume(ctx, input, gw.NATSConn, gw.DiscoverActiveNodes(ctx), accountID) }), "AttachVolume": ec2Handler(func(ctx context.Context, input *ec2.AttachVolumeInput, gw *GatewayConfig, accountID string) (any, error) { - return gateway_ec2_volume.AttachVolume(ctx, input, gw.NATSConn, accountID) + return ec2volumeapi.AttachVolume(ctx, input, gw.NATSConn, accountID) }), "DescribeVolumeStatus": ec2Handler(func(ctx context.Context, input *ec2.DescribeVolumeStatusInput, gw *GatewayConfig, accountID string) (any, error) { - return gateway_ec2_volume.DescribeVolumeStatus(ctx, input, gw.NATSConn, accountID) + return ec2volumeapi.DescribeVolumeStatus(ctx, input, gw.NATSConn, accountID) }), "DescribeVolumesModifications": ec2Handler(func(ctx context.Context, input *ec2.DescribeVolumesModificationsInput, gw *GatewayConfig, accountID string) (any, error) { - return gateway_ec2_volume.DescribeVolumesModifications(ctx, input, gw.NATSConn, accountID) + return ec2volumeapi.DescribeVolumesModifications(ctx, input, gw.NATSConn, accountID) }), "DetachVolume": ec2Handler(func(ctx context.Context, input *ec2.DetachVolumeInput, gw *GatewayConfig, accountID string) (any, error) { - return gateway_ec2_volume.DetachVolume(ctx, input, gw.NATSConn, accountID) + return ec2volumeapi.DetachVolume(ctx, input, gw.NATSConn, accountID) }), "DescribeAccountAttributes": ec2Handler(func(ctx context.Context, input *ec2.DescribeAccountAttributesInput, gw *GatewayConfig, accountID string) (any, error) { return ec2accountapi.DescribeAccountAttributes(input, func() (string, error) { diff --git a/spinifex/handlers/quota/storage.go b/spinifex/handlers/quota/storage.go index 698c7019e..445443369 100644 --- a/spinifex/handlers/quota/storage.go +++ b/spinifex/handlers/quota/storage.go @@ -4,7 +4,7 @@ import ( "context" "github.com/aws/aws-sdk-go/service/ec2" - gateway_ec2_volume "github.com/mulgadc/spinifex/spinifex/gateway/ec2/volume" + ec2volumeapi "github.com/mulgadc/spinifex/spinifex/domains/ec2/awsapi/volume" "github.com/nats-io/nats.go" ) @@ -19,7 +19,7 @@ func (s *Service) EnforceVolumeCreate(ctx context.Context, natsConn *nats.Conn, if s.Exempt(accountID) { return nil } - out, err := gateway_ec2_volume.DescribeVolumes(ctx, &ec2.DescribeVolumesInput{}, natsConn, accountID) + out, err := ec2volumeapi.DescribeVolumes(ctx, &ec2.DescribeVolumesInput{}, natsConn, accountID) if err != nil { return err } @@ -50,7 +50,7 @@ func (s *Service) EnforceVolumeModify(ctx context.Context, natsConn *nats.Conn, // sweep and, when volumeID is non-empty, also returns that volume's current size // (0 if absent). One pass serves both the create and modify checks. func (s *Service) volumeUsage(ctx context.Context, natsConn *nats.Conn, accountID, volumeID string) (total, target int, err error) { - out, err := gateway_ec2_volume.DescribeVolumes(ctx, &ec2.DescribeVolumesInput{}, natsConn, accountID) + out, err := ec2volumeapi.DescribeVolumes(ctx, &ec2.DescribeVolumesInput{}, natsConn, accountID) if err != nil { return 0, 0, err }