diff --git a/go.mod b/go.mod index 26be21064..fe08a402c 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,6 @@ require ( github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2 github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0 github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0 - github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0 github.com/aws/smithy-go v1.22.5 github.com/coreos/go-systemd/v22 v22.5.0 github.com/getkin/kin-openapi v0.132.0 @@ -87,6 +86,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0 // indirect github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 // indirect github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 // indirect diff --git a/internal/cloud/awscloud/awscloud.go b/internal/cloud/awscloud/awscloud.go index fc240ca1a..8f6d878a0 100644 --- a/internal/cloud/awscloud/awscloud.go +++ b/internal/cloud/awscloud/awscloud.go @@ -15,7 +15,6 @@ import ( "github.com/aws/aws-sdk-go-v2/service/autoscaling" "github.com/aws/aws-sdk-go-v2/service/ec2" ec2types "github.com/aws/aws-sdk-go-v2/service/ec2/types" - "github.com/aws/aws-sdk-go-v2/service/s3" images_awscloud "github.com/osbuild/images/pkg/cloud/awscloud" ) @@ -26,15 +25,13 @@ type AWS struct { ec2 EC2 ec2imds EC2Imds - s3 S3 asg ASG } -func newForTest(ec2cli EC2, ec2imds EC2Imds, s3cli S3) *AWS { +func newForTest(ec2cli EC2, ec2imds EC2Imds) *AWS { return &AWS{ ec2: ec2cli, ec2imds: ec2imds, - s3: s3cli, asg: nil, } } @@ -42,12 +39,10 @@ func newForTest(ec2cli EC2, ec2imds EC2Imds, s3cli S3) *AWS { // Create a new session from the credentials and the region and returns an *AWS object initialized with it. // /creds credentials.StaticCredentialsProvider, region string func newAwsFromConfig(cfg aws.Config, imagesAWS *images_awscloud.AWS) *AWS { - s3cli := s3.NewFromConfig(cfg) return &AWS{ AWS: imagesAWS, ec2: ec2.NewFromConfig(cfg), ec2imds: imds.NewFromConfig(cfg), - s3: s3cli, asg: autoscaling.NewFromConfig(cfg), } } @@ -167,16 +162,10 @@ func newAwsFromCredsWithEndpoint(creds config.LoadOptionsFunc, region, endpoint, return nil, err } - s3cli := s3.NewFromConfig(cfg, func(options *s3.Options) { - options.BaseEndpoint = aws.String(endpoint) - options.UsePathStyle = true - }) - return &AWS{ AWS: imagesAWS, ec2: ec2.NewFromConfig(cfg), ec2imds: imds.NewFromConfig(cfg), - s3: s3cli, asg: autoscaling.NewFromConfig(cfg), }, nil } diff --git a/internal/cloud/awscloud/awscloud_test.go b/internal/cloud/awscloud/awscloud_test.go index bfba0d18f..f26b8ac99 100644 --- a/internal/cloud/awscloud/awscloud_test.go +++ b/internal/cloud/awscloud/awscloud_test.go @@ -10,7 +10,7 @@ import ( func TestEC2CopyImage(t *testing.T) { m := newEc2Mock(t) - aws := awscloud.NewForTest(m, nil, &s3mock{t, "bucket", "object-key"}) + aws := awscloud.NewForTest(m, nil) imageId, err := aws.CopyImage("image-name", "image-id", "region") require.NoError(t, err) require.Equal(t, "image-id", imageId) diff --git a/internal/cloud/awscloud/client-interfaces.go b/internal/cloud/awscloud/client-interfaces.go index e4142bf61..1052f30e6 100644 --- a/internal/cloud/awscloud/client-interfaces.go +++ b/internal/cloud/awscloud/client-interfaces.go @@ -6,7 +6,6 @@ import ( "github.com/aws/aws-sdk-go-v2/feature/ec2/imds" "github.com/aws/aws-sdk-go-v2/service/autoscaling" "github.com/aws/aws-sdk-go-v2/service/ec2" - "github.com/aws/aws-sdk-go-v2/service/s3" ) type EC2 interface { @@ -59,8 +58,3 @@ type ASG interface { DescribeAutoScalingInstances(context.Context, *autoscaling.DescribeAutoScalingInstancesInput, ...func(*autoscaling.Options)) (*autoscaling.DescribeAutoScalingInstancesOutput, error) SetInstanceProtection(context.Context, *autoscaling.SetInstanceProtectionInput, ...func(*autoscaling.Options)) (*autoscaling.SetInstanceProtectionOutput, error) } - -type S3 interface { - DeleteObject(context.Context, *s3.DeleteObjectInput, ...func(*s3.Options)) (*s3.DeleteObjectOutput, error) - PutObjectAcl(context.Context, *s3.PutObjectAclInput, ...func(*s3.Options)) (*s3.PutObjectAclOutput, error) -} diff --git a/internal/cloud/awscloud/maintenance_test.go b/internal/cloud/awscloud/maintenance_test.go index befd2ee65..d01915814 100644 --- a/internal/cloud/awscloud/maintenance_test.go +++ b/internal/cloud/awscloud/maintenance_test.go @@ -11,7 +11,7 @@ import ( func TestEC2RemoveSnapshotAndDeregisterImage(t *testing.T) { m := newEc2Mock(t) - aws := awscloud.NewForTest(m, nil, &s3mock{t, "bucket", "object-key"}) + aws := awscloud.NewForTest(m, nil) require.NotNil(t, aws) err := aws.RemoveSnapshotAndDeregisterImage(&ec2types.Image{ diff --git a/internal/cloud/awscloud/mocks_test.go b/internal/cloud/awscloud/mocks_test.go index 3f0c2718c..4e1113a3d 100644 --- a/internal/cloud/awscloud/mocks_test.go +++ b/internal/cloud/awscloud/mocks_test.go @@ -8,31 +8,8 @@ import ( "github.com/aws/aws-sdk-go-v2/feature/ec2/imds" "github.com/aws/aws-sdk-go-v2/service/ec2" ec2types "github.com/aws/aws-sdk-go-v2/service/ec2/types" - "github.com/aws/aws-sdk-go-v2/service/s3" - s3types "github.com/aws/aws-sdk-go-v2/service/s3/types" - "github.com/stretchr/testify/require" ) -type s3mock struct { - t *testing.T - - bucket string - key string -} - -func (m *s3mock) DeleteObject(ctx context.Context, input *s3.DeleteObjectInput, optfns ...func(*s3.Options)) (*s3.DeleteObjectOutput, error) { - require.Equal(m.t, m.bucket, *input.Bucket) - require.Equal(m.t, m.key, *input.Key) - return nil, nil -} - -func (m *s3mock) PutObjectAcl(ctx context.Context, input *s3.PutObjectAclInput, optfns ...func(*s3.Options)) (*s3.PutObjectAclOutput, error) { - require.Equal(m.t, m.bucket, *input.Bucket) - require.Equal(m.t, m.key, *input.Key) - require.Equal(m.t, s3types.ObjectCannedACL(s3types.ObjectCannedACLPublicRead), input.ACL) - return nil, nil -} - type ec2imdsmock struct { t *testing.T diff --git a/internal/cloud/awscloud/secure-instance_test.go b/internal/cloud/awscloud/secure-instance_test.go index 1797d115a..88bfc0aeb 100644 --- a/internal/cloud/awscloud/secure-instance_test.go +++ b/internal/cloud/awscloud/secure-instance_test.go @@ -75,7 +75,7 @@ write_files: func TestSIRunSecureInstance(t *testing.T) { m := newEc2Mock(t) - aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil) + aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}) 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) + aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}) 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) + aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}) 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) + aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}) 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) + aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}) require.NotNil(t, aws) // create fleet error should call create fleet thrice