示例#1
0
    async def update_system(
            self,
            name: str = None,
            location: str = None,
            contact: str = None,
            default_gateway: IpAddress = None,
            device_operation_mode: DeviceOperationModeEnum = None
    ) -> SystemModel:
        input_data = dict(name=name,
                          location=location,
                          contact=contact,
                          device_operation_mode=device_operation_mode,
                          default_gateway=default_gateway)

        data_to_send = SystemBase._update_system_validate_input_and_return_data_to_send(
            input_data=input_data)

        r = await self._session.put(url=self._system_base_url,
                                    json=data_to_send)
        validate_200(r)
        return SystemModel(**r.json())
示例#2
0
    async def update_system_time(
            self,
            time_server_protocol: TimeServerProtocolEnum,
            time_servers: List[IpAddress],
            use_sntp_unicast: bool,
            local_utc_offset_in_seconds: int = None,
            auto_adjust_dst: bool = None) -> SystemTimeModel:
        if time_server_protocol:
            time_server_protocol = time_server_protocol.value

        input_data = dict(
            local_utc_offset_in_seconds=local_utc_offset_in_seconds,
            auto_adjust_dst=auto_adjust_dst,
            time_server_protocol=time_server_protocol,
            time_servers=time_servers,
            use_sntp_unicast=use_sntp_unicast)

        data_to_send = SystemBase._update_system_time_validate_input_and_return_data_to_send(
            input_data=input_data)
        print(data_to_send)
        r = await self._session.put(url=f"{self._system_base_url}/time",
                                    json=data_to_send)
        validate_200(r)
        return SystemTimeModel(**r.json())
示例#3
0
 async def get_all_ip_address(self) -> IpAddressSubnetList:
     r = await self._session.get(url=self._ipaddress_base_url)
     validate_200(r)
     return IpAddressSubnetList(**r.json())
 async def get_mac_authentication(self) -> MacAuthenticationModel:
     r = await self._session.get(url=self._mac_authentication_base_url)
     validate_200(r)
     return MacAuthenticationModel(**r.json())
示例#5
0
 async def get_authentication_console(self) -> AuthenticationConsole:
     r = await self._session.get(
         url=f"{self._authentication_base_url}/console")
     validate_200(r)
     return AuthenticationConsole(**r.json())
示例#6
0
 async def get_mac_table_vlan(self, vlan_id: str) -> MacTableEntryList:
     r = await self._session.get(
         url=f"vlans/{vlan_id}/{self._mac_table_base_url}")
     validate_200(r)
     return MacTableEntryList(**r.json())
示例#7
0
 async def get_mac_table(self) -> MacTableEntryList:
     r = await self._session.get(url=self._mac_table_base_url)
     validate_200(r)
     return MacTableEntryList(**r.json())
示例#8
0
 async def get_stp_ports(self) -> SpanningTreePortList:
     r = await self._session.get(url=f"{self._stp_base_url}/ports")
     validate_200(r)
     return SpanningTreePortList(**r.json())
示例#9
0
 async def get_syslog(self) -> SyslogModel:
     r = await self._session.get(url=self._syslog_base_url)
     validate_200(r)
     return SyslogModel(**r.json())
示例#10
0
 async def get_snmp_server(self) -> SnmpServerModel:
     r = await self._session.get(url=self._snmp_server_base_url)
     validate_200(r)
     return SnmpServerModel(**r.json())
示例#11
0
 async def get_dot1x_port_security(self) -> Dot1xPortSecurityList:
     r = await self._session.get(url=f"{self._dot1x_base_url}/port_security"
                                 )
     validate_200(r)
     return Dot1xPortSecurityList(**r.json())
示例#12
0
 async def get_dot1x_authenticator(self) -> Dot1xAuthenticatorPortList:
     r = await self._session.get(url=f"{self._dot1x_base_url}/authenticator"
                                 )
     validate_200(r)
     return Dot1xAuthenticatorPortList(**r.json())
