11package util
22
33import (
4+ "context"
45 "encoding/base64"
56 "fmt"
67 "os"
78
8- "github.com/aws/aws-sdk-go/aws"
9+ "github.com/aws/aws-sdk-go-v2/aws"
10+ "github.com/aws/aws-sdk-go-v2/config"
11+ elb "github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing"
12+ elbv2 "github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2"
13+ awsv1 "github.com/aws/aws-sdk-go/aws"
914 "github.com/aws/aws-sdk-go/aws/session"
10- "github.com/aws/aws-sdk-go/service/elb"
11- "github.com/aws/aws-sdk-go/service/elbv2"
1215 g "github.com/onsi/ginkgo/v2"
1316 o "github.com/onsi/gomega"
1417 "github.com/tidwall/gjson"
@@ -39,36 +42,44 @@ func GetAwsCredentialFromCluster(oc *CLI) {
3942// InitAwsSession init session
4043func InitAwsSession (region string ) * session.Session {
4144 sess := session .Must (session .NewSessionWithOptions (session.Options {
42- Config : aws .Config {
43- Region : aws .String (region ),
45+ Config : awsv1 .Config {
46+ Region : awsv1 .String (region ),
4447 },
4548 }))
4649
4750 return sess
4851}
4952
5053type ELBClient struct {
51- svc * elb.ELB
52- svcV2 * elbv2.ELBV2
54+ svc * elb.Client
55+ svcV2 * elbv2.Client
5356}
5457
55- // NewELBClient creates an ECRClient
56- func NewELBClient (sess * session.Session ) * ELBClient {
58+ // InitAwsConfig init AWS config (AWS SDK v2)
59+ func InitAwsConfig (region string ) aws.Config {
60+ cfg , err := config .LoadDefaultConfig (context .TODO (),
61+ config .WithRegion (region ),
62+ )
63+ o .Expect (err ).NotTo (o .HaveOccurred ())
64+
65+ return cfg
66+ }
67+
68+ // NewELBClient creates an ELBClient
69+ func NewELBClient (cfg aws.Config ) * ELBClient {
5770 return & ELBClient {
58- svc : elb .New ( sess ),
59- svcV2 : elbv2 .New ( sess ),
71+ svc : elb .NewFromConfig ( cfg ),
72+ svcV2 : elbv2 .NewFromConfig ( cfg ),
6073 }
6174}
6275
6376// GetLBHealthCheckPortPath get load balance health check port and path for Classic Load Balancer
6477func (elbClient * ELBClient ) GetCLBHealthCheckPortPath (lbName string ) (string , error ) {
6578 input := & elb.DescribeLoadBalancersInput {
66- LoadBalancerNames : []* string {
67- aws .String (lbName ),
68- },
79+ LoadBalancerNames : []string {lbName },
6980 }
7081
71- result , err := elbClient .svc .DescribeLoadBalancers (input )
82+ result , err := elbClient .svc .DescribeLoadBalancers (context . TODO (), input )
7283 if err != nil {
7384 e2e .Logf ("Failed to describe classic load balancer: %v" , err )
7485 return "" , err
@@ -89,9 +100,9 @@ func (elbClient *ELBClient) GetCLBHealthCheckPortPath(lbName string) (string, er
89100func (elbClient * ELBClient ) GetNLBHealthCheckPortPath (lbName string ) (string , error ) {
90101 // Describe the load balancer
91102 input := & elbv2.DescribeLoadBalancersInput {
92- Names : []* string {aws . String ( lbName ) },
103+ Names : []string {lbName },
93104 }
94- result , err := elbClient .svcV2 .DescribeLoadBalancers (input )
105+ result , err := elbClient .svcV2 .DescribeLoadBalancers (context . TODO (), input )
95106 if err != nil {
96107 e2e .Logf ("Failed to describe NLB: %v" , err )
97108 return "" , err
@@ -106,7 +117,7 @@ func (elbClient *ELBClient) GetNLBHealthCheckPortPath(lbName string) (string, er
106117 tgInput := & elbv2.DescribeTargetGroupsInput {
107118 LoadBalancerArn : result .LoadBalancers [0 ].LoadBalancerArn ,
108119 }
109- tgResult , err := elbClient .svcV2 .DescribeTargetGroups (tgInput )
120+ tgResult , err := elbClient .svcV2 .DescribeTargetGroups (context . TODO (), tgInput )
110121 if err != nil {
111122 e2e .Logf ("Failed to describe target groups: %v" , err )
112123 return "" , err
@@ -119,9 +130,9 @@ func (elbClient *ELBClient) GetNLBHealthCheckPortPath(lbName string) (string, er
119130
120131 // Get health check configuration from the first target group
121132 tg := tgResult .TargetGroups [0 ]
122- protocol := aws . StringValue (tg .HealthCheckProtocol )
123- path := aws .StringValue (tg .HealthCheckPath )
124- port := aws .StringValue (tg .HealthCheckPort )
133+ protocol := string (tg .HealthCheckProtocol )
134+ path := aws .ToString (tg .HealthCheckPath )
135+ port := aws .ToString (tg .HealthCheckPort )
125136
126137 // Format: "HTTP:10256/healthz"
127138 return fmt .Sprintf ("%s:%s%s" , protocol , port , path ), nil
0 commit comments