#![allow(dead_code)]
#![allow(non_snake_case)]
use crate::data_types::*;
use crate::error_code::ErrorCode;
crate::custom_meta_struct! {
(
#[derive(Debug, Clone, crate::serde::Serialize, crate::serde::Deserialize)]
),
pub struct Response {
pub Response: InnerResponse,
}
pub struct InnerResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub Error: Option<Error>,
#[serde(skip_serializing_if = "Option::is_none")]
pub TotalCount: Option<Integer>,
pub RequestId: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub RecordId: Option<Integer>,
#[serde(skip_serializing_if = "Option::is_none")]
pub RecordCountInfo: Option<RecordCountInfo>,
#[serde(skip_serializing_if = "Option::is_none")]
pub RecordList: Option<Vec<RecordListItem>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub RecordInfo: Option<RecordInfo>,
#[serde(skip_serializing_if = "Option::is_none")]
pub DomainCountInfo: Option<DomainCountInfo>,
#[serde(skip_serializing_if = "Option::is_none")]
pub DomainList: Option<Vec<DomainListItem>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub LineList: Option<Vec<LineInfo>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub LineGroupList: Option<Vec<LineGroupInfo>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub DomainInfo: Option<DomainCreateInfo>,
}
pub struct Error {
#[serde(flatten)]
pub code: ErrorCode,
pub Message: String,
}
pub struct RecordCountInfo {
pub SubdomainCount: Integer,
pub TotalCount: Integer,
pub ListCount: Integer,
}
pub struct RecordListItem {
pub RecordId: Integer,
pub Value: String,
pub Status: String,
pub UpdatedOn: Timestamp,
pub Name: String,
pub Line: String,
pub LineId: String,
pub Type: String,
pub Weight: Option<Integer>,
pub MonitorStatus: String,
pub Remark: String,
pub TTL: Integer,
pub MX: Option<Integer>,
pub DefaultNS: Option<Boolean>,
}
pub struct RecordInfo {
pub Id: Integer,
pub SubDomain: String,
pub RecordType: String,
pub RecordLine: String,
pub RecordLineId: String,
pub Value: String,
pub Weight: Option<Integer>,
pub MX: Integer,
pub TTL: Integer,
pub Enabled: Integer,
pub MonitorStatus: String,
pub Remark: Option<String>,
pub UpdatedOn: Timestamp,
pub DomainId: Integer,
}
pub struct DomainCountInfo {
pub DomainTotal: Integer,
pub AllTotal: Integer,
pub MineTotal: Integer,
pub ShareTotal: Integer,
pub VipTotal: Integer,
pub PauseTotal: Integer,
pub ErrorTotal: Integer,
pub LockTotal: Integer,
pub SpamTotal: Integer,
pub VipExpire: Integer,
pub ShareOutTotal: Integer,
pub GroupTotal: Integer,
}
pub struct DomainListItem {
pub DomainId: Integer,
pub Name: String,
pub Status: String,
pub TTL: Integer,
pub CNAMESpeedup: String,
pub DNSStatus: String,
pub Grade: String,
pub GroupId: Integer,
pub SearchEnginePush: String,
pub Remark: String,
pub Punycode: String,
pub EffectiveDNS: Vec<String>,
pub GradeLevel: Integer,
pub GradeTitle: String,
pub IsVip: String,
pub VipStartAt: Timestamp,
pub VipEndAt: Timestamp,
pub VipAutoRenew: String,
pub RecordCount: Integer,
pub CreatedOn: Timestamp,
pub UpdatedOn: Timestamp,
pub Owner: String,
pub TagList: Option<Vec<TagItem>>,
}
pub struct TagItem {
pub TagKey: String,
pub TagValue: Option<String>,
}
pub struct LineInfo {
Name: String,
LineId: String,
}
pub struct LineGroupInfo {
LineId: String,
Name: String,
Type: String,
LineList: Vec<String>,
}
pub struct DomainCreateInfo {
Id: Integer,
Domain: String,
Punycode: String,
GradeNsList: Vec<String>,
}
}