internal/awscloud: remove S3 presign client from AWS struct

This functionality is not needed any more, since it is provided by the
osbuild/images version of AWS.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
This commit is contained in:
Tomáš Hozza 2025-08-08 13:48:02 +02:00 committed by Tomáš Hozza
parent 7645f60f27
commit 0b5bfa044f
6 changed files with 8 additions and 41 deletions

View file

@ -29,17 +29,15 @@ type AWS struct {
ec2imds EC2Imds
s3 S3
s3uploader S3Manager
s3presign S3Presign
asg ASG
}
func newForTest(ec2cli EC2, ec2imds EC2Imds, s3cli S3, upldr S3Manager, sign S3Presign) *AWS {
func newForTest(ec2cli EC2, ec2imds EC2Imds, s3cli S3, upldr S3Manager) *AWS {
return &AWS{
ec2: ec2cli,
ec2imds: ec2imds,
s3: s3cli,
s3uploader: upldr,
s3presign: sign,
asg: nil,
}
}
@ -54,7 +52,6 @@ func newAwsFromConfig(cfg aws.Config, imagesAWS *images_awscloud.AWS) *AWS {
ec2imds: imds.NewFromConfig(cfg),
s3: s3cli,
s3uploader: manager.NewUploader(s3cli),
s3presign: s3.NewPresignClient(s3cli),
asg: autoscaling.NewFromConfig(cfg),
}
}
@ -185,7 +182,6 @@ func newAwsFromCredsWithEndpoint(creds config.LoadOptionsFunc, region, endpoint,
ec2imds: imds.NewFromConfig(cfg),
s3: s3cli,
s3uploader: manager.NewUploader(s3cli),
s3presign: s3.NewPresignClient(s3cli),
asg: autoscaling.NewFromConfig(cfg),
}, nil
}

View file

@ -10,7 +10,7 @@ import (
func TestEC2CopyImage(t *testing.T) {
m := newEc2Mock(t)
aws := awscloud.NewForTest(m, nil, &s3mock{t, "bucket", "object-key"}, nil, nil)
aws := awscloud.NewForTest(m, nil, &s3mock{t, "bucket", "object-key"}, nil)
imageId, err := aws.CopyImage("image-name", "image-id", "region")
require.NoError(t, err)
require.Equal(t, "image-id", imageId)

View file

@ -3,7 +3,6 @@ package awscloud
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/aws-sdk-go-v2/feature/ec2/imds"
"github.com/aws/aws-sdk-go-v2/feature/s3/manager"
"github.com/aws/aws-sdk-go-v2/service/autoscaling"
@ -70,7 +69,3 @@ type S3 interface {
type S3Manager interface {
Upload(context.Context, *s3.PutObjectInput, ...func(*manager.Uploader)) (*manager.UploadOutput, error)
}
type S3Presign interface {
PresignGetObject(context.Context, *s3.GetObjectInput, ...func(*s3.PresignOptions)) (*v4.PresignedHTTPRequest, error)
}

View file

@ -11,7 +11,7 @@ import (
func TestEC2RemoveSnapshotAndDeregisterImage(t *testing.T) {
m := newEc2Mock(t)
aws := awscloud.NewForTest(m, nil, &s3mock{t, "bucket", "object-key"}, nil, nil)
aws := awscloud.NewForTest(m, nil, &s3mock{t, "bucket", "object-key"}, nil)
require.NotNil(t, aws)
err := aws.RemoveSnapshotAndDeregisterImage(&ec2types.Image{

View file

@ -4,10 +4,8 @@ import (
"context"
"io"
"testing"
"time"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/aws-sdk-go-v2/feature/ec2/imds"
"github.com/aws/aws-sdk-go-v2/feature/s3/manager"
"github.com/aws/aws-sdk-go-v2/service/ec2"
@ -54,28 +52,6 @@ func (m *s3upldrmock) Upload(ctx context.Context, input *s3.PutObjectInput, optf
return nil, nil
}
type s3signmock struct {
t *testing.T
bucket string
key string
}
func (m *s3signmock) PresignGetObject(ctx context.Context, input *s3.GetObjectInput, optfns ...func(*s3.PresignOptions)) (*v4.PresignedHTTPRequest, error) {
require.Equal(m.t, m.bucket, *input.Bucket)
require.Equal(m.t, m.key, *input.Key)
opts := &s3.PresignOptions{}
for _, fn := range optfns {
fn(opts)
}
require.Equal(m.t, time.Duration(7*24*time.Hour), opts.Expires)
return &v4.PresignedHTTPRequest{
URL: "https://url.real",
}, nil
}
type ec2imdsmock struct {
t *testing.T

View file

@ -75,7 +75,7 @@ write_files:
func TestSIRunSecureInstance(t *testing.T) {
m := newEc2Mock(t)
aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil, nil)
aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil)
require.NotNil(t, aws)
si, err := aws.RunSecureInstance("iam-profile", "key-name", "cw-group", "hostname")
@ -88,7 +88,7 @@ func TestSIRunSecureInstance(t *testing.T) {
func TestSITerminateSecureInstance(t *testing.T) {
m := newEc2Mock(t)
aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil, nil)
aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil)
require.NotNil(t, aws)
// Small hack, describeinstances returns terminate/running
@ -110,7 +110,7 @@ func TestSITerminateSecureInstance(t *testing.T) {
func TestSICreateSGFailures(t *testing.T) {
m := newEc2Mock(t)
aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil, nil)
aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil)
require.NotNil(t, aws)
m.failFn["CreateSecurityGroup"] = fmt.Errorf("some-error")
@ -126,7 +126,7 @@ func TestSICreateSGFailures(t *testing.T) {
func TestSICreateLTFailures(t *testing.T) {
m := newEc2Mock(t)
aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil, nil)
aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil)
require.NotNil(t, aws)
m.failFn["CreateLaunchTemplate"] = fmt.Errorf("some-error")
@ -142,7 +142,7 @@ func TestSICreateLTFailures(t *testing.T) {
func TestSICreateFleetFailures(t *testing.T) {
m := newEc2Mock(t)
aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil, nil)
aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil)
require.NotNil(t, aws)
// create fleet error should call create fleet thrice