protected override void ProcessRecord() { base.ProcessRecord(); if (!ConfirmDelete("OCIComputeTerminateInstance", "Invoke")) { return; } TerminateInstanceRequest request; try { request = new TerminateInstanceRequest { InstanceId = InstanceId, IfMatch = IfMatch, PreserveBootVolume = PreserveBootVolume, PreserveDataVolumes = PreserveDataVolumes }; response = client.TerminateInstance(request).GetAwaiter().GetResult(); WriteOutput(response); FinishProcessing(response); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }
/// <summary> /// 销毁EMR实例。此接口仅支持弹性MapReduce正式计费版本。 /// </summary> /// <param name="req"><see cref="TerminateInstanceRequest"/></param> /// <returns><see cref="TerminateInstanceResponse"/></returns> public TerminateInstanceResponse TerminateInstanceSync(TerminateInstanceRequest req) { JsonResponseModel <TerminateInstanceResponse> rsp = null; try { var strResp = this.InternalRequestSync(req, "TerminateInstance"); rsp = JsonConvert.DeserializeObject <JsonResponseModel <TerminateInstanceResponse> >(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return(rsp.Response); }
/// <summary> /// Terminates the specified instance. /// Any attached VNICs and volumes are automatically detached when the instance terminates. /// To preserve the boot volume associated with the instance, specify true for PreserveBootVolumeQueryParam.To delete /// the boot volume when the instance is deleted, specify false or do not specify a value for PreserveBootVolumeQueryParam. /// This is an asynchronous operation.The instance's lifecycleState will change to TERMINATING temporarily until the instance /// is completely removed. /// </summary> /// <param name="deleteRequest"></param> /// <returns></returns> public TerminateInstanceResponse TerminateInstance(TerminateInstanceRequest deleteRequest) { var uri = new Uri($"{GetEndPoint(CoreServices.Instance, this.Region)}/{deleteRequest.InstanceId}"); using (var webResponse = this.RestClient.Delete(uri, new HttpRequestHeaderParam() { IfMatch = deleteRequest.IfMatch }, deleteRequest.PreserveBootVolume)) using (var stream = webResponse.GetResponseStream()) using (var reader = new StreamReader(stream)) { var response = reader.ReadToEnd(); return(new TerminateInstanceResponse() { OpcRequestId = webResponse.Headers.Get("opc-request-id") }); } }
private static async Task terminateInstance(ComputeClient computeClient, Instance instance) { logger.Info($"Terminating Instance: {instance.Id}"); TerminateInstanceRequest terminateInstanceRequest = new TerminateInstanceRequest { InstanceId = instance.Id }; await computeClient.TerminateInstance(terminateInstanceRequest); WaiterConfiguration waiterConfiguration = new WaiterConfiguration { MaxAttempts = 20, GetNextDelayInSeconds = DelayStrategy.GetExponentialDelayInSeconds }; GetInstanceRequest getInstanceRequest = new GetInstanceRequest { InstanceId = instance.Id }; computeClient.Waiters.ForInstance(getInstanceRequest, waiterConfiguration, Instance.LifecycleStateEnum.Terminated).Execute(); logger.Info($"Terminated Instance: {instance.Id}"); }
public void TerminateInstance(TerminateInstanceRequest request) { Channel.TerminateInstance(request); }