protected override void ProcessRecord() { base.ProcessRecord(); if (!ConfirmDelete("OCIComputeVolume", "DisMount")) { return; } DetachVolumeRequest request; try { request = new DetachVolumeRequest { VolumeAttachmentId = VolumeAttachmentId, IfMatch = IfMatch }; response = client.DetachVolume(request).GetAwaiter().GetResult(); WriteOutput(response); FinishProcessing(response); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }
/// <summary> /// Detatches a volume from an EC2 instance. /// </summary> /// <param name="device">xvdf through xvdp</param> /// <param name="volumeId"></param> /// <param name="instanceId"></param> /// <param name="force"></param> public void DetachVolume(string device, string instanceId, string volumeId, bool force) { var request = new DetachVolumeRequest { Device = device, InstanceId = instanceId, VolumeId = volumeId, Force = force }; Client.DetachVolume(request); }
internal void DetachVolume(string volumeId, string vmId) { try { DetachVolumeRequest request = new DetachVolumeRequest() { Id = Guid.Parse(volumeId), VirtualMachineId = Guid.Parse(vmId), }; _client.DetachVolume(request); _logWriter("Detached volume " + volumeId + " from vm " + vmId); } catch (System.Exception ex) { _logWriter(ex.Message); } }
/// <summary> /// Detaches a storage volume from an instance. You must specify the OCID of the volume attachment. /// /// This is an asynchronous operation. The attachment's lifecycleState will change to DETACHING temporarily until the attachment is completely removed. /// </summary> /// <param name="request"></param> /// <returns></returns> public DetachVolumeResponse DetachVolume(DetachVolumeRequest request) { var uri = new Uri($"{GetEndPoint(CoreServices.VolumeAttachment, this.Region)}/{request.VolumeAttachmentId}"); using (var webResponse = this.RestClient.Delete(uri, new HttpRequestHeaderParam() { IfMatch = request.IfMatch })) using (var stream = webResponse.GetResponseStream()) using (var reader = new StreamReader(stream)) { var response = reader.ReadToEnd(); return(new DetachVolumeResponse() { OpcRequestId = webResponse.Headers.Get("opc-request-id") }); } }
internal void DetachVolume(string volumeId, string vmId) { Client session = new Client(serviceUri, apiKey, secretKey); try { DetachVolumeRequest request = new DetachVolumeRequest() { Id = volumeId, VirtualMachineId = vmId, }; session.DetachVolume(request); logWriter("Detached volume " + volumeId + " from vm " + vmId); } catch (System.Exception ex) { logWriter(ex.Message); } }
/// <summary> /// Detach Volume /// </summary> /// <param name="request">Detach Volume request</param> /// <returns>Detach Volume Response from the service</returns> /// <remarks> /// Detach a previously attached volume from a running instance. /// /// </remarks> public DetachVolumeResponse DetachVolume(DetachVolumeRequest request) { return(Invoke <DetachVolumeResponse>("DetachVolumeResponse.xml")); }