/// <summary> /// Creates an import volume task using metadata from the specified disk image. After /// importing the image, you then upload it using the <code>ec2-import-volume</code> command /// in the Amazon EC2 command-line interface (CLI) tools. For more information, see <a /// href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html">Using /// the Command Line Tools to Import Your Virtual Machine to Amazon EC2</a> in the <i>Amazon /// Elastic Compute Cloud User Guide</i>. /// </summary> /// <param name="request">Container for the necessary parameters to execute the ImportVolume service method.</param> /// /// <returns>The response from the ImportVolume service method, as returned by EC2.</returns> public ImportVolumeResponse ImportVolume(ImportVolumeRequest request) { var marshaller = new ImportVolumeRequestMarshaller(); var unmarshaller = ImportVolumeResponseUnmarshaller.Instance; return Invoke<ImportVolumeRequest,ImportVolumeResponse>(request, marshaller, unmarshaller); }
/// <summary> /// Initiates the asynchronous execution of the ImportVolume operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the ImportVolume operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public Task<ImportVolumeResponse> ImportVolumeAsync(ImportVolumeRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new ImportVolumeRequestMarshaller(); var unmarshaller = ImportVolumeResponseUnmarshaller.Instance; return InvokeAsync<ImportVolumeRequest,ImportVolumeResponse>(request, marshaller, unmarshaller, cancellationToken); }
IAsyncResult invokeImportVolume(ImportVolumeRequest importVolumeRequest, AsyncCallback callback, object state, bool synchronized) { IRequest irequest = new ImportVolumeRequestMarshaller().Marshall(importVolumeRequest); var unmarshaller = ImportVolumeResponseUnmarshaller.GetInstance(); AsyncResult result = new AsyncResult(irequest, callback, state, synchronized, signer, unmarshaller); Invoke(result); return result; }
/// <summary> /// Initiates the asynchronous execution of the ImportVolume operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the ImportVolume operation on AmazonEC2Client.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndImportVolume /// operation.</returns> public IAsyncResult BeginImportVolume(ImportVolumeRequest request, AsyncCallback callback, object state) { var marshaller = new ImportVolumeRequestMarshaller(); var unmarshaller = ImportVolumeResponseUnmarshaller.Instance; return BeginInvoke<ImportVolumeRequest>(request, marshaller, unmarshaller, callback, state); }
/// <summary> /// <para>Creates an import volume task using metadata from the specified disk image. After importing the image, you then upload it using the /// ec2-upload-disk-image command in the Amazon EC2 command-line interface (CLI) tools. For more information, see <a /// href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html" >Using the Command Line Tools to Import Your /// Virtual Machine to Amazon EC2</a> in the <i>Amazon Elastic Compute Cloud User Guide</i> .</para> /// </summary> /// /// <param name="importVolumeRequest">Container for the necessary parameters to execute the ImportVolume service method on AmazonEC2.</param> /// /// <returns>The response from the ImportVolume service method, as returned by AmazonEC2.</returns> /// public ImportVolumeResponse ImportVolume(ImportVolumeRequest importVolumeRequest) { IAsyncResult asyncResult = invokeImportVolume(importVolumeRequest, null, null, true); return EndImportVolume(asyncResult); }
/// <summary> /// Initiates the asynchronous execution of the ImportVolume operation. /// <seealso cref="Amazon.EC2.IAmazonEC2.ImportVolume"/> /// </summary> /// /// <param name="importVolumeRequest">Container for the necessary parameters to execute the ImportVolume operation on AmazonEC2.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndImportVolume /// operation.</returns> public IAsyncResult BeginImportVolume(ImportVolumeRequest importVolumeRequest, AsyncCallback callback, object state) { return invokeImportVolume(importVolumeRequest, callback, state, false); }
/// <summary> /// Initiates a conversion task to yield a new EBS volume for a set of image file /// artifacts uploaded previously to Amazon S3. /// </summary> /// <param name="availabilityZone">The Availability Zone for the resulting Amazon EBS volume.</param> /// <param name="description">An optional description for the volume being imported.</param> /// <returns> /// The service response containing a ConversionTask object that can be used to monitor the progress of the /// requested conversion. /// </returns> public ImportVolumeResponse StartVolumeConversion(string availabilityZone, string description) { if (string.IsNullOrEmpty(ManifestFileKey)) throw new InvalidOperationException("No Amazon S3 object key available; have the image artifacts been uploaded?"); var diskImageDetail = PopulateDiskImageDetail(ManifestFileKey); var volumeDetail = PopulateVolumeDetail(); var request = new ImportVolumeRequest { AvailabilityZone = availabilityZone, Description = string.IsNullOrEmpty(description) ? null : description, Image = diskImageDetail, Volume = volumeDetail }; // allow any exception to propagate to the caller; this allows the calling tool to // assist the user with re-executing the command by showing the appropriate command line // or remediation needed to avoid re-uploading the artifacts return EC2Client.ImportVolume(request); }
/// <summary> /// <para>Creates an import volume task using metadata from the specified disk image. After importing the image, you then upload it using the /// ec2-upload-disk-image command in the Amazon EC2 command-line interface (CLI) tools. For more information, see <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html">Using the Command Line Tools to Import Your /// Virtual Machine to Amazon EC2</a> in the <i>Amazon Elastic Compute Cloud User Guide</i> .</para> /// </summary> /// /// <param name="importVolumeRequest">Container for the necessary parameters to execute the ImportVolume service method on AmazonEC2.</param> /// /// <returns>The response from the ImportVolume service method, as returned by AmazonEC2.</returns> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> public Task<ImportVolumeResponse> ImportVolumeAsync(ImportVolumeRequest importVolumeRequest, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new ImportVolumeRequestMarshaller(); var unmarshaller = ImportVolumeResponseUnmarshaller.GetInstance(); return Invoke<IRequest, ImportVolumeRequest, ImportVolumeResponse>(importVolumeRequest, marshaller, unmarshaller, signer, cancellationToken); }
internal ImportVolumeResponse ImportVolume(ImportVolumeRequest request) { var task = ImportVolumeAsync(request); try { return task.Result; } catch(AggregateException e) { ExceptionDispatchInfo.Capture(e.InnerException).Throw(); return null; } }
/// <summary> /// Initiates the asynchronous execution of the ImportVolume operation. /// <seealso cref="Amazon.EC2.IAmazonEC2.ImportVolume"/> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the ImportVolume operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public async Task<ImportVolumeResponse> ImportVolumeAsync(ImportVolumeRequest request, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new ImportVolumeRequestMarshaller(); var unmarshaller = ImportVolumeResponseUnmarshaller.GetInstance(); var response = await Invoke<IRequest, ImportVolumeRequest, ImportVolumeResponse>(request, marshaller, unmarshaller, signer, cancellationToken) .ConfigureAwait(continueOnCapturedContext: false); return response; }
/// <summary> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the ImportVolume service method on AmazonEC2.</param> /// /// <returns>The response from the ImportVolume service method, as returned by AmazonEC2.</returns> public ImportVolumeResponse ImportVolume(ImportVolumeRequest request) { var task = ImportVolumeAsync(request); try { return task.Result; } catch(AggregateException e) { throw e.InnerException; } }