Beispiel #1
0
        /// <summary>
        /// Attaches a volume to a EC2 instance.
        /// </summary>
        /// <param name="device">xvdf through xvdp</param>
        /// <param name="instanceId"></param>
        /// <param name="volumeId"></param>
        public void AttachVolume(string device, string instanceId, string volumeId)
        {
            var request = new AttachVolumeRequest {
                Device = device, InstanceId = instanceId, VolumeId = volumeId
            };

            Client.AttachVolume(request);
        }
Beispiel #2
0
        /// <summary>
        /// Attaches the specified storage volume to the specified instance.
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public AttachVolumeResponse AttachVolume(AttachVolumeRequest param)
        {
            var uri = new Uri(GetEndPoint(CoreServices.VolumeAttachment, this.Region));

            using (var webResponse = this.RestClient.Post(uri, param.AttachVolumeDetails, new HttpRequestHeaderParam {
                OpcRetryToken = param.OpcRetryToken
            }))
                using (var stream = webResponse.GetResponseStream())
                    using (var reader = new StreamReader(stream))
                    {
                        var response = reader.ReadToEnd();

                        return(new AttachVolumeResponse()
                        {
                            VolumeAttachment = this.JsonSerializer.Deserialize <VolumeAttachment>(response),
                            ETag = webResponse.Headers.Get("etag"),
                            OpcRequestId = webResponse.Headers.Get("opc-request-id")
                        });
                    }
        }
Beispiel #3
0
        internal void AttachVolume(string volumeId, string vmId)
        {
            long device = 5;

            try
            {
                AttachVolumeRequest request = new AttachVolumeRequest()
                {
                    Id = Guid.Parse(volumeId),
                    VirtualMachineId = Guid.Parse(vmId),
                    DeviceId         = device
                };
                _client.AttachVolume(request);
                _logWriter("Attached volume " + volumeId + " to vm " + vmId);
            }
            catch (System.Exception wex)
            {
                _logWriter(wex.Message);
            }
        }
Beispiel #4
0
        internal void AttachVolume(string volumeId, string vmId)
        {
            Client session = new Client(serviceUri, apiKey, secretKey);
            string device = "5";

            try
            {
                AttachVolumeRequest request = new AttachVolumeRequest()
                {
                    Id = volumeId,
                    VirtualMachineId = vmId,
                    DeviceId = device
                };
                session.AttachVolume(request);
                logWriter("Attached volume " + volumeId + " to vm " + vmId);
            }
            catch (System.Exception wex)
            {
                logWriter(wex.Message);
            }
        }
        protected override void ProcessRecord()
        {
            base.ProcessRecord();
            AttachVolumeRequest request;

            try
            {
                request = new AttachVolumeRequest
                {
                    AttachVolumeDetails = AttachVolumeDetails,
                    OpcRetryToken       = OpcRetryToken
                };

                response = client.AttachVolume(request).GetAwaiter().GetResult();
                WriteOutput(response, response.VolumeAttachment);
                FinishProcessing(response);
            }
            catch (Exception ex)
            {
                TerminatingErrorDuringExecution(ex);
            }
        }
Beispiel #6
0
        internal void AttachVolume(string volumeId, string vmId)
        {
            long device = 5;

            try
            {
                AttachVolumeRequest request = new AttachVolumeRequest()
                {
                    Id = Guid.Parse(volumeId),
                    VirtualMachineId = Guid.Parse(vmId),
                    DeviceId = device
                };
                _client.AttachVolume(request);
                _logWriter("Attached volume " + volumeId + " to vm " + vmId);
            }
            catch (System.Exception wex)
            {
                _logWriter(wex.Message);
            }
        }
Beispiel #7
0
 /// <summary>
 /// Attach Volume
 /// </summary>
 /// <param name="request">Attach Volume  request</param>
 /// <returns>Attach Volume  Response from the service</returns>
 /// <remarks>
 /// Attach a previously created volume to a running instance.
 ///
 /// </remarks>
 public AttachVolumeResponse AttachVolume(AttachVolumeRequest request)
 {
     return(Invoke <AttachVolumeResponse>("AttachVolumeResponse.xml"));
 }