@@ -30,12 +30,13 @@ import (
30
30
"sigs.k8s.io/controller-runtime/pkg/client"
31
31
32
32
infrav1beta1 "sigs.k8s.io/cluster-api-provider-ibmcloud/api/v1beta1"
33
+ "sigs.k8s.io/cluster-api-provider-ibmcloud/pkg/cloud/services/vpc"
33
34
"sigs.k8s.io/cluster-api-provider-ibmcloud/pkg/record"
34
35
)
35
36
36
37
// ClusterScopeParams defines the input parameters used to create a new ClusterScope.
37
38
type ClusterScopeParams struct {
38
- IBMVPCClients
39
+ IBMVPCClient vpc. Vpc
39
40
Client client.Client
40
41
Logger logr.Logger
41
42
Cluster * capiv1beta1.Cluster
@@ -48,7 +49,7 @@ type ClusterScope struct {
48
49
client client.Client
49
50
patchHelper * patch.Helper
50
51
51
- IBMVPCClients
52
+ IBMVPCClient vpc. Vpc
52
53
Cluster * capiv1beta1.Cluster
53
54
IBMVPCCluster * infrav1beta1.IBMVPCCluster
54
55
}
@@ -71,9 +72,9 @@ func NewClusterScope(params ClusterScopeParams, authenticator core.Authenticator
71
72
return nil , errors .Wrap (err , "failed to init patch helper" )
72
73
}
73
74
74
- vpcErr := params . IBMVPCClients . setIBMVPCService ( authenticator , svcEndpoint )
75
- if vpcErr != nil {
76
- return nil , errors .Wrap (vpcErr , "failed to create IBM VPC session" )
75
+ vpcClient , err := vpc . NewService ( svcEndpoint )
76
+ if err != nil {
77
+ return nil , errors .Wrap (err , "failed to create IBM VPC session" )
77
78
}
78
79
79
80
if params .Logger .V (DEBUGLEVEL ).Enabled () {
@@ -83,7 +84,7 @@ func NewClusterScope(params ClusterScopeParams, authenticator core.Authenticator
83
84
return & ClusterScope {
84
85
Logger : params .Logger ,
85
86
client : params .Client ,
86
- IBMVPCClients : params . IBMVPCClients ,
87
+ IBMVPCClient : vpcClient ,
87
88
Cluster : params .Cluster ,
88
89
IBMVPCCluster : params .IBMVPCCluster ,
89
90
patchHelper : helper ,
@@ -105,7 +106,7 @@ func (s *ClusterScope) CreateVPC() (*vpcv1.VPC, error) {
105
106
ID : & s .IBMVPCCluster .Spec .ResourceGroup ,
106
107
})
107
108
options .SetName (s .IBMVPCCluster .Spec .VPC )
108
- vpc , _ , err := s .IBMVPCClients . VPCService .CreateVPC (options )
109
+ vpc , _ , err := s .IBMVPCClient .CreateVPC (options )
109
110
if err != nil {
110
111
record .Warnf (s .IBMVPCCluster , "FailedCreateVPC" , "Failed vpc creation - %v" , err )
111
112
return nil , err
@@ -121,7 +122,7 @@ func (s *ClusterScope) CreateVPC() (*vpcv1.VPC, error) {
121
122
func (s * ClusterScope ) DeleteVPC () error {
122
123
deleteVpcOptions := & vpcv1.DeleteVPCOptions {}
123
124
deleteVpcOptions .SetID (s .IBMVPCCluster .Status .VPC .ID )
124
- _ , err := s .IBMVPCClients . VPCService .DeleteVPC (deleteVpcOptions )
125
+ _ , err := s .IBMVPCClient .DeleteVPC (deleteVpcOptions )
125
126
if err != nil {
126
127
record .Warnf (s .IBMVPCCluster , "FailedDeleteVPC" , "Failed vpc deletion - %v" , err )
127
128
} else {
@@ -133,7 +134,7 @@ func (s *ClusterScope) DeleteVPC() error {
133
134
134
135
func (s * ClusterScope ) ensureVPCUnique (vpcName string ) (* vpcv1.VPC , error ) {
135
136
listVpcsOptions := & vpcv1.ListVpcsOptions {}
136
- vpcs , _ , err := s .IBMVPCClients . VPCService .ListVpcs (listVpcsOptions )
137
+ vpcs , _ , err := s .IBMVPCClient .ListVpcs (listVpcsOptions )
137
138
if err != nil {
138
139
return nil , err
139
140
}
@@ -153,7 +154,7 @@ func (s *ClusterScope) updateDefaultSG(sgID string) error {
153
154
Protocol : core .StringPtr ("all" ),
154
155
IPVersion : core .StringPtr ("ipv4" ),
155
156
})
156
- _ , _ , err := s .IBMVPCClients . VPCService .CreateSecurityGroupRule (options )
157
+ _ , _ , err := s .IBMVPCClient .CreateSecurityGroupRule (options )
157
158
if err != nil {
158
159
record .Warnf (s .IBMVPCCluster , "FailedCreateSecurityGroupRule" , "Failed security group rule creation - %v" , err )
159
160
}
@@ -182,16 +183,16 @@ func (s *ClusterScope) ReserveFIP() (*vpcv1.FloatingIP, error) {
182
183
},
183
184
})
184
185
185
- floatingIP , _ , err := s .IBMVPCClients . VPCService .CreateFloatingIP (options )
186
+ floatingIP , _ , err := s .IBMVPCClient .CreateFloatingIP (options )
186
187
if err != nil {
187
188
record .Warnf (s .IBMVPCCluster , "FailedCreateFloatingIP" , "Failed floatingIP creation - %v" , err )
188
189
}
189
190
return floatingIP , err
190
191
}
191
192
192
193
func (s * ClusterScope ) ensureFIPUnique (fipName string ) (* vpcv1.FloatingIP , error ) {
193
- listFloatingIpsOptions := s . IBMVPCClients . VPCService . NewListFloatingIpsOptions ()
194
- floatingIPs , _ , err := s .IBMVPCClients . VPCService .ListFloatingIps (listFloatingIpsOptions )
194
+ listFloatingIpsOptions := & vpcv1. ListFloatingIpsOptions {}
195
+ floatingIPs , _ , err := s .IBMVPCClient .ListFloatingIps (listFloatingIpsOptions )
195
196
if err != nil {
196
197
return nil , err
197
198
}
@@ -208,7 +209,7 @@ func (s *ClusterScope) DeleteFloatingIP() error {
208
209
if fipID := * s .IBMVPCCluster .Status .VPCEndpoint .FIPID ; fipID != "" {
209
210
deleteFIPOption := & vpcv1.DeleteFloatingIPOptions {}
210
211
deleteFIPOption .SetID (fipID )
211
- _ , err := s .IBMVPCClients . VPCService .DeleteFloatingIP (deleteFIPOption )
212
+ _ , err := s .IBMVPCClient .DeleteFloatingIP (deleteFIPOption )
212
213
if err != nil {
213
214
record .Warnf (s .IBMVPCCluster , "FailedDeleteFloatingIP" , "Failed floatingIP deletion - %v" , err )
214
215
}
@@ -247,7 +248,7 @@ func (s *ClusterScope) CreateSubnet() (*vpcv1.Subnet, error) {
247
248
ID : & s .IBMVPCCluster .Spec .ResourceGroup ,
248
249
},
249
250
})
250
- subnet , _ , err := s .IBMVPCClients . VPCService .CreateSubnet (options )
251
+ subnet , _ , err := s .IBMVPCClient .CreateSubnet (options )
251
252
if err != nil {
252
253
record .Warnf (s .IBMVPCCluster , "FailedCreateSubnet" , "Failed subnet creation - %v" , err )
253
254
}
@@ -269,7 +270,7 @@ func (s *ClusterScope) getSubnetAddrPrefix(vpcID, zone string) (string, error) {
269
270
options := & vpcv1.ListVPCAddressPrefixesOptions {
270
271
VPCID : & vpcID ,
271
272
}
272
- addrCollection , _ , err := s .IBMVPCClients . VPCService .ListVPCAddressPrefixes (options )
273
+ addrCollection , _ , err := s .IBMVPCClient .ListVPCAddressPrefixes (options )
273
274
274
275
if err != nil {
275
276
return "" , err
@@ -284,7 +285,7 @@ func (s *ClusterScope) getSubnetAddrPrefix(vpcID, zone string) (string, error) {
284
285
285
286
func (s * ClusterScope ) ensureSubnetUnique (subnetName string ) (* vpcv1.Subnet , error ) {
286
287
options := & vpcv1.ListSubnetsOptions {}
287
- subnets , _ , err := s .IBMVPCClients . VPCService .ListSubnets (options )
288
+ subnets , _ , err := s .IBMVPCClient .ListSubnets (options )
288
289
289
290
if err != nil {
290
291
return nil , err
@@ -304,7 +305,7 @@ func (s *ClusterScope) DeleteSubnet() error {
304
305
// get the pgw id for given subnet, so we can delete it later
305
306
getPGWOptions := & vpcv1.GetSubnetPublicGatewayOptions {}
306
307
getPGWOptions .SetID (subnetID )
307
- pgw , _ , err := s .IBMVPCClients . VPCService .GetSubnetPublicGateway (getPGWOptions )
308
+ pgw , _ , err := s .IBMVPCClient .GetSubnetPublicGateway (getPGWOptions )
308
309
if pgw != nil && err == nil { // public gateway found
309
310
// Unset the public gateway for subnet first
310
311
err = s .detachPublicGateway (subnetID , * pgw .ID )
@@ -316,7 +317,7 @@ func (s *ClusterScope) DeleteSubnet() error {
316
317
// Delete subnet
317
318
deleteSubnetOption := & vpcv1.DeleteSubnetOptions {}
318
319
deleteSubnetOption .SetID (subnetID )
319
- _ , err = s .IBMVPCClients . VPCService .DeleteSubnet (deleteSubnetOption )
320
+ _ , err = s .IBMVPCClient .DeleteSubnet (deleteSubnetOption )
320
321
if err != nil {
321
322
record .Warnf (s .IBMVPCCluster , "FailedDeleteSubnet" , "Failed subnet deletion - %v" , err )
322
323
return errors .Wrap (err , "Error when deleting subnet " )
@@ -335,7 +336,7 @@ func (s *ClusterScope) createPublicGateWay(vpcID string, zoneName string, resour
335
336
options .SetResourceGroup (& vpcv1.ResourceGroupIdentity {
336
337
ID : & resourceGroupID ,
337
338
})
338
- publicGateway , _ , err := s .IBMVPCClients . VPCService .CreatePublicGateway (options )
339
+ publicGateway , _ , err := s .IBMVPCClient .CreatePublicGateway (options )
339
340
if err != nil {
340
341
record .Warnf (s .IBMVPCCluster , "FailedCreatePublicGateway" , "Failed publicgateway creation - %v" , err )
341
342
}
@@ -348,7 +349,7 @@ func (s *ClusterScope) attachPublicGateWay(subnetID string, pgwID string) (*vpcv
348
349
options .SetPublicGatewayIdentity (& vpcv1.PublicGatewayIdentity {
349
350
ID : & pgwID ,
350
351
})
351
- publicGateway , _ , err := s .IBMVPCClients . VPCService .SetSubnetPublicGateway (options )
352
+ publicGateway , _ , err := s .IBMVPCClient .SetSubnetPublicGateway (options )
352
353
if err != nil {
353
354
record .Warnf (s .IBMVPCCluster , "FailedAttachPublicGateway" , "Failed publicgateway attachment - %v" , err )
354
355
}
@@ -359,7 +360,7 @@ func (s *ClusterScope) detachPublicGateway(subnetID string, pgwID string) error
359
360
// Unset the publicgateway first, and then delete it
360
361
unsetPGWOption := & vpcv1.UnsetSubnetPublicGatewayOptions {}
361
362
unsetPGWOption .SetID (subnetID )
362
- _ , err := s .IBMVPCClients . VPCService .UnsetSubnetPublicGateway (unsetPGWOption )
363
+ _ , err := s .IBMVPCClient .UnsetSubnetPublicGateway (unsetPGWOption )
363
364
if err != nil {
364
365
record .Warnf (s .IBMVPCCluster , "FailedDetachPublicGateway" , "Failed publicgateway detachment - %v" , err )
365
366
return errors .Wrap (err , "Error when unsetting publicgateway for subnet " + subnetID )
@@ -368,7 +369,7 @@ func (s *ClusterScope) detachPublicGateway(subnetID string, pgwID string) error
368
369
// Delete the public gateway
369
370
deletePGWOption := & vpcv1.DeletePublicGatewayOptions {}
370
371
deletePGWOption .SetID (pgwID )
371
- _ , err = s .IBMVPCClients . VPCService .DeletePublicGateway (deletePGWOption )
372
+ _ , err = s .IBMVPCClient .DeletePublicGateway (deletePGWOption )
372
373
if err != nil {
373
374
record .Warnf (s .IBMVPCCluster , "FailedDeletePublicGateway" , "Failed publicgateway deletion - %v" , err )
374
375
return errors .Wrap (err , "Error when deleting publicgateway for subnet " + subnetID )
0 commit comments