/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace EBS { namespace Model { /** *

A block of data in an Amazon Elastic Block Store snapshot that is different * from another snapshot of the same volume/snapshot lineage.

See * Also:

AWS * API Reference

*/ class ChangedBlock { public: AWS_EBS_API ChangedBlock(); AWS_EBS_API ChangedBlock(Aws::Utils::Json::JsonView jsonValue); AWS_EBS_API ChangedBlock& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_EBS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The block index.

*/ inline int GetBlockIndex() const{ return m_blockIndex; } /** *

The block index.

*/ inline bool BlockIndexHasBeenSet() const { return m_blockIndexHasBeenSet; } /** *

The block index.

*/ inline void SetBlockIndex(int value) { m_blockIndexHasBeenSet = true; m_blockIndex = value; } /** *

The block index.

*/ inline ChangedBlock& WithBlockIndex(int value) { SetBlockIndex(value); return *this;} /** *

The block token for the block index of the FirstSnapshotId * specified in the ListChangedBlocks operation. This value is absent * if the first snapshot does not have the changed block that is on the second * snapshot.

*/ inline const Aws::String& GetFirstBlockToken() const{ return m_firstBlockToken; } /** *

The block token for the block index of the FirstSnapshotId * specified in the ListChangedBlocks operation. This value is absent * if the first snapshot does not have the changed block that is on the second * snapshot.

*/ inline bool FirstBlockTokenHasBeenSet() const { return m_firstBlockTokenHasBeenSet; } /** *

The block token for the block index of the FirstSnapshotId * specified in the ListChangedBlocks operation. This value is absent * if the first snapshot does not have the changed block that is on the second * snapshot.

*/ inline void SetFirstBlockToken(const Aws::String& value) { m_firstBlockTokenHasBeenSet = true; m_firstBlockToken = value; } /** *

The block token for the block index of the FirstSnapshotId * specified in the ListChangedBlocks operation. This value is absent * if the first snapshot does not have the changed block that is on the second * snapshot.

*/ inline void SetFirstBlockToken(Aws::String&& value) { m_firstBlockTokenHasBeenSet = true; m_firstBlockToken = std::move(value); } /** *

The block token for the block index of the FirstSnapshotId * specified in the ListChangedBlocks operation. This value is absent * if the first snapshot does not have the changed block that is on the second * snapshot.

*/ inline void SetFirstBlockToken(const char* value) { m_firstBlockTokenHasBeenSet = true; m_firstBlockToken.assign(value); } /** *

The block token for the block index of the FirstSnapshotId * specified in the ListChangedBlocks operation. This value is absent * if the first snapshot does not have the changed block that is on the second * snapshot.

*/ inline ChangedBlock& WithFirstBlockToken(const Aws::String& value) { SetFirstBlockToken(value); return *this;} /** *

The block token for the block index of the FirstSnapshotId * specified in the ListChangedBlocks operation. This value is absent * if the first snapshot does not have the changed block that is on the second * snapshot.

*/ inline ChangedBlock& WithFirstBlockToken(Aws::String&& value) { SetFirstBlockToken(std::move(value)); return *this;} /** *

The block token for the block index of the FirstSnapshotId * specified in the ListChangedBlocks operation. This value is absent * if the first snapshot does not have the changed block that is on the second * snapshot.

*/ inline ChangedBlock& WithFirstBlockToken(const char* value) { SetFirstBlockToken(value); return *this;} /** *

The block token for the block index of the SecondSnapshotId * specified in the ListChangedBlocks operation.

*/ inline const Aws::String& GetSecondBlockToken() const{ return m_secondBlockToken; } /** *

The block token for the block index of the SecondSnapshotId * specified in the ListChangedBlocks operation.

*/ inline bool SecondBlockTokenHasBeenSet() const { return m_secondBlockTokenHasBeenSet; } /** *

The block token for the block index of the SecondSnapshotId * specified in the ListChangedBlocks operation.

*/ inline void SetSecondBlockToken(const Aws::String& value) { m_secondBlockTokenHasBeenSet = true; m_secondBlockToken = value; } /** *

The block token for the block index of the SecondSnapshotId * specified in the ListChangedBlocks operation.

*/ inline void SetSecondBlockToken(Aws::String&& value) { m_secondBlockTokenHasBeenSet = true; m_secondBlockToken = std::move(value); } /** *

The block token for the block index of the SecondSnapshotId * specified in the ListChangedBlocks operation.

*/ inline void SetSecondBlockToken(const char* value) { m_secondBlockTokenHasBeenSet = true; m_secondBlockToken.assign(value); } /** *

The block token for the block index of the SecondSnapshotId * specified in the ListChangedBlocks operation.

*/ inline ChangedBlock& WithSecondBlockToken(const Aws::String& value) { SetSecondBlockToken(value); return *this;} /** *

The block token for the block index of the SecondSnapshotId * specified in the ListChangedBlocks operation.

*/ inline ChangedBlock& WithSecondBlockToken(Aws::String&& value) { SetSecondBlockToken(std::move(value)); return *this;} /** *

The block token for the block index of the SecondSnapshotId * specified in the ListChangedBlocks operation.

*/ inline ChangedBlock& WithSecondBlockToken(const char* value) { SetSecondBlockToken(value); return *this;} private: int m_blockIndex; bool m_blockIndexHasBeenSet = false; Aws::String m_firstBlockToken; bool m_firstBlockTokenHasBeenSet = false; Aws::String m_secondBlockToken; bool m_secondBlockTokenHasBeenSet = false; }; } // namespace Model } // namespace EBS } // namespace Aws