def __init__(self, *args, **kwargs):
    path_helper_ = kwargs.pop('path_helper', None)
    if (path_helper_ is False):
        self._path_helper = False
    elif ((path_helper_ is not None) and isinstance(path_helper_, xpathhelper.YANGPathHelper)):
        self._path_helper = path_helper_
    elif hasattr(self, '_parent'):
        path_helper_ = getattr(self._parent, '_path_helper', False)
        self._path_helper = path_helper_
    else:
        self._path_helper = False
    extmethods = kwargs.pop('extmethods', None)
    if (extmethods is False):
        self._extmethods = False
    elif ((extmethods is not None) and isinstance(extmethods, dict)):
        self._extmethods = extmethods
    elif hasattr(self, '_parent'):
        extmethods = getattr(self._parent, '_extmethods', None)
        self._extmethods = extmethods
    else:
        self._extmethods = False
    self.__ether_type = YANGDynClass(base=unicode, is_leaf=True, yang_name='ether-type', rest_name='ether-type', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__destination_ipv6 = YANGDynClass(base=unicode, is_leaf=True, yang_name='destination-ipv6', rest_name='destination-ipv6', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__total_bytes = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name='total-bytes', rest_name='total-bytes', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='uint64', is_config=False)
    self.__ip_protocol_destination_port = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name='ip-protocol-destination-port', rest_name='ip-protocol-destination-port', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='uint32', is_config=False)
    self.__action_data = YANGDynClass(base=unicode, is_leaf=True, yang_name='action-data', rest_name='action-data', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__ip_protocol_source_port = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name='ip-protocol-source-port', rest_name='ip-protocol-source-port', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='uint32', is_config=False)
    self.__priority = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name='priority', rest_name='priority', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='uint32', is_config=False)
    self.__total_packets = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name='total-packets', rest_name='total-packets', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='uint64', is_config=False)
    self.__source_ipv6 = YANGDynClass(base=unicode, is_leaf=True, yang_name='source-ipv6', rest_name='source-ipv6', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__flow_id = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name='flow-id', rest_name='flow-id', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='uint32', is_config=False)
    self.__destination_mac = YANGDynClass(base=unicode, is_leaf=True, yang_name='destination-mac', rest_name='destination-mac', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__in_port = YANGDynClass(base=unicode, is_leaf=True, yang_name='in-port', rest_name='in-port', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__status = YANGDynClass(base=RestrictedClassType(base_type=unicode, restriction_type='dict_key', restriction_arg={u'dcm-flow-pending-modify': {'value': 3}, u'dcm-flow-programmed': {'value': 4}, u'dcm-flow-pending-add': {'value': 1}, u'dcm-flow-pending-delete': {'value': 2}, u'dcm-flow-not-programmed': {'value': 0}}), is_leaf=True, yang_name='status', rest_name='status', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='flow-status', is_config=False)
    self.__destination_ip = YANGDynClass(base=unicode, is_leaf=True, yang_name='destination-ip', rest_name='destination-ip', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__ip_protocol = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name='ip-protocol', rest_name='ip-protocol', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='uint32', is_config=False)
    self.__flow_action_list = YANGDynClass(base=YANGListType('action_idx', flow_action_list.flow_action_list, yang_name='flow-action-list', rest_name='flow-action-list', parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='action-idx', extensions={u'tailf-common': {u'callpoint': u'openflow-flow-action', u'cli-suppress-show-path': None}}), is_container='list', yang_name='flow-action-list', rest_name='flow-action-list', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'callpoint': u'openflow-flow-action', u'cli-suppress-show-path': None}}, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='list', is_config=False)
    self.__source_mac = YANGDynClass(base=unicode, is_leaf=True, yang_name='source-mac', rest_name='source-mac', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__nw_tos = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name='nw-tos', rest_name='nw-tos', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='uint32', is_config=False)
    self.__meter_id = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name='meter-id', rest_name='meter-id', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='uint32', is_config=False)
    self.__instructions = YANGDynClass(base=unicode, is_leaf=True, yang_name='instructions', rest_name='instructions', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__in_vlan = YANGDynClass(base=unicode, is_leaf=True, yang_name='in-vlan', rest_name='in-vlan', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__source_ip = YANGDynClass(base=unicode, is_leaf=True, yang_name='source-ip', rest_name='source-ip', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__source_ip_mask = YANGDynClass(base=unicode, is_leaf=True, yang_name='source-ip-mask', rest_name='source-ip-mask', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__destination_ip_mask = YANGDynClass(base=unicode, is_leaf=True, yang_name='destination-ip-mask', rest_name='destination-ip-mask', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__vlan_upbits = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name='vlan-upbits', rest_name='vlan-upbits', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='uint32', is_config=False)
    load = kwargs.pop('load', None)
    if args:
        if (len(args) > 1):
            raise TypeError('cannot create a YANG container with >1 argument')
        all_attr = True
        for e in self._pyangbind_elements:
            if (not hasattr(args[0], e)):
                all_attr = False
                break
        if (not all_attr):
            raise ValueError('Supplied object did not have the correct attributes')
        for e in self._pyangbind_elements:
            nobj = getattr(args[0], e)
            if (nobj._changed() is False):
                continue
            setmethod = getattr(self, ('_set_%s' % e))
            if (load is None):
                setmethod(getattr(args[0], e))
            else:
                setmethod(getattr(args[0], e), load=load)
def __init__(self, *args, **kwargs):
    path_helper_ = kwargs.pop('path_helper', None)
    if (path_helper_ is False):
        self._path_helper = False
    elif ((path_helper_ is not None) and isinstance(path_helper_, xpathhelper.YANGPathHelper)):
        self._path_helper = path_helper_
    elif hasattr(self, '_parent'):
        path_helper_ = getattr(self._parent, '_path_helper', False)
        self._path_helper = path_helper_
    else:
        self._path_helper = False
    extmethods = kwargs.pop('extmethods', None)
    if (extmethods is False):
        self._extmethods = False
    elif ((extmethods is not None) and isinstance(extmethods, dict)):
        self._extmethods = extmethods
    elif hasattr(self, '_parent'):
        extmethods = getattr(self._parent, '_extmethods', None)
        self._extmethods = extmethods
    else:
        self._extmethods = False
    self.__ether_type = YANGDynClass(base=unicode, is_leaf=True, yang_name='ether-type', rest_name='ether-type', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__destination_ipv6 = YANGDynClass(base=unicode, is_leaf=True, yang_name='destination-ipv6', rest_name='destination-ipv6', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__total_bytes = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name='total-bytes', rest_name='total-bytes', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='uint64', is_config=False)
    self.__ip_protocol_destination_port = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name='ip-protocol-destination-port', rest_name='ip-protocol-destination-port', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='uint32', is_config=False)
    self.__action_data = YANGDynClass(base=unicode, is_leaf=True, yang_name='action-data', rest_name='action-data', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__ip_protocol_source_port = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name='ip-protocol-source-port', rest_name='ip-protocol-source-port', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='uint32', is_config=False)
    self.__priority = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name='priority', rest_name='priority', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='uint32', is_config=False)
    self.__total_packets = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name='total-packets', rest_name='total-packets', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='uint64', is_config=False)
    self.__source_ipv6 = YANGDynClass(base=unicode, is_leaf=True, yang_name='source-ipv6', rest_name='source-ipv6', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__flow_id = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name='flow-id', rest_name='flow-id', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='uint32', is_config=False)
    self.__destination_mac = YANGDynClass(base=unicode, is_leaf=True, yang_name='destination-mac', rest_name='destination-mac', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__in_port = YANGDynClass(base=unicode, is_leaf=True, yang_name='in-port', rest_name='in-port', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__status = YANGDynClass(base=RestrictedClassType(base_type=unicode, restriction_type='dict_key', restriction_arg={u'dcm-flow-pending-modify': {'value': 3}, u'dcm-flow-programmed': {'value': 4}, u'dcm-flow-pending-add': {'value': 1}, u'dcm-flow-pending-delete': {'value': 2}, u'dcm-flow-not-programmed': {'value': 0}}), is_leaf=True, yang_name='status', rest_name='status', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='flow-status', is_config=False)
    self.__destination_ip = YANGDynClass(base=unicode, is_leaf=True, yang_name='destination-ip', rest_name='destination-ip', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__ip_protocol = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name='ip-protocol', rest_name='ip-protocol', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='uint32', is_config=False)
    self.__flow_action_list = YANGDynClass(base=YANGListType('action_idx', flow_action_list.flow_action_list, yang_name='flow-action-list', rest_name='flow-action-list', parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='action-idx', extensions={u'tailf-common': {u'callpoint': u'openflow-flow-action', u'cli-suppress-show-path': None}}), is_container='list', yang_name='flow-action-list', rest_name='flow-action-list', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'callpoint': u'openflow-flow-action', u'cli-suppress-show-path': None}}, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='list', is_config=False)
    self.__source_mac = YANGDynClass(base=unicode, is_leaf=True, yang_name='source-mac', rest_name='source-mac', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__nw_tos = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name='nw-tos', rest_name='nw-tos', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='uint32', is_config=False)
    self.__meter_id = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name='meter-id', rest_name='meter-id', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='uint32', is_config=False)
    self.__instructions = YANGDynClass(base=unicode, is_leaf=True, yang_name='instructions', rest_name='instructions', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__in_vlan = YANGDynClass(base=unicode, is_leaf=True, yang_name='in-vlan', rest_name='in-vlan', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__source_ip = YANGDynClass(base=unicode, is_leaf=True, yang_name='source-ip', rest_name='source-ip', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__source_ip_mask = YANGDynClass(base=unicode, is_leaf=True, yang_name='source-ip-mask', rest_name='source-ip-mask', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__destination_ip_mask = YANGDynClass(base=unicode, is_leaf=True, yang_name='destination-ip-mask', rest_name='destination-ip-mask', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='string', is_config=False)
    self.__vlan_upbits = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name='vlan-upbits', rest_name='vlan-upbits', parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-openflow-operational', defining_module='brocade-openflow-operational', yang_type='uint32', is_config=False)
    load = kwargs.pop('load', None)
    if args:
        if (len(args) > 1):
            raise TypeError('cannot create a YANG container with >1 argument')
        all_attr = True
        for e in self._pyangbind_elements:
            if (not hasattr(args[0], e)):
                all_attr = False
                break
        if (not all_attr):
            raise ValueError('Supplied object did not have the correct attributes')
        for e in self._pyangbind_elements:
            nobj = getattr(args[0], e)
            if (nobj._changed() is False):
                continue
            setmethod = getattr(self, ('_set_%s' % e))
            if (load is None):
                setmethod(getattr(args[0], e))
            else:
                setmethod(getattr(args[0], e), load=load)