示例#13
0
 async def get_dot1x(self) -> Dot1xModel:
     r = await self._session.get(url=self._dot1x_base_url)
     validate_200(r)
     return Dot1xModel(**r.json())
示例#14
0
 async def get_snmpv3_users(self) -> SnmpV3UserList:
     r = await self._session.get(url=f"{self._snmpv3_base_url}/users")
     validate_200(r)
     return SnmpV3UserList(**r.json())
示例#15
0
 async def get_snmpv3(self) -> SnmpV3Model:
     r = await self._session.get(url=self._snmpv3_base_url)
     validate_200(r)
     return SnmpV3Model(**r.json())
 async def get_tacacs_profile(self) -> TacacsProfileModel:
     r = await self._session.get(url=self._tacacs_profile_base_url)
     validate_200(r)
     return TacacsProfileModel(**r.json())
示例#17
0
 def get_system(self) -> SystemModel:
     r = self._session.get(url=self._system_base_url)
     validate_200(r)
     return SystemModel(**r.json())
示例#18
0
 async def get_snmp_server_communities(self) -> SnmpServerCommunityList:
     r = await self._session.get(
         url=f"{self._snmp_server_base_url}/communities")
     validate_200(r)
     return SnmpServerCommunityList(**r.json())
示例#19
0
 async def get_stp(self) -> SpanningTreeModel:
     r = await self._session.get(url=self._stp_base_url)
     validate_200(r)
     return SpanningTreeModel(**r.json())
示例#20
0
 async def get_snmp_server_hosts(self) -> SnmpServerHostList:
     r = await self._session.get(url=f"{self._snmp_server_base_url}/hosts")
     validate_200(r)
     return SnmpServerHostList(**r.json())
示例#21
0
 def get_mac_table_port(self, port_id: str) -> MacTableEntryList:
     r = self._session.get(
         url=f"ports/{port_id}/{self._mac_table_base_url}")
     validate_200(r)
     return MacTableEntryList(**r.json())
示例#22
0
 async def get_snmp_server_traps(self) -> SnmpServerTraps:
     r = await self._session.get(url=f"{self._snmp_server_base_url}/traps")
     validate_200(r)
     return SnmpServerTraps(**r.json())
示例#23
0
 async def get_mac_table_mac_address(self,
                                     mac_address: str) -> MacTableEntry:
     r = await self._session.get(
         url=f"{self._mac_table_base_url}/{mac_address}")
     validate_200(r)
     return MacTableEntry(**r.json())
示例#24
0
 async def get_transceivers(self) -> TransceiverList:
     r = await self._session.get(url=self._transceivers_base_url)
     validate_200(r)
     return TransceiverList(**r.json())
示例#25
0
 def get_authentication(self) -> AuthenticationModel:
     r = self._session.get(url=self._authentication_base_url)
     validate_200(r)
     return AuthenticationModel(**r.json())
示例#26
0
 async def get_system_status(self) -> SystemStatusModel:
     r = await self._session.get(url=f"{self._system_base_url}/status")
     validate_200(r)
     return SystemStatusModel(**r.json())
示例#27
0
 async def get_authentication_ssh(self) -> AuthenticationSsh:
     r = await self._session.get(url=f"{self._authentication_base_url}/ssh")
     validate_200(r)
     return AuthenticationSsh(**r.json())
示例#28
0
 async def get_system_time(self) -> SystemTimeModel:
     r = await self._session.get(url=f"{self._system_base_url}/time")
     validate_200(r)
     return SystemTimeModel(**r.json())
 async def get_mac_authentication_ports(self) -> MacAuthenticationPortList:
     r = await self._session.get(url=f"{self._mac_authentication_base_url}/port")
     validate_200(r)
     return MacAuthenticationPortList(**r.json())
示例#30
0
 async def send_command(self, cmd: str) -> CliCommandResult:
     data = {"cmd": cmd}
     r = await self._session.post(url=self._cli_base_url, json=data)
     validate_200(r)
     return CliCommandResult(**r.json())