text:
""" Cisco_IOS_XR_snmp_test_trap_act

This module contains a collection of YANG definitions
for Cisco IOS\-XR action package configuration.

Copyright (c) 2016 by Cisco Systems, Inc.
All rights reserved.

"""

import re
import collections

from enum import Enum

from ydk.types import Empty, YList, YLeafList, DELETE, Decimal64, FixedBitsDict

from ydk.errors import YPYError, YPYModelError

class SnmpColdStartRpc(object):
    """
    Generate SNMPv2\-MIB\:\:coldStart

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):

        self.is_rpc = True

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:snmp-cold-start'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['SnmpColdStartRpc']['meta_info']

class SnmpWarmStartRpc(object):
    """
    Generate SNMPv2\-MIB\:\:warmStart

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):

        self.is_rpc = True

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:snmp-warm-start'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['SnmpWarmStartRpc']['meta_info']

class InterfaceLinkUpRpc(object):
    """
    Generate IF\-MIB\:\:linkUp

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.InterfaceLinkUpRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = InterfaceLinkUpRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: ifindex

        	interface index for which to generate LinkUp trap
        	**type**\:  int

        	**range:** 1..2147483647

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.ifindex = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:interface-link-up/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.ifindex is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['InterfaceLinkUpRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:interface-link-up'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['InterfaceLinkUpRpc']['meta_info']

class InterfaceLinkDownRpc(object):
    """
    Generate IF\-MIB\:\:linkDown

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.InterfaceLinkDownRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = InterfaceLinkDownRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: ifindex

        	interface index for which to generate LinkDown trap
        	**type**\:  int

        	**range:** 1..2147483647

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.ifindex = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:interface-link-down/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.ifindex is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['InterfaceLinkDownRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:interface-link-down'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['InterfaceLinkDownRpc']['meta_info']

class SonetSectionStatusRpc(object):
    """
    Generate CISCO\-SONET\-MIB\:\:ciscoSonetSectionStatusChange

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.SonetSectionStatusRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = SonetSectionStatusRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: ifindex

        	interface index for which to generate ciscoSonetSectionStatusChange trap
        	**type**\:  int

        	**range:** 1..2147483647

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.ifindex = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:sonet-section-status/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.ifindex is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['SonetSectionStatusRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:sonet-section-status'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['SonetSectionStatusRpc']['meta_info']

class SonetLineStatusRpc(object):
    """
    Generate CISCO\-SONET\-MIB\:\:ciscoSonetLineStatusChange

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.SonetLineStatusRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = SonetLineStatusRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: ifindex

        	interface index for which to generate ciscoSonetLineStatusChange trap
        	**type**\:  int

        	**range:** 1..2147483647

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.ifindex = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:sonet-line-status/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.ifindex is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['SonetLineStatusRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:sonet-line-status'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['SonetLineStatusRpc']['meta_info']

class SonetPathStatusRpc(object):
    """
    Generate CISCO\-SONET\-MIB\:\:ciscoSonetPathStatusChange

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.SonetPathStatusRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = SonetPathStatusRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: ifindex

        	interface index for which to generate ciscoSonetPathStatusChange trap
        	**type**\:  int

        	**range:** 1..2147483647

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.ifindex = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:sonet-path-status/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.ifindex is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['SonetPathStatusRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:sonet-path-status'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['SonetPathStatusRpc']['meta_info']

class InfraSyslogMessageGeneratedRpc(object):
    """
    Generate CISCO\-SYSLOG\-MIB\:\:clogMessageGenerated

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):

        self.is_rpc = True

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:infra-syslog-message-generated'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['InfraSyslogMessageGeneratedRpc']['meta_info']

class InfraFlashDeviceInsertedRpc(object):
    """
    Generate CISCO\-FLASH\-MIB\:\:ciscoFlashDeviceInsertedNotif

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):

        self.is_rpc = True

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:infra-flash-device-inserted'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['InfraFlashDeviceInsertedRpc']['meta_info']

class InfraFlashDeviceRemovedRpc(object):
    """
    Generate CISCO\-FLASH\-MIB\:\:ciscoFlashDeviceRemovedNotif

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):

        self.is_rpc = True

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:infra-flash-device-removed'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['InfraFlashDeviceRemovedRpc']['meta_info']

class InfraRedundancyProgressionRpc(object):
    """
    Generate CISCO\-RF\-MIB\:\:ciscoRFProgressionNotif

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):

        self.is_rpc = True

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:infra-redundancy-progression'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['InfraRedundancyProgressionRpc']['meta_info']

class InfraRedundancySwitchRpc(object):
    """
    Generate CISCO\-RF\-MIB\:\:ciscoRFSwactNotif

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):

        self.is_rpc = True

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:infra-redundancy-switch'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['InfraRedundancySwitchRpc']['meta_info']

class InfraBridgeNewRootRpc(object):
    """
    Generate BRIDGE\-MIB\:\:newRoot

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):

        self.is_rpc = True

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:infra-bridge-new-root'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['InfraBridgeNewRootRpc']['meta_info']

class InfraBridgeTopologyChangeRpc(object):
    """
    Generate BRIDGE\-MIB\:\:topologyChange

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):

        self.is_rpc = True

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:infra-bridge-topology-change'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['InfraBridgeTopologyChangeRpc']['meta_info']

