Ejemplo n.º 1
0
        /// <summary>
        /// RegisterTargets 接口用来将一台或多台后端机器注册到应用型负载均衡的监听器,对于四层监听器(TCP、UDP),只需指定监听器ID即可,对于七层监听器(HTTP、HTTPS),还需通过LocationId或者Domain+Url指定转发规则。
        /// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用DescribeTaskStatus接口查询本次任务是否成功。
        /// </summary>
        /// <param name="req">参考<see cref="RegisterTargetsRequest"/></param>
        /// <returns>参考<see cref="RegisterTargetsResponse"/>实例</returns>
        public async Task <RegisterTargetsResponse> RegisterTargets(RegisterTargetsRequest req)
        {
            JsonResponseModel <RegisterTargetsResponse> rsp = null;

            try
            {
                var strResp = await this.InternalRequest(req, "RegisterTargets");

                rsp = JsonConvert.DeserializeObject <JsonResponseModel <RegisterTargetsResponse> >(strResp);
            }
            catch (JsonSerializationException e)
            {
                throw new TencentCloudSDKException(e.Message);
            }
            return(rsp.Response);
        }
Ejemplo n.º 2
0
        public void SerializeRequest_FromConstructor()
        {
            var registerTargets = new RegisterTargetsRequest(
                targetGroupArn: "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067",
                targets: new[] {
                new TargetDescription("i-80c8dd94", 1),
                new TargetDescription("i-ceddcd4d")
            }
                );

            var p = RequestHelper.ToParams(registerTargets);

            var data = string.Join('&', p.Select(a => a.Key + "=" + a.Value));

            Assert.Equal("Action=RegisterTargets&TargetGroupArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067&Targets.member.1.Id=i-80c8dd94&Targets.member.1.Port=1&Targets.member.2.Id=i-ceddcd4d", data);
        }
Ejemplo n.º 3
0
        public void Serialize()
        {
            var registerTargets = new RegisterTargetsRequest {
                TargetGroupArn = "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067",
                Targets        = new[] {
                    new TargetDescription {
                        Id = "i-80c8dd94", Port = 1
                    },
                    new TargetDescription {
                        Id = "i-ceddcd4d"
                    }
                }
            };

            var p = RequestHelper.ToParams(registerTargets);

            var data = string.Join('&', p.Select(a => a.Key + "=" + a.Value));

            Assert.Equal("Action=RegisterTargets&TargetGroupArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067&Targets.member.1.Id=i-80c8dd94&Targets.member.1.Port=1&Targets.member.2.Id=i-ceddcd4d", data);

            // throw new System.Exception(data);
        }
Ejemplo n.º 4
0
        public async Task RegisterHostAsync(Cluster cluster, HostInfo host)
        {
            Validate.NotNull(cluster, nameof(cluster));
            Validate.NotNull(host, nameof(host));

            // - Register to any attached load balancers

            if (cluster.Properties.TryGetValue(ClusterProperties.TargetGroupArn, out var targetGroupArnNode))
            {
                var registration = new RegisterTargetsRequest(
                    targetGroupArn: targetGroupArnNode,
                    targets: new[] { new TargetDescription(id: host.ResourceId) }
                    );

                // Register the instances with the lb's target group
                await elbClient.RegisterTargetsAsync(registration);

                await eventLog.CreateAsync(new Event(
                                               action   : "c",
                                               resource : "borg:host/" + host.Id
                                               ));
            }
        }
Ejemplo n.º 5
0
 /// <summary>
 ///  往TargetGroup中加入Target
 /// </summary>
 /// <param name="request">请求参数信息</param>
 /// <returns>请求结果信息</returns>
 public async Task <RegisterTargetsResponse> RegisterTargets(RegisterTargetsRequest request)
 {
     return(await new RegisterTargetsExecutor().Client(this).Execute <RegisterTargetsResponse, RegisterTargetsResult, RegisterTargetsRequest>(request).ConfigureAwait(false));
 }
Ejemplo n.º 6
0
 /// <summary>
 ///  往TargetGroup中加入Target
 /// </summary>
 /// <param name="request">请求参数信息</param>
 /// <returns>请求结果信息</returns>
 public RegisterTargetsResponse RegisterTargets(RegisterTargetsRequest request)
 {
     return(new RegisterTargetsExecutor().Client(this).Execute <RegisterTargetsResponse, RegisterTargetsResult, RegisterTargetsRequest>(request));
 }