func NewUnpublishFirmwareResponse(status UnpublishFirmwareStatus) *UnpublishFirmwareResponse {
	return &UnpublishFirmwareResponse{Status: status}
}
Creates a new UnpublishFirmwareResponse, containing all required fields. There are no optional fields for this message.
package firmware
import (
	"reflect"
	"gopkg.in/go-playground/validator.v9"
	"github.com/lorenzodonini/ocpp-go/ocpp2.0.1/types"
)
const UnpublishFirmwareFeatureName = "UnpublishFirmware"
type UnpublishFirmwareStatus string
const (
	UnpublishFirmwareStatusDownloadOngoing UnpublishFirmwareStatus = "DownloadOngoing"  
	UnpublishFirmwareStatusNoFirmware      UnpublishFirmwareStatus = "NoFirmware"       
	UnpublishFirmwareStatusUnpublished     UnpublishFirmwareStatus = "Unpublished"      
)
func isValidUnpublishFirmwareStatus(fl validator.FieldLevel) bool {
	status := UnpublishFirmwareStatus(fl.Field().String())
	switch status {
	case UnpublishFirmwareStatusDownloadOngoing, UnpublishFirmwareStatusNoFirmware, UnpublishFirmwareStatusUnpublished:
		return true
	default:
		return false
	}
}
type UnpublishFirmwareRequest struct {
	Checksum string `json:"checksum" validate:"required,max=32"`  
}
type UnpublishFirmwareResponse struct {
	Status UnpublishFirmwareStatus `json:"status" validate:"required,unpublishFirmwareStatus"`
}
type UnpublishFirmwareFeature struct{}
func (f UnpublishFirmwareFeature) GetFeatureName() string {
	return UnpublishFirmwareFeatureName
}
func (f UnpublishFirmwareFeature) GetRequestType() reflect.Type {
	return reflect.TypeOf(UnpublishFirmwareRequest{})
}
func (f UnpublishFirmwareFeature) GetResponseType() reflect.Type {
	return reflect.TypeOf(UnpublishFirmwareResponse{})
}
func (r UnpublishFirmwareRequest) GetFeatureName() string {
	return UnpublishFirmwareFeatureName
}
func (c UnpublishFirmwareResponse) GetFeatureName() string {
	return UnpublishFirmwareFeatureName
}
func NewUnpublishFirmwareRequest(checksum string) *UnpublishFirmwareRequest {
	return &UnpublishFirmwareRequest{Checksum: checksum}
}