class InfraConfigEventRpc(object):
    """
    Generate CISCO\-CONFIG\-MAN\-MIB\:\:ciscoConfigManEvent

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):

        self.is_rpc = True

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:infra-config-event'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['InfraConfigEventRpc']['meta_info']

class EntitySensorThresholdNotificationRpc(object):
    """
    Generate CISCO\-ENTITY\-SENSOR\-MIB\:\:entSensorThresholdNotification

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.EntitySensorThresholdNotificationRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = EntitySensorThresholdNotificationRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: entindex

        	entity Physical Index for which to generate trap
        	**type**\:  int

        	**range:** 1..2147483647

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.entindex = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:entity-sensor-threshold-notification/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.entindex is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['EntitySensorThresholdNotificationRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:entity-sensor-threshold-notification'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['EntitySensorThresholdNotificationRpc']['meta_info']

class EntityFruPowerStatusChangeFailedRpc(object):
    """
    oper status changed to failed

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.EntityFruPowerStatusChangeFailedRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = EntityFruPowerStatusChangeFailedRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: entindex

        	entity Physical Index for which to generate trap
        	**type**\:  int

        	**range:** 1..2147483647

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.entindex = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:entity-fru-power-status-change-failed/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.entindex is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['EntityFruPowerStatusChangeFailedRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:entity-fru-power-status-change-failed'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['EntityFruPowerStatusChangeFailedRpc']['meta_info']

class EntityFruModuleStatusChangeUpRpc(object):
    """
    fu trap module status changed as ok

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.EntityFruModuleStatusChangeUpRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = EntityFruModuleStatusChangeUpRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: entindex

        	entity Physical Index for which to generate trap
        	**type**\:  int

        	**range:** 1..2147483647

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.entindex = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:entity-fru-module-status-change-up/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.entindex is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['EntityFruModuleStatusChangeUpRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:entity-fru-module-status-change-up'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['EntityFruModuleStatusChangeUpRpc']['meta_info']

class EntityFruModuleStatusChangeDownRpc(object):
    """
    fu trap module status changed as failed

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.EntityFruModuleStatusChangeDownRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = EntityFruModuleStatusChangeDownRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: entindex

        	entity Physical Index for which to generate trap
        	**type**\:  int

        	**range:** 1..2147483647

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.entindex = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:entity-fru-module-status-change-down/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.entindex is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['EntityFruModuleStatusChangeDownRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:entity-fru-module-status-change-down'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['EntityFruModuleStatusChangeDownRpc']['meta_info']

class EntityFruFanTrayOperStatusUpRpc(object):
    """
    Generate CISCO\-ENTITY\-FRU\-CONTROL\-MIB\:\:cefcFanTrayStatusChange

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.EntityFruFanTrayOperStatusUpRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = EntityFruFanTrayOperStatusUpRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: entindex

        	entity Physical Index for which to generate trap
        	**type**\:  int

        	**range:** 1..2147483647

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.entindex = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:entity-fru-fan-tray-oper-status-up/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.entindex is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['EntityFruFanTrayOperStatusUpRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:entity-fru-fan-tray-oper-status-up'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['EntityFruFanTrayOperStatusUpRpc']['meta_info']

class EntityFruFanTrayInsertedRpc(object):
    """
    Generate CISCO\-ENTITY\-FRU\-CONTROL\-MIB\:\:cefcFRUInserted

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.EntityFruFanTrayInsertedRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = EntityFruFanTrayInsertedRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: entindex

        	entity Physical Index for which to generate trap
        	**type**\:  int

        	**range:** 1..2147483647

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.entindex = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:entity-fru-fan-tray-inserted/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.entindex is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['EntityFruFanTrayInsertedRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:entity-fru-fan-tray-inserted'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['EntityFruFanTrayInsertedRpc']['meta_info']

class EntityFruFanTrayRemovedRpc(object):
    """
    Generate CISCO\-ENTITY\-FRU\-CONTROL\-MIB\:\:cefcFRURemoved

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.EntityFruFanTrayRemovedRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = EntityFruFanTrayRemovedRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: entindex

        	entity Physical Index for which to generate trap
        	**type**\:  int

        	**range:** 1..2147483647

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.entindex = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:entity-fru-fan-tray-removed/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.entindex is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['EntityFruFanTrayRemovedRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:entity-fru-fan-tray-removed'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['EntityFruFanTrayRemovedRpc']['meta_info']

class PlatformHfrBundleDownedLinkRpc(object):
    """
    Generate CISCO\-FABRIC\-HFR\-MIB\:\:cfhBundleDownedLinkNotification

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.PlatformHfrBundleDownedLinkRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = PlatformHfrBundleDownedLinkRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: bundle_name

        	bundle name for which to generate the trap
        	**type**\:  str

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.bundle_name = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:platform-hfr-bundle-downed-link/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.bundle_name is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['PlatformHfrBundleDownedLinkRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:platform-hfr-bundle-downed-link'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['PlatformHfrBundleDownedLinkRpc']['meta_info']

class PlatformHfrBundleStateRpc(object):
    """
    Generate CISCO\-FABRIC\-HFR\-MIB\:\:cfhBundleStateNotification

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.PlatformHfrBundleStateRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = PlatformHfrBundleStateRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: bundle_name

        	bundle name for which to generate the trap
        	**type**\:  str

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.bundle_name = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:platform-hfr-bundle-state/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.bundle_name is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['PlatformHfrBundleStateRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:platform-hfr-bundle-state'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['PlatformHfrBundleStateRpc']['meta_info']

class PlatformHfrPlaneStateRpc(object):
    """
    Generate CISCO\-FABRIC\-HFR\-MIB\:\:cfhPlaneStateNotification

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.PlatformHfrPlaneStateRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = PlatformHfrPlaneStateRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: plane_id

        	plane identifier for which to generate the trap
        	**type**\:  int

        	**range:** 0..4294967295

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.plane_id = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:platform-hfr-plane-state/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.plane_id is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['PlatformHfrPlaneStateRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:platform-hfr-plane-state'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['PlatformHfrPlaneStateRpc']['meta_info']

class RoutingBgpEstablishedRpc(object):
    """
    Generate BGP4\-MIB\:\:bglEstablishedNotification

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):

        self.is_rpc = True

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:routing-bgp-established'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['RoutingBgpEstablishedRpc']['meta_info']

class RoutingBgpEstablishedRemotePeerRpc(object):
    """
    Generate BGP4\-MIB\:\:bglEstablishedNotification remote peer

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.RoutingBgpEstablishedRemotePeerRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = RoutingBgpEstablishedRemotePeerRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: address

        	BGP remote peer IP address for which to generate the trap
        	**type**\:  str

        	**pattern:** (([0\-9]\|[1\-9][0\-9]\|1[0\-9][0\-9]\|2[0\-4][0\-9]\|25[0\-5])\\.){3}([0\-9]\|[1\-9][0\-9]\|1[0\-9][0\-9]\|2[0\-4][0\-9]\|25[0\-5])(%[\\p{N}\\p{L}]+)?

        	**mandatory**\: True

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.address = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:routing-bgp-established-remote-peer/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.address is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['RoutingBgpEstablishedRemotePeerRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:routing-bgp-established-remote-peer'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['RoutingBgpEstablishedRemotePeerRpc']['meta_info']

class RoutingBgpStateChangeRpc(object):
    """
    Generate CISCO\-BGP\-MIB\:\:cbgpBackwardTransition

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):

        self.is_rpc = True

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:routing-bgp-state-change'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['RoutingBgpStateChangeRpc']['meta_info']

class RoutingBgpStateChangeRemotePeerRpc(object):
    """
    Generate CISCO\-BGP\-MIB\:\:cbgpBackwardTransition remote peer

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.RoutingBgpStateChangeRemotePeerRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = RoutingBgpStateChangeRemotePeerRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: address

        	BGP remote peer IP address for which to generate the trap
        	**type**\:  str

        	**pattern:** (([0\-9]\|[1\-9][0\-9]\|1[0\-9][0\-9]\|2[0\-4][0\-9]\|25[0\-5])\\.){3}([0\-9]\|[1\-9][0\-9]\|1[0\-9][0\-9]\|2[0\-4][0\-9]\|25[0\-5])(%[\\p{N}\\p{L}]+)?

        	**mandatory**\: True

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.address = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:routing-bgp-state-change-remote-peer/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.address is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['RoutingBgpStateChangeRemotePeerRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:routing-bgp-state-change-remote-peer'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['RoutingBgpStateChangeRemotePeerRpc']['meta_info']

class RoutingOspfNeighborStateChangeRpc(object):
    """
    Generate OSPF\-TRAP\-MIB\:\:ospfNbrStateChange

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):

        self.is_rpc = True

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:routing-ospf-neighbor-state-change'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['RoutingOspfNeighborStateChangeRpc']['meta_info']

class RoutingOspfNeighborStateChangeAddressRpc(object):
    """
    Generate OSPF\-TRAP\-MIB\:\:ospfNbrStateChange address

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.RoutingOspfNeighborStateChangeAddressRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = RoutingOspfNeighborStateChangeAddressRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: address

        	neighbor's IP source address for which to generate the trap
        	**type**\:  str

        	**pattern:** (([0\-9]\|[1\-9][0\-9]\|1[0\-9][0\-9]\|2[0\-4][0\-9]\|25[0\-5])\\.){3}([0\-9]\|[1\-9][0\-9]\|1[0\-9][0\-9]\|2[0\-4][0\-9]\|25[0\-5])(%[\\p{N}\\p{L}]+)?

        	**mandatory**\: True

        .. attribute:: ifindex

        	0 for interfaces having IP addresses or IF\-MIB ifindex of addressless interface
        	**type**\:  int

        	**range:** 0..2147483647

        	**mandatory**\: True

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.address = None
            self.ifindex = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:routing-ospf-neighbor-state-change-address/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.address is not None:
                return True

            if self.ifindex is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['RoutingOspfNeighborStateChangeAddressRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:routing-ospf-neighbor-state-change-address'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['RoutingOspfNeighborStateChangeAddressRpc']['meta_info']

class RoutingMplsLdpSessionDownRpc(object):
    """
    Generate MPLS\-LDP\-STD\-MIB\:\:mplsLdpSessionDown

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):

        self.is_rpc = True

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:routing-mpls-ldp-session-down'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['RoutingMplsLdpSessionDownRpc']['meta_info']

class RoutingMplsLdpSessionDownEntityIdRpc(object):
    """
    Generate MPLS\-LDP\-STD\-MIB\:\:mplsLdpSessionDown entity\-id

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.RoutingMplsLdpSessionDownEntityIdRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = RoutingMplsLdpSessionDownEntityIdRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: entity_id

        	entity ldp\-id in x.x.x.x.y.y format where x.x.x.x is the entity IP address and y.y is the label space
        	**type**\:  str

        	**length:** 23

        	**mandatory**\: True

        .. attribute:: entity_index

        	entity index for which to generate the trap
        	**type**\:  int

        	**range:** 1..4294967295

        	**mandatory**\: True

        .. attribute:: peer_id

        	peer ldp\-id in x.x.x.x.y.y format where x.x.x.x is the entity IP address and y.y is the label space
        	**type**\:  str

        	**length:** 23

        	**mandatory**\: True

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.entity_id = None
            self.entity_index = None
            self.peer_id = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:routing-mpls-ldp-session-down-entity-id/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.entity_id is not None:
                return True

            if self.entity_index is not None:
                return True

            if self.peer_id is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['RoutingMplsLdpSessionDownEntityIdRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:routing-mpls-ldp-session-down-entity-id'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['RoutingMplsLdpSessionDownEntityIdRpc']['meta_info']

class RoutingMplsTunnelReRoutedRpc(object):
    """
    Generate MPLS\-TE\-STD\-MIB\:\:mplsTunnelRerouted

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):

        self.is_rpc = True

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:routing-mpls-tunnel-re-routed'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['RoutingMplsTunnelReRoutedRpc']['meta_info']

