/// <summary> /// 删除域名解析 /// </summary> /// <param name="param"></param> /// <returns></returns> public override DomainRecordActionResult DeleteDomainRecord(DeleteDomainRecordParam param) { if (!long.TryParse(param.RecordId, out long tcRecordId)) { throw new Exception("RecordId is not tencent cloud recordid."); } var result = client.RecordDelete(new RecordDeleteRequestParam() { recordId = long.Parse(param.RecordId), domain = param.DomainName }).GetAwaiter().GetResult(); if (result.Code == "0") { return(new DomainRecordActionResult() { RecordId = param.RecordId, RR = "", TotalCount = 1, }); } else { throw new Exception($"Delete domain record info from tencent cloud failed. error id is {result.Code}, {result.Message}"); } }
public override DomainRecordActionResult DeleteSubDomainRecords(DeleteDomainRecordParam param) { var request = new DeleteSubDomainRecordsRequest() { DomainName = param.DomainName, RR = param.RR }; try { var response = client.GetAcsResponse(request); if (response == null || response.HttpResponse.Content == null || response.HttpResponse.Content.Length == 0) { throw new Exception($"Delete subdomain record info failed. record domain is {param.RR}.{param.DomainName}"); } string result = Encoding.UTF8.GetString(response.HttpResponse.Content); var resultObj = new JsonSerializer().Deserialize <DomainRecordActionResult>(new JsonTextReader(new StringReader(result))); if (resultObj != null) { resultObj.Status = true; } return(resultObj); } catch (ServerException e) { throw new Exception($"Aliyun server error. {e.Message}"); } catch (ClientException e) { throw new Exception($"Reuqest client error. errcode is {e.ErrorCode}, {e.Message}"); } }
/// <summary> /// 根据主解析记录删除相关的解析记录(可选实现) /// </summary> /// <param name="param"></param> /// <returns></returns> public override DomainRecordActionResult DeleteSubDomainRecords(DeleteDomainRecordParam param) { RecordListResult result = client.RecordList(new RecordListRequestParam() { domain = param.DomainName }).GetAwaiter().GetResult(); if (result.Code != "0") { throw new Exception($"Get domain record info from tencent cloud failed. error id is {result.Code}, {result.Message}"); } StringBuilder sb = new StringBuilder(); bool isDeleteFailed = false; foreach (var item in result.Data.Records) { try { if (item.name != param.RR) { continue; } var recordDeleteResult = client.RecordDelete(new RecordDeleteRequestParam() { domain = param.DomainName, recordId = item.id, }).GetAwaiter().GetResult(); if (recordDeleteResult.Code != "0") { throw new Exception($"Delete record info from tencent cloud failed({recordDeleteResult.Code}). {recordDeleteResult.Message}"); } } catch (Exception ex) { sb.AppendLine(ex.Message); isDeleteFailed = true; } } if (isDeleteFailed) { throw new Exception(sb.ToString()); } return(new DomainRecordActionResult() { Status = true, RR = param.RR, }); }
/// <summary> /// 根据主解析记录删除相关的解析记录(可选实现) /// </summary> /// <param name="param"></param> /// <returns></returns> public virtual DomainRecordActionResult DeleteSubDomainRecords(DeleteDomainRecordParam param) { throw new NotImplementedException(); }
/// <summary> /// 更具RecordID删除解析记录 /// </summary> /// <param name="param"></param> /// <returns></returns> public abstract DomainRecordActionResult DeleteDomainRecord(DeleteDomainRecordParam param);