/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Http { class URI; } //namespace Http namespace EBS { namespace Model { /** */ class ListChangedBlocksRequest : public EBSRequest { public: AWS_EBS_API ListChangedBlocksRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "ListChangedBlocks"; } AWS_EBS_API Aws::String SerializePayload() const override; AWS_EBS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; /** *

The ID of the first snapshot to use for the comparison.

*

The FirstSnapshotID parameter must be specified with a * SecondSnapshotId parameter; otherwise, an error occurs.

* */ inline const Aws::String& GetFirstSnapshotId() const{ return m_firstSnapshotId; } /** *

The ID of the first snapshot to use for the comparison.

*

The FirstSnapshotID parameter must be specified with a * SecondSnapshotId parameter; otherwise, an error occurs.

* */ inline bool FirstSnapshotIdHasBeenSet() const { return m_firstSnapshotIdHasBeenSet; } /** *

The ID of the first snapshot to use for the comparison.

*

The FirstSnapshotID parameter must be specified with a * SecondSnapshotId parameter; otherwise, an error occurs.

* */ inline void SetFirstSnapshotId(const Aws::String& value) { m_firstSnapshotIdHasBeenSet = true; m_firstSnapshotId = value; } /** *

The ID of the first snapshot to use for the comparison.

*

The FirstSnapshotID parameter must be specified with a * SecondSnapshotId parameter; otherwise, an error occurs.

* */ inline void SetFirstSnapshotId(Aws::String&& value) { m_firstSnapshotIdHasBeenSet = true; m_firstSnapshotId = std::move(value); } /** *

The ID of the first snapshot to use for the comparison.

*

The FirstSnapshotID parameter must be specified with a * SecondSnapshotId parameter; otherwise, an error occurs.

* */ inline void SetFirstSnapshotId(const char* value) { m_firstSnapshotIdHasBeenSet = true; m_firstSnapshotId.assign(value); } /** *

The ID of the first snapshot to use for the comparison.

*

The FirstSnapshotID parameter must be specified with a * SecondSnapshotId parameter; otherwise, an error occurs.

* */ inline ListChangedBlocksRequest& WithFirstSnapshotId(const Aws::String& value) { SetFirstSnapshotId(value); return *this;} /** *

The ID of the first snapshot to use for the comparison.

*

The FirstSnapshotID parameter must be specified with a * SecondSnapshotId parameter; otherwise, an error occurs.

* */ inline ListChangedBlocksRequest& WithFirstSnapshotId(Aws::String&& value) { SetFirstSnapshotId(std::move(value)); return *this;} /** *

The ID of the first snapshot to use for the comparison.

*

The FirstSnapshotID parameter must be specified with a * SecondSnapshotId parameter; otherwise, an error occurs.

* */ inline ListChangedBlocksRequest& WithFirstSnapshotId(const char* value) { SetFirstSnapshotId(value); return *this;} /** *

The ID of the second snapshot to use for the comparison.

*

The SecondSnapshotId parameter must be specified with a * FirstSnapshotID parameter; otherwise, an error occurs.

* */ inline const Aws::String& GetSecondSnapshotId() const{ return m_secondSnapshotId; } /** *

The ID of the second snapshot to use for the comparison.

*

The SecondSnapshotId parameter must be specified with a * FirstSnapshotID parameter; otherwise, an error occurs.

* */ inline bool SecondSnapshotIdHasBeenSet() const { return m_secondSnapshotIdHasBeenSet; } /** *

The ID of the second snapshot to use for the comparison.

*

The SecondSnapshotId parameter must be specified with a * FirstSnapshotID parameter; otherwise, an error occurs.

* */ inline void SetSecondSnapshotId(const Aws::String& value) { m_secondSnapshotIdHasBeenSet = true; m_secondSnapshotId = value; } /** *

The ID of the second snapshot to use for the comparison.

*

The SecondSnapshotId parameter must be specified with a * FirstSnapshotID parameter; otherwise, an error occurs.

* */ inline void SetSecondSnapshotId(Aws::String&& value) { m_secondSnapshotIdHasBeenSet = true; m_secondSnapshotId = std::move(value); } /** *

The ID of the second snapshot to use for the comparison.

*

The SecondSnapshotId parameter must be specified with a * FirstSnapshotID parameter; otherwise, an error occurs.

* */ inline void SetSecondSnapshotId(const char* value) { m_secondSnapshotIdHasBeenSet = true; m_secondSnapshotId.assign(value); } /** *

The ID of the second snapshot to use for the comparison.

*

The SecondSnapshotId parameter must be specified with a * FirstSnapshotID parameter; otherwise, an error occurs.

* */ inline ListChangedBlocksRequest& WithSecondSnapshotId(const Aws::String& value) { SetSecondSnapshotId(value); return *this;} /** *

The ID of the second snapshot to use for the comparison.

*

The SecondSnapshotId parameter must be specified with a * FirstSnapshotID parameter; otherwise, an error occurs.

* */ inline ListChangedBlocksRequest& WithSecondSnapshotId(Aws::String&& value) { SetSecondSnapshotId(std::move(value)); return *this;} /** *

The ID of the second snapshot to use for the comparison.

*

The SecondSnapshotId parameter must be specified with a * FirstSnapshotID parameter; otherwise, an error occurs.

* */ inline ListChangedBlocksRequest& WithSecondSnapshotId(const char* value) { SetSecondSnapshotId(value); return *this;} /** *

The token to request the next page of results.

If you specify * NextToken, then StartingBlockIndex is ignored.

*/ inline const Aws::String& GetNextToken() const{ return m_nextToken; } /** *

The token to request the next page of results.

If you specify * NextToken, then StartingBlockIndex is ignored.

*/ inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } /** *

The token to request the next page of results.

If you specify * NextToken, then StartingBlockIndex is ignored.

*/ inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } /** *

The token to request the next page of results.

If you specify * NextToken, then StartingBlockIndex is ignored.

*/ inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } /** *

The token to request the next page of results.

If you specify * NextToken, then StartingBlockIndex is ignored.

*/ inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } /** *

The token to request the next page of results.

If you specify * NextToken, then StartingBlockIndex is ignored.

*/ inline ListChangedBlocksRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} /** *

The token to request the next page of results.

If you specify * NextToken, then StartingBlockIndex is ignored.

*/ inline ListChangedBlocksRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} /** *

The token to request the next page of results.

If you specify * NextToken, then StartingBlockIndex is ignored.

*/ inline ListChangedBlocksRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} /** *

The maximum number of blocks to be returned by the request.

Even if * additional blocks can be retrieved from the snapshot, the request can return * less blocks than MaxResults or an empty array of blocks.

To * retrieve the next set of blocks from the snapshot, make another request with the * returned NextToken value. The value of NextToken is * null when there are no more blocks to return.

*/ inline int GetMaxResults() const{ return m_maxResults; } /** *

The maximum number of blocks to be returned by the request.

Even if * additional blocks can be retrieved from the snapshot, the request can return * less blocks than MaxResults or an empty array of blocks.

To * retrieve the next set of blocks from the snapshot, make another request with the * returned NextToken value. The value of NextToken is * null when there are no more blocks to return.

*/ inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } /** *

The maximum number of blocks to be returned by the request.

Even if * additional blocks can be retrieved from the snapshot, the request can return * less blocks than MaxResults or an empty array of blocks.

To * retrieve the next set of blocks from the snapshot, make another request with the * returned NextToken value. The value of NextToken is * null when there are no more blocks to return.

*/ inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } /** *

The maximum number of blocks to be returned by the request.

Even if * additional blocks can be retrieved from the snapshot, the request can return * less blocks than MaxResults or an empty array of blocks.

To * retrieve the next set of blocks from the snapshot, make another request with the * returned NextToken value. The value of NextToken is * null when there are no more blocks to return.

*/ inline ListChangedBlocksRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} /** *

The block index from which the comparison should start.

The list in * the response will start from this block index or the next valid block index in * the snapshots.

If you specify NextToken, then * StartingBlockIndex is ignored.

*/ inline int GetStartingBlockIndex() const{ return m_startingBlockIndex; } /** *

The block index from which the comparison should start.

The list in * the response will start from this block index or the next valid block index in * the snapshots.

If you specify NextToken, then * StartingBlockIndex is ignored.

*/ inline bool StartingBlockIndexHasBeenSet() const { return m_startingBlockIndexHasBeenSet; } /** *

The block index from which the comparison should start.

The list in * the response will start from this block index or the next valid block index in * the snapshots.

If you specify NextToken, then * StartingBlockIndex is ignored.

*/ inline void SetStartingBlockIndex(int value) { m_startingBlockIndexHasBeenSet = true; m_startingBlockIndex = value; } /** *

The block index from which the comparison should start.

The list in * the response will start from this block index or the next valid block index in * the snapshots.

If you specify NextToken, then * StartingBlockIndex is ignored.

*/ inline ListChangedBlocksRequest& WithStartingBlockIndex(int value) { SetStartingBlockIndex(value); return *this;} private: Aws::String m_firstSnapshotId; bool m_firstSnapshotIdHasBeenSet = false; Aws::String m_secondSnapshotId; bool m_secondSnapshotIdHasBeenSet = false; Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; int m_maxResults; bool m_maxResultsHasBeenSet = false; int m_startingBlockIndex; bool m_startingBlockIndexHasBeenSet = false; }; } // namespace Model } // namespace EBS } // namespace Aws