class RoutingMplsTunnelReRoutedIndexRpc(object):
    """
    Generate MPLS\-TE\-STD\-MIB\:\:mplsTunnelRerouted index

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.RoutingMplsTunnelReRoutedIndexRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = RoutingMplsTunnelReRoutedIndexRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: destination

        	destination address for which to generate the trap
        	**type**\:  str

        	**pattern:** (([0\-9]\|[1\-9][0\-9]\|1[0\-9][0\-9]\|2[0\-4][0\-9]\|25[0\-5])\\.){3}([0\-9]\|[1\-9][0\-9]\|1[0\-9][0\-9]\|2[0\-4][0\-9]\|25[0\-5])(%[\\p{N}\\p{L}]+)?

        	**mandatory**\: True

        .. attribute:: index

        	tunnel index for which to generate the trap
        	**type**\:  int

        	**range:** 0..65535

        	**mandatory**\: True

        .. attribute:: instance

        	tunnel instance for which to generate the trap
        	**type**\:  int

        	**range:** 0..65535

        	**mandatory**\: True

        .. attribute:: source

        	source address for which to generate the trap
        	**type**\:  str

        	**pattern:** (([0\-9]\|[1\-9][0\-9]\|1[0\-9][0\-9]\|2[0\-4][0\-9]\|25[0\-5])\\.){3}([0\-9]\|[1\-9][0\-9]\|1[0\-9][0\-9]\|2[0\-4][0\-9]\|25[0\-5])(%[\\p{N}\\p{L}]+)?

        	**mandatory**\: True

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.destination = None
            self.index = None
            self.instance = None
            self.source = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:routing-mpls-tunnel-re-routed-index/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.destination is not None:
                return True

            if self.index is not None:
                return True

            if self.instance is not None:
                return True

            if self.source is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['RoutingMplsTunnelReRoutedIndexRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:routing-mpls-tunnel-re-routed-index'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['RoutingMplsTunnelReRoutedIndexRpc']['meta_info']

class RoutingMplsTunnelReOptimizedRpc(object):
    """
    Generate MPLS\-TE\-STD\-MIB\:\:mplsTunnelReoptimized

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):

        self.is_rpc = True

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:routing-mpls-tunnel-re-optimized'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['RoutingMplsTunnelReOptimizedRpc']['meta_info']

