예제 #1
0
파일: server.py 프로젝트: zbyufei/pritunl
def server_host_delete(server_id, host_id):
    svr = server.get_server(id=server_id)
    hst = host.get_host(id=host_id)
    svr.remove_host(hst)
    svr.commit(svr.changed)
    event.Event(type=SERVER_HOSTS_UPDATED, resource_id=svr.id)
    return utils.jsonify({})
예제 #2
0
def server_host_delete(server_id, host_id):
    svr = server.get_server(id=server_id)
    hst = host.get_host(id=host_id)
    svr.remove_host(hst)
    svr.commit(svr.changed)
    event.Event(type=SERVER_HOSTS_UPDATED, resource_id=svr.id)
    return utils.jsonify({})
예제 #3
0
def host_delete(host_id):
    hst = host.get_host(id=host_id)
    hst.remove()

    logger.LogEntry(message='Deleted host "%s".' % hst.name)
    event.Event(type=HOSTS_UPDATED)

    return utils.jsonify({})
예제 #4
0
 def link_instance(self, host_id):
     if self.interrupt:
         return
     instance_link = ServerInstanceLink(
         server=self.server,
         linked_server=self.server,
         linked_host=host.get_host(id=host_id),
     )
     self.replica_links[host_id] = instance_link
     instance_link.start()
예제 #5
0
def host_get(host_id=None):
    if host_id:
        return utils.jsonify(host.get_host(id=host_id).dict())

    hosts = []

    for hst in host.iter_hosts():
        hosts.append(hst.dict())

    return utils.jsonify(hosts)
예제 #6
0
def server_host_put(server_id, host_id):
    svr = server.get_server(id=server_id)
    hst = host.get_host(id=host_id)
    svr.add_host(hst)
    svr.commit(svr.changed)
    event.Event(type=SERVER_HOSTS_UPDATED, resource_id=svr.id)
    return utils.jsonify({
        'id': hst.id,
        'server': svr.id,
        'status': ONLINE if svr_hst_id == hst.id else OFFLINE,
        'name': hst.name,
        'public_address': hst.public_addr,
    })
예제 #7
0
파일: server.py 프로젝트: afdnlw/pritunl
def server_host_put(server_id, host_id):
    svr = server.get_server(id=server_id)
    hst = host.get_host(id=host_id)
    svr.add_host(hst)
    svr.commit(svr.changed)
    event.Event(type=SERVER_HOSTS_UPDATED, resource_id=svr.id)
    return utils.jsonify({
        'id': hst.id,
        'server': svr.id,
        'status': ONLINE if svr_hst_id == hst.id else OFFLINE,
        'name': hst.name,
        'public_address': hst.public_addr,
    })
예제 #8
0
 def iter_hosts(self):
     for host_id in self.hosts:
         hst = host.get_host(id=host_id)
         if hst:
             yield hst
         else:
             logger.error('Removing non-existent host ' +
                          'from server. %r' % {
                              'server_id': self.id,
                              'host_id': host_id,
                          })
             self.remove_host(host_id)
             self.commit('hosts')
             event.Event(type=SERVER_HOSTS_UPDATED, resource_id=self.id)
예제 #9
0
파일: server.py 프로젝트: afdnlw/pritunl
 def iter_hosts(self):
     for host_id in self.hosts:
         hst = host.get_host(id=host_id)
         if hst:
             yield hst
         else:
             logger.error('Removing non-existent host ' +
                 'from server. %r' % {
                     'server_id': self.id,
                     'host_id': host_id,
                 })
             self.remove_host(host_id)
             self.commit('hosts')
             event.Event(type=SERVER_HOSTS_UPDATED, resource_id=self.id)
예제 #10
0
def host_put(host_id=None):
    hst = host.get_host(id=host_id)

    if 'name' in flask.request.json:
        hst.name = utils.filter_str(
            flask.request.json['name']) or utils.random_name()

    if 'public_address' in flask.request.json:
        hst.public_address = utils.filter_str(
            flask.request.json['public_address'])

    hst.commit(hst.changed)
    event.Event(type=HOSTS_UPDATED)

    return utils.jsonify(host.dict())
예제 #11
0
 def get_host(self, host_id):
     if host_id in self.hosts:
         return host.get_host(id=host_id)
예제 #12
0
파일: server.py 프로젝트: afdnlw/pritunl
 def get_host(self, host_id):
     if host_id in self.hosts:
         return host.get_host(id=host_id)
예제 #13
0
def host_usage_get(host_id, period):
    hst = host.get_host(id=host_id)
    return utils.jsonify(hst.usage.get_period(period))