@@ -28,6 +28,7 @@ type replaceLoadBalancerRequest struct {
2828 Labels []upcloud.Label `json:"labels,omitempty"`
2929 MaintenanceDOW upcloud.LoadBalancerMaintenanceDOW `json:"maintenance_dow,omitempty"`
3030 MaintenanceTime string `json:"maintenance_time,omitempty"`
31+ IPAddresses []request.LoadBalancerIPAddress `json:"ip_addresses"`
3132}
3233
3334func (r * replaceLoadBalancerRequest ) RequestURL () string {
@@ -60,7 +61,8 @@ func createLoadBalancerRequest(service *v1.Service, nodes []*v1.Node, plan upclo
6061 },
6162 },
6263 ConfiguredStatus : upcloud .LoadBalancerConfiguredStatusStarted ,
63- Resolvers : []request.LoadBalancerResolver {},
64+ Resolvers : make ([]request.LoadBalancerResolver , 0 ),
65+ IPAddresses : make ([]request.LoadBalancerIPAddress , 0 ),
6466 }
6567 r .Frontends = make ([]request.LoadBalancerFrontend , len (service .Spec .Ports ))
6668 r .Backends = make ([]request.LoadBalancerBackend , len (service .Spec .Ports ))
@@ -220,6 +222,13 @@ func loadBalancerToCreateRequest(lb *upcloud.LoadBalancer) *request.CreateLoadBa
220222 CacheInvalid : lb .Resolvers [i ].CacheInvalid ,
221223 }
222224 }
225+ ipAddresses := make ([]request.LoadBalancerIPAddress , len (lb .IPAddresses ))
226+ for i := range ipAddresses {
227+ ipAddresses [i ] = request.LoadBalancerIPAddress {
228+ NetworkName : lb .IPAddresses [i ].NetworkName ,
229+ Address : lb .IPAddresses [i ].Address ,
230+ }
231+ }
223232 return & request.CreateLoadBalancerRequest {
224233 Name : lb .Name ,
225234 Plan : lb .Plan ,
@@ -233,5 +242,6 @@ func loadBalancerToCreateRequest(lb *upcloud.LoadBalancer) *request.CreateLoadBa
233242 Labels : lb .Labels ,
234243 MaintenanceDOW : lb .MaintenanceDOW ,
235244 MaintenanceTime : lb .MaintenanceTime ,
245+ IPAddresses : ipAddresses ,
236246 }
237247}
0 commit comments