Skip to content

Commit 65cd90d

Browse files
authored
Merge pull request #1458 from avanish23/aws-sdk-go-v2-migration
Migrate to use aws-sdk-go-v2
2 parents fe845cc + 79e098c commit 65cd90d

File tree

1,070 files changed

+528898
-12210
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,070 files changed

+528898
-12210
lines changed

go.mod

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
module github.com/kubernetes-sigs/aws-efs-csi-driver
22

33
require (
4-
github.com/aws/aws-sdk-go v1.50.3
4+
github.com/aws/aws-sdk-go-v2 v1.31.0
5+
github.com/aws/aws-sdk-go-v2/config v1.27.35
6+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.13
7+
github.com/aws/aws-sdk-go-v2/service/ec2 v1.178.0
8+
github.com/aws/aws-sdk-go-v2/service/efs v1.31.8
9+
github.com/aws/smithy-go v1.21.0
510
github.com/container-storage-interface/spec v1.7.0
611
github.com/golang/mock v1.6.0
712
github.com/google/uuid v1.3.1
@@ -21,6 +26,16 @@ require (
2126
)
2227

2328
require (
29+
github.com/aws/aws-sdk-go v1.50.3 // indirect
30+
github.com/aws/aws-sdk-go-v2/credentials v1.17.33 // indirect
31+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.18 // indirect
32+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.18 // indirect
33+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect
34+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.5 // indirect
35+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.20 // indirect
36+
github.com/aws/aws-sdk-go-v2/service/sso v1.22.8 // indirect
37+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.8 // indirect
38+
github.com/aws/aws-sdk-go-v2/service/sts v1.30.8 // indirect
2439
github.com/beorn7/perks v1.0.1 // indirect
2540
github.com/blang/semver/v4 v4.0.0 // indirect
2641
github.com/cenkalti/backoff/v4 v4.2.1 // indirect

go.sum

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,36 @@ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPd
4343
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
4444
github.com/aws/aws-sdk-go v1.50.3 h1:NnXC/ukOakZbBwQcwAzkAXYEB4SbWboP9TFx9vvhIrE=
4545
github.com/aws/aws-sdk-go v1.50.3/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk=
46+
github.com/aws/aws-sdk-go-v2 v1.31.0 h1:3V05LbxTSItI5kUqNwhJrrrY1BAXxXt0sN0l72QmG5U=
47+
github.com/aws/aws-sdk-go-v2 v1.31.0/go.mod h1:ztolYtaEUtdpf9Wftr31CJfLVjOnD/CVRkKOOYgF8hA=
48+
github.com/aws/aws-sdk-go-v2/config v1.27.35 h1:jeFgiWYNV0vrgdZqB4kZBjYNdy0IKkwrAjr2fwpHIig=
49+
github.com/aws/aws-sdk-go-v2/config v1.27.35/go.mod h1:qnpEvTq8ZfjrCqmJGRfWZuF+lGZ/vG8LK2K0L/TY1gQ=
50+
github.com/aws/aws-sdk-go-v2/credentials v1.17.33 h1:lBHAQQznENv0gLHAZ73ONiTSkCtr8q3pSqWrpbBBZz0=
51+
github.com/aws/aws-sdk-go-v2/credentials v1.17.33/go.mod h1:MBuqCUOT3ChfLuxNDGyra67eskx7ge9e3YKYBce7wpI=
52+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.13 h1:pfQ2sqNpMVK6xz2RbqLEL0GH87JOwSxPV2rzm8Zsb74=
53+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.13/go.mod h1:NG7RXPUlqfsCLLFfi0+IpKN4sCB9D9fw/qTaSB+xRoU=
54+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.18 h1:kYQ3H1u0ANr9KEKlGs/jTLrBFPo8P8NaH/w7A01NeeM=
55+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.18/go.mod h1:r506HmK5JDUh9+Mw4CfGJGSSoqIiLCndAuqXuhbv67Y=
56+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.18 h1:Z7IdFUONvTcvS7YuhtVxN99v2cCoHRXOS4mTr0B/pUc=
57+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.18/go.mod h1:DkKMmksZVVyat+Y+r1dEOgJEfUeA7UngIHWeKsi0yNc=
58+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ=
59+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc=
60+
github.com/aws/aws-sdk-go-v2/service/ec2 v1.178.0 h1:yCVmlqH1bWVmdS/oFyyM+hbe2c+tKGPo6r0BHhTpn1U=
61+
github.com/aws/aws-sdk-go-v2/service/ec2 v1.178.0/go.mod h1:W6sNzs5T4VpZn1Vy+FMKw8s24vt5k6zPJXcNOK0asBo=
62+
github.com/aws/aws-sdk-go-v2/service/efs v1.31.8 h1:jAfe2YLd59Sr1QdHF42xHdEwaCWTrOe6EU4+BzA8xdo=
63+
github.com/aws/aws-sdk-go-v2/service/efs v1.31.8/go.mod h1:XGcTOlJ2nuj3KemxjGAGc/fpl2Cb8Z0DE+cTnKHmBGU=
64+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.5 h1:QFASJGfT8wMXtuP3D5CRmMjARHv9ZmzFUMJznHDOY3w=
65+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.5/go.mod h1:QdZ3OmoIjSX+8D1OPAzPxDfjXASbBMDsz9qvtyIhtik=
66+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.20 h1:Xbwbmk44URTiHNx6PNo0ujDE6ERlsCKJD3u1zfnzAPg=
67+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.20/go.mod h1:oAfOFzUB14ltPZj1rWwRc3d/6OgD76R8KlvU3EqM9Fg=
68+
github.com/aws/aws-sdk-go-v2/service/sso v1.22.8 h1:JRwuL+S1Qe1owZQoxblV7ORgRf2o0SrtzDVIbaVCdQ0=
69+
github.com/aws/aws-sdk-go-v2/service/sso v1.22.8/go.mod h1:eEygMHnTKH/3kNp9Jr1n3PdejuSNcgwLe1dWgQtO0VQ=
70+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.8 h1:+HpGETD9463PFSj7lX5+eq7aLDs85QUIA+NBkeAsscA=
71+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.8/go.mod h1:bCbAxKDqNvkHxRaIMnyVPXPo+OaPRwvmgzMxbz1VKSA=
72+
github.com/aws/aws-sdk-go-v2/service/sts v1.30.8 h1:bAi+4p5EKnni+jrfcAhb7iHFQ24bthOAV9t0taf3DCE=
73+
github.com/aws/aws-sdk-go-v2/service/sts v1.30.8/go.mod h1:NXi1dIAGteSaRLqYgarlhP/Ij0cFT+qmCwiJqWh/U5o=
74+
github.com/aws/smithy-go v1.21.0 h1:H7L8dtDRk0P1Qm6y0ji7MCYMQObJ5R9CRpyPhRUkLYA=
75+
github.com/aws/smithy-go v1.21.0/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg=
4676
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
4777
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
4878
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=

pkg/cloud/cloud.go

Lines changed: 61 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,20 @@ import (
2020
"context"
2121
"errors"
2222
"fmt"
23+
24+
"github.com/aws/smithy-go"
2325
"math/rand"
2426
"os"
2527
"time"
2628

27-
"github.com/aws/aws-sdk-go/aws"
28-
"github.com/aws/aws-sdk-go/aws/awserr"
29-
"github.com/aws/aws-sdk-go/aws/credentials/stscreds"
30-
"github.com/aws/aws-sdk-go/aws/ec2metadata"
31-
"github.com/aws/aws-sdk-go/aws/request"
32-
"github.com/aws/aws-sdk-go/aws/session"
33-
"github.com/aws/aws-sdk-go/service/efs"
29+
"github.com/aws/aws-sdk-go-v2/aws"
30+
"github.com/aws/aws-sdk-go-v2/config"
31+
"github.com/aws/aws-sdk-go-v2/credentials/stscreds"
32+
"github.com/aws/aws-sdk-go-v2/feature/ec2/imds"
33+
"github.com/aws/aws-sdk-go-v2/service/efs"
34+
"github.com/aws/aws-sdk-go-v2/service/efs/types"
35+
"github.com/aws/aws-sdk-go-v2/service/sts"
36+
3437
"k8s.io/klog/v2"
3538
)
3639

@@ -88,11 +91,11 @@ type MountTarget struct {
8891

8992
// Efs abstracts efs client(https://docs.aws.amazon.com/sdk-for-go/api/service/efs/)
9093
type Efs interface {
91-
CreateAccessPointWithContext(aws.Context, *efs.CreateAccessPointInput, ...request.Option) (*efs.CreateAccessPointOutput, error)
92-
DeleteAccessPointWithContext(aws.Context, *efs.DeleteAccessPointInput, ...request.Option) (*efs.DeleteAccessPointOutput, error)
93-
DescribeAccessPointsWithContext(aws.Context, *efs.DescribeAccessPointsInput, ...request.Option) (*efs.DescribeAccessPointsOutput, error)
94-
DescribeFileSystemsWithContext(aws.Context, *efs.DescribeFileSystemsInput, ...request.Option) (*efs.DescribeFileSystemsOutput, error)
95-
DescribeMountTargetsWithContext(aws.Context, *efs.DescribeMountTargetsInput, ...request.Option) (*efs.DescribeMountTargetsOutput, error)
94+
CreateAccessPoint(context.Context, *efs.CreateAccessPointInput, ...func(*efs.Options)) (*efs.CreateAccessPointOutput, error)
95+
DeleteAccessPoint(context.Context, *efs.DeleteAccessPointInput, ...func(*efs.Options)) (*efs.DeleteAccessPointOutput, error)
96+
DescribeAccessPoints(context.Context, *efs.DescribeAccessPointsInput, ...func(*efs.Options)) (*efs.DescribeAccessPointsOutput, error)
97+
DescribeFileSystems(context.Context, *efs.DescribeFileSystemsInput, ...func(*efs.Options)) (*efs.DescribeFileSystemsOutput, error)
98+
DescribeMountTargets(context.Context, *efs.DescribeMountTargetsInput, ...func(*efs.Options)) (*efs.DescribeMountTargetsOutput, error)
9699
}
97100

98101
type Cloud interface {
@@ -124,16 +127,18 @@ func NewCloudWithRole(awsRoleArn string) (Cloud, error) {
124127
}
125128

126129
func createCloud(awsRoleArn string) (Cloud, error) {
127-
sess := session.Must(session.NewSession(&aws.Config{}))
128-
svc := ec2metadata.New(sess)
130+
cfg, err := config.LoadDefaultConfig(context.TODO())
131+
if err != nil {
132+
klog.Warningf("Could not load config: %v", err)
133+
}
134+
135+
svc := imds.NewFromConfig(cfg)
129136
api, err := DefaultKubernetesAPIClient()
130137

131138
if err != nil && !isDriverBootedInECS() {
132139
klog.Warningf("Could not create Kubernetes Client: %v", err)
133140
}
134-
135141
metadataProvider, err := GetNewMetadataProvider(svc, api)
136-
137142
if err != nil {
138143
return nil, fmt.Errorf("error creating MetadataProvider: %v", err)
139144
}
@@ -144,21 +149,23 @@ func createCloud(awsRoleArn string) (Cloud, error) {
144149
return nil, fmt.Errorf("could not get metadata: %v", err)
145150
}
146151

147-
efs_client := createEfsClient(awsRoleArn, metadata, sess)
148-
klog.V(5).Infof("EFS Client created using the following endpoint: %+v", efs_client.(*efs.EFS).Client.ClientInfo.Endpoint)
152+
efs_client := createEfsClient(awsRoleArn, metadata)
153+
klog.V(5).Infof("EFS Client created using the following endpoint: %+v", cfg.BaseEndpoint)
149154

150155
return &cloud{
151156
metadata: metadata,
152157
efs: efs_client,
153158
}, nil
154159
}
155160

156-
func createEfsClient(awsRoleArn string, metadata MetadataService, sess *session.Session) Efs {
157-
config := aws.NewConfig().WithRegion(metadata.GetRegion())
161+
func createEfsClient(awsRoleArn string, metadata MetadataService) Efs {
162+
cfg, _ := config.LoadDefaultConfig(context.TODO(), config.WithRegion(metadata.GetRegion()))
158163
if awsRoleArn != "" {
159-
config = config.WithCredentials(stscreds.NewCredentials(sess, awsRoleArn))
164+
stsClient := sts.NewFromConfig(cfg)
165+
roleProvider := stscreds.NewAssumeRoleProvider(stsClient, awsRoleArn)
166+
cfg.Credentials = aws.NewCredentialsCache(roleProvider)
160167
}
161-
return efs.New(session.Must(session.NewSession(config)))
168+
return efs.NewFromConfig(cfg)
162169
}
163170

164171
func (c *cloud) GetMetadata() MetadataService {
@@ -170,12 +177,12 @@ func (c *cloud) CreateAccessPoint(ctx context.Context, clientToken string, acces
170177
createAPInput := &efs.CreateAccessPointInput{
171178
ClientToken: &clientToken,
172179
FileSystemId: &accessPointOpts.FileSystemId,
173-
PosixUser: &efs.PosixUser{
180+
PosixUser: &types.PosixUser{
174181
Gid: &accessPointOpts.Gid,
175182
Uid: &accessPointOpts.Uid,
176183
},
177-
RootDirectory: &efs.RootDirectory{
178-
CreationInfo: &efs.CreationInfo{
184+
RootDirectory: &types.RootDirectory{
185+
CreationInfo: &types.CreationInfo{
179186
OwnerGid: &accessPointOpts.Gid,
180187
OwnerUid: &accessPointOpts.Uid,
181188
Permissions: &accessPointOpts.DirectoryPerms,
@@ -186,7 +193,7 @@ func (c *cloud) CreateAccessPoint(ctx context.Context, clientToken string, acces
186193
}
187194

188195
klog.V(5).Infof("Calling Create AP with input: %+v", *createAPInput)
189-
res, err := c.efs.CreateAccessPointWithContext(ctx, createAPInput)
196+
res, err := c.efs.CreateAccessPoint(ctx, createAPInput)
190197
if err != nil {
191198
if isAccessDenied(err) {
192199
return nil, ErrAccessDenied
@@ -204,7 +211,7 @@ func (c *cloud) CreateAccessPoint(ctx context.Context, clientToken string, acces
204211

205212
func (c *cloud) DeleteAccessPoint(ctx context.Context, accessPointId string) (err error) {
206213
deleteAccessPointInput := &efs.DeleteAccessPointInput{AccessPointId: &accessPointId}
207-
_, err = c.efs.DeleteAccessPointWithContext(ctx, deleteAccessPointInput)
214+
_, err = c.efs.DeleteAccessPoint(ctx, deleteAccessPointInput)
208215
if err != nil {
209216
if isAccessDenied(err) {
210217
return ErrAccessDenied
@@ -222,7 +229,7 @@ func (c *cloud) DescribeAccessPoint(ctx context.Context, accessPointId string) (
222229
describeAPInput := &efs.DescribeAccessPointsInput{
223230
AccessPointId: &accessPointId,
224231
}
225-
res, err := c.efs.DescribeAccessPointsWithContext(ctx, describeAPInput)
232+
res, err := c.efs.DescribeAccessPoints(ctx, describeAPInput)
226233
if err != nil {
227234
if isAccessDenied(err) {
228235
return nil, ErrAccessDenied
@@ -250,9 +257,9 @@ func (c *cloud) FindAccessPointByClientToken(ctx context.Context, clientToken, f
250257
klog.V(2).Infof("ClientToken to find AP : %s", clientToken)
251258
describeAPInput := &efs.DescribeAccessPointsInput{
252259
FileSystemId: &fileSystemId,
253-
MaxResults: aws.Int64(AccessPointPerFsLimit),
260+
MaxResults: aws.Int32(AccessPointPerFsLimit),
254261
}
255-
res, err := c.efs.DescribeAccessPointsWithContext(ctx, describeAPInput)
262+
res, err := c.efs.DescribeAccessPoints(ctx, describeAPInput)
256263
if err != nil {
257264
if isAccessDenied(err) {
258265
return nil, ErrAccessDenied
@@ -265,7 +272,7 @@ func (c *cloud) FindAccessPointByClientToken(ctx context.Context, clientToken, f
265272
}
266273
for _, ap := range res.AccessPoints {
267274
// check if AP exists with same client token
268-
if aws.StringValue(ap.ClientToken) == clientToken {
275+
if *ap.ClientToken == clientToken {
269276
return &AccessPoint{
270277
AccessPointId: *ap.AccessPointId,
271278
FileSystemId: *ap.FileSystemId,
@@ -280,9 +287,9 @@ func (c *cloud) FindAccessPointByClientToken(ctx context.Context, clientToken, f
280287
func (c *cloud) ListAccessPoints(ctx context.Context, fileSystemId string) (accessPoints []*AccessPoint, err error) {
281288
describeAPInput := &efs.DescribeAccessPointsInput{
282289
FileSystemId: &fileSystemId,
283-
MaxResults: aws.Int64(AccessPointPerFsLimit),
290+
MaxResults: aws.Int32(AccessPointPerFsLimit),
284291
}
285-
res, err := c.efs.DescribeAccessPointsWithContext(ctx, describeAPInput)
292+
res, err := c.efs.DescribeAccessPoints(ctx, describeAPInput)
286293
if err != nil {
287294
if isAccessDenied(err) {
288295
return nil, ErrAccessDenied
@@ -318,7 +325,7 @@ func (c *cloud) ListAccessPoints(ctx context.Context, fileSystemId string) (acce
318325
func (c *cloud) DescribeFileSystem(ctx context.Context, fileSystemId string) (fs *FileSystem, err error) {
319326
describeFsInput := &efs.DescribeFileSystemsInput{FileSystemId: &fileSystemId}
320327
klog.V(5).Infof("Calling DescribeFileSystems with input: %+v", *describeFsInput)
321-
res, err := c.efs.DescribeFileSystemsWithContext(ctx, describeFsInput)
328+
res, err := c.efs.DescribeFileSystems(ctx, describeFsInput)
322329
if err != nil {
323330
if isAccessDenied(err) {
324331
return nil, ErrAccessDenied
@@ -341,7 +348,7 @@ func (c *cloud) DescribeFileSystem(ctx context.Context, fileSystemId string) (fs
341348
func (c *cloud) DescribeMountTargets(ctx context.Context, fileSystemId, azName string) (fs *MountTarget, err error) {
342349
describeMtInput := &efs.DescribeMountTargetsInput{FileSystemId: &fileSystemId}
343350
klog.V(5).Infof("Calling DescribeMountTargets with input: %+v", *describeMtInput)
344-
res, err := c.efs.DescribeMountTargetsWithContext(ctx, describeMtInput)
351+
res, err := c.efs.DescribeMountTargets(ctx, describeMtInput)
345352
if err != nil {
346353
if isAccessDenied(err) {
347354
return nil, ErrAccessDenied
@@ -363,7 +370,7 @@ func (c *cloud) DescribeMountTargets(ctx context.Context, fileSystemId, azName s
363370
return nil, fmt.Errorf("No mount target for file system %v is in available state. Please retry in 5 minutes.", fileSystemId)
364371
}
365372

366-
var mountTarget *efs.MountTargetDescription
373+
var mountTarget *types.MountTargetDescription
367374
if azName != "" {
368375
mountTarget = getMountTargetForAz(availableMountTargets, azName)
369376
}
@@ -373,7 +380,7 @@ func (c *cloud) DescribeMountTargets(ctx context.Context, fileSystemId, azName s
373380
if mountTarget == nil {
374381
klog.Infof("Picking a random mount target from available mount target")
375382
rand.Seed(time.Now().Unix())
376-
mountTarget = availableMountTargets[rand.Intn(len(availableMountTargets))]
383+
mountTarget = &availableMountTargets[rand.Intn(len(availableMountTargets))]
377384
}
378385

379386
return &MountTarget{
@@ -385,26 +392,25 @@ func (c *cloud) DescribeMountTargets(ctx context.Context, fileSystemId, azName s
385392
}
386393

387394
func isFileSystemNotFound(err error) bool {
388-
if awsErr, ok := err.(awserr.Error); ok {
389-
if awsErr.Code() == efs.ErrCodeFileSystemNotFound {
390-
return true
391-
}
395+
var FileSystemNotFoundErr *types.FileSystemNotFound
396+
if errors.As(err, &FileSystemNotFoundErr) {
397+
return true
392398
}
393399
return false
394400
}
395401

396402
func isAccessPointNotFound(err error) bool {
397-
if awsErr, ok := err.(awserr.Error); ok {
398-
if awsErr.Code() == efs.ErrCodeAccessPointNotFound {
399-
return true
400-
}
403+
var AccessPointNotFoundErr *types.AccessPointNotFound
404+
if errors.As(err, &AccessPointNotFoundErr) {
405+
return true
401406
}
402407
return false
403408
}
404409

405410
func isAccessDenied(err error) bool {
406-
if awsErr, ok := err.(awserr.Error); ok {
407-
if awsErr.Code() == AccessDeniedException {
411+
var apiErr smithy.APIError
412+
if errors.As(err, &apiErr) {
413+
if apiErr.ErrorCode() == AccessDeniedException {
408414
return true
409415
}
410416
}
@@ -416,34 +422,34 @@ func isDriverBootedInECS() bool {
416422
return ecsContainerMetadataUri != ""
417423
}
418424

419-
func parseEfsTags(tagMap map[string]string) []*efs.Tag {
420-
efsTags := []*efs.Tag{}
425+
func parseEfsTags(tagMap map[string]string) []types.Tag {
426+
efsTags := []types.Tag{}
421427
for k, v := range tagMap {
422428
key := k
423429
value := v
424-
efsTags = append(efsTags, &efs.Tag{
430+
efsTags = append(efsTags, types.Tag{
425431
Key: &key,
426432
Value: &value,
427433
})
428434
}
429435
return efsTags
430436
}
431437

432-
func getAvailableMountTargets(mountTargets []*efs.MountTargetDescription) []*efs.MountTargetDescription {
433-
availableMountTargets := []*efs.MountTargetDescription{}
438+
func getAvailableMountTargets(mountTargets []types.MountTargetDescription) []types.MountTargetDescription {
439+
availableMountTargets := []types.MountTargetDescription{}
434440
for _, mt := range mountTargets {
435-
if *mt.LifeCycleState == "available" {
441+
if mt.LifeCycleState == "available" {
436442
availableMountTargets = append(availableMountTargets, mt)
437443
}
438444
}
439445

440446
return availableMountTargets
441447
}
442448

443-
func getMountTargetForAz(mountTargets []*efs.MountTargetDescription, azName string) *efs.MountTargetDescription {
449+
func getMountTargetForAz(mountTargets []types.MountTargetDescription, azName string) *types.MountTargetDescription {
444450
for _, mt := range mountTargets {
445451
if *mt.AvailabilityZoneName == azName {
446-
return mt
452+
return &mt
447453
}
448454
}
449455
klog.Infof("There is no mount target match %v", azName)

0 commit comments

Comments
 (0)