#!/usr/bin/python
# Copyright 2011 Google Inc. All Rights Reserved.
#
# AUTO-GENERATED BY parse-schema.py
#
# DO NOT EDIT!!
#
#pylint: disable-msg=C6202
#pylint: disable-msg=C6409
#pylint: disable-msg=C6310
# These should not actually be necessary (bugs in gpylint?):
#pylint: disable-msg=E1101
#pylint: disable-msg=W0231
#
"""Auto-generated from spec: urn:broadband-forum-org:tr-181-1-2."""

import core
from tr181_v1_1 import Device_v1_8


class Device_v1_9(Device_v1_8):
  """Represents Device_v1_9."""

  def __init__(self, **defaults):
    Device_v1_8.__init__(self, defaults=defaults)
    self.Export(objects=['Device',
                         'DeviceInfo',
                         'FAP',
                         'FaultMgmt',
                         'Security',
                         'SoftwareModules'])

  class Device(Device_v1_8.Device):
    """Represents Device_v1_9.Device."""

    def __init__(self, **defaults):
      Device_v1_8.Device.__init__(self, defaults=defaults)
      self.Export(objects=['LAN'])

    class LAN(core.Exporter):
      """Represents Device_v1_9.Device.LAN."""

      def __init__(self, **defaults):
        core.Exporter.__init__(self, defaults=defaults)
        self.Export(objects=['TraceRouteDiagnostics'])

      class TraceRouteDiagnostics(core.Exporter):
        """Represents Device_v1_9.Device.LAN.TraceRouteDiagnostics."""

        def __init__(self, **defaults):
          core.Exporter.__init__(self, defaults=defaults)
          self.Export(lists=['RouteHops'])

        class RouteHops(core.Exporter):
          """Represents Device_v1_9.Device.LAN.TraceRouteDiagnostics.RouteHops.{i}."""
          pass

  class DeviceInfo(Device_v1_8.DeviceInfo):
    """Represents Device_v1_9.DeviceInfo."""

    def __init__(self, **defaults):
      Device_v1_8.DeviceInfo.__init__(self, defaults=defaults)
      self.Export(params=['LocationNumberOfEntries'],
                  lists=['Location'])

    class Location(core.Exporter):
      """Represents Device_v1_9.DeviceInfo.Location.{i}."""

      def __init__(self, **defaults):
        core.Exporter.__init__(self, defaults=defaults)
        self.Export(params=['AcquiredTime',
                            'DataObject',
                            'ExternalProtocol',
                            'ExternalSource',
                            'Source'])

  class FAP(core.Exporter):
    """Represents Device_v1_9.FAP."""

    def __init__(self, **defaults):
      core.Exporter.__init__(self, defaults=defaults)
      self.Export(objects=['ApplicationPlatform',
                           'GPS',
                           'PerfMgmt',
                           'Tunnel'])

    class ApplicationPlatform(core.Exporter):
      """Represents Device_v1_9.FAP.ApplicationPlatform."""

      def __init__(self, **defaults):
        core.Exporter.__init__(self, defaults=defaults)
        self.Export(params=['CurrentNumberofApplications',
                            'Enable',
                            'MaxNumberOfApplications',
                            'Status',
                            'Version'],
                    objects=['Capabilities',
                             'Control',
                             'Monitoring'])

      class Capabilities(core.Exporter):
        """Represents Device_v1_9.FAP.ApplicationPlatform.Capabilities."""

        def __init__(self, **defaults):
          core.Exporter.__init__(self, defaults=defaults)
          self.Export(params=['AccessLevelsSupported',
                              'AuthenticationMethodsSupported',
                              'FemtoAwarenessAPISupport',
                              'MMSAPISupport',
                              'PresenceApplicationSupport',
                              'QueryMMSDeliveryStatusSupport',
                              'QuerySMSDeliveryStatusSupport',
                              'SMSAPISupport',
                              'SendMMSTargetAddressType',
                              'SendSMSTargetAddressType',
                              'SubscribeToNotificationsOfMMSSentToApplicationSupport',
                              'SubscribeToNotificationsOfSMSSentToApplicationSupport',
                              'TerminalLocationAPISupport'])

      class Control(core.Exporter):
        """Represents Device_v1_9.FAP.ApplicationPlatform.Control."""

        def __init__(self, **defaults):
          core.Exporter.__init__(self, defaults=defaults)
          self.Export(params=['AuthenticationMethod',
                              'TunnelInst'],
                      objects=['FemtoAwareness',
                               'MMS',
                               'SMS',
                               'TerminalLocation'])

        class FemtoAwareness(core.Exporter):
          """Represents Device_v1_9.FAP.ApplicationPlatform.Control.FemtoAwareness."""

          def __init__(self, **defaults):
            core.Exporter.__init__(self, defaults=defaults)
            self.Export(params=['APIEnable',
                                'FemtozoneID',
                                'MaxAPIUsersNumber',
                                'NotificationsUserIdentifierMSISDN',
                                'QueryFemtocellResponseTimezone',
                                'QueueEnable',
                                'Queueing ',
                                'SubscribeToNotificationsResponseCallbackData'])

        class MMS(core.Exporter):
          """Represents Device_v1_9.FAP.ApplicationPlatform.Control.MMS."""

          def __init__(self, **defaults):
            core.Exporter.__init__(self, defaults=defaults)
            self.Export(params=['APIEnable',
                                'EnableQueryMMSDeliveryStatus',
                                'EnableSubscribeToNotificationsOfMessageSentToApplication',
                                'MaxAPIUsersNumber',
                                'MinSendMMSTimeInterval',
                                'QueueEnable',
                                'Queueing '])

        class SMS(core.Exporter):
          """Represents Device_v1_9.FAP.ApplicationPlatform.Control.SMS."""

          def __init__(self, **defaults):
            core.Exporter.__init__(self, defaults=defaults)
            self.Export(params=['APIEnable',
                                'EnableQuerySMSDeliveryStatus',
                                'EnableSubscribeToNotificationsOfMessageSentToApplication',
                                'MaxAPIUsersNumber',
                                'MinSendSMSTimeInterval',
                                'QueueEnable',
                                'Queueing '])

        class TerminalLocation(core.Exporter):
          """Represents Device_v1_9.FAP.ApplicationPlatform.Control.TerminalLocation."""

          def __init__(self, **defaults):
            core.Exporter.__init__(self, defaults=defaults)
            self.Export(params=['APIEnable',
                                'MaxAPIUsersNumber',
                                'QueryMobileLocationResponseAddress',
                                'QueryMobileLocationResponseAltitude',
                                'QueryMobileLocationResponseLongitudeLatitude',
                                'QueryMobileLocationResponseTimestamp',
                                'QueueEnable',
                                'Queueing '])

      class Monitoring(core.Exporter):
        """Represents Device_v1_9.FAP.ApplicationPlatform.Monitoring."""

        def __init__(self, **defaults):
          core.Exporter.__init__(self, defaults=defaults)
          self.Export(params=['AuthenticationRequestsReceived',
                              'AuthenticationRequestsRejected',
                              'Enable',
                              'MonitoringInterval'],
                      objects=['FemtoAwareness',
                               'MMS',
                               'SMS',
                               'TerminalLocation'])

        class FemtoAwareness(core.Exporter):
          """Represents Device_v1_9.FAP.ApplicationPlatform.Monitoring.FemtoAwareness."""

          def __init__(self, **defaults):
            core.Exporter.__init__(self, defaults=defaults)
            self.Export(params=['APIAvailable',
                                'APIUsers',
                                'QueueDiscarded',
                                'QueueNum',
                                'QueueReceived',
                                'QueueState'])

        class MMS(core.Exporter):
          """Represents Device_v1_9.FAP.ApplicationPlatform.Monitoring.MMS."""

          def __init__(self, **defaults):
            core.Exporter.__init__(self, defaults=defaults)
            self.Export(params=['APIAvailable',
                                'APIUsers',
                                'QueueDiscarded',
                                'QueueNum',
                                'QueueReceived',
                                'QueueState'])

        class SMS(core.Exporter):
          """Represents Device_v1_9.FAP.ApplicationPlatform.Monitoring.SMS."""

          def __init__(self, **defaults):
            core.Exporter.__init__(self, defaults=defaults)
            self.Export(params=['APIAvailable',
                                'APIUsers',
                                'QueueDiscarded',
                                'QueueNum',
                                'QueueReceived',
                                'QueueState'])

        class TerminalLocation(core.Exporter):
          """Represents Device_v1_9.FAP.ApplicationPlatform.Monitoring.TerminalLocation."""

          def __init__(self, **defaults):
            core.Exporter.__init__(self, defaults=defaults)
            self.Export(params=['APIAvailable',
                                'APIUsers',
                                'QueueDiscarded',
                                'QueueNum',
                                'QueueReceived',
                                'QueueState'])

    class GPS(core.Exporter):
      """Represents Device_v1_9.FAP.GPS."""

      def __init__(self, **defaults):
        core.Exporter.__init__(self, defaults=defaults)
        self.Export(params=['ContinuousGPS',
                            'ErrorDetails',
                            'GPSReset',
                            'LastScanTime',
                            'LastSuccessfulScanTime',
                            'LockedLatitude',
                            'LockedLongitude',
                            'NumberOfSatellites',
                            'PeriodicInterval',
                            'PeriodicTime',
                            'ScanOnBoot',
                            'ScanPeriodically',
                            'ScanStatus',
                            'ScanTimeout'],
                    objects=['AGPSServerConfig',
                             'ContinuousGPSStatus'])

      class AGPSServerConfig(core.Exporter):
        """Represents Device_v1_9.FAP.GPS.AGPSServerConfig."""

        def __init__(self, **defaults):
          core.Exporter.__init__(self, defaults=defaults)
          self.Export(params=['Enable',
                              'Password',
                              'ReferenceLatitude',
                              'ReferenceLongitude',
                              'ServerInUse',
                              'ServerPort',
                              'ServerURL',
                              'Username'])

      class ContinuousGPSStatus(core.Exporter):
        """Represents Device_v1_9.FAP.GPS.ContinuousGPSStatus."""

        def __init__(self, **defaults):
          core.Exporter.__init__(self, defaults=defaults)
          self.Export(params=['CurrentFix',
                              'Elevation',
                              'FirstFixTimeout',
                              'GotFix',
                              'LastFixDuration',
                              'LastFixTime',
                              'Latitude',
                              'LocationType',
                              'LockTimeOutDuration',
                              'Longitude',
                              'ReceiverStatus',
                              'SatelliteTrackingInterval',
                              'SatellitesTracked',
                              'TimingGood'])

    class PerfMgmt(core.Exporter):
      """Represents Device_v1_9.FAP.PerfMgmt."""

      def __init__(self, **defaults):
        core.Exporter.__init__(self, defaults=defaults)
        self.Export(params=['ConfigNumberOfEntries'],
                    lists=['Config'])

      class Config(core.Exporter):
        """Represents Device_v1_9.FAP.PerfMgmt.Config.{i}."""

        def __init__(self, **defaults):
          core.Exporter.__init__(self, defaults=defaults)
          self.Export(params=['Alias',
                              'Enable',
                              'Password',
                              'PeriodicUploadInterval',
                              'PeriodicUploadTime',
                              'URL',
                              'Username'])

    class Tunnel(core.Exporter):
      """Represents Device_v1_9.FAP.Tunnel."""

      def __init__(self, **defaults):
        core.Exporter.__init__(self, defaults=defaults)
        self.Export(params=['ChildSANumberOfEntries',
                            'CryptoProfileNumberOfEntries',
                            'IKESANumberOfEntries',
                            'MaxChildSAPerIKE',
                            'MaxIKESessions',
                            'MaxVirtualInterfaces',
                            'UseForCWMP',
                            'VirtualInterfaceNumberOfEntries'],
                    lists=['ChildSA',
                           'CryptoProfile',
                           'IKESA',
                           'VirtualInterface'])

      class ChildSA(core.Exporter):
        """Represents Device_v1_9.FAP.Tunnel.ChildSA.{i}."""

        def __init__(self, **defaults):
          core.Exporter.__init__(self, defaults=defaults)
          self.Export(params=['CreationTime',
                              'DirectionOutbound',
                              'IntegrityErrors',
                              'ParentID',
                              'ReplayErrors',
                              'SPI',
                              'Traffic'])

      class CryptoProfile(core.Exporter):
        """Represents Device_v1_9.FAP.Tunnel.CryptoProfile.{i}."""

        def __init__(self, **defaults):
          core.Exporter.__init__(self, defaults=defaults)
          self.Export(params=['Alias',
                              'AuthMethod',
                              'DPDTimer',
                              'ESPEncrypt',
                              'ESPIntegrity',
                              'Enable',
                              'IKEDH',
                              'IKEEncrypt',
                              'IKEIntegrity',
                              'IKEPRF',
                              'IKERekeyLifetime',
                              'IPsecRekeyLifetimeByte',
                              'IPsecRekeyLifetimeTime',
                              'IPsecWindowSize',
                              'MaxChildSA',
                              'NATTKeepaliveTimer',
                              'SecDFBit',
                              'SecMaxFragSize'])

      class IKESA(core.Exporter):
        """Represents Device_v1_9.FAP.Tunnel.IKESA.{i}."""

        def __init__(self, **defaults):
          core.Exporter.__init__(self, defaults=defaults)
          self.Export(params=['AuthErrors',
                              'CreationTime',
                              'DHCPServers',
                              'DNSServers',
                              'IPAddress',
                              'IntegrityErrors',
                              'OtherErrors',
                              'PeerAddress',
                              'Status',
                              'SubnetMask'])

      class VirtualInterface(core.Exporter):
        """Represents Device_v1_9.FAP.Tunnel.VirtualInterface.{i}."""

        def __init__(self, **defaults):
          core.Exporter.__init__(self, defaults=defaults)
          self.Export(params=['Alias',
                              'CryptoProfile',
                              'DSCPMarkPolicy',
                              'Enable'])

  class FaultMgmt(core.Exporter):
    """Represents Device_v1_9.FaultMgmt."""

    def __init__(self, **defaults):
      core.Exporter.__init__(self, defaults=defaults)
      self.Export(params=['CurrentAlarmNumberOfEntries',
                          'ExpeditedEventNumberOfEntries',
                          'HistoryEventNumberOfEntries',
                          'MaxCurrentAlarmEntries',
                          'QueuedEventNumberOfEntries',
                          'SupportedAlarmNumberOfEntries'],
                  lists=['CurrentAlarm',
                         'ExpeditedEvent',
                         'HistoryEvent',
                         'QueuedEvent',
                         'SupportedAlarm'])

    class CurrentAlarm(core.Exporter):
      """Represents Device_v1_9.FaultMgmt.CurrentAlarm.{i}."""

      def __init__(self, **defaults):
        core.Exporter.__init__(self, defaults=defaults)
        self.Export(params=['AdditionalInformation',
                            'AdditionalText',
                            'AlarmChangedTime',
                            'AlarmIdentifier',
                            'AlarmRaisedTime',
                            'EventType',
                            'ManagedObjectInstance',
                            'PerceivedSeverity',
                            'ProbableCause',
                            'SpecificProblem'])

    class ExpeditedEvent(core.Exporter):
      """Represents Device_v1_9.FaultMgmt.ExpeditedEvent.{i}."""

      def __init__(self, **defaults):
        core.Exporter.__init__(self, defaults=defaults)
        self.Export(params=['AdditionalInformation',
                            'AdditionalText',
                            'AlarmIdentifier',
                            'EventTime',
                            'EventType',
                            'ManagedObjectInstance',
                            'NotificationType',
                            'PerceivedSeverity',
                            'ProbableCause',
                            'SpecificProblem'])

    class HistoryEvent(core.Exporter):
      """Represents Device_v1_9.FaultMgmt.HistoryEvent.{i}."""

      def __init__(self, **defaults):
        core.Exporter.__init__(self, defaults=defaults)
        self.Export(params=['AdditionalInformation',
                            'AdditionalText',
                            'AlarmIdentifier',
                            'EventTime',
                            'EventType',
                            'ManagedObjectInstance',
                            'NotificationType',
                            'PerceivedSeverity',
                            'ProbableCause',
                            'SpecificProblem'])

    class QueuedEvent(core.Exporter):
      """Represents Device_v1_9.FaultMgmt.QueuedEvent.{i}."""

      def __init__(self, **defaults):
        core.Exporter.__init__(self, defaults=defaults)
        self.Export(params=['AdditionalInformation',
                            'AdditionalText',
                            'AlarmIdentifier',
                            'EventTime',
                            'EventType',
                            'ManagedObjectInstance',
                            'NotificationType',
                            'PerceivedSeverity',
                            'ProbableCause',
                            'SpecificProblem'])

    class SupportedAlarm(core.Exporter):
      """Represents Device_v1_9.FaultMgmt.SupportedAlarm.{i}."""

      def __init__(self, **defaults):
        core.Exporter.__init__(self, defaults=defaults)
        self.Export(params=['EventType',
                            'PerceivedSeverity',
                            'ProbableCause',
                            'ReportingMechanism',
                            'SpecificProblem'])

  class Security(core.Exporter):
    """Represents Device_v1_9.Security."""

    def __init__(self, **defaults):
      core.Exporter.__init__(self, defaults=defaults)
      self.Export(params=['CertificateNumberOfEntries'],
                  lists=['Certificate'])

    class Certificate(core.Exporter):
      """Represents Device_v1_9.Security.Certificate.{i}."""

      def __init__(self, **defaults):
        core.Exporter.__init__(self, defaults=defaults)
        self.Export(params=['Enable',
                            'Issuer',
                            'LastModif',
                            'NotAfter',
                            'NotBefore',
                            'SerialNumber',
                            'SignatureAlgorithm',
                            'Subject',
                            'SubjectAlt'])

  class SoftwareModules(Device_v1_8.SoftwareModules):
    """Represents Device_v1_9.SoftwareModules."""

    def __init__(self, **defaults):
      Device_v1_8.SoftwareModules.__init__(self, defaults=defaults)
      self.Export(lists=['ExecEnv'])

    class ExecEnv(Device_v1_8.SoftwareModules.ExecEnv):
      """Represents Device_v1_9.SoftwareModules.ExecEnv.{i}."""

      def __init__(self, **defaults):
        Device_v1_8.SoftwareModules.ExecEnv.__init__(self, defaults=defaults)
        self.Export(params=['InitialExecutionUnitRunLevel'])


if __name__ == '__main__':
  print core.DumpSchema(Device_v1_9)
