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

package v1

import (
	operatorv1 "github.com/openshift/api/operator/v1"
)

// RestartServiceApplyConfiguration represents a declarative configuration of the RestartService type for use
// with apply.
//
// RestartService allows the user to specify the services to be restarted
type RestartServiceApplyConfiguration struct {
	// serviceName is the full name (e.g. crio.service) of the service to be restarted
	// Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long.
	// ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\".
	// ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope".
	ServiceName *operatorv1.NodeDisruptionPolicyServiceName `json:"serviceName,omitempty"`
}

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

// WithServiceName sets the ServiceName 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 ServiceName field is set to the value of the last call.
func (b *RestartServiceApplyConfiguration) WithServiceName(value operatorv1.NodeDisruptionPolicyServiceName) *RestartServiceApplyConfiguration {
	b.ServiceName = &value
	return b
}
