@@ -32,13 +32,13 @@ import (
3232 "github.com/aws/aws-sdk-go-v2/aws"
3333 "github.com/aws/aws-sdk-go-v2/credentials/stscreds"
3434 "github.com/aws/aws-sdk-go-v2/feature/ec2/imds"
35+ "github.com/aws/aws-sdk-go-v2/service/autoscaling"
3536 "github.com/aws/aws-sdk-go-v2/service/ec2"
3637 ec2types "github.com/aws/aws-sdk-go-v2/service/ec2/types"
3738 elb "github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing"
3839 elbtypes "github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing/types"
3940 elbv2 "github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2"
4041 elbv2types "github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2/types"
41- "github.com/aws/aws-sdk-go-v2/service/autoscaling"
4242 "github.com/aws/aws-sdk-go-v2/service/kms"
4343 "github.com/aws/smithy-go"
4444 "gopkg.in/gcfg.v1"
@@ -341,31 +341,33 @@ type Services interface {
341341 KeyManagement (ctx context.Context , regionName string , assumeRoleProvider * stscreds.AssumeRoleProvider ) (KMS , error )
342342}
343343
344+ // EC2API is an interface to satisfy the ec2.Client API.
345+ // More details about this pattern: https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/unit-testing.html
344346type EC2API interface {
345- AttachVolume (ctx context.Context , request * ec2.AttachVolumeInput , optFns ... func (* ec2.Options )) (* ec2.AttachVolumeOutput , error )
346- AuthorizeSecurityGroupIngress (ctx context.Context , request * ec2.AuthorizeSecurityGroupIngressInput , optFns ... func (* ec2.Options )) (* ec2.AuthorizeSecurityGroupIngressOutput , error )
347- CreateRoute (ctx context.Context , request * ec2.CreateRouteInput , optFns ... func (* ec2.Options )) (* ec2.CreateRouteOutput , error )
348- CreateSecurityGroup (ctx context.Context , request * ec2.CreateSecurityGroupInput , optFns ... func (* ec2.Options )) (* ec2.CreateSecurityGroupOutput , error )
349- CreateTags (ctx context.Context , request * ec2.CreateTagsInput , optFns ... func (* ec2.Options )) (* ec2.CreateTagsOutput , error )
350- CreateVolume (ctx context.Context , request * ec2.CreateVolumeInput , optFns ... func (* ec2.Options )) (* ec2.CreateVolumeOutput , error )
351- DeleteRoute (ctx context.Context , request * ec2.DeleteRouteInput , optFns ... func (* ec2.Options )) (* ec2.DeleteRouteOutput , error )
352- DeleteSecurityGroup (ctx context.Context , request * ec2.DeleteSecurityGroupInput , optFns ... func (* ec2.Options )) (* ec2.DeleteSecurityGroupOutput , error )
353- DeleteTags (ctx context.Context , request * ec2.DeleteTagsInput , optFns ... func (* ec2.Options )) (* ec2.DeleteTagsOutput , error )
354- DeleteVolume (ctx context.Context , request * ec2.DeleteVolumeInput , optFns ... func (* ec2.Options )) (* ec2.DeleteVolumeOutput , error )
355- DescribeAvailabilityZones (ctx context.Context , request * ec2.DescribeAvailabilityZonesInput , optFns ... func (* ec2.Options )) (* ec2.DescribeAvailabilityZonesOutput , error )
356- DescribeInstances (ctx context.Context , request * ec2.DescribeInstancesInput , optFns ... func (* ec2.Options )) (* ec2.DescribeInstancesOutput , error )
347+ AttachVolume (ctx context.Context , request * ec2.AttachVolumeInput , optFns ... func (* ec2.Options )) (* ec2.AttachVolumeOutput , error )
348+ AuthorizeSecurityGroupIngress (ctx context.Context , request * ec2.AuthorizeSecurityGroupIngressInput , optFns ... func (* ec2.Options )) (* ec2.AuthorizeSecurityGroupIngressOutput , error )
349+ CreateRoute (ctx context.Context , request * ec2.CreateRouteInput , optFns ... func (* ec2.Options )) (* ec2.CreateRouteOutput , error )
350+ CreateSecurityGroup (ctx context.Context , request * ec2.CreateSecurityGroupInput , optFns ... func (* ec2.Options )) (* ec2.CreateSecurityGroupOutput , error )
351+ CreateTags (ctx context.Context , request * ec2.CreateTagsInput , optFns ... func (* ec2.Options )) (* ec2.CreateTagsOutput , error )
352+ CreateVolume (ctx context.Context , request * ec2.CreateVolumeInput , optFns ... func (* ec2.Options )) (* ec2.CreateVolumeOutput , error )
353+ DeleteRoute (ctx context.Context , request * ec2.DeleteRouteInput , optFns ... func (* ec2.Options )) (* ec2.DeleteRouteOutput , error )
354+ DeleteSecurityGroup (ctx context.Context , request * ec2.DeleteSecurityGroupInput , optFns ... func (* ec2.Options )) (* ec2.DeleteSecurityGroupOutput , error )
355+ DeleteTags (ctx context.Context , request * ec2.DeleteTagsInput , optFns ... func (* ec2.Options )) (* ec2.DeleteTagsOutput , error )
356+ DeleteVolume (ctx context.Context , request * ec2.DeleteVolumeInput , optFns ... func (* ec2.Options )) (* ec2.DeleteVolumeOutput , error )
357+ DescribeAvailabilityZones (ctx context.Context , request * ec2.DescribeAvailabilityZonesInput , optFns ... func (* ec2.Options )) (* ec2.DescribeAvailabilityZonesOutput , error )
358+ DescribeInstances (ctx context.Context , request * ec2.DescribeInstancesInput , optFns ... func (* ec2.Options )) (* ec2.DescribeInstancesOutput , error )
357359 DescribeInstanceTopology (ctx context.Context , params * ec2.DescribeInstanceTopologyInput , optFns ... func (* ec2.Options )) (* ec2.DescribeInstanceTopologyOutput , error )
358- DescribeNetworkInterfaces (ctx context.Context , input * ec2.DescribeNetworkInterfacesInput , optFns ... func (* ec2.Options )) (* ec2.DescribeNetworkInterfacesOutput , error )
359- DescribeRouteTables (ctx context.Context , request * ec2.DescribeRouteTablesInput , optFns ... func (* ec2.Options )) (* ec2.DescribeRouteTablesOutput , error )
360- DescribeSecurityGroups (ctx context.Context , request * ec2.DescribeSecurityGroupsInput , optFns ... func (* ec2.Options )) (* ec2.DescribeSecurityGroupsOutput , error )
361- DescribeSubnets (ctx context.Context , request * ec2.DescribeSubnetsInput , optFns ... func (* ec2.Options )) (* ec2.DescribeSubnetsOutput , error )
362- DescribeVolumes (ctx context.Context , request * ec2.DescribeVolumesInput , optFns ... func (* ec2.Options )) (* ec2.DescribeVolumesOutput , error )
363- DescribeVolumesModifications (ctx context.Context , request * ec2.DescribeVolumesModificationsInput , optFns ... func (* ec2.Options )) (* ec2.DescribeVolumesModificationsOutput , error )
360+ DescribeNetworkInterfaces (ctx context.Context , input * ec2.DescribeNetworkInterfacesInput , optFns ... func (* ec2.Options )) (* ec2.DescribeNetworkInterfacesOutput , error )
361+ DescribeRouteTables (ctx context.Context , request * ec2.DescribeRouteTablesInput , optFns ... func (* ec2.Options )) (* ec2.DescribeRouteTablesOutput , error )
362+ DescribeSecurityGroups (ctx context.Context , request * ec2.DescribeSecurityGroupsInput , optFns ... func (* ec2.Options )) (* ec2.DescribeSecurityGroupsOutput , error )
363+ DescribeSubnets (ctx context.Context , request * ec2.DescribeSubnetsInput , optFns ... func (* ec2.Options )) (* ec2.DescribeSubnetsOutput , error )
364+ DescribeVolumes (ctx context.Context , request * ec2.DescribeVolumesInput , optFns ... func (* ec2.Options )) (* ec2.DescribeVolumesOutput , error )
365+ DescribeVolumesModifications (ctx context.Context , request * ec2.DescribeVolumesModificationsInput , optFns ... func (* ec2.Options )) (* ec2.DescribeVolumesModificationsOutput , error )
364366 DescribeVpcs (ctx context.Context , input * ec2.DescribeVpcsInput , optFns ... func (* ec2.Options )) (* ec2.DescribeVpcsOutput , error )
365- DetachVolume (ctx context.Context , request * ec2.DetachVolumeInput , optFns ... func (* ec2.Options )) (* ec2.DetachVolumeOutput , error )
366- ModifyInstanceAttribute (ctx context.Context , request * ec2.ModifyInstanceAttributeInput , optFns ... func (* ec2.Options )) (* ec2.ModifyInstanceAttributeOutput , error )
367- ModifyVolume (ctx context.Context , request * ec2.ModifyVolumeInput , optFns ... func (* ec2.Options )) (* ec2.ModifyVolumeOutput , error )
368- RevokeSecurityGroupIngress (ctx context.Context , request * ec2.RevokeSecurityGroupIngressInput , optFns ... func (* ec2.Options )) (* ec2.RevokeSecurityGroupIngressOutput , error )
367+ DetachVolume (ctx context.Context , request * ec2.DetachVolumeInput , optFns ... func (* ec2.Options )) (* ec2.DetachVolumeOutput , error )
368+ ModifyInstanceAttribute (ctx context.Context , request * ec2.ModifyInstanceAttributeInput , optFns ... func (* ec2.Options )) (* ec2.ModifyInstanceAttributeOutput , error )
369+ ModifyVolume (ctx context.Context , request * ec2.ModifyVolumeInput , optFns ... func (* ec2.Options )) (* ec2.ModifyVolumeOutput , error )
370+ RevokeSecurityGroupIngress (ctx context.Context , request * ec2.RevokeSecurityGroupIngressInput , optFns ... func (* ec2.Options )) (* ec2.RevokeSecurityGroupIngressOutput , error )
369371}
370372
371373// ELB is a simple pass-through of AWS' ELB client interface, which allows for testing
@@ -592,7 +594,6 @@ type awsCloudConfigProvider interface {
592594 GetCustomAutoscalingResolver () autoscaling.EndpointResolverV2
593595}
594596
595-
596597// InstanceIDIndexFunc indexes based on a Node's instance ID found in its spec.providerID
597598func InstanceIDIndexFunc (obj interface {}) ([]string , error ) {
598599 node , ok := obj .(* v1.Node )
@@ -678,7 +679,6 @@ func (s *awsSdkEC2) DescribeInstances(ctx context.Context, request *ec2.Describe
678679 return results , nil
679680}
680681
681-
682682// DescribeNetworkInterfaces describes network interface provided in the input.
683683func (s * awsSdkEC2 ) DescribeNetworkInterfaces (ctx context.Context , input * ec2.DescribeNetworkInterfacesInput , optFns ... func (* ec2.Options )) (* ec2.DescribeNetworkInterfacesOutput , error ) {
684684 requestTime := time .Now ()
@@ -1024,15 +1024,15 @@ func newAWSCloud2(cfg config.CloudConfig, awsServices Services, provider config.
10241024 }
10251025
10261026 awsCloud := & Cloud {
1027- ec2 : ec2 ,
1028- elb : elb ,
1029- elbv2 : elbv2 ,
1030- asg : asg ,
1031- metadata : metadata ,
1032- kms : kms ,
1033- cfg : & cfg ,
1034- region : regionName ,
1035-
1027+ ec2 : ec2 ,
1028+ elb : elb ,
1029+ elbv2 : elbv2 ,
1030+ asg : asg ,
1031+ metadata : metadata ,
1032+ kms : kms ,
1033+ cfg : & cfg ,
1034+ region : regionName ,
1035+
10361036 attaching : make (map [types.NodeName ]map [mountDevice ]EBSVolumeID ),
10371037 deviceAllocators : make (map [types.NodeName ]DeviceAllocator ),
10381038 }
@@ -1700,7 +1700,7 @@ func isAWSErrorVolumeNotFound(err error) bool {
17001700 // https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html
17011701 return ae .ErrorCode () == "InvalidVolume.NotFound"
17021702 }
1703-
1703+
17041704 return false
17051705}
17061706
@@ -1838,7 +1838,7 @@ func (d *awsDisk) waitForAttachmentStatus(ctx context.Context, status string, ex
18381838 if status == volumeDetachedStatus {
18391839 // The disk doesn't exist, assume it's detached, log warning and stop waiting
18401840 klog .Warningf ("Waiting for volume %q to be detached but the volume does not exist" , d .awsID )
1841- stateStr := ec2types .VolumeAttachmentStateDetached
1841+ stateStr := ec2types .VolumeAttachmentStateDetached
18421842 attachment = & ec2types.VolumeAttachment {
18431843 State : stateStr ,
18441844 }
0 commit comments