Exemple #1
0
def remove_privatedns_srv_record(cmd,
                                 resource_group_name,
                                 private_zone_name,
                                 relative_record_set_name,
                                 priority,
                                 weight,
                                 port,
                                 target,
                                 keep_empty_record_set=False):
    from azure.mgmt.privatedns import PrivateDnsManagementClient
    from azure.mgmt.privatedns.models import SrvRecord
    client = get_mgmt_service_client(cmd.cli_ctx,
                                     PrivateDnsManagementClient).record_sets
    record = SrvRecord(priority=priority,
                       weight=weight,
                       port=port,
                       target=target)
    record_type = 'srv'
    return _privatedns_remove_record(
        client,
        record,
        record_type,
        relative_record_set_name,
        resource_group_name,
        private_zone_name,
        keep_empty_record_set=keep_empty_record_set)
Exemple #2
0
def _build_record(cmd, data):
    from azure.mgmt.privatedns.models import AaaaRecord, ARecord, CnameRecord, MxRecord, PtrRecord, SoaRecord, SrvRecord, TxtRecord
    record_type = data['delim'].lower()
    try:
        if record_type == 'aaaa':
            return AaaaRecord(ipv6_address=data['ip'])
        if record_type == 'a':
            return ARecord(ipv4_address=data['ip'])
        if record_type == 'cname':
            return CnameRecord(cname=data['alias'])
        if record_type == 'mx':
            return MxRecord(preference=data['preference'],
                            exchange=data['host'])
        if record_type == 'ptr':
            return PtrRecord(ptrdname=data['host'])
        if record_type == 'soa':
            return SoaRecord(host=data['host'],
                             email=data['email'],
                             serial_number=data['serial'],
                             refresh_time=data['refresh'],
                             retry_time=data['retry'],
                             expire_time=data['expire'],
                             minimum_ttl=data['minimum'])
        if record_type == 'srv':
            return SrvRecord(priority=int(data['priority']),
                             weight=int(data['weight']),
                             port=int(data['port']),
                             target=data['target'])
        if record_type in ['txt', 'spf']:
            text_data = data['txt']
            return TxtRecord(value=text_data) if isinstance(
                text_data, list) else TxtRecord(value=[text_data])
    except KeyError as ke:
        raise CLIError("The {} record '{}' is missing a property.  {}".format(
            record_type, data['name'], ke))