/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the ebs-2019-11-02.normal.json service model.
*/
using System;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.EBS.Model;
namespace Amazon.EBS
{
///
/// Interface for accessing EBS
///
/// You can use the Amazon Elastic Block Store (Amazon EBS) direct APIs to create Amazon
/// EBS snapshots, write data directly to your snapshots, read data on your snapshots,
/// and identify the differences or changes between two snapshots. If you’re an independent
/// software vendor (ISV) who offers backup services for Amazon EBS, the EBS direct APIs
/// make it more efficient and cost-effective to track incremental changes on your Amazon
/// EBS volumes through snapshots. This can be done without having to create new volumes
/// from snapshots, and then use Amazon Elastic Compute Cloud (Amazon EC2) instances to
/// compare the differences.
///
///
///
/// You can create incremental snapshots directly from data on-premises into volumes and
/// the cloud to use for quick disaster recovery. With the ability to write and read snapshots,
/// you can write your on-premises data to an snapshot during a disaster. Then after recovery,
/// you can restore it back to Amazon Web Services or on-premises from the snapshot. You
/// no longer need to build and maintain complex mechanisms to copy data to and from Amazon
/// EBS.
///
///
///
/// This API reference provides detailed information about the actions, data types, parameters,
/// and errors of the EBS direct APIs. For more information about the elements that make
/// up the EBS direct APIs, and examples of how to use them effectively, see Accessing
/// the Contents of an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud
/// User Guide. For more information about the supported Amazon Web Services Regions,
/// endpoints, and service quotas for the EBS direct APIs, see Amazon
/// Elastic Block Store Endpoints and Quotas in the Amazon Web Services General
/// Reference.
///
///
public partial interface IAmazonEBS : IAmazonService, IDisposable
{
#if BCL45 || AWS_ASYNC_ENUMERABLES_API
///
/// Paginators for the service
///
IEBSPaginatorFactory Paginators { get; }
#endif
#region CompleteSnapshot
///
/// Seals and completes the snapshot after all of the required blocks of data have been
/// written to it. Completing the snapshot changes the status to completed
.
/// You cannot write new blocks to a snapshot after it has been completed.
///
///
///
/// You should always retry requests that receive server (5xx
) error responses,
/// and ThrottlingException
and RequestThrottledException
client
/// error responses. For more information see Error
/// retries in the Amazon Elastic Compute Cloud User Guide.
///
///
///
/// Container for the necessary parameters to execute the CompleteSnapshot service method.
///
/// The response from the CompleteSnapshot service method, as returned by EBS.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. For more information see Error
/// retries.
///
///
/// The number of API requests has exceeded the maximum allowed API request throttling
/// limit for the snapshot. For more information see Error
/// retries.
///
///
/// The specified resource does not exist.
///
///
/// Your current service quotas do not allow you to perform this action.
///
///
/// The input fails to satisfy the constraints of the EBS direct APIs.
///
/// REST API Reference for CompleteSnapshot Operation
CompleteSnapshotResponse CompleteSnapshot(CompleteSnapshotRequest request);
///
/// Initiates the asynchronous execution of the CompleteSnapshot operation.
///
///
/// Container for the necessary parameters to execute the CompleteSnapshot operation on AmazonEBSClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCompleteSnapshot
/// operation.
/// REST API Reference for CompleteSnapshot Operation
IAsyncResult BeginCompleteSnapshot(CompleteSnapshotRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the CompleteSnapshot operation.
///
///
/// The IAsyncResult returned by the call to BeginCompleteSnapshot.
///
/// Returns a CompleteSnapshotResult from EBS.
/// REST API Reference for CompleteSnapshot Operation
CompleteSnapshotResponse EndCompleteSnapshot(IAsyncResult asyncResult);
#endregion
#region GetSnapshotBlock
///
/// Returns the data in a block in an Amazon Elastic Block Store snapshot.
///
///
///
/// You should always retry requests that receive server (5xx
) error responses,
/// and ThrottlingException
and RequestThrottledException
client
/// error responses. For more information see Error
/// retries in the Amazon Elastic Compute Cloud User Guide.
///
///
///
/// Container for the necessary parameters to execute the GetSnapshotBlock service method.
///
/// The response from the GetSnapshotBlock service method, as returned by EBS.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. For more information see Error
/// retries.
///
///
/// The number of API requests has exceeded the maximum allowed API request throttling
/// limit for the snapshot. For more information see Error
/// retries.
///
///
/// The specified resource does not exist.
///
///
/// Your current service quotas do not allow you to perform this action.
///
///
/// The input fails to satisfy the constraints of the EBS direct APIs.
///
/// REST API Reference for GetSnapshotBlock Operation
GetSnapshotBlockResponse GetSnapshotBlock(GetSnapshotBlockRequest request);
///
/// Initiates the asynchronous execution of the GetSnapshotBlock operation.
///
///
/// Container for the necessary parameters to execute the GetSnapshotBlock operation on AmazonEBSClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetSnapshotBlock
/// operation.
/// REST API Reference for GetSnapshotBlock Operation
IAsyncResult BeginGetSnapshotBlock(GetSnapshotBlockRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the GetSnapshotBlock operation.
///
///
/// The IAsyncResult returned by the call to BeginGetSnapshotBlock.
///
/// Returns a GetSnapshotBlockResult from EBS.
/// REST API Reference for GetSnapshotBlock Operation
GetSnapshotBlockResponse EndGetSnapshotBlock(IAsyncResult asyncResult);
#endregion
#region ListChangedBlocks
///
/// Returns information about the blocks that are different between two Amazon Elastic
/// Block Store snapshots of the same volume/snapshot lineage.
///
///
///
/// You should always retry requests that receive server (5xx
) error responses,
/// and ThrottlingException
and RequestThrottledException
client
/// error responses. For more information see Error
/// retries in the Amazon Elastic Compute Cloud User Guide.
///
///
///
/// Container for the necessary parameters to execute the ListChangedBlocks service method.
///
/// The response from the ListChangedBlocks service method, as returned by EBS.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. For more information see Error
/// retries.
///
///
/// The number of API requests has exceeded the maximum allowed API request throttling
/// limit for the snapshot. For more information see Error
/// retries.
///
///
/// The specified resource does not exist.
///
///
/// Your current service quotas do not allow you to perform this action.
///
///
/// The input fails to satisfy the constraints of the EBS direct APIs.
///
/// REST API Reference for ListChangedBlocks Operation
ListChangedBlocksResponse ListChangedBlocks(ListChangedBlocksRequest request);
///
/// Initiates the asynchronous execution of the ListChangedBlocks operation.
///
///
/// Container for the necessary parameters to execute the ListChangedBlocks operation on AmazonEBSClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListChangedBlocks
/// operation.
/// REST API Reference for ListChangedBlocks Operation
IAsyncResult BeginListChangedBlocks(ListChangedBlocksRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the ListChangedBlocks operation.
///
///
/// The IAsyncResult returned by the call to BeginListChangedBlocks.
///
/// Returns a ListChangedBlocksResult from EBS.
/// REST API Reference for ListChangedBlocks Operation
ListChangedBlocksResponse EndListChangedBlocks(IAsyncResult asyncResult);
#endregion
#region ListSnapshotBlocks
///
/// Returns information about the blocks in an Amazon Elastic Block Store snapshot.
///
///
///
/// You should always retry requests that receive server (5xx
) error responses,
/// and ThrottlingException
and RequestThrottledException
client
/// error responses. For more information see Error
/// retries in the Amazon Elastic Compute Cloud User Guide.
///
///
///
/// Container for the necessary parameters to execute the ListSnapshotBlocks service method.
///
/// The response from the ListSnapshotBlocks service method, as returned by EBS.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. For more information see Error
/// retries.
///
///
/// The number of API requests has exceeded the maximum allowed API request throttling
/// limit for the snapshot. For more information see Error
/// retries.
///
///
/// The specified resource does not exist.
///
///
/// Your current service quotas do not allow you to perform this action.
///
///
/// The input fails to satisfy the constraints of the EBS direct APIs.
///
/// REST API Reference for ListSnapshotBlocks Operation
ListSnapshotBlocksResponse ListSnapshotBlocks(ListSnapshotBlocksRequest request);
///
/// Initiates the asynchronous execution of the ListSnapshotBlocks operation.
///
///
/// Container for the necessary parameters to execute the ListSnapshotBlocks operation on AmazonEBSClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListSnapshotBlocks
/// operation.
/// REST API Reference for ListSnapshotBlocks Operation
IAsyncResult BeginListSnapshotBlocks(ListSnapshotBlocksRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the ListSnapshotBlocks operation.
///
///
/// The IAsyncResult returned by the call to BeginListSnapshotBlocks.
///
/// Returns a ListSnapshotBlocksResult from EBS.
/// REST API Reference for ListSnapshotBlocks Operation
ListSnapshotBlocksResponse EndListSnapshotBlocks(IAsyncResult asyncResult);
#endregion
#region PutSnapshotBlock
///
/// Writes a block of data to a snapshot. If the specified block contains data, the existing
/// data is overwritten. The target snapshot must be in the pending
state.
///
///
///
/// Data written to a snapshot must be aligned with 512-KiB sectors.
///
///
///
/// You should always retry requests that receive server (5xx
) error responses,
/// and ThrottlingException
and RequestThrottledException
client
/// error responses. For more information see Error
/// retries in the Amazon Elastic Compute Cloud User Guide.
///
///
///
/// Container for the necessary parameters to execute the PutSnapshotBlock service method.
///
/// The response from the PutSnapshotBlock service method, as returned by EBS.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. For more information see Error
/// retries.
///
///
/// The number of API requests has exceeded the maximum allowed API request throttling
/// limit for the snapshot. For more information see Error
/// retries.
///
///
/// The specified resource does not exist.
///
///
/// Your current service quotas do not allow you to perform this action.
///
///
/// The input fails to satisfy the constraints of the EBS direct APIs.
///
/// REST API Reference for PutSnapshotBlock Operation
PutSnapshotBlockResponse PutSnapshotBlock(PutSnapshotBlockRequest request);
///
/// Initiates the asynchronous execution of the PutSnapshotBlock operation.
///
///
/// Container for the necessary parameters to execute the PutSnapshotBlock operation on AmazonEBSClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPutSnapshotBlock
/// operation.
/// REST API Reference for PutSnapshotBlock Operation
IAsyncResult BeginPutSnapshotBlock(PutSnapshotBlockRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the PutSnapshotBlock operation.
///
///
/// The IAsyncResult returned by the call to BeginPutSnapshotBlock.
///
/// Returns a PutSnapshotBlockResult from EBS.
/// REST API Reference for PutSnapshotBlock Operation
PutSnapshotBlockResponse EndPutSnapshotBlock(IAsyncResult asyncResult);
#endregion
#region StartSnapshot
///
/// Creates a new Amazon EBS snapshot. The new snapshot enters the pending
/// state after the request completes.
///
///
///
/// After creating the snapshot, use
/// PutSnapshotBlock to write blocks of data to the snapshot.
///
///
///
/// You should always retry requests that receive server (5xx
) error responses,
/// and ThrottlingException
and RequestThrottledException
client
/// error responses. For more information see Error
/// retries in the Amazon Elastic Compute Cloud User Guide.
///
///
///
/// Container for the necessary parameters to execute the StartSnapshot service method.
///
/// The response from the StartSnapshot service method, as returned by EBS.
///
/// You do not have sufficient access to perform this action.
///
///
/// You have reached the limit for concurrent API requests. For more information, see
/// Optimizing
/// performance of the EBS direct APIs in the Amazon Elastic Compute Cloud User
/// Guide.
///
///
/// The request uses the same client token as a previous, but non-identical request.
///
///
/// An internal error has occurred. For more information see Error
/// retries.
///
///
/// The number of API requests has exceeded the maximum allowed API request throttling
/// limit for the snapshot. For more information see Error
/// retries.
///
///
/// The specified resource does not exist.
///
///
/// Your current service quotas do not allow you to perform this action.
///
///
/// The input fails to satisfy the constraints of the EBS direct APIs.
///
/// REST API Reference for StartSnapshot Operation
StartSnapshotResponse StartSnapshot(StartSnapshotRequest request);
///
/// Initiates the asynchronous execution of the StartSnapshot operation.
///
///
/// Container for the necessary parameters to execute the StartSnapshot operation on AmazonEBSClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndStartSnapshot
/// operation.
/// REST API Reference for StartSnapshot Operation
IAsyncResult BeginStartSnapshot(StartSnapshotRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the StartSnapshot operation.
///
///
/// The IAsyncResult returned by the call to BeginStartSnapshot.
///
/// Returns a StartSnapshotResult from EBS.
/// REST API Reference for StartSnapshot Operation
StartSnapshotResponse EndStartSnapshot(IAsyncResult asyncResult);
#endregion
}
}