/// <summary> /// Creates a new Amazon EBS snapshot. The new snapshot enters the <code>pending</code> /// state after the request completes. /// /// /// <para> /// After creating the snapshot, use <a href="https://docs.aws.amazon.com/ebs/latest/APIReference/API_PutSnapshotBlock.html"> /// PutSnapshotBlock</a> to write blocks of data to the snapshot. /// </para> /// </summary> /// <param name="request">Container for the necessary parameters to execute the StartSnapshot service method.</param> /// /// <returns>The response from the StartSnapshot service method, as returned by EBS.</returns> /// <exception cref="Amazon.EBS.Model.AccessDeniedException"> /// You do not have sufficient access to perform this action. /// </exception> /// <exception cref="Amazon.EBS.Model.ConcurrentLimitExceededException"> /// You have reached the limit for concurrent API requests. For more information, see /// <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html#ebsapi-performance">Optimizing /// performance of the EBS direct APIs</a> in the <i>Amazon Elastic Compute Cloud User /// Guide</i>. /// </exception> /// <exception cref="Amazon.EBS.Model.ConflictException"> /// The request uses the same client token as a previous, but non-identical request. /// </exception> /// <exception cref="Amazon.EBS.Model.InternalServerException"> /// An internal error has occurred. /// </exception> /// <exception cref="Amazon.EBS.Model.RequestThrottledException"> /// The number of API requests has exceed the maximum allowed API request throttling limit. /// </exception> /// <exception cref="Amazon.EBS.Model.ResourceNotFoundException"> /// The specified resource does not exist. /// </exception> /// <exception cref="Amazon.EBS.Model.ServiceQuotaExceededException"> /// Your current service quotas do not allow you to perform this action. /// </exception> /// <exception cref="Amazon.EBS.Model.ValidationException"> /// The input fails to satisfy the constraints of the EBS direct APIs. /// </exception> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/StartSnapshot">REST API Reference for StartSnapshot Operation</seealso> public virtual StartSnapshotResponse StartSnapshot(StartSnapshotRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = StartSnapshotRequestMarshaller.Instance; options.ResponseUnmarshaller = StartSnapshotResponseUnmarshaller.Instance; return(Invoke <StartSnapshotResponse>(request, options)); }
/// <summary> /// Initiates the asynchronous execution of the StartSnapshot operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the StartSnapshot operation on AmazonEBSClient.</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 EndStartSnapshot /// operation.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/StartSnapshot">REST API Reference for StartSnapshot Operation</seealso> public virtual IAsyncResult BeginStartSnapshot(StartSnapshotRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = StartSnapshotRequestMarshaller.Instance; options.ResponseUnmarshaller = StartSnapshotResponseUnmarshaller.Instance; return(BeginInvoke(request, options, callback, state)); }
/// <summary> /// Creates a new Amazon EBS snapshot. The new snapshot enters the <code>pending</code> /// state after the request completes. /// /// /// <para> /// After creating the snapshot, use <a href="https://docs.aws.amazon.com/ebs/latest/APIReference/API_PutSnapshotBlock.html"> /// PutSnapshotBlock</a> to write blocks of data to the snapshot. /// </para> /// </summary> /// <param name="request">Container for the necessary parameters to execute the StartSnapshot service method.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// /// <returns>The response from the StartSnapshot service method, as returned by EBS.</returns> /// <exception cref="Amazon.EBS.Model.AccessDeniedException"> /// You do not have sufficient access to perform this action. /// </exception> /// <exception cref="Amazon.EBS.Model.ConcurrentLimitExceededException"> /// You have reached the limit for concurrent API requests. For more information, see /// <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html#ebsapi-performance">Optimizing /// performance of the EBS direct APIs</a> in the <i>Amazon Elastic Compute Cloud User /// Guide</i>. /// </exception> /// <exception cref="Amazon.EBS.Model.ConflictException"> /// The request uses the same client token as a previous, but non-identical request. /// </exception> /// <exception cref="Amazon.EBS.Model.InternalServerException"> /// An internal error has occurred. /// </exception> /// <exception cref="Amazon.EBS.Model.RequestThrottledException"> /// The number of API requests has exceed the maximum allowed API request throttling limit. /// </exception> /// <exception cref="Amazon.EBS.Model.ResourceNotFoundException"> /// The specified resource does not exist. /// </exception> /// <exception cref="Amazon.EBS.Model.ServiceQuotaExceededException"> /// Your current service quotas do not allow you to perform this action. /// </exception> /// <exception cref="Amazon.EBS.Model.ValidationException"> /// The input fails to satisfy the constraints of the EBS direct APIs. /// </exception> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/StartSnapshot">REST API Reference for StartSnapshot Operation</seealso> public virtual Task <StartSnapshotResponse> StartSnapshotAsync(StartSnapshotRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = StartSnapshotRequestMarshaller.Instance; options.ResponseUnmarshaller = StartSnapshotResponseUnmarshaller.Instance; return(InvokeAsync <StartSnapshotResponse>(request, options, cancellationToken)); }