/// <summary> /// detact this instance from the ASG /// and decrement the ASG desired /// </summary> /// <returns></returns> private bool DetachFromAutoScalingGroup() { bool returnValue = false; using (AmazonAutoScalingClient scalingClient = new AmazonAutoScalingClient()) { DetachInstancesRequest detachRequest = new DetachInstancesRequest { AutoScalingGroupName = _AutoScalingGroupName, InstanceIds = new List <string>(new string[] { _InstanceId }), ShouldDecrementDesiredCapacity = true }; try { DetachInstancesResponse detachResponse = scalingClient.DetachInstancesAsync(detachRequest).Result; if (detachResponse.HttpStatusCode == System.Net.HttpStatusCode.OK) { returnValue = true; } } catch (Exception) { //Yes AWS throws Exceptions and System.AggregrateExceptions //so for now this is the right way to handle it returnValue = false; } } return(returnValue); }
/// <summary> /// 本接口(DetachInstances)用于从伸缩组移出 CVM 实例,本接口不会销毁实例。 /// </summary> /// <param name="req">参考<see cref="DetachInstancesRequest"/></param> /// <returns>参考<see cref="DetachInstancesResponse"/>实例</returns> public async Task <DetachInstancesResponse> DetachInstances(DetachInstancesRequest req) { JsonResponseModel <DetachInstancesResponse> rsp = null; try { var strResp = await this.InternalRequest(req, "DetachInstances"); rsp = JsonConvert.DeserializeObject <JsonResponseModel <DetachInstancesResponse> >(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return(rsp.Response); }