<gh_stars>10-100
# coding: utf-8

from __future__ import absolute_import
from datetime import date, datetime  # noqa: F401

from typing import List, Dict  # noqa: F401

from openapi_server.com.h21lab.TS29510_Nnrf_NFDiscovery.handler.base_model_ import Model
from openapi_server.com.h21lab.TS29510_Nnrf_NFDiscovery.handler.event_id import EventId
from openapi_server.com.h21lab.TS29510_Nnrf_NFDiscovery.handler.nwdaf_event import NwdafEvent
from openapi_server.com.h21lab.TS29510_Nnrf_NFDiscovery.handler.tai import Tai
from openapi_server.com.h21lab.TS29510_Nnrf_NFDiscovery.handler.tai_range import TaiRange
from openapi_server import util

from openapi_server.com.h21lab.TS29510_Nnrf_NFDiscovery.handler.event_id import EventId  # noqa: E501
from openapi_server.com.h21lab.TS29510_Nnrf_NFDiscovery.handler.nwdaf_event import NwdafEvent  # noqa: E501
from openapi_server.com.h21lab.TS29510_Nnrf_NFDiscovery.handler.tai import Tai  # noqa: E501
from openapi_server.com.h21lab.TS29510_Nnrf_NFDiscovery.handler.tai_range import TaiRange  # noqa: E501

class NwdafInfo(Model):
    """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

    Do not edit the class manually.
    """

    def __init__(self, event_ids=None, nwdaf_events=None, tai_list=None, tai_range_list=None):  # noqa: E501
        """NwdafInfo - a model defined in OpenAPI

        :param event_ids: The event_ids of this NwdafInfo.  # noqa: E501
        :type event_ids: List[EventId]
        :param nwdaf_events: The nwdaf_events of this NwdafInfo.  # noqa: E501
        :type nwdaf_events: List[NwdafEvent]
        :param tai_list: The tai_list of this NwdafInfo.  # noqa: E501
        :type tai_list: List[Tai]
        :param tai_range_list: The tai_range_list of this NwdafInfo.  # noqa: E501
        :type tai_range_list: List[TaiRange]
        """
        self.openapi_types = {
            'event_ids': List[EventId],
            'nwdaf_events': List[NwdafEvent],
            'tai_list': List[Tai],
            'tai_range_list': List[TaiRange]
        }

        self.attribute_map = {
            'event_ids': 'eventIds',
            'nwdaf_events': 'nwdafEvents',
            'tai_list': 'taiList',
            'tai_range_list': 'taiRangeList'
        }

        self._event_ids = event_ids
        self._nwdaf_events = nwdaf_events
        self._tai_list = tai_list
        self._tai_range_list = tai_range_list

    @classmethod
    def from_dict(cls, dikt) -> 'NwdafInfo':
        """Returns the dict as a model

        :param dikt: A dict.
        :type: dict
        :return: The NwdafInfo of this NwdafInfo.  # noqa: E501
        :rtype: NwdafInfo
        """
        return util.deserialize_model(dikt, cls)

    @property
    def event_ids(self):
        """Gets the event_ids of this NwdafInfo.


        :return: The event_ids of this NwdafInfo.
        :rtype: List[EventId]
        """
        return self._event_ids

    @event_ids.setter
    def event_ids(self, event_ids):
        """Sets the event_ids of this NwdafInfo.


        :param event_ids: The event_ids of this NwdafInfo.
        :type event_ids: List[EventId]
        """

        self._event_ids = event_ids

    @property
    def nwdaf_events(self):
        """Gets the nwdaf_events of this NwdafInfo.


        :return: The nwdaf_events of this NwdafInfo.
        :rtype: List[NwdafEvent]
        """
        return self._nwdaf_events

    @nwdaf_events.setter
    def nwdaf_events(self, nwdaf_events):
        """Sets the nwdaf_events of this NwdafInfo.


        :param nwdaf_events: The nwdaf_events of this NwdafInfo.
        :type nwdaf_events: List[NwdafEvent]
        """

        self._nwdaf_events = nwdaf_events

    @property
    def tai_list(self):
        """Gets the tai_list of this NwdafInfo.


        :return: The tai_list of this NwdafInfo.
        :rtype: List[Tai]
        """
        return self._tai_list

    @tai_list.setter
    def tai_list(self, tai_list):
        """Sets the tai_list of this NwdafInfo.


        :param tai_list: The tai_list of this NwdafInfo.
        :type tai_list: List[Tai]
        """

        self._tai_list = tai_list

    @property
    def tai_range_list(self):
        """Gets the tai_range_list of this NwdafInfo.


        :return: The tai_range_list of this NwdafInfo.
        :rtype: List[TaiRange]
        """
        return self._tai_range_list

    @tai_range_list.setter
    def tai_range_list(self, tai_range_list):
        """Sets the tai_range_list of this NwdafInfo.


        :param tai_range_list: The tai_range_list of this NwdafInfo.
        :type tai_range_list: List[TaiRange]
        """

        self._tai_range_list = tai_range_list
