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);
            }
        }
Exemple #2
0
        /// <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);
        }
Exemple #3
0
 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);
     }
 }
Exemple #4
0
        /// <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)
 {
     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);
     }
 }
 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);
     }
 }
Exemple #7
0
 /// <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"));
 }