"""This file was generated by xsdata, v26.1, on 2026-02-18 00:40:07

Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""

from __future__ import annotations

from dataclasses import dataclass, field

from ccsds_ndm.models.ndmxml2.ndmxml_2_0_0_aem_1_0 import AemType
from ccsds_ndm.models.ndmxml2.ndmxml_2_0_0_apm_1_0 import ApmType
from ccsds_ndm.models.ndmxml2.ndmxml_2_0_0_cdm_1_0 import CdmType
from ccsds_ndm.models.ndmxml2.ndmxml_2_0_0_oem_2_0 import OemType
from ccsds_ndm.models.ndmxml2.ndmxml_2_0_0_omm_2_0 import OmmType
from ccsds_ndm.models.ndmxml2.ndmxml_2_0_0_opm_2_0 import OpmType
from ccsds_ndm.models.ndmxml2.ndmxml_2_0_0_rdm_1_0 import RdmType
from ccsds_ndm.models.ndmxml2.ndmxml_2_0_0_tdm_2_0 import TdmType

__NAMESPACE__ = "urn:ccsds:schema:ndmxml"


@dataclass(kw_only=True)
class NdmType:
    class Meta:
        name = "ndmType"

    message_id: None | str = field(
        default=None,
        metadata={
            "name": "MESSAGE_ID",
            "type": "Element",
            "namespace": "",
        },
    )
    comment: list[str] = field(
        default_factory=list,
        metadata={
            "name": "COMMENT",
            "type": "Element",
            "namespace": "",
        },
    )
    aem: list[AemType] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "",
        },
    )
    apm: list[ApmType] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "",
        },
    )
    cdm: list[CdmType] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "",
        },
    )
    oem: list[OemType] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "",
        },
    )
    omm: list[OmmType] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "",
        },
    )
    opm: list[OpmType] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "",
        },
    )
    rdm: list[RdmType] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "",
        },
    )
    tdm: list[TdmType] = field(
        default_factory=list,
        metadata={
            "type": "Element",
            "namespace": "",
        },
    )
