Exemplo n.º 1
0
def auto_add_record(domain, region, username):
    is_valid_domain_name(domain)
    if not SubnetIpDal.is_intranet_region(region):
        raise BadParam("Can't automatically bind an A record with public ip.", msg_ch=u'不能自动绑定A记录到公网IP')
    if ZoneRecordDal.get_domain_records(domain_name=domain):
        raise BadParam('Domain name %s has already had a record' % domain, msg_ch=u'域名已有记录, 不能自动绑定')

    return ZoneRecordDal.auto_add_record(domain, region, username)
Exemplo n.º 2
0
def auto_add_record(domain, region, username):
    is_valid_domain_name(domain)
    if not SubnetIpDal.is_intranet_region(region):
        raise BadParam("Can't automatically bind an A record with public ip.",
                       msg_ch=u'不能自动绑定A记录到公网IP')
    if ZoneRecordDal.get_domain_records(domain_name=domain):
        raise BadParam('Domain name %s has already had a record' % domain,
                       msg_ch=u'域名已有记录, 不能自动绑定')

    return ZoneRecordDal.auto_add_record(domain, region, username)
Exemplo n.º 3
0
def get_domain_records(**kwargs):
    if 'record' in kwargs:
        key = 'record'
        # return ZoneRecordDal.get_domain_records(**kwargs)
    else:
        key = 'domain_name'

    codition = kwargs[key]
    tmp = codition.replace('*', '%')

    pattern = re.search("(\[.*\])", codition)
    if pattern is not None:
        tmp = tmp.replace(pattern.group(1), '%')

    records = ZoneRecordDal.search_domain_records(key, tmp)
    # Expression with square brackets is not used, the records are satisified.
    if pattern is None or len(records) == 0:
        return records

    m = re.search("\[([0-9]*)\-([0-9]*)\]", codition)
    start = int(m.group(1))
    end = int(m.group(2))
    needed = [
        codition.replace(pattern.group(1), str(i))
        for i in range(start, end + 1)
    ]
    return filter(lambda x: x[key] in needed, records)
Exemplo n.º 4
0
def manually_add_record(domain,
                        record,
                        record_type,
                        ttl,
                        username,
                        check_record=True):
    update_dict = dict(record_type=record_type,
                       record=record,
                       check_record=check_record,
                       ttl=ttl)
    _validate_args(domain, update_dict)
    return ZoneRecordDal.add_record(domain, record, record_type, ttl, username)
Exemplo n.º 5
0
def get_domain_records(**kwargs):
    if 'record' in kwargs:
        key = 'record'
        # return ZoneRecordDal.get_domain_records(**kwargs)
    else:
        key = 'domain_name'

    codition = kwargs[key]
    tmp = codition.replace('*', '%')

    pattern = re.search("(\[.*\])", codition)
    if pattern is not None:
        tmp = tmp.replace(pattern.group(1), '%')

    records = ZoneRecordDal.search_domain_records(key, tmp)
    # Expression with square brackets is not used, the records are satisified.
    if pattern is None or len(records) == 0:
        return records

    m = re.search("\[([0-9]*)\-([0-9]*)\]", codition)
    start = int(m.group(1))
    end = int(m.group(2))
    needed = [codition.replace(pattern.group(1), str(i)) for i in range(start, end + 1)]
    return filter(lambda x: x[key] in needed, records)
Exemplo n.º 6
0
def list_zone_header():
    return ZoneRecordDal.list_zone_header()
Exemplo n.º 7
0
def delete_record(domain_name, record, record_type):
    return ZoneRecordDal.delete_record(domain_name, record, record_type)
Exemplo n.º 8
0
def modify_record(domain_name, origin_record, update_dict, username):
    _validate_args(domain_name, update_dict)
    return ZoneRecordDal.modify_record(domain_name, origin_record, update_dict,
                                       username)
Exemplo n.º 9
0
def update_zone_serial(zone_name):
    return ZoneRecordDal.update_serial_num(zone_name)
Exemplo n.º 10
0
def update_zone_header():
    params = request.get_json(force=True)
    serial_num = ZoneRecordDal.update_zone_header(params['zone_name'],
                                                  params['header_content'])
    return params['zone_name'], serial_num
Exemplo n.º 11
0
def check_zone_header():
    params = request.get_json(force=True)
    return ZoneRecordDal.check_zone_header(params['zone_name'],
                                           params['header_content'])
Exemplo n.º 12
0
def get_zone_info(zone_name):
    zone_info = ZoneRecordDal.get_zone_header(zone_name)
    zone_info['records'] = ZoneRecordDal.get_zone_records(zone_name)
    return zone_info
Exemplo n.º 13
0
def get_zone_info(zone_name):
    zone_info = ZoneRecordDal.get_zone_header(zone_name)
    zone_info['records'] = ZoneRecordDal.get_zone_records(zone_name)
    return zone_info
Exemplo n.º 14
0
def list_zone_ttl():
    return ZoneRecordDal.list_zone_ttl()
Exemplo n.º 15
0
def manually_add_record(domain, record, record_type, ttl, username, check_record=True):
    update_dict = dict(record_type=record_type, record=record, check_record=check_record, ttl=ttl)
    _validate_args(domain, update_dict)
    return ZoneRecordDal.add_record(domain, update_dict['record'], record_type, ttl, username)
Exemplo n.º 16
0
def list_zone_ttl():
    return ZoneRecordDal.list_zone_ttl()
Exemplo n.º 17
0
def delete_record(domain_name, record, record_type):
    return ZoneRecordDal.delete_record(domain_name, record, record_type)
Exemplo n.º 18
0
def modify_record(domain_name, origin_record, update_dict, username):
    _validate_args(domain_name, update_dict)
    return ZoneRecordDal.modify_record(domain_name, origin_record, update_dict, username)
Exemplo n.º 19
0
def get_update_zones(group_name):
    return ZoneRecordDal.get_zone_need_update(group_name)
Exemplo n.º 20
0
def get_zone_header(zone_name):
    return ZoneRecordDal.get_zone_header(zone_name)
Exemplo n.º 21
0
def update_zone_serial(zone_name):
    return ZoneRecordDal.update_serial_num(zone_name)
Exemplo n.º 22
0
def get_update_zones(group_name):
    return ZoneRecordDal.get_zone_need_update(group_name)