// Copyright (c) 2026 Tigera, Inc. All rights reserved.

// Code generated by applyconfiguration-gen. DO NOT EDIT.

package v3

import (
	projectcalicov3 "github.com/projectcalico/api/pkg/apis/projectcalico/v3"
)

// LoadBalancerControllerConfigApplyConfiguration represents a declarative configuration of the LoadBalancerControllerConfig type for use
// with apply.
type LoadBalancerControllerConfigApplyConfiguration struct {
	// AssignIPs controls which LoadBalancer Service gets IP assigned from Calico IPAM.
	AssignIPs *projectcalicov3.AssignIPs `json:"assignIPs,omitempty"`
}

// LoadBalancerControllerConfigApplyConfiguration constructs a declarative configuration of the LoadBalancerControllerConfig type for use with
// apply.
func LoadBalancerControllerConfig() *LoadBalancerControllerConfigApplyConfiguration {
	return &LoadBalancerControllerConfigApplyConfiguration{}
}

// WithAssignIPs sets the AssignIPs field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the AssignIPs field is set to the value of the last call.
func (b *LoadBalancerControllerConfigApplyConfiguration) WithAssignIPs(value projectcalicov3.AssignIPs) *LoadBalancerControllerConfigApplyConfiguration {
	b.AssignIPs = &value
	return b
}
