示例#1
0
    def get(self, id):
        session = SessionsModel.by_id(id)

        sessions_part = SessionsModel.to_json(session)

        host = HostsModel.by_id(session.host_id)
        sessions_part['host'] = HostsModel.to_json(host) if host else None

        user = UserModel.by_id(session.user_id)
        sessions_part['user'] = UserModel.to_json(user) if user else None

        return sessions_part
示例#2
0
    def get(self, name):
        host = HostsModel.by_name(name)
        hosts_part = HostsModel.to_json(host)

        host_host_groups = HostHostGroupsModel.by_host_id(host.id)
        host_group = HostGroupsModel.by_id(host_host_groups.host_group_id)
        hosts_part['host_groups'] = HostGroupsModel.to_json(
            host_group) if host_group else None

        ssh_key = SshKeysModel.by_id(host.ssh_key_id)
        hosts_part['ssh_key'] = SshKeysModel.to_json(ssh_key)

        return hosts_part
示例#3
0
    def get(self):
        sessions_json = []
        sessions = SessionsModel.return_all()

        for session in sessions:
            sessions_part = SessionsModel.to_json(session)

            host = HostsModel.by_id(session.host_id)
            sessions_part['host'] = HostsModel.to_json(host) if host else None

            user = UserModel.by_id(session.user_id)
            sessions_part['user'] = UserModel.to_json(user) if user else None

            sessions_json.append(sessions_part)

        return sessions_json
示例#4
0
    def get(self):
        hosts_json = []
        hosts = HostsModel.return_all()
        for host in hosts:
            hosts_part = HostsModel.to_json(host)

            host_host_groups = HostHostGroupsModel.by_host_id(host.id)
            host_group = HostGroupsModel.by_id(host_host_groups.host_group_id)
            hosts_part['host_groups'] = HostGroupsModel.to_json(
                host_group) if host_group else None

            ssh_key = SshKeysModel.by_id(host.ssh_key_id)
            hosts_part['ssh_key'] = SshKeysModel.to_json(ssh_key)

            hosts_json.append(hosts_part)

        return hosts_json
示例#5
0
    def get(self, name):
        host_group = HostGroupsModel.by_name(name)
        host_groups_part = HostGroupsModel.to_json(host_group)

        host_group_acls = HostGroupAclsModel.by_host_group_id(host_group.id)
        host_groups_part['acls'] = []
        for hgacls in host_group_acls:
            acl = AclsModel.by_id(hgacls.acl_id)
            host_groups_part['acls'].append(AclsModel.to_json(acl))

        host_host_groups = HostHostGroupsModel.by_host_group_id(host_group.id)
        host_groups_part['hosts'] = []
        for hhg in host_host_groups:
            host = HostsModel.by_id(hhg.host_id)
            host_groups_part['hosts'].append(
                HostsModel.to_json(host) if host else None)

        return host_groups_part
示例#6
0
    def get(self):
        users = UserModel.return_all()
        groups = UserGroupsModel.return_all()
        roles = UserRolesModel.return_all()
        keys = SshKeysModel.return_all()
        userkeys = UserKeysModel.return_all()
        hosts = HostsModel.return_all()
        hostgroups = HostGroupsModel.return_all()
        acls = AclsModel.return_all()
        sessions = SessionsModel.return_all()
        events = EventsModel.return_all()

        return {
            'users': {
                'count': len(users['users'])
            },
            'usergroups': {
                'count': len(groups)
            },
            'userroles': {
                'count': len(roles)
            },
            'keys': {
                'count': len(keys)
            },
            'userkeys': {
                'count': len(userkeys)
            },
            'hosts': {
                'count': len(hosts),
                'keys': len(list(set([x.ssh_key_id for x in hosts])))
            },
            'hostgroups': {
                'count': len(hostgroups)
            },
            'acls': {
                'count': len(acls),
                'allow': len([x for x in acls if x.action == 'allow']),
            },
            'sessions': {
                'count': len(sessions),
                'active': len([s for s in sessions if s.status != 'closed']),
                'errors': len([s for s in sessions if s.err_msg != ''])
            },
            'events': {
                'count':
                len(events),
                'last_5':
                list(reversed([EventsModel.to_json(x) for x in events[-5:]]))
            }
        }