use ocpp_core::DateTime;
use ocpp_core::validate::{self as v, Path, Validate, Violation};
use serde::{Deserialize, Serialize};
use crate::datatypes::*;
use crate::enums::*;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct AuthorizeRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "idToken")]
pub id_token: IdToken,
#[serde(
rename = "certificate",
default,
skip_serializing_if = "Option::is_none"
)]
pub certificate: Option<String>,
#[serde(
rename = "iso15118CertificateHashData",
default,
skip_serializing_if = "Option::is_none"
)]
pub iso15118_certificate_hash_data: Option<Vec<OCSPRequestData>>,
}
impl Validate for AuthorizeRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.id_token;
let p = path.field("idToken");
x.validate(&p)?;
}
if let Some(x) = &self.certificate {
let p = path.field("certificate");
v::max_length(x, 5500, &p)?;
}
if let Some(x) = &self.iso15118_certificate_hash_data {
let p = path.field("iso15118CertificateHashData");
v::items(x, Some(1), Some(4), &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
it0.validate(&p0)?;
}
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct AuthorizeResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "idTokenInfo")]
pub id_token_info: IdTokenInfo,
#[serde(
rename = "certificateStatus",
default,
skip_serializing_if = "Option::is_none"
)]
pub certificate_status: Option<AuthorizeCertificateStatusEnum>,
}
impl Validate for AuthorizeResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.id_token_info;
let p = path.field("idTokenInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct BootNotificationRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "chargingStation")]
pub charging_station: ChargingStation,
#[serde(rename = "reason")]
pub reason: BootReasonEnum,
}
impl Validate for BootNotificationRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.charging_station;
let p = path.field("chargingStation");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct BootNotificationResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "currentTime")]
pub current_time: DateTime,
#[serde(rename = "interval")]
pub interval: i64,
#[serde(rename = "status")]
pub status: RegistrationStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for BootNotificationResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct CancelReservationRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "reservationId")]
pub reservation_id: i64,
}
impl Validate for CancelReservationRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct CancelReservationResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: CancelReservationStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for CancelReservationResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct CertificateSignedRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "certificateChain")]
pub certificate_chain: String,
#[serde(
rename = "certificateType",
default,
skip_serializing_if = "Option::is_none"
)]
pub certificate_type: Option<CertificateSigningUseEnum>,
}
impl Validate for CertificateSignedRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.certificate_chain;
let p = path.field("certificateChain");
v::max_length(x, 10000, &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct CertificateSignedResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: CertificateSignedStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for CertificateSignedResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct ChangeAvailabilityRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "evse", default, skip_serializing_if = "Option::is_none")]
pub evse: Option<EVSE>,
#[serde(rename = "operationalStatus")]
pub operational_status: OperationalStatusEnum,
}
impl Validate for ChangeAvailabilityRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.evse {
let p = path.field("evse");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct ChangeAvailabilityResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: ChangeAvailabilityStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for ChangeAvailabilityResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct ClearCacheRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
}
impl Validate for ClearCacheRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct ClearCacheResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: ClearCacheStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for ClearCacheResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct ClearChargingProfileRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(
rename = "chargingProfileId",
default,
skip_serializing_if = "Option::is_none"
)]
pub charging_profile_id: Option<i64>,
#[serde(
rename = "chargingProfileCriteria",
default,
skip_serializing_if = "Option::is_none"
)]
pub charging_profile_criteria: Option<ClearChargingProfile>,
}
impl Validate for ClearChargingProfileRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.charging_profile_criteria {
let p = path.field("chargingProfileCriteria");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct ClearChargingProfileResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: ClearChargingProfileStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for ClearChargingProfileResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct ClearDisplayMessageRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "id")]
pub id: i64,
}
impl Validate for ClearDisplayMessageRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct ClearDisplayMessageResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: ClearMessageStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for ClearDisplayMessageResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct ClearVariableMonitoringRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "id")]
pub id: Vec<i64>,
}
impl Validate for ClearVariableMonitoringRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.id;
let p = path.field("id");
v::items(x, Some(1), None, &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct ClearVariableMonitoringResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "clearMonitoringResult")]
pub clear_monitoring_result: Vec<ClearMonitoringResult>,
}
impl Validate for ClearVariableMonitoringResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.clear_monitoring_result;
let p = path.field("clearMonitoringResult");
v::items(x, Some(1), None, &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
it0.validate(&p0)?;
}
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct ClearedChargingLimitRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "chargingLimitSource")]
pub charging_limit_source: ChargingLimitSourceEnum,
#[serde(rename = "evseId", default, skip_serializing_if = "Option::is_none")]
pub evse_id: Option<i64>,
}
impl Validate for ClearedChargingLimitRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct ClearedChargingLimitResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
}
impl Validate for ClearedChargingLimitResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct CostUpdatedRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "totalCost")]
pub total_cost: f64,
#[serde(rename = "transactionId")]
pub transaction_id: String,
}
impl Validate for CostUpdatedRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.transaction_id;
let p = path.field("transactionId");
v::max_length(x, 36, &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct CostUpdatedResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
}
impl Validate for CostUpdatedResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct CustomerInformationRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(
rename = "customerCertificate",
default,
skip_serializing_if = "Option::is_none"
)]
pub customer_certificate: Option<CertificateHashData>,
#[serde(rename = "idToken", default, skip_serializing_if = "Option::is_none")]
pub id_token: Option<IdToken>,
#[serde(rename = "requestId")]
pub request_id: i64,
#[serde(rename = "report")]
pub report: bool,
#[serde(rename = "clear")]
pub clear: bool,
#[serde(
rename = "customerIdentifier",
default,
skip_serializing_if = "Option::is_none"
)]
pub customer_identifier: Option<String>,
}
impl Validate for CustomerInformationRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.customer_certificate {
let p = path.field("customerCertificate");
x.validate(&p)?;
}
if let Some(x) = &self.id_token {
let p = path.field("idToken");
x.validate(&p)?;
}
if let Some(x) = &self.customer_identifier {
let p = path.field("customerIdentifier");
v::max_length(x, 64, &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct CustomerInformationResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: CustomerInformationStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for CustomerInformationResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct DataTransferRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "messageId", default, skip_serializing_if = "Option::is_none")]
pub message_id: Option<String>,
#[serde(rename = "data", default, skip_serializing_if = "Option::is_none")]
pub data: Option<serde_json::Value>,
#[serde(rename = "vendorId")]
pub vendor_id: String,
}
impl Validate for DataTransferRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.message_id {
let p = path.field("messageId");
v::max_length(x, 50, &p)?;
}
{
let x = &self.vendor_id;
let p = path.field("vendorId");
v::max_length(x, 255, &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct DataTransferResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: DataTransferStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
#[serde(rename = "data", default, skip_serializing_if = "Option::is_none")]
pub data: Option<serde_json::Value>,
}
impl Validate for DataTransferResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct DeleteCertificateRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "certificateHashData")]
pub certificate_hash_data: CertificateHashData,
}
impl Validate for DeleteCertificateRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.certificate_hash_data;
let p = path.field("certificateHashData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct DeleteCertificateResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: DeleteCertificateStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for DeleteCertificateResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct FirmwareStatusNotificationRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: FirmwareStatusEnum,
#[serde(rename = "requestId", default, skip_serializing_if = "Option::is_none")]
pub request_id: Option<i64>,
}
impl Validate for FirmwareStatusNotificationRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct FirmwareStatusNotificationResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
}
impl Validate for FirmwareStatusNotificationResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct Get15118EVCertificateRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "iso15118SchemaVersion")]
pub iso15118_schema_version: String,
#[serde(rename = "action")]
pub action: CertificateActionEnum,
#[serde(rename = "exiRequest")]
pub exi_request: String,
}
impl Validate for Get15118EVCertificateRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.iso15118_schema_version;
let p = path.field("iso15118SchemaVersion");
v::max_length(x, 50, &p)?;
}
{
let x = &self.exi_request;
let p = path.field("exiRequest");
v::max_length(x, 5600, &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct Get15118EVCertificateResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: Iso15118EVCertificateStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
#[serde(rename = "exiResponse")]
pub exi_response: String,
}
impl Validate for Get15118EVCertificateResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
{
let x = &self.exi_response;
let p = path.field("exiResponse");
v::max_length(x, 5600, &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetBaseReportRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "requestId")]
pub request_id: i64,
#[serde(rename = "reportBase")]
pub report_base: ReportBaseEnum,
}
impl Validate for GetBaseReportRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetBaseReportResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: GenericDeviceModelStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for GetBaseReportResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetCertificateStatusRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "ocspRequestData")]
pub ocsp_request_data: OCSPRequestData,
}
impl Validate for GetCertificateStatusRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.ocsp_request_data;
let p = path.field("ocspRequestData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetCertificateStatusResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: GetCertificateStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
#[serde(
rename = "ocspResult",
default,
skip_serializing_if = "Option::is_none"
)]
pub ocsp_result: Option<String>,
}
impl Validate for GetCertificateStatusResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
if let Some(x) = &self.ocsp_result {
let p = path.field("ocspResult");
v::max_length(x, 5500, &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetChargingProfilesRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "requestId")]
pub request_id: i64,
#[serde(rename = "evseId", default, skip_serializing_if = "Option::is_none")]
pub evse_id: Option<i64>,
#[serde(rename = "chargingProfile")]
pub charging_profile: ChargingProfileCriterion,
}
impl Validate for GetChargingProfilesRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.charging_profile;
let p = path.field("chargingProfile");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetChargingProfilesResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: GetChargingProfileStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for GetChargingProfilesResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetCompositeScheduleRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "duration")]
pub duration: i64,
#[serde(
rename = "chargingRateUnit",
default,
skip_serializing_if = "Option::is_none"
)]
pub charging_rate_unit: Option<ChargingRateUnitEnum>,
#[serde(rename = "evseId")]
pub evse_id: i64,
}
impl Validate for GetCompositeScheduleRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetCompositeScheduleResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: GenericStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
#[serde(rename = "schedule", default, skip_serializing_if = "Option::is_none")]
pub schedule: Option<CompositeSchedule>,
}
impl Validate for GetCompositeScheduleResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
if let Some(x) = &self.schedule {
let p = path.field("schedule");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetDisplayMessagesRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "id", default, skip_serializing_if = "Option::is_none")]
pub id: Option<Vec<i64>>,
#[serde(rename = "requestId")]
pub request_id: i64,
#[serde(rename = "priority", default, skip_serializing_if = "Option::is_none")]
pub priority: Option<MessagePriorityEnum>,
#[serde(rename = "state", default, skip_serializing_if = "Option::is_none")]
pub state: Option<MessageStateEnum>,
}
impl Validate for GetDisplayMessagesRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.id {
let p = path.field("id");
v::items(x, Some(1), None, &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetDisplayMessagesResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: GetDisplayMessagesStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for GetDisplayMessagesResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetInstalledCertificateIdsRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(
rename = "certificateType",
default,
skip_serializing_if = "Option::is_none"
)]
pub certificate_type: Option<Vec<GetCertificateIdUseEnum>>,
}
impl Validate for GetInstalledCertificateIdsRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.certificate_type {
let p = path.field("certificateType");
v::items(x, Some(1), None, &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetInstalledCertificateIdsResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: GetInstalledCertificateStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
#[serde(
rename = "certificateHashDataChain",
default,
skip_serializing_if = "Option::is_none"
)]
pub certificate_hash_data_chain: Option<Vec<CertificateHashDataChain>>,
}
impl Validate for GetInstalledCertificateIdsResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
if let Some(x) = &self.certificate_hash_data_chain {
let p = path.field("certificateHashDataChain");
v::items(x, Some(1), None, &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
it0.validate(&p0)?;
}
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetLocalListVersionRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
}
impl Validate for GetLocalListVersionRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetLocalListVersionResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "versionNumber")]
pub version_number: i64,
}
impl Validate for GetLocalListVersionResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetLogRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "log")]
pub log: LogParameters,
#[serde(rename = "logType")]
pub log_type: LogEnum,
#[serde(rename = "requestId")]
pub request_id: i64,
#[serde(rename = "retries", default, skip_serializing_if = "Option::is_none")]
pub retries: Option<i64>,
#[serde(
rename = "retryInterval",
default,
skip_serializing_if = "Option::is_none"
)]
pub retry_interval: Option<i64>,
}
impl Validate for GetLogRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.log;
let p = path.field("log");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetLogResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: LogStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
#[serde(rename = "filename", default, skip_serializing_if = "Option::is_none")]
pub filename: Option<String>,
}
impl Validate for GetLogResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
if let Some(x) = &self.filename {
let p = path.field("filename");
v::max_length(x, 255, &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetMonitoringReportRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(
rename = "componentVariable",
default,
skip_serializing_if = "Option::is_none"
)]
pub component_variable: Option<Vec<ComponentVariable>>,
#[serde(rename = "requestId")]
pub request_id: i64,
#[serde(
rename = "monitoringCriteria",
default,
skip_serializing_if = "Option::is_none"
)]
pub monitoring_criteria: Option<Vec<MonitoringCriterionEnum>>,
}
impl Validate for GetMonitoringReportRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.component_variable {
let p = path.field("componentVariable");
v::items(x, Some(1), None, &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
it0.validate(&p0)?;
}
}
if let Some(x) = &self.monitoring_criteria {
let p = path.field("monitoringCriteria");
v::items(x, Some(1), Some(3), &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetMonitoringReportResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: GenericDeviceModelStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for GetMonitoringReportResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetReportRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(
rename = "componentVariable",
default,
skip_serializing_if = "Option::is_none"
)]
pub component_variable: Option<Vec<ComponentVariable>>,
#[serde(rename = "requestId")]
pub request_id: i64,
#[serde(
rename = "componentCriteria",
default,
skip_serializing_if = "Option::is_none"
)]
pub component_criteria: Option<Vec<ComponentCriterionEnum>>,
}
impl Validate for GetReportRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.component_variable {
let p = path.field("componentVariable");
v::items(x, Some(1), None, &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
it0.validate(&p0)?;
}
}
if let Some(x) = &self.component_criteria {
let p = path.field("componentCriteria");
v::items(x, Some(1), Some(4), &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetReportResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: GenericDeviceModelStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for GetReportResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetTransactionStatusRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(
rename = "transactionId",
default,
skip_serializing_if = "Option::is_none"
)]
pub transaction_id: Option<String>,
}
impl Validate for GetTransactionStatusRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.transaction_id {
let p = path.field("transactionId");
v::max_length(x, 36, &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetTransactionStatusResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(
rename = "ongoingIndicator",
default,
skip_serializing_if = "Option::is_none"
)]
pub ongoing_indicator: Option<bool>,
#[serde(rename = "messagesInQueue")]
pub messages_in_queue: bool,
}
impl Validate for GetTransactionStatusResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetVariablesRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "getVariableData")]
pub get_variable_data: Vec<GetVariableData>,
}
impl Validate for GetVariablesRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.get_variable_data;
let p = path.field("getVariableData");
v::items(x, Some(1), None, &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
it0.validate(&p0)?;
}
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct GetVariablesResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "getVariableResult")]
pub get_variable_result: Vec<GetVariableResult>,
}
impl Validate for GetVariablesResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.get_variable_result;
let p = path.field("getVariableResult");
v::items(x, Some(1), None, &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
it0.validate(&p0)?;
}
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct HeartbeatRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
}
impl Validate for HeartbeatRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct HeartbeatResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "currentTime")]
pub current_time: DateTime,
}
impl Validate for HeartbeatResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct InstallCertificateRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "certificateType")]
pub certificate_type: InstallCertificateUseEnum,
#[serde(rename = "certificate")]
pub certificate: String,
}
impl Validate for InstallCertificateRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.certificate;
let p = path.field("certificate");
v::max_length(x, 5500, &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct InstallCertificateResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: InstallCertificateStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for InstallCertificateResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct LogStatusNotificationRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: UploadLogStatusEnum,
#[serde(rename = "requestId", default, skip_serializing_if = "Option::is_none")]
pub request_id: Option<i64>,
}
impl Validate for LogStatusNotificationRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct LogStatusNotificationResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
}
impl Validate for LogStatusNotificationResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct MeterValuesRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "evseId")]
pub evse_id: i64,
#[serde(rename = "meterValue")]
pub meter_value: Vec<MeterValue>,
}
impl Validate for MeterValuesRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.meter_value;
let p = path.field("meterValue");
v::items(x, Some(1), None, &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
it0.validate(&p0)?;
}
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct MeterValuesResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
}
impl Validate for MeterValuesResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct NotifyChargingLimitRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(
rename = "chargingSchedule",
default,
skip_serializing_if = "Option::is_none"
)]
pub charging_schedule: Option<Vec<ChargingSchedule>>,
#[serde(rename = "evseId", default, skip_serializing_if = "Option::is_none")]
pub evse_id: Option<i64>,
#[serde(rename = "chargingLimit")]
pub charging_limit: ChargingLimit,
}
impl Validate for NotifyChargingLimitRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.charging_schedule {
let p = path.field("chargingSchedule");
v::items(x, Some(1), None, &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
it0.validate(&p0)?;
}
}
{
let x = &self.charging_limit;
let p = path.field("chargingLimit");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct NotifyChargingLimitResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
}
impl Validate for NotifyChargingLimitResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct NotifyCustomerInformationRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "data")]
pub data: String,
#[serde(rename = "tbc", default, skip_serializing_if = "Option::is_none")]
pub tbc: Option<bool>,
#[serde(rename = "seqNo")]
pub seq_no: i64,
#[serde(rename = "generatedAt")]
pub generated_at: DateTime,
#[serde(rename = "requestId")]
pub request_id: i64,
}
impl Validate for NotifyCustomerInformationRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.data;
let p = path.field("data");
v::max_length(x, 512, &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct NotifyCustomerInformationResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
}
impl Validate for NotifyCustomerInformationResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct NotifyDisplayMessagesRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(
rename = "messageInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub message_info: Option<Vec<MessageInfo>>,
#[serde(rename = "requestId")]
pub request_id: i64,
#[serde(rename = "tbc", default, skip_serializing_if = "Option::is_none")]
pub tbc: Option<bool>,
}
impl Validate for NotifyDisplayMessagesRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.message_info {
let p = path.field("messageInfo");
v::items(x, Some(1), None, &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
it0.validate(&p0)?;
}
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct NotifyDisplayMessagesResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
}
impl Validate for NotifyDisplayMessagesResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct NotifyEVChargingNeedsRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(
rename = "maxScheduleTuples",
default,
skip_serializing_if = "Option::is_none"
)]
pub max_schedule_tuples: Option<i64>,
#[serde(rename = "chargingNeeds")]
pub charging_needs: ChargingNeeds,
#[serde(rename = "evseId")]
pub evse_id: i64,
}
impl Validate for NotifyEVChargingNeedsRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.charging_needs;
let p = path.field("chargingNeeds");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct NotifyEVChargingNeedsResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: NotifyEVChargingNeedsStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for NotifyEVChargingNeedsResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct NotifyEVChargingScheduleRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "timeBase")]
pub time_base: DateTime,
#[serde(rename = "chargingSchedule")]
pub charging_schedule: ChargingSchedule,
#[serde(rename = "evseId")]
pub evse_id: i64,
}
impl Validate for NotifyEVChargingScheduleRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.charging_schedule;
let p = path.field("chargingSchedule");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct NotifyEVChargingScheduleResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: GenericStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for NotifyEVChargingScheduleResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct NotifyEventRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "generatedAt")]
pub generated_at: DateTime,
#[serde(rename = "tbc", default, skip_serializing_if = "Option::is_none")]
pub tbc: Option<bool>,
#[serde(rename = "seqNo")]
pub seq_no: i64,
#[serde(rename = "eventData")]
pub event_data: Vec<EventData>,
}
impl Validate for NotifyEventRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.event_data;
let p = path.field("eventData");
v::items(x, Some(1), None, &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
it0.validate(&p0)?;
}
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct NotifyEventResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
}
impl Validate for NotifyEventResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct NotifyMonitoringReportRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "monitor", default, skip_serializing_if = "Option::is_none")]
pub monitor: Option<Vec<MonitoringData>>,
#[serde(rename = "requestId")]
pub request_id: i64,
#[serde(rename = "tbc", default, skip_serializing_if = "Option::is_none")]
pub tbc: Option<bool>,
#[serde(rename = "seqNo")]
pub seq_no: i64,
#[serde(rename = "generatedAt")]
pub generated_at: DateTime,
}
impl Validate for NotifyMonitoringReportRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.monitor {
let p = path.field("monitor");
v::items(x, Some(1), None, &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
it0.validate(&p0)?;
}
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct NotifyMonitoringReportResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
}
impl Validate for NotifyMonitoringReportResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct NotifyReportRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "requestId")]
pub request_id: i64,
#[serde(rename = "generatedAt")]
pub generated_at: DateTime,
#[serde(
rename = "reportData",
default,
skip_serializing_if = "Option::is_none"
)]
pub report_data: Option<Vec<ReportData>>,
#[serde(rename = "tbc", default, skip_serializing_if = "Option::is_none")]
pub tbc: Option<bool>,
#[serde(rename = "seqNo")]
pub seq_no: i64,
}
impl Validate for NotifyReportRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.report_data {
let p = path.field("reportData");
v::items(x, Some(1), None, &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
it0.validate(&p0)?;
}
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct NotifyReportResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
}
impl Validate for NotifyReportResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct PublishFirmwareRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "location")]
pub location: String,
#[serde(rename = "retries", default, skip_serializing_if = "Option::is_none")]
pub retries: Option<i64>,
#[serde(rename = "checksum")]
pub checksum: String,
#[serde(rename = "requestId")]
pub request_id: i64,
#[serde(
rename = "retryInterval",
default,
skip_serializing_if = "Option::is_none"
)]
pub retry_interval: Option<i64>,
}
impl Validate for PublishFirmwareRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.location;
let p = path.field("location");
v::max_length(x, 512, &p)?;
}
{
let x = &self.checksum;
let p = path.field("checksum");
v::max_length(x, 32, &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct PublishFirmwareResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: GenericStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for PublishFirmwareResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct PublishFirmwareStatusNotificationRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: PublishFirmwareStatusEnum,
#[serde(rename = "location", default, skip_serializing_if = "Option::is_none")]
pub location: Option<Vec<String>>,
#[serde(rename = "requestId", default, skip_serializing_if = "Option::is_none")]
pub request_id: Option<i64>,
}
impl Validate for PublishFirmwareStatusNotificationRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.location {
let p = path.field("location");
v::items(x, Some(1), None, &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
v::max_length(it0, 512, &p0)?;
}
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct PublishFirmwareStatusNotificationResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
}
impl Validate for PublishFirmwareStatusNotificationResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct ReportChargingProfilesRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "requestId")]
pub request_id: i64,
#[serde(rename = "chargingLimitSource")]
pub charging_limit_source: ChargingLimitSourceEnum,
#[serde(rename = "chargingProfile")]
pub charging_profile: Vec<ChargingProfile>,
#[serde(rename = "tbc", default, skip_serializing_if = "Option::is_none")]
pub tbc: Option<bool>,
#[serde(rename = "evseId")]
pub evse_id: i64,
}
impl Validate for ReportChargingProfilesRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.charging_profile;
let p = path.field("chargingProfile");
v::items(x, Some(1), None, &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
it0.validate(&p0)?;
}
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct ReportChargingProfilesResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
}
impl Validate for ReportChargingProfilesResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct RequestStartTransactionRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "evseId", default, skip_serializing_if = "Option::is_none")]
pub evse_id: Option<i64>,
#[serde(
rename = "groupIdToken",
default,
skip_serializing_if = "Option::is_none"
)]
pub group_id_token: Option<IdToken>,
#[serde(rename = "idToken")]
pub id_token: IdToken,
#[serde(rename = "remoteStartId")]
pub remote_start_id: i64,
#[serde(
rename = "chargingProfile",
default,
skip_serializing_if = "Option::is_none"
)]
pub charging_profile: Option<ChargingProfile>,
}
impl Validate for RequestStartTransactionRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.group_id_token {
let p = path.field("groupIdToken");
x.validate(&p)?;
}
{
let x = &self.id_token;
let p = path.field("idToken");
x.validate(&p)?;
}
if let Some(x) = &self.charging_profile {
let p = path.field("chargingProfile");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct RequestStartTransactionResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: RequestStartStopStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
#[serde(
rename = "transactionId",
default,
skip_serializing_if = "Option::is_none"
)]
pub transaction_id: Option<String>,
}
impl Validate for RequestStartTransactionResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
if let Some(x) = &self.transaction_id {
let p = path.field("transactionId");
v::max_length(x, 36, &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct RequestStopTransactionRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "transactionId")]
pub transaction_id: String,
}
impl Validate for RequestStopTransactionRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.transaction_id;
let p = path.field("transactionId");
v::max_length(x, 36, &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct RequestStopTransactionResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: RequestStartStopStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for RequestStopTransactionResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct ReservationStatusUpdateRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "reservationId")]
pub reservation_id: i64,
#[serde(rename = "reservationUpdateStatus")]
pub reservation_update_status: ReservationUpdateStatusEnum,
}
impl Validate for ReservationStatusUpdateRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct ReservationStatusUpdateResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
}
impl Validate for ReservationStatusUpdateResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct ReserveNowRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "id")]
pub id: i64,
#[serde(rename = "expiryDateTime")]
pub expiry_date_time: DateTime,
#[serde(
rename = "connectorType",
default,
skip_serializing_if = "Option::is_none"
)]
pub connector_type: Option<ConnectorEnum>,
#[serde(rename = "idToken")]
pub id_token: IdToken,
#[serde(rename = "evseId", default, skip_serializing_if = "Option::is_none")]
pub evse_id: Option<i64>,
#[serde(
rename = "groupIdToken",
default,
skip_serializing_if = "Option::is_none"
)]
pub group_id_token: Option<IdToken>,
}
impl Validate for ReserveNowRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.id_token;
let p = path.field("idToken");
x.validate(&p)?;
}
if let Some(x) = &self.group_id_token {
let p = path.field("groupIdToken");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct ReserveNowResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: ReserveNowStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for ReserveNowResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct ResetRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "type")]
pub r#type: ResetEnum,
#[serde(rename = "evseId", default, skip_serializing_if = "Option::is_none")]
pub evse_id: Option<i64>,
}
impl Validate for ResetRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct ResetResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: ResetStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for ResetResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct SecurityEventNotificationRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "type")]
pub r#type: String,
#[serde(rename = "timestamp")]
pub timestamp: DateTime,
#[serde(rename = "techInfo", default, skip_serializing_if = "Option::is_none")]
pub tech_info: Option<String>,
}
impl Validate for SecurityEventNotificationRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.r#type;
let p = path.field("type");
v::max_length(x, 50, &p)?;
}
if let Some(x) = &self.tech_info {
let p = path.field("techInfo");
v::max_length(x, 255, &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct SecurityEventNotificationResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
}
impl Validate for SecurityEventNotificationResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct SendLocalListRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(
rename = "localAuthorizationList",
default,
skip_serializing_if = "Option::is_none"
)]
pub local_authorization_list: Option<Vec<AuthorizationData>>,
#[serde(rename = "versionNumber")]
pub version_number: i64,
#[serde(rename = "updateType")]
pub update_type: UpdateEnum,
}
impl Validate for SendLocalListRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.local_authorization_list {
let p = path.field("localAuthorizationList");
v::items(x, Some(1), None, &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
it0.validate(&p0)?;
}
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct SendLocalListResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: SendLocalListStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for SendLocalListResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct SetChargingProfileRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "evseId")]
pub evse_id: i64,
#[serde(rename = "chargingProfile")]
pub charging_profile: ChargingProfile,
}
impl Validate for SetChargingProfileRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.charging_profile;
let p = path.field("chargingProfile");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct SetChargingProfileResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: ChargingProfileStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for SetChargingProfileResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct SetDisplayMessageRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "message")]
pub message: MessageInfo,
}
impl Validate for SetDisplayMessageRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.message;
let p = path.field("message");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct SetDisplayMessageResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: DisplayMessageStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for SetDisplayMessageResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct SetMonitoringBaseRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "monitoringBase")]
pub monitoring_base: MonitoringBaseEnum,
}
impl Validate for SetMonitoringBaseRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct SetMonitoringBaseResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: GenericDeviceModelStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for SetMonitoringBaseResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct SetMonitoringLevelRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "severity")]
pub severity: i64,
}
impl Validate for SetMonitoringLevelRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct SetMonitoringLevelResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: GenericStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for SetMonitoringLevelResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct SetNetworkProfileRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "configurationSlot")]
pub configuration_slot: i64,
#[serde(rename = "connectionData")]
pub connection_data: NetworkConnectionProfile,
}
impl Validate for SetNetworkProfileRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.connection_data;
let p = path.field("connectionData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct SetNetworkProfileResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: SetNetworkProfileStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for SetNetworkProfileResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct SetVariableMonitoringRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "setMonitoringData")]
pub set_monitoring_data: Vec<SetMonitoringData>,
}
impl Validate for SetVariableMonitoringRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.set_monitoring_data;
let p = path.field("setMonitoringData");
v::items(x, Some(1), None, &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
it0.validate(&p0)?;
}
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct SetVariableMonitoringResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "setMonitoringResult")]
pub set_monitoring_result: Vec<SetMonitoringResult>,
}
impl Validate for SetVariableMonitoringResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.set_monitoring_result;
let p = path.field("setMonitoringResult");
v::items(x, Some(1), None, &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
it0.validate(&p0)?;
}
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct SetVariablesRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "setVariableData")]
pub set_variable_data: Vec<SetVariableData>,
}
impl Validate for SetVariablesRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.set_variable_data;
let p = path.field("setVariableData");
v::items(x, Some(1), None, &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
it0.validate(&p0)?;
}
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct SetVariablesResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "setVariableResult")]
pub set_variable_result: Vec<SetVariableResult>,
}
impl Validate for SetVariablesResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.set_variable_result;
let p = path.field("setVariableResult");
v::items(x, Some(1), None, &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
it0.validate(&p0)?;
}
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct SignCertificateRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "csr")]
pub csr: String,
#[serde(
rename = "certificateType",
default,
skip_serializing_if = "Option::is_none"
)]
pub certificate_type: Option<CertificateSigningUseEnum>,
}
impl Validate for SignCertificateRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.csr;
let p = path.field("csr");
v::max_length(x, 5500, &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct SignCertificateResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: GenericStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for SignCertificateResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct StatusNotificationRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "timestamp")]
pub timestamp: DateTime,
#[serde(rename = "connectorStatus")]
pub connector_status: ConnectorStatusEnum,
#[serde(rename = "evseId")]
pub evse_id: i64,
#[serde(rename = "connectorId")]
pub connector_id: i64,
}
impl Validate for StatusNotificationRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct StatusNotificationResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
}
impl Validate for StatusNotificationResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct TransactionEventRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "eventType")]
pub event_type: TransactionEventEnum,
#[serde(
rename = "meterValue",
default,
skip_serializing_if = "Option::is_none"
)]
pub meter_value: Option<Vec<MeterValue>>,
#[serde(rename = "timestamp")]
pub timestamp: DateTime,
#[serde(rename = "triggerReason")]
pub trigger_reason: TriggerReasonEnum,
#[serde(rename = "seqNo")]
pub seq_no: i64,
#[serde(rename = "offline", default, skip_serializing_if = "Option::is_none")]
pub offline: Option<bool>,
#[serde(
rename = "numberOfPhasesUsed",
default,
skip_serializing_if = "Option::is_none"
)]
pub number_of_phases_used: Option<i64>,
#[serde(
rename = "cableMaxCurrent",
default,
skip_serializing_if = "Option::is_none"
)]
pub cable_max_current: Option<i64>,
#[serde(
rename = "reservationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub reservation_id: Option<i64>,
#[serde(rename = "transactionInfo")]
pub transaction_info: Transaction,
#[serde(rename = "evse", default, skip_serializing_if = "Option::is_none")]
pub evse: Option<EVSE>,
#[serde(rename = "idToken", default, skip_serializing_if = "Option::is_none")]
pub id_token: Option<IdToken>,
}
impl Validate for TransactionEventRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.meter_value {
let p = path.field("meterValue");
v::items(x, Some(1), None, &p)?;
for (i0, it0) in x.iter().enumerate() {
let p0 = p.index(i0);
it0.validate(&p0)?;
}
}
{
let x = &self.transaction_info;
let p = path.field("transactionInfo");
x.validate(&p)?;
}
if let Some(x) = &self.evse {
let p = path.field("evse");
x.validate(&p)?;
}
if let Some(x) = &self.id_token {
let p = path.field("idToken");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct TransactionEventResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "totalCost", default, skip_serializing_if = "Option::is_none")]
pub total_cost: Option<f64>,
#[serde(
rename = "chargingPriority",
default,
skip_serializing_if = "Option::is_none"
)]
pub charging_priority: Option<i64>,
#[serde(
rename = "idTokenInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub id_token_info: Option<IdTokenInfo>,
#[serde(
rename = "updatedPersonalMessage",
default,
skip_serializing_if = "Option::is_none"
)]
pub updated_personal_message: Option<MessageContent>,
}
impl Validate for TransactionEventResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.id_token_info {
let p = path.field("idTokenInfo");
x.validate(&p)?;
}
if let Some(x) = &self.updated_personal_message {
let p = path.field("updatedPersonalMessage");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct TriggerMessageRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "evse", default, skip_serializing_if = "Option::is_none")]
pub evse: Option<EVSE>,
#[serde(rename = "requestedMessage")]
pub requested_message: MessageTriggerEnum,
}
impl Validate for TriggerMessageRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.evse {
let p = path.field("evse");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct TriggerMessageResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: TriggerMessageStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for TriggerMessageResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct UnlockConnectorRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "evseId")]
pub evse_id: i64,
#[serde(rename = "connectorId")]
pub connector_id: i64,
}
impl Validate for UnlockConnectorRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct UnlockConnectorResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: UnlockStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for UnlockConnectorResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct UnpublishFirmwareRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "checksum")]
pub checksum: String,
}
impl Validate for UnpublishFirmwareRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.checksum;
let p = path.field("checksum");
v::max_length(x, 32, &p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct UnpublishFirmwareResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: UnpublishFirmwareStatusEnum,
}
impl Validate for UnpublishFirmwareResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct UpdateFirmwareRequest {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "retries", default, skip_serializing_if = "Option::is_none")]
pub retries: Option<i64>,
#[serde(
rename = "retryInterval",
default,
skip_serializing_if = "Option::is_none"
)]
pub retry_interval: Option<i64>,
#[serde(rename = "requestId")]
pub request_id: i64,
#[serde(rename = "firmware")]
pub firmware: Firmware,
}
impl Validate for UpdateFirmwareRequest {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
{
let x = &self.firmware;
let p = path.field("firmware");
x.validate(&p)?;
}
Ok(())
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct UpdateFirmwareResponse {
#[serde(
rename = "customData",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_data: Option<CustomData>,
#[serde(rename = "status")]
pub status: UpdateFirmwareStatusEnum,
#[serde(
rename = "statusInfo",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_info: Option<StatusInfo>,
}
impl Validate for UpdateFirmwareResponse {
fn validate(&self, path: &Path<'_>) -> Result<(), Violation> {
if let Some(x) = &self.custom_data {
let p = path.field("customData");
x.validate(&p)?;
}
if let Some(x) = &self.status_info {
let p = path.field("statusInfo");
x.validate(&p)?;
}
Ok(())
}
}