/* * 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 } }