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

package v1

// SecretsStoreCSIDriverConfigSpecApplyConfiguration represents a declarative configuration of the SecretsStoreCSIDriverConfigSpec type for use
// with apply.
//
// SecretsStoreCSIDriverConfigSpec defines properties that can be configured for the Secrets Store CSI driver.
type SecretsStoreCSIDriverConfigSpecApplyConfiguration struct {
	// secretRotation controls automatic secret rotation behavior.
	// When omitted, secret rotation is enabled with a default poll interval of 2 minutes.
	SecretRotation *SecretsStoreSecretRotationApplyConfiguration `json:"secretRotation,omitempty"`
	// tokenRequests controls service account token configuration for
	// workload identity federation (WIF) with cloud providers.
	// When omitted, the operator preserves any existing tokenRequests
	// already configured on the CSIDriver object without modification.
	TokenRequests *SecretsStoreTokenRequestsApplyConfiguration `json:"tokenRequests,omitempty"`
}

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

// WithSecretRotation sets the SecretRotation 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 SecretRotation field is set to the value of the last call.
func (b *SecretsStoreCSIDriverConfigSpecApplyConfiguration) WithSecretRotation(value *SecretsStoreSecretRotationApplyConfiguration) *SecretsStoreCSIDriverConfigSpecApplyConfiguration {
	b.SecretRotation = value
	return b
}

// WithTokenRequests sets the TokenRequests 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 TokenRequests field is set to the value of the last call.
func (b *SecretsStoreCSIDriverConfigSpecApplyConfiguration) WithTokenRequests(value *SecretsStoreTokenRequestsApplyConfiguration) *SecretsStoreCSIDriverConfigSpecApplyConfiguration {
	b.TokenRequests = value
	return b
}
