@@ -72,24 +72,20 @@ var (
7272
7373func mkAWS (conf config.Config ) (provider * AWSProvider , err error ) {
7474 ctx := context .Background ()
75-
75+ provider = & AWSProvider {}
7676 iamSession , callerIdentity , err := GetAWSCallerIdentity (ctx )
7777 if err != nil {
78- return nil , plrlErrors .ErrorWrap (err , "Failed to get AWS caller identity" )
78+ return provider , plrlErrors .ErrorWrap (err , "Failed to get AWS caller identity" )
79+ }
80+ provider .goContext = & ctx
81+ provider .ctx = map [string ]any {
82+ "IAMSession" : iamSession ,
7983 }
80-
8184 fmt .Printf ("\n Using %s AWS profile\n " , getAWSProfileName ())
8285 fmt .Printf ("Caller identity ARN: %s\n " , lo .FromPtr (callerIdentity .Arn ))
8386 fmt .Printf ("Caller identity account: %s\n " , lo .FromPtr (callerIdentity .Account ))
8487 fmt .Printf ("Caller identity user ID: %s\n \n " , lo .FromPtr (callerIdentity .UserId ))
8588
86- provider = & AWSProvider {
87- goContext : & ctx ,
88- ctx : map [string ]any {
89- "IAMSession" : iamSession ,
90- },
91- }
92-
9389 var awsSurvey = []* survey.Question {
9490 {
9591 Name : "cluster" ,
@@ -178,22 +174,22 @@ func (aws *AWSProvider) KubeContext() string {
178174 return fmt .Sprintf ("arn:aws:eks:%s:%s:cluster/%s" , aws .Region (), aws .project , aws .Cluster ())
179175}
180176
181- func (p * AWSProvider ) mkBucket (name string ) error {
182- client := p .storageClient
183- _ , err := client .HeadBucket (* p .goContext , & s3.HeadBucketInput {Bucket : & name })
177+ func (aws * AWSProvider ) mkBucket (name string ) error {
178+ client := aws .storageClient
179+ _ , err := client .HeadBucket (* aws .goContext , & s3.HeadBucketInput {Bucket : & name })
184180
185181 if err != nil {
186182 bucket := & s3.CreateBucketInput {
187183 Bucket : & name ,
188184 }
189185
190- if p .Region () != "us-east-1" {
186+ if aws .Region () != "us-east-1" {
191187 bucket .CreateBucketConfiguration = & s3Types.CreateBucketConfiguration {
192- LocationConstraint : s3Types .BucketLocationConstraint (p .Region ()),
188+ LocationConstraint : s3Types .BucketLocationConstraint (aws .Region ()),
193189 }
194190 }
195191
196- _ , err = client .CreateBucket (* p .goContext , bucket )
192+ _ , err = client .CreateBucket (* aws .goContext , bucket )
197193 return err
198194 }
199195
@@ -231,29 +227,29 @@ func (aws *AWSProvider) Preflights() []*preflights.Preflight {
231227}
232228
233229func (aws * AWSProvider ) Flush () error {
234- if aws .writer == nil {
230+ if aws == nil || aws .writer == nil {
235231 return nil
236232 }
237233 return aws .writer ()
238234}
239235
240- func (prov * AWSProvider ) Permissions () (permissions.Checker , error ) {
241- return permissions .NewAwsChecker (* prov .goContext )
236+ func (aws * AWSProvider ) Permissions () (permissions.Checker , error ) {
237+ return permissions .NewAwsChecker (* aws .goContext )
242238}
243239
244- func (prov * AWSProvider ) Decommision (node * v1.Node ) error {
245- cfg , err := awsConfig .LoadDefaultConfig (* prov .goContext )
240+ func (aws * AWSProvider ) Decommision (node * v1.Node ) error {
241+ cfg , err := awsConfig .LoadDefaultConfig (* aws .goContext )
246242
247243 if err != nil {
248244 return plrlErrors .ErrorWrap (err , "Failed to establish aws session" )
249245 }
250246
251- cfg .Region = prov .Region ()
247+ cfg .Region = aws .Region ()
252248
253249 name := "private-dns-name"
254250
255251 svc := ec2 .NewFromConfig (cfg )
256- instances , err := svc .DescribeInstances (* prov .goContext , & ec2.DescribeInstancesInput {
252+ instances , err := svc .DescribeInstances (* aws .goContext , & ec2.DescribeInstancesInput {
257253 Filters : []ec2Types.Filter {
258254 {Name : & name , Values : []string {node .Name }},
259255 },
@@ -265,7 +261,7 @@ func (prov *AWSProvider) Decommision(node *v1.Node) error {
265261
266262 instance := instances .Reservations [0 ].Instances [0 ]
267263
268- _ , err = svc .TerminateInstances (* prov .goContext , & ec2.TerminateInstancesInput {
264+ _ , err = svc .TerminateInstances (* aws .goContext , & ec2.TerminateInstancesInput {
269265 InstanceIds : []string {* instance .InstanceId },
270266 })
271267
0 commit comments