예제 #1
0
        protected override void ProcessRecord()
        {
            base.ProcessRecord();
            CreateZoneRequest request;

            try
            {
                request = new CreateZoneRequest
                {
                    CreateZoneDetails = CreateZoneDetails,
                    OpcRequestId      = OpcRequestId,
                    CompartmentId     = CompartmentId,
                    Scope             = Scope,
                    ViewId            = ViewId
                };

                response = client.CreateZone(request).GetAwaiter().GetResult();
                WriteOutput(response, response.Zone);
                FinishProcessing(response);
            }
            catch (Exception ex)
            {
                TerminatingErrorDuringExecution(ex);
            }
        }
예제 #2
0
        /// <summary>
        /// CreateZone接口的同步版本,在TcaplusDB应用下创建大区
        /// </summary>
        /// <param name="req">参考<see cref="CreateZoneRequest"/></param>
        /// <returns>参考<see cref="CreateZoneResponse"/>实例</returns>
        public CreateZoneResponse CreateZoneSync(CreateZoneRequest req)
        {
            JsonResponseModel <CreateZoneResponse> rsp = null;

            try
            {
                var strResp = this.InternalRequestSync(req, "CreateZone");
                rsp = JsonConvert.DeserializeObject <JsonResponseModel <CreateZoneResponse> >(strResp);
            }
            catch (JsonSerializationException e)
            {
                throw new TencentCloudSDKException(e.Message);
            }
            return(rsp.Response);
        }
예제 #3
0
        /// <summary>
        /// Creates a new zone in the specified compartment.
        /// The compartmentId query parameter is required if the Content-Type header for the request is text/dns.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <CreateZoneResponse> CreateZone(CreateZoneRequest request)
        {
            var uri = new Uri($"{GetEndPoint(DNSServices.Zones, this.Region)}");

            using (var webResponse = await this.RestClientAsync.Post(uri, request.CreateZoneDetails))
                using (var stream = webResponse.GetResponseStream())
                    using (var reader = new StreamReader(stream))
                    {
                        var response = await reader.ReadToEndAsync();

                        return(new CreateZoneResponse()
                        {
                            Zone = this.JsonSerializer.Deserialize <ZoneDetails>(response),
                            OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                            ETag = webResponse.Headers.Get("ETag")
                        });
                    }
        }
예제 #4
0
        public async Task CreateZoneAsync_ExpectedResult()
        {
            CreateZoneRequest req = new CreateZoneRequest()
            {
                Name = "example.com"
            };

            IANSSafeDNSClient client = Substitute.For <IANSSafeDNSClient>();

            client.PostAsync <Zone>("/safedns/v1/zones", req).Returns(new Zone()
            {
                Name = "example.com"
            });

            var    ops  = new ZoneOperations <Zone>(client);
            string name = await ops.CreateZoneAsync(req);

            Assert.AreEqual("example.com", name);
        }
예제 #5
0
 public async Task <string> CreateZoneAsync(CreateZoneRequest req)
 {
     return((await this.Client.PostAsync <T>($"/safedns/v1/zones", req)).Name);
 }
 /// <summary>
 ///  - 添加一个私有解析的zone,可添加以下三种类型的zone
 /// - 云内全局zone:zone的后缀是指定的后缀,如:local。该域名在云内自动全局生效,不用关联vpc即可在vpc内解析,该类型全局唯一,不能重复添加
 /// - 反向解析zone:zone的后缀是in-addr.arpa时,我们认为他是一个反向解析的zone,反向解析域名前缀目前支持10/172.16-31/192.168网段,如:10.in-addr.arpa、16.172.in-addr.arpa。反向解析的zone只能添加反向解析的记录
 /// - 私有解析zone:该类型的zone可以时任意符合格式的域名,私有解析zone需要关联vpc后,在vpc内生效解析
 ///
 /// </summary>
 /// <param name="request">请求参数信息</param>
 /// <returns>请求结果信息</returns>
 public async Task <CreateZoneResponse> CreateZone(CreateZoneRequest request)
 {
     return(await new CreateZoneExecutor().Client(this).Execute <CreateZoneResponse, CreateZoneResult, CreateZoneRequest>(request).ConfigureAwait(false));
 }
 /// <summary>
 ///  - 添加一个私有解析的zone,可添加以下三种类型的zone
 /// - 云内全局zone:zone的后缀是指定的后缀,如:local。该域名在云内自动全局生效,不用关联vpc即可在vpc内解析,该类型全局唯一,不能重复添加
 /// - 反向解析zone:zone的后缀是in-addr.arpa时,我们认为他是一个反向解析的zone,反向解析域名前缀目前支持10/172.16-31/192.168网段,如:10.in-addr.arpa、16.172.in-addr.arpa。反向解析的zone只能添加反向解析的记录
 /// - 私有解析zone:该类型的zone可以时任意符合格式的域名,私有解析zone需要关联vpc后,在vpc内生效解析
 ///
 /// </summary>
 /// <param name="request">请求参数信息</param>
 /// <returns>请求结果信息</returns>
 public CreateZoneResponse CreateZone(CreateZoneRequest request)
 {
     return(new CreateZoneExecutor().Client(this).Execute <CreateZoneResponse, CreateZoneResult, CreateZoneRequest>(request));
 }