class RoutingMplsTunnelReOptimizedIndexRpc(object):
    """
    Generate MPLS\-TE\-STD\-MIB\:\:mplsTunnelReoptimized index

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.RoutingMplsTunnelReOptimizedIndexRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = RoutingMplsTunnelReOptimizedIndexRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: destination

        	destination address for which to generate the trap
        	**type**\:  str

        	**pattern:** (([0\-9]\|[1\-9][0\-9]\|1[0\-9][0\-9]\|2[0\-4][0\-9]\|25[0\-5])\\.){3}([0\-9]\|[1\-9][0\-9]\|1[0\-9][0\-9]\|2[0\-4][0\-9]\|25[0\-5])(%[\\p{N}\\p{L}]+)?

        	**mandatory**\: True

        .. attribute:: index

        	tunnel index for which to generate the trap
        	**type**\:  int

        	**range:** 0..65535

        	**mandatory**\: True

        .. attribute:: instance

        	tunnel instance for which to generate the trap
        	**type**\:  int

        	**range:** 0..65535

        	**mandatory**\: True

        .. attribute:: source

        	source address for which to generate the trap
        	**type**\:  str

        	**pattern:** (([0\-9]\|[1\-9][0\-9]\|1[0\-9][0\-9]\|2[0\-4][0\-9]\|25[0\-5])\\.){3}([0\-9]\|[1\-9][0\-9]\|1[0\-9][0\-9]\|2[0\-4][0\-9]\|25[0\-5])(%[\\p{N}\\p{L}]+)?

        	**mandatory**\: True

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.destination = None
            self.index = None
            self.instance = None
            self.source = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:routing-mpls-tunnel-re-optimized-index/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.destination is not None:
                return True

            if self.index is not None:
                return True

            if self.instance is not None:
                return True

            if self.source is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['RoutingMplsTunnelReOptimizedIndexRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:routing-mpls-tunnel-re-optimized-index'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['RoutingMplsTunnelReOptimizedIndexRpc']['meta_info']

class RoutingMplsTunnelDownRpc(object):
    """
    Generate MPLS\-TE\-STD\-MIB\:\:mplsTunnelDown

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):

        self.is_rpc = True

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:routing-mpls-tunnel-down'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['RoutingMplsTunnelDownRpc']['meta_info']

