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

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

package v3

import (
	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

// WorkloadEndpointControllerConfigApplyConfiguration represents a declarative configuration of the WorkloadEndpointControllerConfig type for use
// with apply.
//
// WorkloadEndpointControllerConfig configures the workload endpoint controller, which syncs Kubernetes
// labels to Calico workload endpoints (only used for etcdv3 datastore).
type WorkloadEndpointControllerConfigApplyConfiguration struct {
	// ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m]
	ReconcilerPeriod *v1.Duration `json:"reconcilerPeriod,omitempty"`
}

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

// WithReconcilerPeriod sets the ReconcilerPeriod 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 ReconcilerPeriod field is set to the value of the last call.
func (b *WorkloadEndpointControllerConfigApplyConfiguration) WithReconcilerPeriod(value v1.Duration) *WorkloadEndpointControllerConfigApplyConfiguration {
	b.ReconcilerPeriod = &value
	return b
}
