def get_entity_path(self, ancestor): path_buffer = "" if (not ancestor is None): raise YPYModelError("ancestor has to be None for top-level node") path_buffer = self.get_segment_path() leaf_name_data = LeafDataList() if (self.address_family.is_set or self.address_family.yfilter != YFilter.not_set): leaf_name_data.append(self.address_family.get_name_leafdata()) if (self.enable.is_set or self.enable.yfilter != YFilter.not_set): leaf_name_data.append(self.enable.get_name_leafdata()) if (self.max_request_per_user.is_set or self.max_request_per_user.yfilter != YFilter.not_set): leaf_name_data.append( self.max_request_per_user.get_name_leafdata()) if (self.max_request_total.is_set or self.max_request_total.yfilter != YFilter.not_set): leaf_name_data.append(self.max_request_total.get_name_leafdata()) if (self.port.is_set or self.port.yfilter != YFilter.not_set): leaf_name_data.append(self.port.get_name_leafdata()) entity_path = EntityPath(path_buffer, leaf_name_data) return entity_path
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.interface.is_set or self.interface.yfilter != YFilter.not_set): leaf_name_data.append( self.interface.get_name_leafdata()) if (self.subinterface.is_set or self.subinterface.yfilter != YFilter.not_set): leaf_name_data.append( self.subinterface.get_name_leafdata()) entity_path = EntityPath(path_buffer, leaf_name_data) return entity_path
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 ("casnactivetableentries", "casnactivetablehighwatermark") and name in self.__dict__: if isinstance(value, YLeaf): self.__dict__[name].set(value.get()) elif isinstance(value, YLeafList): super(CiscoAaaSessionMib.Casnactive, 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(CiscoAaaSessionMib.Casnactive, self).__setattr__(name, value)
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.encoding.is_set or self.encoding.yfilter != YFilter.not_set): leaf_name_data.append(self.encoding.get_name_leafdata()) if (self.no_filter.is_set or self.no_filter.yfilter != YFilter.not_set): leaf_name_data.append(self.no_filter.get_name_leafdata()) if (self.no_synch_on_start.is_set or self.no_synch_on_start.yfilter != YFilter.not_set): leaf_name_data.append( self.no_synch_on_start.get_name_leafdata()) if (self.no_trigger.is_set or self.no_trigger.yfilter != YFilter.not_set): leaf_name_data.append(self.no_trigger.get_name_leafdata()) if (self.period.is_set or self.period.yfilter != YFilter.not_set): leaf_name_data.append(self.period.get_name_leafdata()) if (self.stream.is_set or self.stream.yfilter != YFilter.not_set): leaf_name_data.append(self.stream.get_name_leafdata()) if (self.xpath.is_set or self.xpath.yfilter != YFilter.not_set): leaf_name_data.append(self.xpath.get_name_leafdata()) entity_path = EntityPath(path_buffer, leaf_name_data) return entity_path
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 ("address", "netmask") and name in self.__dict__: if isinstance(value, YLeaf): self.__dict__[name].set(value.get()) elif isinstance(value, YLeafList): super(Ipv4Virtual.Vrfs.Vrf.Address, 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(Ipv4Virtual.Vrfs.Vrf.Address, self).__setattr__(name, value)
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 ("prepaid_config_name", "accounting_method_list", "author_method_list", "password", "time_hold", "time_threshold", "time_valid", "traffic_direction", "volume_threshold") and name in self.__dict__: if isinstance(value, YLeaf): self.__dict__[name].set(value.get()) elif isinstance(value, YLeafList): super( SubscriberAccounting.PrepaidConfigurations. PrepaidConfiguration, 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( SubscriberAccounting.PrepaidConfigurations. PrepaidConfiguration, self).__setattr__(name, value)
def get_entity_path(self, ancestor): path_buffer = "" if (not ancestor is None): raise YPYModelError("ancestor has to be None for top-level node") path_buffer = self.get_segment_path() leaf_name_data = LeafDataList() if (self.enable.is_set or self.enable.yfilter != YFilter.not_set): leaf_name_data.append(self.enable.get_name_leafdata()) if (self.enable_subintf.is_set or self.enable_subintf.yfilter != YFilter.not_set): leaf_name_data.append(self.enable_subintf.get_name_leafdata()) if (self.extended_show_width.is_set or self.extended_show_width.yfilter != YFilter.not_set): leaf_name_data.append(self.extended_show_width.get_name_leafdata()) if (self.holdtime.is_set or self.holdtime.yfilter != YFilter.not_set): leaf_name_data.append(self.holdtime.get_name_leafdata()) if (self.reinit.is_set or self.reinit.yfilter != YFilter.not_set): leaf_name_data.append(self.reinit.get_name_leafdata()) if (self.timer.is_set or self.timer.yfilter != YFilter.not_set): leaf_name_data.append(self.timer.get_name_leafdata()) entity_path = EntityPath(path_buffer, leaf_name_data) return entity_path
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 ( "cvivlanid", "cviphysicalifindex", "cviroutedvlanifindex") and name in self.__dict__: if isinstance(value, YLeaf): self.__dict__[name].set(value.get()) elif isinstance(value, YLeafList): super( CiscoVlanIftableRelationshipMib. Cvivlaninterfaceindextable. Cvivlaninterfaceindexentry, 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( CiscoVlanIftableRelationshipMib. Cvivlaninterfaceindextable. Cvivlaninterfaceindexentry, self).__setattr__(name, value)
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 ("pid", "name", "avg_run_time", "five_minutes", "five_seconds", "invocation_count", "one_minute", "total_run_time", "tty") and name in self.__dict__: if isinstance(value, YLeaf): self.__dict__[name].set(value.get()) elif isinstance(value, YLeafList): super( CpuUsage.CpuUtilization.CpuUsageProcesses. CpuUsageProcess, 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( CpuUsage.CpuUtilization.CpuUsageProcesses. CpuUsageProcess, self).__setattr__(name, value)
def _common_path(self): if self.parent is None: raise YPYModelError('parent is not set . Cannot derive path.') return self.parent._common_path +'/Cisco-IOS-XR-icpe-infra-cfg:redundancy'
def _common_path(self): if self.node_name is None: raise YPYModelError('Key property node_name is None') return '/Cisco-IOS-XR-nto-misc-shmem-oper:memory-summary/Cisco-IOS-XR-nto-misc-shmem-oper:nodes/Cisco-IOS-XR-nto-misc-shmem-oper:node[Cisco-IOS-XR-nto-misc-shmem-oper:node-name = ' + str( self.node_name) + ']'
def _common_path(self): if self.parent is None: raise YPYModelError( 'parent is not set . Cannot derive path.') return self.parent._common_path + '/Cisco-IOS-XR-bundlemgr-cfg:mlacp'
def _common_path(self): if self.parent is None: raise YPYModelError( 'parent is not set . Cannot derive path.') return self.parent._common_path + '/Cisco-IOS-XR-rgmgr-cfg:controllers'
def encode(self, member, NSMAP, value, validate=True, silent=False): text = '' if member.mtype == REFERENCE_IDENTITY_CLASS or member.ptype.endswith( 'Identity'): module = importlib.import_module(member.pmodule_name) clazz = reduce(getattr, member.clazz_name.split('.'), module) is_sub = issubclass(type(value), clazz) val_is_sub = False if not is_sub: val_class, val_is_sub = check_value_is_subclass_to_handle_deepcopy( value, clazz) if val_is_sub: value = val_class() if is_sub or val_is_sub: identity_inst = value if _yang_ns._namespaces[ member.module_name] == _yang_ns._namespaces[ identity_inst._meta_info().module_name]: # no need for prefix in this case text = identity_inst._meta_info().yang_name else: NSMAP['idx'] = _yang_ns._namespaces[ identity_inst._meta_info().module_name] text = 'idx:%s' % identity_inst._meta_info().yang_name elif member.mtype == REFERENCE_BITS or member.ptype.endswith('Bits'): module = importlib.import_module(member.pmodule_name) clazz = reduce(getattr, member.clazz_name.split('.'), module) if isinstance(value, clazz): bits_value = value value = " ".join([ k for k in bits_value._dictionary if bits_value._dictionary[k] == True ]) if (len(value) > 1): text = value elif member.mtype == REFERENCE_ENUM_CLASS or member.ptype.endswith( 'Enum'): enum_value = value if isinstance(enum_value, Enum): enum_value = value.name module = importlib.import_module(member.pmodule_name) enum_clazz = reduce(getattr, member.clazz_name.split('.'), module) literal_map = enum_clazz._meta_info().literal_map for yang_enum_name in literal_map: literal = literal_map[yang_enum_name] if enum_value == getattr(enum_clazz, literal) \ or enum_value == literal: text = yang_enum_name break elif member.ptype == 'bool' and (isinstance(value, bool) or not validate): if value is True: text = 'true' elif value is False: text = 'false' elif member.ptype == 'Empty' and (isinstance(value, Empty) or not validate): if not validate and not isinstance(value, Empty): text = str(value) elif member.ptype == 'Decimal64' and isinstance(value, Decimal64): text = value.s elif member.ptype == 'str' and (isinstance(value, str) or not validate): text = str(value) elif member.ptype == 'int' and (isinstance(value, (int, long)) or not validate): text = str(value) elif silent: pass elif not validate: ydk_logger = logging.getLogger(__name__) error_msg = 'Could not encode leaf {0}, type: {1}, value: {2}; converting to str type'.format( member.name, member.ptype, value) ydk_logger.info(error_msg) text = str(value) else: ydk_logger = logging.getLogger(__name__) error_msg = 'Could not encode leaf {0}, type: {1}, value: {2}'.format( member.name, member.ptype, value) ydk_logger.error(error_msg) raise YPYModelError(error_msg) return text
def _common_path(self): if self.parent is None: raise YPYModelError( 'parent is not set . Cannot derive path.') return self.parent._common_path + '/Cisco-IOS-XR-fia-internal-tcam-oper:internal-tcam-resources'
def _common_path(self): if self.parent is None: raise YPYModelError('parent is not set . Cannot derive path.') return self.parent._common_path +'/Cisco-IOS-XR-subscriber-session-mon-oper:license-statistics'
def _common_path(self): if self.node_id is None: raise YPYModelError('Key property node_id is None') return '/Cisco-IOS-XR-subscriber-session-mon-oper:session-mon/Cisco-IOS-XR-subscriber-session-mon-oper:nodes/Cisco-IOS-XR-subscriber-session-mon-oper:node[Cisco-IOS-XR-subscriber-session-mon-oper:node-id = ' + str(self.node_id) + ']'
def _common_path(self): if self.number is None: raise YPYModelError('Key property number is None') return '/ydktest-filterread:a/ydktest-filterread:lst[ydktest-filterread:number = ' + str( self.number) + ']'
def _common_path(self): if self.node_name is None: raise YPYModelError('Key property node_name is None') return '/Cisco-IOS-XR-fia-internal-tcam-oper:controller/Cisco-IOS-XR-fia-internal-tcam-oper:dpa/Cisco-IOS-XR-fia-internal-tcam-oper:nodes/Cisco-IOS-XR-fia-internal-tcam-oper:node[Cisco-IOS-XR-fia-internal-tcam-oper:node-name = ' + str( self.node_name) + ']'
def _common_path(self): if self.parent is None: raise YPYModelError( 'parent is not set . Cannot derive path.') return self.parent._common_path + '/Cisco-IOS-XR-ip-sbfd-oper:local-discriminator'
def _common_path(self): if self.message_id is None: raise YPYModelError('Key property message_id is None') return '/Cisco-IOS-XR-infra-syslog-oper:syslog/Cisco-IOS-XR-infra-syslog-oper:messages/Cisco-IOS-XR-infra-syslog-oper:message[Cisco-IOS-XR-infra-syslog-oper:message-id = ' + str( self.message_id) + ']'
def _common_path(self): if self.vrf_name is None: raise YPYModelError('Key property vrf_name is None') return '/Cisco-IOS-XR-ip-sbfd-oper:sbfd/Cisco-IOS-XR-ip-sbfd-oper:target-identifier/Cisco-IOS-XR-ip-sbfd-oper:local-vrfs/Cisco-IOS-XR-ip-sbfd-oper:local-vrf[Cisco-IOS-XR-ip-sbfd-oper:vrf-name = ' + str( self.vrf_name) + ']'
def _common_path(self): if self.group_id is None: raise YPYModelError('Key property group_id is None') return '/Cisco-IOS-XR-rgmgr-cfg:redundancy-group-manager/Cisco-IOS-XR-rgmgr-cfg:aps/Cisco-IOS-XR-rgmgr-cfg:groups/Cisco-IOS-XR-rgmgr-cfg:group[Cisco-IOS-XR-rgmgr-cfg:group-id = ' + str( self.group_id) + ']'
def _common_path(self): if self.parent is None: raise YPYModelError( 'parent is not set . Cannot derive path.') return self.parent._common_path + '/Cisco-IOS-XR-sdr-invmgr-oper:attributes'
def _common_path(self): if self.parent is None: raise YPYModelError( 'parent is not set . Cannot derive path.') return self.parent._common_path + '/Cisco-IOS-XR-nto-misc-shmem-oper:detail'
def _common_path(self): if self.name is None: raise YPYModelError('Key property name is None') return '/Cisco-IOS-XR-sdr-invmgr-oper:sdr-inventory/Cisco-IOS-XR-sdr-invmgr-oper:racks/Cisco-IOS-XR-sdr-invmgr-oper:rack[Cisco-IOS-XR-sdr-invmgr-oper:name = ' + str( self.name) + ']'
def _common_path(self): if self.parent is None: raise YPYModelError('parent is not set . Cannot derive path.') return self.parent._common_path +'/Cisco-IOS-XR-icpe-infra-cfg:candidate-fabric-ports'
def _common_path(self): if self.parent is None: raise YPYModelError( 'parent is not set . Cannot derive path.') return self.parent._common_path + '/Cisco-IOS-XR-es-acl-oper:acl-sequence-numbers'
def _common_path(self): if self.satellite_id is None: raise YPYModelError('Key property satellite_id is None') return '/Cisco-IOS-XR-icpe-infra-cfg:nv-satellites/Cisco-IOS-XR-icpe-infra-cfg:nv-satellite[Cisco-IOS-XR-icpe-infra-cfg:satellite-id = ' + str(self.satellite_id) + ']'
def _common_path(self): if self.name is None: raise YPYModelError('Key property name is None') return '/Cisco-IOS-XR-es-acl-oper:es-acl/Cisco-IOS-XR-es-acl-oper:active/Cisco-IOS-XR-es-acl-oper:oor-acls/Cisco-IOS-XR-es-acl-oper:oor-acl[Cisco-IOS-XR-es-acl-oper:name = ' + str( self.name) + ']'