예제 #1
0
        public override DomainRecordActionResult UpdateDomainRecord(UpdateDomainRecordParam param)
        {
            var request = new UpdateDomainRecordRequest()
            {
                RecordId = param.RecordId,
                RR       = param.RR,
                Type     = param.Type.ToString(),
                _Value   = param.Value,
                TTL      = param.TTL
            };

            try
            {
                var response = client.GetAcsResponse(request);
                if (response == null || response.HttpResponse.Content == null || response.HttpResponse.Content.Length == 0)
                {
                    throw new Exception($"Update subdomain record info failed. record id is {param.RecordId}, new value is {param.Value}");
                }
                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}");
            }
        }
예제 #2
0
        /// <summary>
        /// 更新解析记录
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public override DomainRecordActionResult UpdateDomainRecord(UpdateDomainRecordParam param)
        {
            var result = client.RecordModify(new RecordModifyRequestParam()
            {
                domain     = param.DomainName,
                recordId   = long.Parse(param.RecordId),
                subDomain  = param.RR,
                recordType = RecordTypeMapper(param.Type),
                value      = param.Value,
                ttl        = param.TTL
            }).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}");
            }
        }
예제 #3
0
 /// <summary>
 /// 更新域名解析记录
 /// </summary>
 /// <param name="param"></param>
 /// <returns></returns>
 public abstract DomainRecordActionResult UpdateDomainRecord(UpdateDomainRecordParam param);