class Capabilities(Entity): """ Contains a list of protocol capability URIs .. attribute:: capability A RESTCONF protocol capability URI **type**\: list of str """ _prefix = 'rcmon' _revision = '2016-08-15' def __init__(self): super(RestconfState.Capabilities, self).__init__() self.yang_name = "capabilities" self.yang_parent_name = "restconf-state" self.capability = YLeafList(YType.str, "capability") def __setattr__(self, name, value): self._check_monkey_patching_error(name, value) with _handle_type_error(): if name in self.__dict__ and isinstance( self.__dict__[name], YList): raise YPYModelError( "Attempt to assign value of '{}' to YList ldata. " "Please use list append or extend method.".format( value)) if isinstance(value, Enum.YLeaf): value = value.name if name in ("capability") and name in self.__dict__: if isinstance(value, YLeaf): self.__dict__[name].set(value.get()) elif isinstance(value, YLeafList): super(RestconfState.Capabilities, self).__setattr__(name, value) else: self.__dict__[name].set(value) else: if hasattr(value, "parent") and name != "parent": if hasattr(value, "is_presence_container" ) and value.is_presence_container: value.parent = self elif value.parent is None and value.yang_name in self._children_yang_names: value.parent = self super(RestconfState.Capabilities, self).__setattr__(name, value) def has_data(self): for leaf in self.capability.getYLeafs(): if (leaf.yfilter != YFilter.not_set): return True return False def has_operation(self): for leaf in self.capability.getYLeafs(): if (leaf.is_set): return True return (self.yfilter != YFilter.not_set or self.capability.yfilter != YFilter.not_set) def get_segment_path(self): path_buffer = "" path_buffer = "capabilities" + path_buffer return path_buffer def get_entity_path(self, ancestor): path_buffer = "" if (ancestor is None): path_buffer = "ietf-restconf-monitoring:restconf-state/%s" % self.get_segment_path( ) else: path_buffer = _get_relative_entity_path( self, ancestor, path_buffer) leaf_name_data = LeafDataList() leaf_name_data.extend(self.capability.get_name_leafdata()) entity_path = EntityPath(path_buffer, leaf_name_data) return entity_path def get_child_by_name(self, child_yang_name, segment_path): child = self._get_child_by_seg_name( [child_yang_name, segment_path]) if child is not None: return child return None def has_leaf_or_child_of_name(self, name): if (name == "capability"): return True return False def set_value(self, value_path, value, name_space, name_space_prefix): if (value_path == "capability"): self.capability.append(value)
class Module(Entity): """ Each entry represents one revision of one module currently supported by the server. .. attribute:: name <key> The YANG module or submodule name **type**\: str **pattern:** [a\-zA\-Z\_][a\-zA\-Z0\-9\\\-\_.]\* .. attribute:: revision <key> The YANG module or submodule revision date. A zero\-length string is used if no revision statement is present in the YANG module or submodule **type**\: one of the below types: **type**\: str **pattern:** \\d{4}\-\\d{2}\-\\d{2} ---- **type**\: str **length:** 0 ---- .. attribute:: conformance_type Indicates the type of conformance the server is claiming for the YANG module identified by this entry **type**\: :py:class:`ConformanceType <ydk.models.ietf.ietf_yang_library.ModulesState.Module.ConformanceType>` **mandatory**\: True .. attribute:: deviation List of YANG deviation module names and revisions used by this server to modify the conformance of the module associated with this entry. Note that the same module can be used for deviations for multiple modules, so the same entry MAY appear within multiple 'module' entries. The deviation module MUST be present in the 'module' list, with the same name and revision values. The 'conformance\-type' value will be 'implement' for the deviation module **type**\: list of :py:class:`Deviation <ydk.models.ietf.ietf_yang_library.ModulesState.Module.Deviation>` .. attribute:: feature List of YANG feature names from this module that are supported by the server, regardless of whether they are defined in the module or any included submodule **type**\: list of str **pattern:** [a\-zA\-Z\_][a\-zA\-Z0\-9\\\-\_.]\* .. attribute:: namespace The XML namespace identifier for this module **type**\: str **mandatory**\: True .. attribute:: schema Contains a URL that represents the YANG schema resource for this module or submodule. This leaf will only be present if there is a URL available for retrieval of the schema for this entry **type**\: str .. attribute:: submodule Each entry represents one submodule within the parent module **type**\: list of :py:class:`Submodule <ydk.models.ietf.ietf_yang_library.ModulesState.Module.Submodule>` """ _prefix = 'yanglib' _revision = '2016-06-21' def __init__(self): super(ModulesState.Module, self).__init__() self.yang_name = "module" self.yang_parent_name = "modules-state" self.name = YLeaf(YType.str, "name") self.revision = YLeaf(YType.str, "revision") self.conformance_type = YLeaf(YType.enumeration, "conformance-type") self.feature = YLeafList(YType.str, "feature") self.namespace = YLeaf(YType.str, "namespace") self.schema = YLeaf(YType.str, "schema") self.deviation = YList(self) self.submodule = YList(self) def __setattr__(self, name, value): self._check_monkey_patching_error(name, value) with _handle_type_error(): if name in self.__dict__ and isinstance( self.__dict__[name], YList): raise YPYModelError( "Attempt to assign value of '{}' to YList ldata. " "Please use list append or extend method.".format( value)) if isinstance(value, Enum.YLeaf): value = value.name if name in ("name", "revision", "conformance_type", "feature", "namespace", "schema") and name in self.__dict__: if isinstance(value, YLeaf): self.__dict__[name].set(value.get()) elif isinstance(value, YLeafList): super(ModulesState.Module, self).__setattr__(name, value) else: self.__dict__[name].set(value) else: if hasattr(value, "parent") and name != "parent": if hasattr(value, "is_presence_container" ) and value.is_presence_container: value.parent = self elif value.parent is None and value.yang_name in self._children_yang_names: value.parent = self super(ModulesState.Module, self).__setattr__(name, value) class ConformanceType(Enum): """ ConformanceType Indicates the type of conformance the server is claiming for the YANG module identified by this entry. .. data:: implement = 0 Indicates that the server implements one or more protocol-accessible objects defined in the YANG module identified in this entry. This includes deviation statements defined in the module. For YANG version 1.1 modules, there is at most one module entry with conformance type 'implement' for a particular module name, since YANG 1.1 requires that, at most, one revision of a module is implemented. For YANG version 1 modules, there SHOULD NOT be more than one module entry for a particular module name. .. data:: import_ = 1 Indicates that the server imports reusable definitions from the specified revision of the module but does not implement any protocol-accessible objects from this revision. Multiple module entries for the same module name MAY exist. This can occur if multiple modules import the same module but specify different revision dates in the import statements. """ implement = Enum.YLeaf(0, "implement") import_ = Enum.YLeaf(1, "import") class Deviation(Entity): """ List of YANG deviation module names and revisions used by this server to modify the conformance of the module associated with this entry. Note that the same module can be used for deviations for multiple modules, so the same entry MAY appear within multiple 'module' entries. The deviation module MUST be present in the 'module' list, with the same name and revision values. The 'conformance\-type' value will be 'implement' for the deviation module. .. attribute:: name <key> The YANG module or submodule name **type**\: str **pattern:** [a\-zA\-Z\_][a\-zA\-Z0\-9\\\-\_.]\* .. attribute:: revision <key> The YANG module or submodule revision date. A zero\-length string is used if no revision statement is present in the YANG module or submodule **type**\: one of the below types: **type**\: str **pattern:** \\d{4}\-\\d{2}\-\\d{2} ---- **type**\: str **length:** 0 ---- """ _prefix = 'yanglib' _revision = '2016-06-21' def __init__(self): super(ModulesState.Module.Deviation, self).__init__() self.yang_name = "deviation" self.yang_parent_name = "module" self.name = YLeaf(YType.str, "name") self.revision = YLeaf(YType.str, "revision") def __setattr__(self, name, value): self._check_monkey_patching_error(name, value) with _handle_type_error(): if name in self.__dict__ and isinstance( self.__dict__[name], YList): raise YPYModelError( "Attempt to assign value of '{}' to YList ldata. " "Please use list append or extend method.".format( value)) if isinstance(value, Enum.YLeaf): value = value.name if name in ("name", "revision") and name in self.__dict__: if isinstance(value, YLeaf): self.__dict__[name].set(value.get()) elif isinstance(value, YLeafList): super(ModulesState.Module.Deviation, self).__setattr__(name, value) else: self.__dict__[name].set(value) else: if hasattr(value, "parent") and name != "parent": if hasattr(value, "is_presence_container" ) and value.is_presence_container: value.parent = self elif value.parent is None and value.yang_name in self._children_yang_names: value.parent = self super(ModulesState.Module.Deviation, self).__setattr__(name, value) def has_data(self): return (self.name.is_set or self.revision.is_set) def has_operation(self): return (self.yfilter != YFilter.not_set or self.name.yfilter != YFilter.not_set or self.revision.yfilter != YFilter.not_set) def get_segment_path(self): path_buffer = "" path_buffer = "deviation" + "[name='" + self.name.get( ) + "']" + "[revision='" + self.revision.get( ) + "']" + path_buffer return path_buffer def get_entity_path(self, ancestor): path_buffer = "" if (ancestor is None): raise YPYModelError( "ancestor cannot be None as one of the ancestors is a list" ) else: path_buffer = _get_relative_entity_path( self, ancestor, path_buffer) leaf_name_data = LeafDataList() if (self.name.is_set or self.name.yfilter != YFilter.not_set): leaf_name_data.append(self.name.get_name_leafdata()) if (self.revision.is_set or self.revision.yfilter != YFilter.not_set): leaf_name_data.append(self.revision.get_name_leafdata()) entity_path = EntityPath(path_buffer, leaf_name_data) return entity_path def get_child_by_name(self, child_yang_name, segment_path): child = self._get_child_by_seg_name( [child_yang_name, segment_path]) if child is not None: return child return None def has_leaf_or_child_of_name(self, name): if (name == "name" or name == "revision"): return True return False def set_value(self, value_path, value, name_space, name_space_prefix): if (value_path == "name"): self.name = value self.name.value_namespace = name_space self.name.value_namespace_prefix = name_space_prefix if (value_path == "revision"): self.revision = value self.revision.value_namespace = name_space self.revision.value_namespace_prefix = name_space_prefix class Submodule(Entity): """ Each entry represents one submodule within the parent module. .. attribute:: name <key> The YANG module or submodule name **type**\: str **pattern:** [a\-zA\-Z\_][a\-zA\-Z0\-9\\\-\_.]\* .. attribute:: revision <key> The YANG module or submodule revision date. A zero\-length string is used if no revision statement is present in the YANG module or submodule **type**\: one of the below types: **type**\: str **pattern:** \\d{4}\-\\d{2}\-\\d{2} ---- **type**\: str **length:** 0 ---- .. attribute:: schema Contains a URL that represents the YANG schema resource for this module or submodule. This leaf will only be present if there is a URL available for retrieval of the schema for this entry **type**\: str """ _prefix = 'yanglib' _revision = '2016-06-21' def __init__(self): super(ModulesState.Module.Submodule, self).__init__() self.yang_name = "submodule" self.yang_parent_name = "module" self.name = YLeaf(YType.str, "name") self.revision = YLeaf(YType.str, "revision") self.schema = YLeaf(YType.str, "schema") def __setattr__(self, name, value): self._check_monkey_patching_error(name, value) with _handle_type_error(): if name in self.__dict__ and isinstance( self.__dict__[name], YList): raise YPYModelError( "Attempt to assign value of '{}' to YList ldata. " "Please use list append or extend method.".format( value)) if isinstance(value, Enum.YLeaf): value = value.name if name in ("name", "revision", "schema") and name in self.__dict__: if isinstance(value, YLeaf): self.__dict__[name].set(value.get()) elif isinstance(value, YLeafList): super(ModulesState.Module.Submodule, self).__setattr__(name, value) else: self.__dict__[name].set(value) else: if hasattr(value, "parent") and name != "parent": if hasattr(value, "is_presence_container" ) and value.is_presence_container: value.parent = self elif value.parent is None and value.yang_name in self._children_yang_names: value.parent = self super(ModulesState.Module.Submodule, self).__setattr__(name, value) def has_data(self): return (self.name.is_set or self.revision.is_set or self.schema.is_set) def has_operation(self): return (self.yfilter != YFilter.not_set or self.name.yfilter != YFilter.not_set or self.revision.yfilter != YFilter.not_set or self.schema.yfilter != YFilter.not_set) def get_segment_path(self): path_buffer = "" path_buffer = "submodule" + "[name='" + self.name.get( ) + "']" + "[revision='" + self.revision.get( ) + "']" + path_buffer return path_buffer def get_entity_path(self, ancestor): path_buffer = "" if (ancestor is None): raise YPYModelError( "ancestor cannot be None as one of the ancestors is a list" ) else: path_buffer = _get_relative_entity_path( self, ancestor, path_buffer) leaf_name_data = LeafDataList() if (self.name.is_set or self.name.yfilter != YFilter.not_set): leaf_name_data.append(self.name.get_name_leafdata()) if (self.revision.is_set or self.revision.yfilter != YFilter.not_set): leaf_name_data.append(self.revision.get_name_leafdata()) if (self.schema.is_set or self.schema.yfilter != YFilter.not_set): leaf_name_data.append(self.schema.get_name_leafdata()) entity_path = EntityPath(path_buffer, leaf_name_data) return entity_path def get_child_by_name(self, child_yang_name, segment_path): child = self._get_child_by_seg_name( [child_yang_name, segment_path]) if child is not None: return child return None def has_leaf_or_child_of_name(self, name): if (name == "name" or name == "revision" or name == "schema"): return True return False def set_value(self, value_path, value, name_space, name_space_prefix): if (value_path == "name"): self.name = value self.name.value_namespace = name_space self.name.value_namespace_prefix = name_space_prefix if (value_path == "revision"): self.revision = value self.revision.value_namespace = name_space self.revision.value_namespace_prefix = name_space_prefix if (value_path == "schema"): self.schema = value self.schema.value_namespace = name_space self.schema.value_namespace_prefix = name_space_prefix def has_data(self): for c in self.deviation: if (c.has_data()): return True for c in self.submodule: if (c.has_data()): return True for leaf in self.feature.getYLeafs(): if (leaf.yfilter != YFilter.not_set): return True return (self.name.is_set or self.revision.is_set or self.conformance_type.is_set or self.namespace.is_set or self.schema.is_set) def has_operation(self): for c in self.deviation: if (c.has_operation()): return True for c in self.submodule: if (c.has_operation()): return True for leaf in self.feature.getYLeafs(): if (leaf.is_set): return True return (self.yfilter != YFilter.not_set or self.name.yfilter != YFilter.not_set or self.revision.yfilter != YFilter.not_set or self.conformance_type.yfilter != YFilter.not_set or self.feature.yfilter != YFilter.not_set or self.namespace.yfilter != YFilter.not_set or self.schema.yfilter != YFilter.not_set) def get_segment_path(self): path_buffer = "" path_buffer = "module" + "[name='" + self.name.get( ) + "']" + "[revision='" + self.revision.get() + "']" + path_buffer return path_buffer def get_entity_path(self, ancestor): path_buffer = "" if (ancestor is None): path_buffer = "ietf-yang-library:modules-state/%s" % self.get_segment_path( ) else: path_buffer = _get_relative_entity_path( self, ancestor, path_buffer) leaf_name_data = LeafDataList() if (self.name.is_set or self.name.yfilter != YFilter.not_set): leaf_name_data.append(self.name.get_name_leafdata()) if (self.revision.is_set or self.revision.yfilter != YFilter.not_set): leaf_name_data.append(self.revision.get_name_leafdata()) if (self.conformance_type.is_set or self.conformance_type.yfilter != YFilter.not_set): leaf_name_data.append( self.conformance_type.get_name_leafdata()) if (self.namespace.is_set or self.namespace.yfilter != YFilter.not_set): leaf_name_data.append(self.namespace.get_name_leafdata()) if (self.schema.is_set or self.schema.yfilter != YFilter.not_set): leaf_name_data.append(self.schema.get_name_leafdata()) leaf_name_data.extend(self.feature.get_name_leafdata()) entity_path = EntityPath(path_buffer, leaf_name_data) return entity_path def get_child_by_name(self, child_yang_name, segment_path): child = self._get_child_by_seg_name( [child_yang_name, segment_path]) if child is not None: return child if (child_yang_name == "deviation"): for c in self.deviation: segment = c.get_segment_path() if (segment_path == segment): return c c = ModulesState.Module.Deviation() c.parent = self local_reference_key = "ydk::seg::%s" % segment_path self._local_refs[local_reference_key] = c self.deviation.append(c) return c if (child_yang_name == "submodule"): for c in self.submodule: segment = c.get_segment_path() if (segment_path == segment): return c c = ModulesState.Module.Submodule() c.parent = self local_reference_key = "ydk::seg::%s" % segment_path self._local_refs[local_reference_key] = c self.submodule.append(c) return c return None def has_leaf_or_child_of_name(self, name): if (name == "deviation" or name == "submodule" or name == "name" or name == "revision" or name == "conformance-type" or name == "feature" or name == "namespace" or name == "schema"): return True return False def set_value(self, value_path, value, name_space, name_space_prefix): if (value_path == "name"): self.name = value self.name.value_namespace = name_space self.name.value_namespace_prefix = name_space_prefix if (value_path == "revision"): self.revision = value self.revision.value_namespace = name_space self.revision.value_namespace_prefix = name_space_prefix if (value_path == "conformance-type"): self.conformance_type = value self.conformance_type.value_namespace = name_space self.conformance_type.value_namespace_prefix = name_space_prefix if (value_path == "feature"): self.feature.append(value) if (value_path == "namespace"): self.namespace = value self.namespace.value_namespace = name_space self.namespace.value_namespace_prefix = name_space_prefix if (value_path == "schema"): self.schema = value self.schema.value_namespace = name_space self.schema.value_namespace_prefix = name_space_prefix
class PbtsForwardClassFallback(Entity): """ Set PBTS class for fallback .. attribute:: forward_class_number <key> PBTS forward class number **type**\: one of the below types: **type**\: :py:class:`FibPbtsForwardClass <ydk.models.cisco_ios_xr.Cisco_IOS_XR_fib_common_cfg.FibPbtsForwardClass>` ---- **type**\: int **range:** 0..8 ---- .. attribute:: fallback_class_number_array Set PBTS fallback class number array **type**\: list of int **range:** 0..7 .. attribute:: fallback_type Set PBTS fallback type **type**\: :py:class:`FibPbtsFallback <ydk.models.cisco_ios_xr.Cisco_IOS_XR_fib_common_cfg.FibPbtsFallback>` **mandatory**\: True """ _prefix = 'fib-common-cfg' _revision = '2017-01-20' def __init__(self): super(Fib.PbtsForwardClassFallbacks.PbtsForwardClassFallback, self).__init__() self.yang_name = "pbts-forward-class-fallback" self.yang_parent_name = "pbts-forward-class-fallbacks" self.forward_class_number = YLeaf(YType.str, "forward-class-number") self.fallback_class_number_array = YLeafList( YType.uint32, "fallback-class-number-array") self.fallback_type = YLeaf(YType.enumeration, "fallback-type") def __setattr__(self, name, value): self._check_monkey_patching_error(name, value) with _handle_type_error(): if name in self.__dict__ and isinstance( self.__dict__[name], YList): raise YPYModelError( "Attempt to assign value of '{}' to YList ldata. " "Please use list append or extend method.".format( value)) if isinstance(value, Enum.YLeaf): value = value.name if name in ("forward_class_number", "fallback_class_number_array", "fallback_type") and name in self.__dict__: if isinstance(value, YLeaf): self.__dict__[name].set(value.get()) elif isinstance(value, YLeafList): super( Fib.PbtsForwardClassFallbacks. PbtsForwardClassFallback, self).__setattr__(name, value) else: self.__dict__[name].set(value) else: if hasattr(value, "parent") and name != "parent": if hasattr(value, "is_presence_container" ) and value.is_presence_container: value.parent = self elif value.parent is None and value.yang_name in self._children_yang_names: value.parent = self super( Fib.PbtsForwardClassFallbacks. PbtsForwardClassFallback, self).__setattr__(name, value) def has_data(self): for leaf in self.fallback_class_number_array.getYLeafs(): if (leaf.yfilter != YFilter.not_set): return True return (self.forward_class_number.is_set or self.fallback_type.is_set) def has_operation(self): for leaf in self.fallback_class_number_array.getYLeafs(): if (leaf.is_set): return True return (self.yfilter != YFilter.not_set or self.forward_class_number.yfilter != YFilter.not_set or self.fallback_class_number_array.yfilter != YFilter.not_set or self.fallback_type.yfilter != YFilter.not_set) def get_segment_path(self): path_buffer = "" path_buffer = "pbts-forward-class-fallback" + "[forward-class-number='" + self.forward_class_number.get( ) + "']" + path_buffer return path_buffer def get_entity_path(self, ancestor): path_buffer = "" if (ancestor is None): path_buffer = "Cisco-IOS-XR-fib-common-cfg:fib/pbts-forward-class-fallbacks/%s" % self.get_segment_path( ) else: path_buffer = _get_relative_entity_path( self, ancestor, path_buffer) leaf_name_data = LeafDataList() if (self.forward_class_number.is_set or self.forward_class_number.yfilter != YFilter.not_set): leaf_name_data.append( self.forward_class_number.get_name_leafdata()) if (self.fallback_type.is_set or self.fallback_type.yfilter != YFilter.not_set): leaf_name_data.append( self.fallback_type.get_name_leafdata()) leaf_name_data.extend( self.fallback_class_number_array.get_name_leafdata()) entity_path = EntityPath(path_buffer, leaf_name_data) return entity_path def get_child_by_name(self, child_yang_name, segment_path): child = self._get_child_by_seg_name( [child_yang_name, segment_path]) if child is not None: return child return None def has_leaf_or_child_of_name(self, name): if (name == "forward-class-number" or name == "fallback-class-number-array" or name == "fallback-type"): return True return False def set_value(self, value_path, value, name_space, name_space_prefix): if (value_path == "forward-class-number"): self.forward_class_number = value self.forward_class_number.value_namespace = name_space self.forward_class_number.value_namespace_prefix = name_space_prefix if (value_path == "fallback-class-number-array"): self.fallback_class_number_array.append(value) if (value_path == "fallback-type"): self.fallback_type = value self.fallback_type.value_namespace = name_space self.fallback_type.value_namespace_prefix = name_space_prefix
class SumData(Entity): """ sum data .. attribute:: crc_err_count crc err count **type**\: int **range:** 0..4294967295 .. attribute:: gen_err_count gen err count **type**\: int **range:** 0..4294967295 .. attribute:: instance instance **type**\: int **range:** 0..4294967295 .. attribute:: mbe_err_count mbe err count **type**\: int **range:** 0..4294967295 .. attribute:: node_key node key **type**\: list of int **range:** 0..4294967295 .. attribute:: num_nodes num nodes **type**\: int **range:** 0..4294967295 .. attribute:: par_err_count par err count **type**\: int **range:** 0..4294967295 .. attribute:: reset_err_count reset err count **type**\: int **range:** 0..4294967295 .. attribute:: sbe_err_count sbe err count **type**\: int **range:** 0..4294967295 """ _prefix = 'asr9k-asic-errors-oper' _revision = '2015-11-09' def __init__(self): super(AsicErrorStats.Nodes.Node.Counts.Count.SumData, self).__init__() self.yang_name = "sum-data" self.yang_parent_name = "count" self.crc_err_count = YLeaf(YType.uint32, "crc-err-count") self.gen_err_count = YLeaf(YType.uint32, "gen-err-count") self.instance = YLeaf(YType.uint32, "instance") self.mbe_err_count = YLeaf(YType.uint32, "mbe-err-count") self.node_key = YLeafList(YType.uint32, "node-key") self.num_nodes = YLeaf(YType.uint32, "num-nodes") self.par_err_count = YLeaf(YType.uint32, "par-err-count") self.reset_err_count = YLeaf(YType.uint32, "reset-err-count") self.sbe_err_count = YLeaf(YType.uint32, "sbe-err-count") def __setattr__(self, name, value): self._check_monkey_patching_error(name, value) with _handle_type_error(): if name in self.__dict__ and isinstance(self.__dict__[name], YList): raise YPYModelError("Attempt to assign value of '{}' to YList ldata. " "Please use list append or extend method." .format(value)) if isinstance(value, Enum.YLeaf): value = value.name if name in ("crc_err_count", "gen_err_count", "instance", "mbe_err_count", "node_key", "num_nodes", "par_err_count", "reset_err_count", "sbe_err_count") and name in self.__dict__: if isinstance(value, YLeaf): self.__dict__[name].set(value.get()) elif isinstance(value, YLeafList): super(AsicErrorStats.Nodes.Node.Counts.Count.SumData, self).__setattr__(name, value) else: self.__dict__[name].set(value) else: if hasattr(value, "parent") and name != "parent": if hasattr(value, "is_presence_container") and value.is_presence_container: value.parent = self elif value.parent is None and value.yang_name in self._children_yang_names: value.parent = self super(AsicErrorStats.Nodes.Node.Counts.Count.SumData, self).__setattr__(name, value) def has_data(self): for leaf in self.node_key.getYLeafs(): if (leaf.yfilter != YFilter.not_set): return True return ( self.crc_err_count.is_set or self.gen_err_count.is_set or self.instance.is_set or self.mbe_err_count.is_set or self.num_nodes.is_set or self.par_err_count.is_set or self.reset_err_count.is_set or self.sbe_err_count.is_set) def has_operation(self): for leaf in self.node_key.getYLeafs(): if (leaf.is_set): return True return ( self.yfilter != YFilter.not_set or self.crc_err_count.yfilter != YFilter.not_set or self.gen_err_count.yfilter != YFilter.not_set or self.instance.yfilter != YFilter.not_set or self.mbe_err_count.yfilter != YFilter.not_set or self.node_key.yfilter != YFilter.not_set or self.num_nodes.yfilter != YFilter.not_set or self.par_err_count.yfilter != YFilter.not_set or self.reset_err_count.yfilter != YFilter.not_set or self.sbe_err_count.yfilter != YFilter.not_set) def get_segment_path(self): path_buffer = "" path_buffer = "sum-data" + path_buffer return path_buffer def get_entity_path(self, ancestor): path_buffer = "" if (ancestor is None): raise YPYModelError("ancestor cannot be None as one of the ancestors is a list") else: path_buffer = _get_relative_entity_path(self, ancestor, path_buffer) leaf_name_data = LeafDataList() if (self.crc_err_count.is_set or self.crc_err_count.yfilter != YFilter.not_set): leaf_name_data.append(self.crc_err_count.get_name_leafdata()) if (self.gen_err_count.is_set or self.gen_err_count.yfilter != YFilter.not_set): leaf_name_data.append(self.gen_err_count.get_name_leafdata()) if (self.instance.is_set or self.instance.yfilter != YFilter.not_set): leaf_name_data.append(self.instance.get_name_leafdata()) if (self.mbe_err_count.is_set or self.mbe_err_count.yfilter != YFilter.not_set): leaf_name_data.append(self.mbe_err_count.get_name_leafdata()) if (self.num_nodes.is_set or self.num_nodes.yfilter != YFilter.not_set): leaf_name_data.append(self.num_nodes.get_name_leafdata()) if (self.par_err_count.is_set or self.par_err_count.yfilter != YFilter.not_set): leaf_name_data.append(self.par_err_count.get_name_leafdata()) if (self.reset_err_count.is_set or self.reset_err_count.yfilter != YFilter.not_set): leaf_name_data.append(self.reset_err_count.get_name_leafdata()) if (self.sbe_err_count.is_set or self.sbe_err_count.yfilter != YFilter.not_set): leaf_name_data.append(self.sbe_err_count.get_name_leafdata()) leaf_name_data.extend(self.node_key.get_name_leafdata()) entity_path = EntityPath(path_buffer, leaf_name_data) return entity_path def get_child_by_name(self, child_yang_name, segment_path): child = self._get_child_by_seg_name([child_yang_name, segment_path]) if child is not None: return child return None def has_leaf_or_child_of_name(self, name): if(name == "crc-err-count" or name == "gen-err-count" or name == "instance" or name == "mbe-err-count" or name == "node-key" or name == "num-nodes" or name == "par-err-count" or name == "reset-err-count" or name == "sbe-err-count"): return True return False def set_value(self, value_path, value, name_space, name_space_prefix): if(value_path == "crc-err-count"): self.crc_err_count = value self.crc_err_count.value_namespace = name_space self.crc_err_count.value_namespace_prefix = name_space_prefix if(value_path == "gen-err-count"): self.gen_err_count = value self.gen_err_count.value_namespace = name_space self.gen_err_count.value_namespace_prefix = name_space_prefix if(value_path == "instance"): self.instance = value self.instance.value_namespace = name_space self.instance.value_namespace_prefix = name_space_prefix if(value_path == "mbe-err-count"): self.mbe_err_count = value self.mbe_err_count.value_namespace = name_space self.mbe_err_count.value_namespace_prefix = name_space_prefix if(value_path == "node-key"): self.node_key.append(value) if(value_path == "num-nodes"): self.num_nodes = value self.num_nodes.value_namespace = name_space self.num_nodes.value_namespace_prefix = name_space_prefix if(value_path == "par-err-count"): self.par_err_count = value self.par_err_count.value_namespace = name_space self.par_err_count.value_namespace_prefix = name_space_prefix if(value_path == "reset-err-count"): self.reset_err_count = value self.reset_err_count.value_namespace = name_space self.reset_err_count.value_namespace_prefix = name_space_prefix if(value_path == "sbe-err-count"): self.sbe_err_count = value self.sbe_err_count.value_namespace = name_space self.sbe_err_count.value_namespace_prefix = name_space_prefix