func NewSetMonitoringBaseRequest(monitoringBase MonitoringBase) *SetMonitoringBaseRequest {
	return &SetMonitoringBaseRequest{MonitoringBase: monitoringBase}
}
Creates a new SetMonitoringBaseRequest, containing all required fields. There are no optional fields for this message.
package diagnostics
import (
	"reflect"
	"github.com/lorenzodonini/ocpp-go/ocpp2.0.1/types"
	"gopkg.in/go-playground/validator.v9"
)
const SetMonitoringBaseFeatureName = "SetMonitoringBase"
type MonitoringBase string
const (
	MonitoringBaseAll            MonitoringBase = "All"
	MonitoringBaseFactoryDefault MonitoringBase = "FactoryDefault"
	MonitoringBaseHardWiredOnly  MonitoringBase = "HardWiredOnly"
)
func isValidMonitoringBase(fl validator.FieldLevel) bool {
	status := MonitoringBase(fl.Field().String())
	switch status {
	case MonitoringBaseAll, MonitoringBaseFactoryDefault, MonitoringBaseHardWiredOnly:
		return true
	default:
		return false
	}
}
type SetMonitoringBaseRequest struct {
	MonitoringBase MonitoringBase `json:"monitoringBase" validate:"required,monitoringBase"`  
}
type SetMonitoringBaseResponse struct {
	Status     types.GenericDeviceModelStatus `json:"status" validate:"required,genericDeviceModelStatus"`  
	StatusInfo *types.StatusInfo              `json:"statusInfo,omitempty" validate:"omitempty"`            
}
type SetMonitoringBaseFeature struct{}
func (f SetMonitoringBaseFeature) GetFeatureName() string {
	return SetMonitoringBaseFeatureName
}
func (f SetMonitoringBaseFeature) GetRequestType() reflect.Type {
	return reflect.TypeOf(SetMonitoringBaseRequest{})
}
func (f SetMonitoringBaseFeature) GetResponseType() reflect.Type {
	return reflect.TypeOf(SetMonitoringBaseResponse{})
}
func (r SetMonitoringBaseRequest) GetFeatureName() string {
	return SetMonitoringBaseFeatureName
}
func (c SetMonitoringBaseResponse) GetFeatureName() string {
	return SetMonitoringBaseFeatureName
}