class CpePort(base.Resource): """Represent physical cpe port resource.""" id = base.Field('id') cpe_id = base.Field('cpe_id') name = base.Field('name') description = base.Field('description')
class User(base.Resource): """Represents a logical User resource""" id = base.Field('id') name = base.Field('name') status = base.Field('status') lock_status = base.Field('lock_status')
class Subrack(base.Resource): """Represent physical shelf resource.""" id = base.Field('id') name = base.Field('name') box_id = base.Field('box_id') description = base.Field('description')
class Vlan(base.Resource): """Represent a VLAN resource.""" id = base.Field('id') number = base.Field('number') name = base.Field('name') description = base.Field('description') mtu = base.Field('mtu')
class Credentials(base.Resource): """Represent user credentials.""" id = base.Field('id') user_id = base.Field('user_id') protocol = base.Field('protocol') username = base.Field('username') password = base.Field('password')
class PortProfile(base.Resource): """Represent a port profile resource.""" id = base.Field('id') name = base.Field('name') description = base.Field('description') type = base.Field('type') box_id = base.Field('box_id')
class OntPort(base.Resource): """Represent physical ONT port resource.""" id = base.Field('id') box_id = base.Field('box_id') ont_id = base.Field('ont_id') name = base.Field('name') description = base.Field('description')
class AlcatelPortProfile(PortProfile): """Represent a PortProfile resource.""" up_policer = base.Field('up_policer') down_policer = base.Field('down_policer') committed_info_rate = base.Field('committed_info_rate') committed_burst_size = base.Field('committed_burst_size') logical_flow_type = base.Field('logical_flow_type')
class EdgeCoreCard(Card): """Represent physical shelf resource.""" mac_address = base.Field('mac_address') admin_state = base.Field('admin_state') operational_state = base.Field('operational_state') def set(self, field, value): mapping = {field: value} self.update(**mapping)
class HuaweiServiceVlan(ServiceVlan): """Represent logical service vlan resource.""" tag = base.Field('tag') mode = base.Field('mode') def set_tag(self, tag): """Set the tag to given value.""" self.update(tag=tag) def set_service_port_id(self, id): """Set the service port id to given id.""" self.update(service_port_id=id) def set_mode(self, mode): """Set the mode to given vlaue.""" self.update(mode=mode)
class HuaweiRoute(Route): """Represents logical route resource.""" sub_mask = base.Field('sub_mask') def set(self, field, value): mapping = {field: value} self.update(**mapping)
class EdgeCorePort(Port): """Represent physical port resource.""" mac_address = base.Field('mac_address') def set(self, field, value): mapping = {field: value} self.update(**mapping)
class Port(base.Resource): """Represent physical port resource.""" id = base.Field('id') name = base.Field('name') box_id = base.Field('box_id') card_id = base.Field('card_id') description = base.Field('description') admin_state = base.Field('admin_state') operational_state = base.Field('operational_state') def admin_up(self): """Set the admin port state to up""" self.update(admin_state='1') def admin_down(self): """Set the admin port state to down""" self.update(admin_state='0') def down(self): """Set the port state to down""" self.update(operational_state='0') def up(self): """Set the port state to down""" self.update(operational_state='1')
class AlcatelServiceVlan(ServiceVlan): """Represent logical service vlan resource.""" l2fwder_vlan = base.Field('l2fwder_vlan') scope = base.Field('scope') tag = base.Field('tag') def set_l2fwder_vlan(self, vlan_number): """Set the set_l2fwder_vlan to given vlan-number.""" self.update(l2fwder_vlan=vlan_number) def set_scope(self, scope): """Set the scope to given value.""" self.update(scope=scope) def set_tag(self, tag): """Set the tag to given value.""" self.update(tag=tag)
class HuaweiCard(Card): """Represent physical shelf resource.""" board_name = base.Field('board_name') board_status = base.Field('board_status') sub_type_0 = base.Field('sub_type_0') sub_type_1 = base.Field('sub_type_1') power_status = base.Field('power_status') power_off_cause = base.Field('power_off_cause') power_off_time = base.Field('power_off_time') temperature = base.Field('temperature')
class AlcatelServicePort(ServicePort): """Represent logical service port resource.""" pvid = base.Field('pvid') qos_profile_id = base.Field('qos_profile_id') max_unicast_mac = base.Field('max_unicast_mac') pvc = base.Field('pvc') def set_max_unicast_mac(self, value): """Set the max_unicast_mac value""" self.update(max_unicast_mac=value) def set_qos_profile(self, profile_id): """Set the qos_profile_id to given id.""" self.update(qos_profile_id=profile_id) def set_pvid(self, value): """Set the pvid value to given val""" self.update(pvid=value)
class EdgeCoreInterface(Interface): """Represent a VlanInterface resource.""" port_id = base.Field('port_id') ingress_state = base.Field('ingress_state') ingress_rate = base.Field('ingress_rate') egress_state = base.Field('egress_state') egress_rate = base.Field('egress_rate') vlan_membership_mode = base.Field('vlan_membership_mode') native_vlan = base.Field('native_vlan') allowed_vlan = base.Field('allowed_vlan') mac_address = base.Field('mac_address') def set(self, field, value): mapping = {field: value} self.update(**mapping)
class AlcatelOntPort(OntPort): """Represent physical ONT port resource.""" admin_state = base.Field('admin_state') operational_state = base.Field('operational_state') uni_idx = base.Field('uni_idx') config_indicator = base.Field('config_indicator') link_status = base.Field('link_status') speed = base.Field('speed') def port_up(self): """Change ont port state to up.""" self.update(operational_state='1') def port_down(self): """Change ont port state to down.""" self.update(operational_state='0') def admin_up(self): """Change ont port admin state to up.""" self.update(admin_state='1') def admin_down(self): """Change ont port admin state to down.""" self.update(admin_state='0') def set_description(self, user): """Set the description of the ont port""" self.update(description=user) def set_speed(self, speed): """Set the speed of the ont port""" self.update(speed=speed)
class Card(base.Resource): """Represent physical shelf resource.""" id = base.Field('id') name = base.Field('name') box_id = base.Field('box_id') subrack_id = base.Field('subrack_id') product = base.Field('product') description = base.Field('description')
class HuaweiUser(User): """Represents a logical User resource""" level = base.Field('level') profile = base.Field('profile') append_info = base.Field('append_info') reenter_num = base.Field('reenter_num') reenter_num_temp = base.Field('reenter_num_temp') def set_online(self): self.update(status='online') def set_offline(self): self.update(status='offline') def lock(self): self.update(lock_status='locked') def unlock(self): self.update(lock_status='unlocked') def set_reenter_num_temp(self, num): self.update(reenter_num_temp=num)
class KeyMileLogPort(base.Resource): """Represent logical log_port resource.""" id = base.Field('id') name = base.Field('name') card_id = base.Field('card_id') ports = base.Field('ports') label1 = base.Field('label1') label2 = base.Field('label2') description = base.Field('description') admin_state = base.Field('admin_state') operational_state = base.Field('operational_state') profile = base.Field('profile') def admin_up(self): """Set the admin port state to up""" self.update(admin_state='1') def admin_down(self): """Set the admin port state to down""" self.update(admin_state='0') def down(self): """Set the port state to down""" self.update(operational_state='0') def up(self): """Set the port state to down""" self.update(operational_state='1') def set_profile(self, profile): self.update(profile=profile) def set_label(self, l1, l2, desc): self.update(label1=l1) self.update(label2=l2) self.update(description=desc)
class Cpe(base.Resource): """Represent physical cpe resource.""" id = base.Field('id') port_id = base.Field('port_id') ont_port_id = base.Field('ont_port_id') name = base.Field('name') description = base.Field('description') serial_no = base.Field('serial_no') admin_state = base.Field('admin_state') mac = base.Field('mac') def down(self): """Change ont port admin state to down.""" self.update(admin_state='0') def up(self): """Change ont port admin state to up.""" self.update(admin_state='1')
class KeyMileSrvc(base.Resource): """Represent logical srvc resource.""" id = base.Field('id') name = base.Field('name') service_type = base.Field('service_type') address = base.Field('address') svid = base.Field('svid') stag_priority = base.Field('stag_priority') vlan_handling = base.Field('vlan_handling') def set_service(self, address, svid, stag_prio, vlan): self.update(address=address) self.update(svid=svid) self.update(stag_priority=stag_prio) self.update(vlan_handling=vlan)
class Ont(base.Resource): """Represent physical shelf resource.""" id = base.Field('id') box_id = base.Field('box_id') port_id = base.Field('port_id') name = base.Field('name') description = base.Field('description') admin_state = base.Field('admin_state') operational_state = base.Field('operational_state') def down(self): """Change ont port admin state to down.""" self.update(admin_state='0') def up(self): """Change ont port admin state to up.""" self.update(admin_state='1')
class HuaweiVlan(Vlan): """Represent a VLAN resource.""" type = base.Field('type') attribute = base.Field('attribute') bind_service_profile_id = base.Field('bind_service_profile_id') bind_RAIO_profile_index = base.Field('bind_RAIO_profile_index') priority = base.Field('priority') native_vlan = base.Field('native_vlan') tag = base.Field('tag') def set_tag(self, tag): """Set the tag to given value.""" self.update(tag=tag) def set_type_smart(self): """Change the type to smart""" self.update(type="smart") def set_service_profile_id(self, id): """Set service profile_id""" self.update(bind_service_profile_id=id)
class ServicePort(base.Resource): """Represent logical service port resource.""" id = base.Field('id') name = base.Field('name') connected_id = base.Field('connected_id') connected_type = base.Field('connected_type') admin_state = base.Field('admin_state') operational_state = base.Field('operational_state') def set_admin_state(self, status): """Set the admin-status of the service_port""" self.update(admin_state=status) def set_connected_id(self, id): """Set the port id to given id.""" self.update(connected_id=id) def set_connected_type(self, obj): """Set is_configured_on to the given value""" self.update(connected_type=obj)
class HuaweiPort(Port): """Represent physical port resource.""" cpes = base.Field('cpes') description = base.Field('description') upstream = base.Field('upstream') downstream = base.Field('downstream') upstream_max = base.Field('upstream_max') downstream_max = base.Field('downstream_max') loopback = base.Field('loopback') line_template = base.Field('line_template') alarm_template = base.Field('alarm_template') dynamic_profile_index = base.Field('dynamic_profile_index') dynamic_profile_name = base.Field('dynamic_profile_name') hardware = base.Field('hardware') last_up_time = base.Field('last_up_time') last_down_time = base.Field('last_down_time') show_time = base.Field('show_time') nte_power_status = base.Field('nte_power_status') current_operational_mode = base.Field('current_operational_mode') total_count_of_line_training = base.Field('total_count_of_line_training') result_last_initialization = base.Field('result_last_initialization') total_bytes_us = base.Field('total_bytes_us') total_packets_us = base.Field('total_packets_us') total_bytes_ds = base.Field('total_bytes_ds') total_packets_ds = base.Field('total_packets_ds') total_discarded_packets_ds = base.Field('total_discarded_packets_ds') channel_packets_discarded_ds = base.Field('channel_packets_discarded_ds') dynamic_profile = base.Field('dynamic_profile') line_template_num = base.Field('line_template_num') alarm_template_num = base.Field('alarm_template_num') line_spectrum_profile = base.Field('line_spectrum_profile') spectrum_profile_num = base.Field('spectrum_profile_num') upbo_profile = base.Field('upbo_profile') upbo_profile_num = base.Field('upbo_profile_num') dpbo_profile = base.Field('dpbo_profile') dpbo_profile_num = base.Field('dpbo_profile_num') rfi_profile = base.Field('rfi_profile') rfi_profile_num = base.Field('rfi_profile_num') noise_margin_profile = base.Field('noise_margin_profile') noise_margin_profile_num = base.Field('noise_margin_profile_num') virtual_noise_profile = base.Field('virtual_noise_profile') virtual_noise_profile_num = base.Field('virtual_noise_profile_num') inm_profile = base.Field('inm_profile') inm_profile_num = base.Field('inm_profile_num') sos_profile = base.Field('sos_profile') sos_profile_num = base.Field('sos_profile_num') channel_ds_data_rate_profile = base.Field('channel_ds_data_rate_profile') channel_ds_data_rate_profile_num = base.Field( 'channel_ds_data_rate_profile_num') channel_us_data_rate_profile = base.Field('channel_us_data_rate_profile') channel_us_data_rate_profile_num = base.Field( 'channel_us_data_rate_profile_num') channel_inp_delay_profile = base.Field('channel_inp_delay_profile') channel_inp_data_rate_profile_num = base.Field( 'channel_inp_data_rate_profile_num') channel_ds_rate_adapt_ratio = base.Field('channel_ds_rate_adapt_ratio') channel_us_rate_adapt_ratio = base.Field('channel_us_rate_adapt_ratio') standard_port_in_training = base.Field('standard_port_in_training') current_power_management_state = base.Field( 'current_power_management_state') retransmission_used_us = base.Field('retransmission_used_us') retransmission_used_ds = base.Field('retransmission_used_ds') signal_attenuation_ds_1 = base.Field('signal_attenuation_ds_1') signal_attenuation_us_1 = base.Field('signal_attenuation_us_1') line_attenuation_ds_1 = base.Field('line_attenuation_ds_1') line_attenuation_us_1 = base.Field('line_attenuation_us_1') act_line_rate_ds_1 = base.Field('act_line_rate_ds_1') act_line_rate_us_1 = base.Field('act_line_rate_us_1') line_snr_margin_ds_1 = base.Field('line_snr_margin_ds_1') line_snr_margin_us_1 = base.Field('line_snr_margin_us_1') vdsl_2_psd_class_mask = base.Field('vdsl_2_psd_class_mask') act_psd_ds = base.Field('act_psd_ds') act_psd_us = base.Field('act_psd_us') act_klo_co = base.Field('act_klo_co') act_klo_cpe = base.Field('act_klo_cpe') us_1_band_act_klo_val = base.Field('us_1_band_act_klo_val') us_2_band_act_klo_val = base.Field('us_2_band_act_klo_val') us_3_band_act_klo_val = base.Field('us_3_band_act_klo_val') us_4_band_act_klo_val = base.Field('us_4_band_act_klo_val') ds_1_band_act_klo_val = base.Field('ds_1_band_act_klo_val') ds_2_band_act_klo_val = base.Field('ds_2_band_act_klo_val') ds_3_band_act_klo_val = base.Field('ds_3_band_act_klo_val') ds_4_band_act_klo_val = base.Field('ds_4_band_act_klo_val') receive_signal_threshhold_ds = base.Field('receive_signal_threshhold_ds') receive_signal_threshhold_us = base.Field('receive_signal_threshhold_us') total_output_power_ds = base.Field('total_output_power_ds') total_output_power_us = base.Field('total_output_power_us') current_vdsl_2_profile = base.Field('current_vdsl_2_profile') coding_gain_ds = base.Field('coding_gain_ds') coding_gain_us = base.Field('coding_gain_us') power_cut_back_ds = base.Field('power_cut_back_ds') signal_attenuation_ds_2 = base.Field('signal_attenuation_ds_2') line_attenuation_ds_2 = base.Field('line_attenuation_ds_2') line_snr_margin_ds_2 = base.Field('line_snr_margin_ds_2') signal_attenuation_us_2 = base.Field('signal_attenuation_us_2') line_attenuation_us_2 = base.Field('line_attenuation_us_2') line_snr_margin_us_2 = base.Field('line_snr_margin_us_2') signal_attenuation_ds_3 = base.Field('signal_attenuation_ds_3') line_attenuation_ds_3 = base.Field('line_attenuation_ds_3') line_snr_margin_ds_3 = base.Field('line_snr_margin_ds_3') actual_limit_psd_mask = base.Field('actual_limit_psd_mask') actual_transmit_rate_adapt_ds = base.Field('actual_transmit_rate_adapt_ds') actual_transmit_rate_adapt_us = base.Field('actual_transmit_rate_adapt_us') actual_inp_of_roc_ds = base.Field('actual_inp_of_roc_ds') actual_inp_of_roc_us = base.Field('actual_inp_of_roc_us') actual_snr_margin_of_roc_ds = base.Field('actual_snr_margin_of_roc_ds') actual_snr_margin_of_roc_us = base.Field('actual_snr_margin_of_roc_us') trellis_mode_ds = base.Field('trellis_mode_ds') trellis_mode_us = base.Field('trellis_mode_us') last_down_cause = base.Field('last_down_cause') port_energy_saving_flag = base.Field('port_energy_saving_flag') xpon_mac_chipset_state = base.Field('xpon_mac_chipset_state') signal_detect = base.Field('signal_detect') available_bandwidth = base.Field('available_bandwidth') illegal_rogue_ont = base.Field('illegal_rogue_ont') optical_module_status = base.Field('optical_module_status') laser_state = base.Field('laser_state') tx_fault_h = base.Field('tx_fault_h') temperature_h = base.Field('temperature_h') tx_bias_current_h = base.Field('tx_bias_current_h') supply_voltage_h = base.Field('supply_voltage_h') tx_power_h = base.Field('tx_power_h') vendor_name = base.Field('vendor_name') vendor_rev = base.Field('vendor_rev') vendor_oui = base.Field('vendor_oui') vendor_pn = base.Field('vendor_pn') vendor_sn = base.Field('vendor_sn') date_code = base.Field('date_code') vendor_specific = base.Field('vendor_specific') module_type = base.Field('module_type') module_sub_type = base.Field('module_sub_type') used_type = base.Field('used_type') encapsulation_time = base.Field('encapsulation_time') sff_8472_compliance = base.Field('sff_8472_compliance') min_distance = base.Field('min_distance') max_distance = base.Field('max_distance') max_rate = base.Field('max_rate') rate_identifier = base.Field('rate_identifier') wave_length = base.Field('wave_length') fiber_type_h = base.Field('fiber_type_h') identifier = base.Field('identifier') ext_identifier = base.Field('ext_identifier') connector = base.Field('connector') encoding = base.Field('encoding') length_9_um = base.Field('length_9_um') length_50_um = base.Field('length_50_um') length_62_5_um = base.Field('length_62_5_um') length_copper = base.Field('length_copper') length_50_um_om_3 = base.Field('length_50_um_om_3') br_max = base.Field('br_max') br_min = base.Field('br_min') cc_base = base.Field('cc_base') cc_exit = base.Field('cc_exit') rx_power_warning_threshold = base.Field('rx_power_warning_threshold') rx_power_alarm_threshold = base.Field('rx_power_alarm_threshold') tx_power_warning_threshold = base.Field('tx_power_warning_threshold') tx_power_alarm_threshold = base.Field('tx_power_alarm_threshold') tx_bias_warning_threshold = base.Field('tx_bias_warning_threshold') tx_bias_alarm_threshold = base.Field('tx_bias_alarm_threshold') supply_voltage_warning_threshold = base.Field( 'supply_voltage_warning_threshold') supply_voltage_alarm_threshold = base.Field( 'supply_voltage_alarm_threshold') temperature_warning_threshold = base.Field('temperature_warning_threshold') temperature_alarm_threshold = base.Field('temperature_alarm_threshold') optic_status = base.Field('optic_status') native_vlan = base.Field('native_vlan') mdi = base.Field('mdi') speed_h = base.Field('speed_h') duplex = base.Field('duplex') flow_ctrl = base.Field('flow_ctrl') active_state = base.Field('active_state') link = base.Field('link') detecting_time = base.Field('detecting_time') tx_state = base.Field('tx_state') resume_detect = base.Field('resume_detect') detect_interval = base.Field('detect_interval') resume_duration = base.Field('resume_duration') auto_sensing = base.Field('auto_sensing') alm_prof_15_min = base.Field('alm_prof_15_min') warn_prof_15_min = base.Field('warn_prof_15_min') alm_prof_24_hour = base.Field('alm_prof_24_hour') warn_prof_24_hour = base.Field('warn_prof_24_hour') combo_status = base.Field('combo_status') temperature_h_exact = base.Field('temperature_h_exact') supply_voltage_h_exact = base.Field('supply_voltage_h_exact') tx_bias_current_h_exact = base.Field('tx_bias_current_h_exact') tx_power_h_exact = base.Field('tx_power_h_exact') rx_power_h_exact = base.Field('rx_power_h_exact') rx_power_h = base.Field('rx_power_h') vlan_id = base.Field('vlan_id') vectoring_group = base.Field('vectoring_group') vectoring_profile_id = base.Field('vectoring_profile_id') ont_autofind = base.Field('ont_autofind') template_name = base.Field('template_name') def admin_up(self): self.update(admin_state='2') def admin_down(self): self.update(admin_state='0') def port_downstream_set(self, ds_rate): self.update(downstream_max=ds_rate) def port_upstream_set(self, us_rate): self.update(upstream_max=us_rate) def set_vlan_id(self, id): self.update(vlan_id=id) def set_vectoring_group(self, group): self.update(vectoring_group=group) def enable_ont_autofind(self): self.update(ont_autofind=True) def disable_ont_autofind(self): self.update(ont_autofind=False) def set_template_name(self, template): self.update(template_name=template) def set_vectoring_profile_id(self, id): self.update(vectoring_profile_id=id) def set(self, field, value): mapping = {field: value} self.update(**mapping)
class KeyMilePortGroupPort(base.Resource): """Represent logical subscriber resource.""" # fields id = base.Field('id') name = base.Field('name') operational_state = base.Field('operational_state') admin_state = base.Field('admin_state') description = base.Field('description') label1 = base.Field('label1') label2 = base.Field('label2') type = base.Field('type') enable = base.Field('enable') register_as_global = base.Field('register_as_global') register_default_number_only = base.Field('register_default_number_only') layer_1_permanently_activated = base.Field('layer_1_permanently_activated') sip_profile = base.Field('sip_profile') proxy_registrar_profile = base.Field('proxy_registrar_profile') codec_sdp_profile = base.Field('codec_sdp_profile') isdnba_profile = base.Field('isdnba_profile') pay_phone = base.Field('pay_phone') pstn_profile = base.Field('pstn_profile') enterprise_profile = base.Field('enterprise_profile') def set_label(self, l1, l2, desc): self.update(label1=l1) self.update(label2=l2) self.update(description=desc) def admin_up(self): """Set the admin port state to up""" self.update(admin_state='1') def admin_down(self): """Set the admin port state to down""" self.update(admin_state='0') def down(self): """Set the port state to down""" self.update(operational_state='0') def up(self): """Set the port state to down""" self.update(operational_state='1') def set_pstnport(self, enable, registerglobal, phone, sip, proxy, codec, pstn, enterprise): """Set the pstnport""" self.update(enable=enable) self.update(register_as_global=registerglobal) self.update(pay_phone=phone) self.update(sip_profile=sip) self.update(proxy_registrar_profile=proxy) self.update(codec_sdp_profile=codec) self.update(pstn_profile=pstn) self.update(enterprise_profile=enterprise) def set_isdnport(self, enable, registerglobal, regdefault, layer1, sip, proxy, codec, isdn): """Set the isdnport""" self.update(enable=enable) self.update(register_as_global=registerglobal) self.update(register_default_number_only=regdefault) self.update(sip_profile=sip) self.update(proxy_registrar_profile=proxy) self.update(codec_sdp_profile=codec) self.update(layer_1_permanently_activated=layer1) self.update(isdnba_profile=isdn)
class HuaweiBox(Box): """Represent a network device (AKA box). :param connection: A RestClient instance :param identity: The identity of the System resource """ cpu_occupancy = base.Field('cpu_occupancy') raio_anid = base.Field('raio_anid') handshake_mode = base.Field('handshake_mode') handshake_interval = base.Field('handshake_interval') interactive_mode = base.Field('interactive_mode') smart_mode = base.Field('smart_mode') pitp = base.Field('pitp') pitp_mode = base.Field('pitp_mode') dsl_mode = base.Field('dsl_mode') @property def credentials(self): """Return `CredentialsCollection` object.""" return credentials.CredentialsCollection( self._conn, base.get_sub_resource_path_by( self, 'credentials')) @property def users(self): """Return `UserCollection` object.""" return huawei_user.HuaweiUserCollection( self._conn, base.get_sub_resource_path_by( self, 'users')) @property def routes(self): """Return `RouteCollection` object.""" return route.RouteCollection( self._conn, base.get_sub_resource_path_by(self, 'routes')) @property def vlans(self): """Return `VlanCollection` object.""" return huawei_vlan.HuaweiVlanCollection( self._conn, base.get_sub_resource_path_by(self, 'vlans')) @property def port_profiles(self): """Return `PortProfileCollection` object.""" return huawei_port_profile.HuaweiPortProfileCollection( self._conn, base.get_sub_resource_path_by(self, 'port_profiles')) @property def subracks(self): """Return `PortCollection` object.""" return huawei_subrack.HuaweiSubrackCollection( self._conn, base.get_sub_resource_path_by(self, 'subracks')) @property def cards(self): """Return `CardCollection` object.""" return huawei_card.HuaweiCardCollection( self._conn, base.get_sub_resource_path_by(self, 'cards')) @property def ports(self): """Return `PortCollection` object.""" return huawei_port.HuaweiPortCollection( self._conn, base.get_sub_resource_path_by(self, 'ports')) @property def service_ports(self): """Return `ServicePortCollection` object.""" return huawei_service_port.HuaweiServicePortCollection( self._conn, base.get_sub_resource_path_by(self, 'service_ports')) @property def service_vlans(self): """Return `ServiceVlanCollection` object.""" return huawei_service_vlan.HuaweiServiceVlanCollection( self._conn, base.get_sub_resource_path_by(self, 'service_vlans')) @property def onts(self): """Return `OntCollection` object.""" return huawei_ont.HuaweiOntCollection( self._conn, base.get_sub_resource_path_by(self, 'onts')) @property def ont_ports(self): """Return `OntPortCollection` object.""" return huawei_ont_port.HuaweiOntPortCollection( self._conn, base.get_sub_resource_path_by(self, 'ont_ports')) @property def cpes(self): """Return `CpeCollection` object.""" return huawei_cpe.HuaweiCpeCollection( self._conn, base.get_sub_resource_path_by(self, 'cpes')) @property def cpe_ports(self): """Return `CpePortCollection` object.""" return huawei_cpe_port.HuaweiCpePortCollection( self._conn, base.get_sub_resource_path_by(self, 'cpe_ports')) @property def emus(self): """Return `CpePortCollection` object.""" return huawei_emu.HuaweiEmuCollection( self._conn, base.get_sub_resource_path_by(self, 'emus')) @property def vlan_interfaces(self): """Return `VlanInterfaceCollection` object.""" return huawei_vlan_interface.HuaweiVlanInterfaceCollection( self._conn, base.get_sub_resource_path_by(self, 'vlan_interfaces')) def get_user(self, field, value): """Get specific user object.""" return huawei_user.HuaweiUserCollection( self._conn, base.get_sub_resource_path_by(self, 'users'), params={field: value}).find_by_field_value(field, value) def get_users(self, field, value): """Get specific user objects.""" return huawei_user.HuaweiUserCollection( self._conn, base.get_sub_resource_path_by(self, 'users'), params={field: value}) def get_credentials(self, field, value): """Get specific user object.""" return credentials.CredentialsCollection( self._conn, base.get_sub_resource_path_by(self, 'credentials'), params={field: value}).find_by_field_value(field, value) def get_subrack(self, field, value): """Get specific subrack object.""" return huawei_subrack.HuaweiSubrackCollection( self._conn, base.get_sub_resource_path_by(self, 'subracks'), params={field: value}).find_by_field_value(field, value) def get_card(self, field, value): """Get specific card object.""" return huawei_card.HuaweiCardCollection( self._conn, base.get_sub_resource_path_by(self, 'cards'), params={field: value}).find_by_field_value(field, value) def get_cards(self, field, value): """Get all cards.""" return huawei_card.HuaweiCardCollection( self._conn, base.get_sub_resource_path_by(self, 'cards'), params={field: value}) def get_port(self, field, value): """Get specific port object.""" return huawei_port.HuaweiPortCollection( self._conn, base.get_sub_resource_path_by(self, 'ports'), params={field: value}).find_by_field_value(field, value) def get_ports(self, field, value): """Get specific port object.""" return huawei_port.HuaweiPortCollection( self._conn, base.get_sub_resource_path_by(self, 'ports'), params={field: value}) def get_service_port(self, field, value): """Get specific service-port object.""" return huawei_service_port.HuaweiServicePortCollection( self._conn, base.get_sub_resource_path_by(self, 'service_ports'), params={field: value}).find_by_field_value(field, value) def get_service_port_by_values(self, params=None): """Get specific service_port object.""" vlans = huawei_service_port.HuaweiServicePortCollection( self._conn, base.get_sub_resource_path_by(self, 'service_ports'), params=params) # A collection is a non-subscriptable object, therefore we can only get the first object via this way if len(vlans) > 0: for vlan in vlans: return vlan else: return None def get_ont(self, field, value): """Get specific ont object.""" return huawei_ont.HuaweiOntCollection( self._conn, base.get_sub_resource_path_by(self, 'onts'), params={field: value}).find_by_field_value(field, value) def get_onts(self, field, value): """Get specific ont object.""" return huawei_ont.HuaweiOntCollection( self._conn, base.get_sub_resource_path_by(self, 'onts'), params={field: value}) def get_ont_port(self, field, value): """Get specific ont_port object.""" return huawei_ont_port.HuaweiOntPortCollection( self._conn, base.get_sub_resource_path_by(self, 'ont_ports'), params={field: value}).find_by_field_value(field, value) def get_ont_ports(self, field, value): """Get specific ont_port object.""" return huawei_ont_port.HuaweiOntPortCollection( self._conn, base.get_sub_resource_path_by(self, 'ont_ports'), params={field: value}) def get_cpe(self, field, value): """Get specific cpe object.""" return huawei_cpe.HuaweiCpeCollection( self._conn, base.get_sub_resource_path_by(self, 'cpes'), params={field: value}).find_by_field_value(field, value) def get_cpes(self, field, value): """Get specific cpe object.""" return huawei_cpe.HuaweiCpeCollection( self._conn, base.get_sub_resource_path_by(self, 'cpes'), params={field: value}) def get_cpe_port(self, field, value): """Get specific cpe_port object.""" return huawei_cpe_port.HuaweiCpePortCollection( self._conn, base.get_sub_resource_path_by(self, 'cpe_ports'), params={field: value}).find_by_field_value(field, value) def get_cpe_ports(self, field, value): """Get specific cpe_port object.""" return huawei_cpe_port.HuaweiCpePortCollection( self._conn, base.get_sub_resource_path_by(self, 'cpe_ports'), params={field: value}) def get_emu(self, field, value): """Get specific emu object.""" return huawei_emu.HuaweiEmuCollection( self._conn, base.get_sub_resource_path_by(self, 'emus'), params={field: value}).find_by_field_value(field, value) def get_vlan(self, field, value): """Get specific vlan object.""" return huawei_vlan.HuaweiVlanCollection( self._conn, base.get_sub_resource_path_by(self, 'vlans'), params={field: value}).find_by_field_value(field, value) def get_vlan_by_values(self, params=None): """Get specific vlan object.""" vlans = huawei_vlan.HuaweiVlanCollection( self._conn, base.get_sub_resource_path_by(self, 'vlans'), params=params) # A collection is a non-subscriptable object, therefore we can only get the first object via this way if len(vlans) > 0: for vlan in vlans: return vlan else: return None def get_vlan_interface(self, field, value): """Get specific vlan interface object.""" return huawei_vlan_interface.HuaweiVlanInterfaceCollection( self._conn, base.get_sub_resource_path_by(self, 'vlan_interfaces'), params={field: value}).find_by_field_value(field, value) def get_port_profile(self, field, value): """Get specific port_profile object.""" return huawei_port_profile.HuaweiPortProfileCollection( self._conn, base.get_sub_resource_path_by(self, 'port_profiles'), params={field: value}).find_by_field_value(field, value) def get_service_vlan(self, field, value): """Get specific service-vlan object.""" return huawei_service_vlan.HuaweiServiceVlanCollection( self._conn, base.get_sub_resource_path_by(self, 'service_vlans'), params={field: value}).find_by_field_value(field, value) def get_service_vlan_by_values(self, params=None): """Get specific service-vlan object.""" service_vlans = huawei_service_vlan.HuaweiServiceVlanCollection( self._conn, base.get_sub_resource_path_by(self, 'service_vlans'), params=params) # A collection is a non-subscriptable object, therefore we can only get the first object via this way if len(service_vlans) > 0: for service_vlan in service_vlans: return service_vlan else: return None def add_credentials(self, **fields): """Add a new pair of credentials""" return credentials.Credentials.create( self._conn, os.path.join(self.path, 'credentials'), **fields ) def add_user(self, **fields): """Add a new user""" return huawei_user.HuaweiUser.create( self._conn, os.path.join(self.path, 'users'), **fields ) def add_vlan(self, **fields): """Add new vlan.""" huawei_vlan.HuaweiVlan.create( self._conn, os.path.join(self.path, 'vlans'), **fields ) def add_ont(self, **fields): """Add new ont.""" return huawei_ont.HuaweiOnt.create( self._conn, os.path.join(self.path, 'onts'), **fields) def add_ont_port(self, **fields): """Add new ont.""" return huawei_ont_port.HuaweiOntPort.create( self._conn, os.path.join(self.path, 'ont_ports'), **fields) def add_service_port(self, **fields): """Add a new service port""" return huawei_service_port.HuaweiServicePort.create( self._conn, os.path.join(self.path, 'service_ports'), **fields ) def add_service_vlan(self, **fields): """Add a new service vlan""" return huawei_service_vlan.HuaweiServiceVlan.create( self._conn, os.path.join(self.path, 'service_vlans'), **fields ) def add_vlan_interface(self, **fields): """Add a new vlan interface""" return huawei_vlan_interface.HuaweiVlanInterface.create( self._conn, os.path.join(self.path, 'vlan_interfaces'), **fields ) def add_route(self, **fields): """Add a new route""" return huawei_route.HuaweiRoute.create( self._conn, os.path.join(self.path, 'routes'), **fields ) def add_port_profile(self, **fields): """Add a new port profile""" return huawei_port_profile.HuaweiPortProfile.create( self._conn, os.path.join(self.path, 'port_profiles'), **fields ) def set_network_address(self, addr): """Change the hostname of a box""" self.update(network_address=addr) def set_raio_anid(self, addr): """Change the raio anid of a box""" self.update(raio_anid=addr) def set_handshake_mode(self, mode): """Change the handshake mode of a box""" self.update(handshake_mode=mode) def set_handshake_interval(self, interval): """Change the handshake interval of a box""" self.update(handshake_interval=interval) def disable_smart(self): """Disable Smart function.""" self.update(smart_mode=False) def enable_smart(self): """Enable Smart function.""" self.update(smart_mode=True) def disable_interactive(self): """Disable Interactive function.""" self.update(interactive_mode=False) def enable_interactive(self): """Enable Interactive function.""" self.update(interactive_mode=True) def set_dsl_mode(self, mode): """Change the dsl mode of a box""" self.update(dsl_mode=mode) def set_pitp(self, state): """Change the pitp of a box""" self.update(pitp=state) def set_pitp_mode(self, mode): """Change the pitp mode of a box""" self.update(pitp_mode=mode)
class QosInterface(base.Resource): """Represent a QosInterface resource.""" id = base.Field('id') name = base.Field('name') description = base.Field('description')