# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class AdiEmsWebApiV2DtoNavigationNavigationNavaid(Model):
    """Various pieces of information associated with a waypoint.

    :param id: The unique identifier of the navaid.
    :type id: int
    :param callsign: The radio callsign of the navaid.
    :type callsign: str
    :param type: The navaid type.
    :type type: str
    :param country_code: The navaid's country code.
    :type country_code: str
    :param state_code: The navaid's state code.
    :type state_code: int
    :param name: The official name of the navaid.
    :type name: str
    :param frequency: The radio frequency of the navaid.
    :type frequency: float
    :param usage_code: The airspace structure in which the navaid is utilized
     (e.g. high, low, terminal, etc.)
    :type usage_code: str
    :param channel: The navaid's radio channel.
    :type channel: str
    :param radio_class_code: The radio class code of the navaid (e.g.
     low-power NDB, high-power NDB, etc)
    :type radio_class_code: str
    :param range: The effective range of the navaid in nautical miles.
    :type range: float
    :param latitude: The latitude of the navaid.
    :type latitude: float
    :param longitude: The longitude of the navaid.
    :type longitude: float
    :param elevation: The navaid's elevation.
    :type elevation: float
    :param magnetic_variance: The magnetic varation from true north at the
     navaid.
    :type magnetic_variance: float
    :param dme_latitude: The latitude of the DME equipment colocated with the
     navaid, if any.
    :type dme_latitude: float
    :param dme_longitude: The longitude of the DME equipment colocated with
     the navaid, if any.
    :type dme_longitude: float
    :param dme_elevation: The elevation of the DME equipment colocated with
     the navaid, if any.
    :type dme_elevation: float
    :param associated_airport: The airport code of the associated airport, if
     any.
    :type associated_airport: str
    :param status: The status of the navaid (e.g. in service, out of service,
     etc.)
    :type status: str
    """

    _attribute_map = {
        'id': {'key': 'id', 'type': 'int'},
        'callsign': {'key': 'callsign', 'type': 'str'},
        'type': {'key': 'type', 'type': 'str'},
        'country_code': {'key': 'countryCode', 'type': 'str'},
        'state_code': {'key': 'stateCode', 'type': 'int'},
        'name': {'key': 'name', 'type': 'str'},
        'frequency': {'key': 'frequency', 'type': 'float'},
        'usage_code': {'key': 'usageCode', 'type': 'str'},
        'channel': {'key': 'channel', 'type': 'str'},
        'radio_class_code': {'key': 'radioClassCode', 'type': 'str'},
        'range': {'key': 'range', 'type': 'float'},
        'latitude': {'key': 'latitude', 'type': 'float'},
        'longitude': {'key': 'longitude', 'type': 'float'},
        'elevation': {'key': 'elevation', 'type': 'float'},
        'magnetic_variance': {'key': 'magneticVariance', 'type': 'float'},
        'dme_latitude': {'key': 'dmeLatitude', 'type': 'float'},
        'dme_longitude': {'key': 'dmeLongitude', 'type': 'float'},
        'dme_elevation': {'key': 'dmeElevation', 'type': 'float'},
        'associated_airport': {'key': 'associatedAirport', 'type': 'str'},
        'status': {'key': 'status', 'type': 'str'},
    }

    def __init__(self, *, id: int=None, callsign: str=None, type: str=None, country_code: str=None, state_code: int=None, name: str=None, frequency: float=None, usage_code: str=None, channel: str=None, radio_class_code: str=None, range: float=None, latitude: float=None, longitude: float=None, elevation: float=None, magnetic_variance: float=None, dme_latitude: float=None, dme_longitude: float=None, dme_elevation: float=None, associated_airport: str=None, status: str=None, **kwargs) -> None:
        super(AdiEmsWebApiV2DtoNavigationNavigationNavaid, self).__init__(**kwargs)
        self.id = id
        self.callsign = callsign
        self.type = type
        self.country_code = country_code
        self.state_code = state_code
        self.name = name
        self.frequency = frequency
        self.usage_code = usage_code
        self.channel = channel
        self.radio_class_code = radio_class_code
        self.range = range
        self.latitude = latitude
        self.longitude = longitude
        self.elevation = elevation
        self.magnetic_variance = magnetic_variance
        self.dme_latitude = dme_latitude
        self.dme_longitude = dme_longitude
        self.dme_elevation = dme_elevation
        self.associated_airport = associated_airport
        self.status = status
