
@dataclasses.dataclass
class Warning:
    code: Optional[str] = None
    text: str
    url: Optional[str] = None

@dataclasses.dataclass
class Id_Set:
    (id|id_range): MutableSequence[(id|id_Range)]

@dataclasses.dataclass
class Change_Log_Info:
    change_date: str
    comments: str

@dataclasses.dataclass
class Change_Log_List:
    change_log_info: MutableSequence[Change_Log_Info]

@dataclasses.dataclass
class Auth_Type_List:
    auth_type: MutableSequence[str]

@dataclasses.dataclass
class Discovery:
    remote: str
    auth_type_list: Optional[Auth_Type_List] = None
    additional_info: Optional[str] = None

@dataclasses.dataclass
class Threat_Intelligence:
    threat_intel: MutableSequence[str]

@dataclasses.dataclass
class Pci_Reasons:
    pci_reason: MutableSequence[str]

@dataclasses.dataclass
class Attack:
    vector: Optional[str] = None
    complexity: Optional[str] = None

@dataclasses.dataclass
class Cvss_V3:
    base: Optional[str] = None
    temporal: Optional[str] = None
    vector_string: Optional[str] = None
    cvss3_version: Optional[str] = None
    attack: Optional[Attack] = None
    impact: Optional[Impact] = None
    privileges_required: Optional[str] = None
    user_interaction: Optional[str] = None
    scope: Optional[str] = None
    exploit_code_maturity: Optional[str] = None
    remediation_level: Optional[str] = None
    report_confidence: Optional[str] = None

@dataclasses.dataclass
class Impact:
    confidentiality: Optional[str] = None
    integrity: Optional[str] = None
    availability: Optional[str] = None

@dataclasses.dataclass
class Access:
    vector: Optional[str] = None
    complexity: Optional[str] = None

@dataclasses.dataclass
class Cvss:
    base: Optional[str] = None
    temporal: Optional[str] = None
    vector_string: Optional[str] = None
    access: Optional[Access] = None
    impact: Optional[Impact] = None
    authentication: Optional[str] = None
    exploitability: Optional[str] = None
    remediation_level: Optional[str] = None
    report_confidence: Optional[str] = None

@dataclasses.dataclass
class Mw_Info:
    mw_id: str
    mw_type: Optional[str] = None
    mw_platform: Optional[str] = None
    mw_alias: Optional[str] = None
    mw_rating: Optional[str] = None
    mw_link: Optional[str] = None

@dataclasses.dataclass
class Mw_List:
    mw_info: MutableSequence[Mw_Info]

@dataclasses.dataclass
class Mw_Src:
    src_name: str
    mw_list: Mw_List

@dataclasses.dataclass
class Malware:
    mw_src: MutableSequence[Mw_Src]

@dataclasses.dataclass
class Explt:
    ref: str
    desc: str
    link: Optional[str] = None

@dataclasses.dataclass
class Explt_List:
    explt: MutableSequence[Explt]

@dataclasses.dataclass
class Explt_Src:
    src_name: str
    explt_list: Explt_List

@dataclasses.dataclass
class Exploits:
    explt_src: MutableSequence[Explt_Src]

@dataclasses.dataclass
class Correlation:
    exploits: Optional[Exploits] = None
    malware: Optional[Malware] = None

@dataclasses.dataclass
class Compliance:
    type: str
    section: str
    description: str

@dataclasses.dataclass
class Compliance_List:
    compliance: MutableSequence[Compliance]

@dataclasses.dataclass
class Cve:
    id: str
    url: str

@dataclasses.dataclass
class Cve_List:
    cve: MutableSequence[Cve]

@dataclasses.dataclass
class Vendor_Reference:
    id: str
    url: str

@dataclasses.dataclass
class Vendor_Reference_List:
    vendor_reference: MutableSequence[Vendor_Reference]

@dataclasses.dataclass
class Software:
    product: str
    vendor: str

@dataclasses.dataclass
class Software_List:
    software: MutableSequence[Software]

@dataclasses.dataclass
class Bugtraq:
    id: str
    url: str

@dataclasses.dataclass
class Bugtraq_List:
    bugtraq: MutableSequence[Bugtraq]

@dataclasses.dataclass
class Last_Customization:
    datetime: Datetime
    user_login: Optional[User_Login] = None

@dataclasses.dataclass
class Vuln:
    qid: str
    vuln_type: str
    severity_level: str
    title: str
    category: Optional[str] = None
    detection_info: Optional[str] = None
    last_customization: Optional[Last_Customization] = None
    last_service_modification_datetime: Optional[str] = None
    published_datetime: str
    bugtraq_list: Optional[Bugtraq_List] = None
    patchable: str
    software_list: Optional[Software_List] = None
    vendor_reference_list: Optional[Vendor_Reference_List] = None
    cve_list: Optional[Cve_List] = None
    diagnosis: Optional[str] = None
    diagnosis_comment: Optional[str] = None
    consequence: Optional[str] = None
    consequence_comment: Optional[str] = None
    solution: Optional[str] = None
    solution_comment: Optional[str] = None
    compliance_list: Optional[Compliance_List] = None
    correlation: Optional[Correlation] = None
    cvss: Optional[Cvss] = None
    cvss_v3: Optional[Cvss_V3] = None
    pci_flag: Optional[str] = None
    automatic_pci_fail: Optional[str] = None
    pci_reasons: Optional[Pci_Reasons] = None
    threat_intelligence: Optional[Threat_Intelligence] = None
    supported_modules: Optional[str] = None
    discovery: Discovery
    is_disabled: Optional[str] = None
    change_log_list: Optional[Change_Log_List] = None
