/*
* 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.Threading;
using System.Threading.Tasks;
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
{
///
/// Paginators for the service
///
IEBSPaginatorFactory Paginators { get; }
#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);
///
/// 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.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task CompleteSnapshotAsync(CompleteSnapshotRequest request, CancellationToken cancellationToken = default(CancellationToken));
#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);
///
/// 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.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task GetSnapshotBlockAsync(GetSnapshotBlockRequest request, CancellationToken cancellationToken = default(CancellationToken));
#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);
///
/// 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.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task ListChangedBlocksAsync(ListChangedBlocksRequest request, CancellationToken cancellationToken = default(CancellationToken));
#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);
///
/// 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.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task ListSnapshotBlocksAsync(ListSnapshotBlocksRequest request, CancellationToken cancellationToken = default(CancellationToken));
#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);
///
/// 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.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task PutSnapshotBlockAsync(PutSnapshotBlockRequest request, CancellationToken cancellationToken = default(CancellationToken));
#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);
///
/// 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.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task StartSnapshotAsync(StartSnapshotRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}