// 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"
)

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

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

// 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 *NamespaceControllerConfigApplyConfiguration) WithReconcilerPeriod(value v1.Duration) *NamespaceControllerConfigApplyConfiguration {
	b.ReconcilerPeriod = &value
	return b
}
