@@ -1045,7 +1045,7 @@ func (s sdk) GetPublicIPs(ctx context.Context, interfaces ...string) (map[string
10451045 }
10461046}
10471047
1048- func (s sdk ) ResolveLoadBalancer (ctx context.Context , nameOrArn string ) (awsResource , string , string , [] awsResource , error ) {
1048+ func (s sdk ) ResolveLoadBalancer (ctx context.Context , nameOrArn string ) (awsResource , string , string , vpcSubNets , error ) {
10491049 logrus .Debug ("Check if LoadBalancer exists: " , nameOrArn )
10501050 var arns []* string
10511051 var names []* string
@@ -1060,17 +1060,27 @@ func (s sdk) ResolveLoadBalancer(ctx context.Context, nameOrArn string) (awsReso
10601060 Names : names ,
10611061 })
10621062 if err != nil {
1063- return nil , "" , "" , nil , err
1063+ return nil , "" , "" , vpcSubNets {} , err
10641064 }
10651065 if len (lbs .LoadBalancers ) == 0 {
1066- return nil , "" , "" , nil , errors .Wrapf (errdefs .ErrNotFound , "load balancer %q does not exist" , nameOrArn )
1066+ return nil , "" , "" , vpcSubNets {} , errors .Wrapf (errdefs .ErrNotFound , "load balancer %q does not exist" , nameOrArn )
10671067 }
10681068 it := lbs .LoadBalancers [0 ]
1069- var subNets [] awsResource
1069+ var subNets vpcSubNets
10701070 for _ , az := range it .AvailabilityZones {
1071- subNets = append (subNets , existingAWSResource {
1072- id : aws .StringValue (az .SubnetId ),
1073- })
1071+ isPublic , err := s .IsPublicSubnet (ctx ,aws .StringValue (az .SubnetId ));
1072+ if err != nil {
1073+ return nil , "" , "" , subNets , err
1074+ }
1075+ if isPublic {
1076+ subNets .public = append (subNets .public , existingAWSResource {
1077+ id : aws .StringValue (az .SubnetId ),
1078+ })
1079+ } else {
1080+ subNets .private = append (subNets .private , existingAWSResource {
1081+ id : aws .StringValue (az .SubnetId ),
1082+ })
1083+ }
10741084 }
10751085 return existingAWSResource {
10761086 arn : aws .StringValue (it .LoadBalancerArn ),
0 commit comments