class RoutingMplsTunnelDownIndexRpc(object):
    """
    Generate MPLS\-TE\-STD\-MIB\:\:mplsTunnelDown index

    .. attribute:: input

    	**type**\:   :py:class:`Input <ydk.models.cisco_ios_xr.Cisco_IOS_XR_snmp_test_trap_act.RoutingMplsTunnelDownIndexRpc.Input>`

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):
        self.input = RoutingMplsTunnelDownIndexRpc.Input()
        self.input.parent = self

        self.is_rpc = True

    class Input(object):
        """

        .. attribute:: destination

        	destination address for which to generate the trap
        	**type**\:  str

        	**pattern:** (([0\-9]\|[1\-9][0\-9]\|1[0\-9][0\-9]\|2[0\-4][0\-9]\|25[0\-5])\\.){3}([0\-9]\|[1\-9][0\-9]\|1[0\-9][0\-9]\|2[0\-4][0\-9]\|25[0\-5])(%[\\p{N}\\p{L}]+)?

        	**mandatory**\: True

        .. attribute:: index

        	tunnel index for which to generate the trap
        	**type**\:  int

        	**range:** 0..65535

        	**mandatory**\: True

        .. attribute:: instance

        	tunnel instance for which to generate the trap
        	**type**\:  int

        	**range:** 0..65535

        	**mandatory**\: True

        .. attribute:: source

        	src address
        	**type**\:  str

        	**pattern:** (([0\-9]\|[1\-9][0\-9]\|1[0\-9][0\-9]\|2[0\-4][0\-9]\|25[0\-5])\\.){3}([0\-9]\|[1\-9][0\-9]\|1[0\-9][0\-9]\|2[0\-4][0\-9]\|25[0\-5])(%[\\p{N}\\p{L}]+)?

        	**mandatory**\: True

        """

        _prefix = 'snmp-test-trap-act'
        _revision = '2016-10-25'

        def __init__(self):
            self.parent = None
            self.destination = None
            self.index = None
            self.instance = None
            self.source = None

        @property
        def _common_path(self):

            return '/Cisco-IOS-XR-snmp-test-trap-act:routing-mpls-tunnel-down-index/Cisco-IOS-XR-snmp-test-trap-act:input'

        def is_config(self):
            ''' Returns True if this instance represents config data else returns False '''
            if self.parent is None:
                raise YPYError('Parent reference is needed to determine if entity has configuration data')
            return self.parent.is_config()

        def _has_data(self):
            if self.destination is not None:
                return True

            if self.index is not None:
                return True

            if self.instance is not None:
                return True

            if self.source is not None:
                return True

            return False

        @staticmethod
        def _meta_info():
            from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
            return meta._meta_table['RoutingMplsTunnelDownIndexRpc.Input']['meta_info']

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:routing-mpls-tunnel-down-index'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        if self.input is not None and self.input._has_data():
            return True

        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['RoutingMplsTunnelDownIndexRpc']['meta_info']

class AllRpc(object):
    """
    generate all the supported traps

    """

    _prefix = 'snmp-test-trap-act'
    _revision = '2016-10-25'

    def __init__(self):

        self.is_rpc = True

    @property
    def _common_path(self):

        return '/Cisco-IOS-XR-snmp-test-trap-act:all'

    def is_config(self):
        ''' Returns True if this instance represents config data else returns False '''
        return True

    def _has_data(self):
        return False

    @staticmethod
    def _meta_info():
        from ydk.models.cisco_ios_xr._meta import _Cisco_IOS_XR_snmp_test_trap_act as meta
        return meta._meta_table['AllRpc']['meta_info']


text:
/*
 * $Id: Parser.hpp 568078 2007-08-21 11:43:25Z amassari $
 */

#ifndef PARSER_HPP
#define PARSER_HPP

#include <xercesc/util/XercesDefs.hpp>

XERCES_CPP_NAMESPACE_BEGIN

class DTDHandler;
class EntityResolver;
class DocumentHandler;
class ErrorHandler;
class InputSource;

/**
  * Basic interface for SAX (Simple API for XML) parsers.
  *
  * All SAX parsers must implement this basic interface: it allows
  * applications to register handlers for different types of events
  * and to initiate a parse from a URI, or a character stream.
  *
  * All SAX parsers must also implement a zero-argument constructor
  * (though other constructors are also allowed).
  *
  * SAX parsers are reusable but not re-entrant: the application
  * may reuse a parser object (possibly with a different input source)
  * once the first parse has completed successfully, but it may not
  * invoke the parse() methods recursively within a parse.
  *
  * @see EntityResolver#EntityResolver
  * @see DTDHandler#DTDHandler
  * @see DocumentHandler#DocumentHandler
  * @see ErrorHandler#ErrorHandler
  * @see HandlerBase#HandlerBase
  * @see InputSource#InputSource
  */

#include <xercesc/util/XercesDefs.hpp>

class SAX_EXPORT Parser
{
public:
    /** @name Constructors and Destructor */
    // -----------------------------------------------------------------------
    //  Constructors and Destructor
    // -----------------------------------------------------------------------
    //@{
    /** The default constructor */
    Parser()
    {
    }
    /** The destructor */
    virtual ~Parser()
    {
    }
    //@}

    //-----------------------------------------------------------------------
    // The parser interface
    //-----------------------------------------------------------------------
    /** @name The parser interfaces */
    //@{
  /**
    * Allow an application to register a custom entity resolver.
    *
    * If the application does not register an entity resolver, the
    * SAX parser will resolve system identifiers and open connections
    * to entities itself (this is the default behaviour implemented in
    * HandlerBase).
    *
    * Applications may register a new or different entity resolver
    * in the middle of a parse, and the SAX parser must begin using
    * the new resolver immediately.
    *
    * @param resolver The object for resolving entities.
    * @see EntityResolver#EntityResolver
    * @see HandlerBase#HandlerBase
    */
    virtual void setEntityResolver(EntityResolver* const resolver) = 0;

  /**
    * Allow an application to register a DTD event handler.
    *
    * If the application does not register a DTD handler, all DTD
    * events reported by the SAX parser will be silently ignored (this
    * is the default behaviour implemented by HandlerBase).
    *
    * Applications may register a new or different handler in the middle
    * of a parse, and the SAX parser must begin using the new handler
    * immediately.
    *
    * @param handler The DTD handler.
    * @see DTDHandler#DTDHandler
    * @see HandlerBase#HandlerBase
    */
    virtual void setDTDHandler(DTDHandler* const handler) = 0;

  /**
    * Allow an application to register a document event handler.
    *
    * If the application does not register a document handler, all
    * document events reported by the SAX parser will be silently
    * ignored (this is the default behaviour implemented by
    * HandlerBase).
    *
    * Applications may register a new or different handler in the
    * middle of a parse, and the SAX parser must begin using the new
    * handler immediately.
    *
    * @param handler The document handler.
    * @see DocumentHandler#DocumentHandler
    * @see HandlerBase#HandlerBase
    */
    virtual void setDocumentHandler(DocumentHandler* const handler) = 0;

  /**
    * Allow an application to register an error event handler.
    *
    * If the application does not register an error event handler,
    * all error events reported by the SAX parser will be silently
    * ignored, except for fatalError, which will throw a SAXException
    * (this is the default behaviour implemented by HandlerBase).
    *
    * Applications may register a new or different handler in the
    * middle of a parse, and the SAX parser must begin using the new
    * handler immediately.
    *
    * @param handler The error handler.
    * @see ErrorHandler#ErrorHandler
    * @see SAXException#SAXException
    * @see HandlerBase#HandlerBase
    */
    virtual void setErrorHandler(ErrorHandler* const handler) = 0;

  /**
    * Parse an XML document.
    *
    * The application can use this method to instruct the SAX parser
    * to begin parsing an XML document from any valid input
    * source (a character stream, a byte stream, or a URI).
    *
    * Applications may not invoke this method while a parse is in
    * progress (they should create a new Parser instead for each
    * additional XML document).  Once a parse is complete, an
    * application may reuse the same Parser object, possibly with a
    * different input source.
    *
    * @param source The input source for the top-level of the
    *               XML document.
    * @exception SAXException Any SAX exception, possibly
    *            wrapping another exception.
    * @exception XMLException An exception from the parser or client
    *            handler code.
    * @see InputSource#InputSource
    * @see #setEntityResolver
    * @see #setDTDHandler
    * @see #setDocumentHandler
    * @see #setErrorHandler
    */
    virtual void parse
    (
        const   InputSource&    source
    ) = 0;

  /**
    * Parse an XML document from a system identifier (URI).
    *
    * This method is a shortcut for the common case of reading a
    * document from a system identifier.  It is the exact equivalent
    * of the following:
    *
    * parse(new URLInputSource(systemId));
    *
    * If the system identifier is a URL, it must be fully resolved
    * by the application before it is passed to the parser.
    *
    * @param systemId The system identifier (URI).
    * @exception SAXException Any SAX exception, possibly
    *            wrapping another exception.
    * @exception XMLException An exception from the parser or client
    *            handler code.
    * @see #parse(InputSource)
    */
    virtual void parse
    (
        const   XMLCh* const    systemId
    ) = 0;

  /**
    * Parse an XML document from a system identifier (URI).
    *
    * This method is a shortcut for the common case of reading a
    * document from a system identifier.  It is the exact equivalent
    * of the following:
    *
    * parse(new URLInputSource(systemId));
    *
    * If the system identifier is a URL, it must be fully resolved
    * by the application before it is passed to the parser.
    *
    * @param systemId The system identifier (URI).
    * @exception SAXException Any SAX exception, possibly
    *            wrapping another exception.
    * @exception XMLException An exception from the parser or client
    *            handler code.
    * @see #parse(InputSource)
    */
    virtual void parse
    (
        const   char* const     systemId
    ) = 0;
    //@}

private :
    /* The copy constructor, you cannot call this directly */
    Parser(const Parser&);

    /* The assignment operator, you cannot call this directly */
    Parser& operator=(const Parser&);
};

XERCES_CPP_NAMESPACE_END

#endif

redpajama_set_name: RedPajamaGithub


text:
  # --------------------------------------------------------------------
  # Copy all the HDF5 files from the source directory into the test directory
  # --------------------------------------------------------------------
  set (HDF5_REFERENCE_TEST_FILES
      family_file00000.h5
      family_file00001.h5
      family_file00002.h5
      family_file00003.h5
      family_file00004.h5
      family_file00005.h5
      family_file00006.h5
      family_file00007.h5
      family_file00008.h5
      family_file00009.h5
      family_file00010.h5
      family_file00011.h5
      family_file00012.h5
      family_file00013.h5
      family_file00014.h5
      family_file00015.h5
      family_file00016.h5
      family_file00017.h5
  )

  foreach (h5_file ${HDF5_REFERENCE_TEST_FILES})
    set (dest "${PROJECT_BINARY_DIR}/${h5_file}")
    #message (STATUS " Copying ${h5_file}")
    add_custom_command (
        TARGET     h5repart
        POST_BUILD
        COMMAND    ${CMAKE_COMMAND}
        ARGS       -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${h5_file} ${dest}
    )
  endforeach (h5_file ${HDF5_REFERENCE_TEST_FILES})

  set (HDF5_MKGRP_TEST_FILES
      #h5mkgrp_help.txt
      #h5mkgrp_version
      h5mkgrp_single.ls
      h5mkgrp_single_v.ls
      h5mkgrp_single_p.ls
      h5mkgrp_single_l.ls
      h5mkgrp_several.ls
      h5mkgrp_several_v.ls
      h5mkgrp_several_p.ls
      h5mkgrp_several_l.ls
      h5mkgrp_nested_p.ls
      h5mkgrp_nested_lp.ls
      h5mkgrp_nested_mult_p.ls
      h5mkgrp_nested_mult_lp.ls
  )

  # make test dir
  file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")

  foreach (h5_mkgrp_file ${HDF5_MKGRP_TEST_FILES})
    set (dest "${PROJECT_BINARY_DIR}/testfiles/${h5_mkgrp_file}")
    #message (STATUS " Copying ${h5_mkgrp_file}")
    add_custom_command (
        TARGET     h5mkgrp
        POST_BUILD
        COMMAND    ${CMAKE_COMMAND}
        ARGS       -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${h5_mkgrp_file} ${dest}
    )
  endforeach (h5_mkgrp_file ${HDF5_MKGRP_TEST_FILES})

  add_custom_command (
      TARGET     h5mkgrp
      POST_BUILD
      COMMAND    ${CMAKE_COMMAND}
      ARGS       -E copy_if_different ${PROJECT_SOURCE_DIR}/testfiles/h5mkgrp_help.txt ${PROJECT_BINARY_DIR}/testfiles/h5mkgrp_help.txt
  )
  configure_file (${PROJECT_SOURCE_DIR}/testfiles/h5mkgrp_version.txt.in ${PROJECT_BINARY_DIR}/testfiles/h5mkgrp_version.txt @ONLY)

##############################################################################
##############################################################################
###           T H E   T E S T S  M A C R O S                               ###
##############################################################################
##############################################################################

  MACRO (ADD_H5_TEST resultfile resultcode resultoption)
    if (NOT HDF5_ENABLE_USING_MEMCHECKER)
      add_test (
          NAME H5MKGRP-${resultfile}-clear-objects
          COMMAND    ${CMAKE_COMMAND}
              -E remove
                  ${resultfile}.h5
                  ${resultfile}.out
                  ${resultfile}.out.err
      )
      set_tests_properties (H5MKGRP-${resultfile}-clear-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
    endif (NOT HDF5_ENABLE_USING_MEMCHECKER)

    add_test (
        NAME H5MKGRP-${resultfile}
        COMMAND $<TARGET_FILE:h5mkgrp> ${resultoption} ${resultfile}.h5 ${ARGN}
    )
    set_tests_properties (H5MKGRP-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
    if (HDF5_ENABLE_USING_MEMCHECKER)
      if (NOT "${last_test}" STREQUAL "")
        set_tests_properties (H5MKGRP-${resultfile} PROPERTIES DEPENDS ${last_test})
      endif (NOT "${last_test}" STREQUAL "")
    else (HDF5_ENABLE_USING_MEMCHECKER)
      set_tests_properties (H5MKGRP-${resultfile} PROPERTIES DEPENDS H5MKGRP-${resultfile}-clear-objects)
      add_test (
          NAME H5MKGRP-${resultfile}-h5ls
          COMMAND "${CMAKE_COMMAND}"
              -D "TEST_PROGRAM=$<TARGET_FILE:h5ls>"
              -D "TEST_ARGS:STRING=-v;-r;${resultfile}.h5"
              -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles"
              -D "TEST_OUTPUT=${resultfile}.out"
              -D "TEST_EXPECT=${resultcode}"
              -D "TEST_MASK_MOD=true"
              -D "TEST_REFERENCE=${resultfile}.ls"
              -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
      )
      set_tests_properties (H5MKGRP-${resultfile}-h5ls PROPERTIES DEPENDS H5MKGRP-${resultfile})
    endif (HDF5_ENABLE_USING_MEMCHECKER)
  ENDMACRO (ADD_H5_TEST resultfile resultcode resultoption)

  MACRO (ADD_H5_CMP resultfile resultcode)
    if (HDF5_ENABLE_USING_MEMCHECKER)
      add_test (NAME H5MKGRP_CMP-${resultfile} COMMAND $<TARGET_FILE:h5mkgrp> ${ARGN})
    else (HDF5_ENABLE_USING_MEMCHECKER)
      add_test (
          NAME H5MKGRP_CMP-${resultfile}-clear-objects
          COMMAND    ${CMAKE_COMMAND}
              -E remove
                  ${resultfile}.h5
                  ${resultfile}.out
                  ${resultfile}.out.err
      )
      set_tests_properties (H5MKGRP_CMP-${resultfile}-clear-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
      add_test (
          NAME H5MKGRP_CMP-${resultfile}
          COMMAND "${CMAKE_COMMAND}"
              -D "TEST_PROGRAM=$<TARGET_FILE:h5mkgrp>"
              -D "TEST_ARGS:STRING=${ARGN}"
              -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles"
              -D "TEST_OUTPUT=${resultfile}.out"
              -D "TEST_EXPECT=${resultcode}"
              -D "TEST_REFERENCE=${resultfile}.txt"
              -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
      )
      set_tests_properties (H5MKGRP_CMP-${resultfile} PROPERTIES DEPENDS H5MKGRP_CMP-${resultfile}-clear-objects)
    endif (HDF5_ENABLE_USING_MEMCHECKER)
  ENDMACRO (ADD_H5_CMP resultfile resultcode)

##############################################################################
##############################################################################
###           T H E   T E S T S                                            ###
##############################################################################
##############################################################################

  # Remove any output file left over from previous test run
  add_test (
    NAME H5REPART-clearall-objects
    COMMAND    ${CMAKE_COMMAND}
        -E remove
        fst_family00000.h5
        scd_family00000.h5
        scd_family00001.h5
        scd_family00002.h5
        scd_family00003.h5
        family_to_sec2.h5
  )
  if (NOT "${last_test}" STREQUAL "")
    set_tests_properties (H5REPART-clearall-objects PROPERTIES DEPENDS ${last_test})
  endif (NOT "${last_test}" STREQUAL "")
  set (last_test "H5REPART-clearall-objects")

  # repartition family member size to 20,000 bytes.
  add_test (NAME H5REPART-h5repart_20K COMMAND $<TARGET_FILE:h5repart> -m 20000 family_file%05d.h5 fst_family%05d.h5)
  set_tests_properties (H5REPART-h5repart_20K PROPERTIES DEPENDS H5REPART-clearall-objects)

  # repartition family member size to 5 KB.
  add_test (NAME H5REPART-h5repart_5K COMMAND $<TARGET_FILE:h5repart> -m 5k family_file%05d.h5 scd_family%05d.h5)
  set_tests_properties (H5REPART-h5repart_5K PROPERTIES DEPENDS H5REPART-clearall-objects)

  # convert family file to sec2 file of 20,000 bytes
  add_test (NAME H5REPART-h5repart_sec2 COMMAND $<TARGET_FILE:h5repart> -m 20000 -family_to_sec2 family_file%05d.h5 family_to_sec2.h5)
  set_tests_properties (H5REPART-h5repart_sec2 PROPERTIES DEPENDS H5REPART-clearall-objects)

  # test the output files repartitioned above.
  add_test (NAME H5REPART-h5repart_test COMMAND $<TARGET_FILE:h5repart_test>)
  set_tests_properties (H5REPART-h5repart_test PROPERTIES DEPENDS "H5REPART-clearall-objects;H5REPART-h5repart_20K;H5REPART-h5repart_5K;H5REPART-h5repart_sec2")

  set (H5_DEP_EXECUTABLES ${H5_DEP_EXECUTABLES}
        h5repart_test
  )

  if (HDF5_ENABLE_USING_MEMCHECKER)
    add_test (
        NAME H5MKGRP-clearall-objects
        COMMAND    ${CMAKE_COMMAND}
            -E remove
                h5mkgrp_help.out
                h5mkgrp_help.out.err
                h5mkgrp_version.out
                h5mkgrp_version.out.err
                h5mkgrp_single.h5
                h5mkgrp_single.out
                h5mkgrp_single.out.err
                h5mkgrp_single_v.h5
                h5mkgrp_single_v.out
                h5mkgrp_single_v.out.err
                h5mkgrp_single_p.h5
                h5mkgrp_single_p.out
                h5mkgrp_single_p.out.err
                h5mkgrp_single_l.h5
                h5mkgrp_single_l.out
                h5mkgrp_single_l.out.err
                h5mkgrp_several.h5
                h5mkgrp_several.out
                h5mkgrp_several.out.err
                h5mkgrp_several_v.h5
                h5mkgrp_several_v.out
                h5mkgrp_several_v.out.err
                h5mkgrp_several_p.h5
                h5mkgrp_several_p.out
                h5mkgrp_several_p.out.err
                h5mkgrp_several_l.h5
                h5mkgrp_several_l.out
                h5mkgrp_several_l.out.err
                h5mkgrp_nested_p.h5
                h5mkgrp_nested_p.out
                h5mkgrp_nested_p.out.err
                h5mkgrp_nested_lp.h5
                h5mkgrp_nested_lp.out
                h5mkgrp_nested_lp.out.err
                h5mkgrp_nested_mult_p.h5
                h5mkgrp_nested_mult_p.out
                h5mkgrp_nested_mult_p.out.err
                h5mkgrp_nested_mult_lp.h5
                h5mkgrp_nested_mult_lp.out
                h5mkgrp_nested_mult_lp.out.err
    )
    set_tests_properties (H5MKGRP-clearall-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
    if (NOT "${last_test}" STREQUAL "")
      set_tests_properties (H5MKGRP-clearall-objects PROPERTIES DEPENDS ${last_test})
    endif (NOT "${last_test}" STREQUAL "")
    set (last_test "H5MKGRP-clearall-objects")
  endif (HDF5_ENABLE_USING_MEMCHECKER)

  # Check that help & version is displayed properly
  ADD_H5_CMP (h5mkgrp_help 0 "-h")
  ADD_H5_CMP (h5mkgrp_version 0 "-V")

  # Create single group at root level
  ADD_H5_TEST (h5mkgrp_single 0 "" single)
  ADD_H5_TEST (h5mkgrp_single_v 0 "-v" single)
  ADD_H5_TEST (h5mkgrp_single_p 0 "-p" single)
  ADD_H5_TEST (h5mkgrp_single_l 0 "-l" latest)

  # Create several groups at root level
  ADD_H5_TEST (h5mkgrp_several 0 "" one two)
  ADD_H5_TEST (h5mkgrp_several_v 0 "-v" one two)
  ADD_H5_TEST (h5mkgrp_several_p 0 "-p" one two)
  ADD_H5_TEST (h5mkgrp_several_l 0 "-l" one two)

  # Create various nested groups
  ADD_H5_TEST (h5mkgrp_nested_p 0 "-p" /one/two)
  ADD_H5_TEST (h5mkgrp_nested_lp 0 "-lp" /one/two)
  ADD_H5_TEST (h5mkgrp_nested_mult_p 0 "-p" /one/two /three/four)
  ADD_H5_TEST (h5mkgrp_nested_mult_lp 0 "-lp" /one/two /three/four)