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

See * Also:

AWS API * Reference

*/ class Block { public: AWS_EBS_API Block(); AWS_EBS_API Block(Aws::Utils::Json::JsonView jsonValue); AWS_EBS_API Block& 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 Block& WithBlockIndex(int value) { SetBlockIndex(value); return *this;} /** *

The block token for the block index.

*/ inline const Aws::String& GetBlockToken() const{ return m_blockToken; } /** *

The block token for the block index.

*/ inline bool BlockTokenHasBeenSet() const { return m_blockTokenHasBeenSet; } /** *

The block token for the block index.

*/ inline void SetBlockToken(const Aws::String& value) { m_blockTokenHasBeenSet = true; m_blockToken = value; } /** *

The block token for the block index.

*/ inline void SetBlockToken(Aws::String&& value) { m_blockTokenHasBeenSet = true; m_blockToken = std::move(value); } /** *

The block token for the block index.

*/ inline void SetBlockToken(const char* value) { m_blockTokenHasBeenSet = true; m_blockToken.assign(value); } /** *

The block token for the block index.

*/ inline Block& WithBlockToken(const Aws::String& value) { SetBlockToken(value); return *this;} /** *

The block token for the block index.

*/ inline Block& WithBlockToken(Aws::String&& value) { SetBlockToken(std::move(value)); return *this;} /** *

The block token for the block index.

*/ inline Block& WithBlockToken(const char* value) { SetBlockToken(value); return *this;} private: int m_blockIndex; bool m_blockIndexHasBeenSet = false; Aws::String m_blockToken; bool m_blockTokenHasBeenSet = false; }; } // namespace Model } // namespace EBS } // namespace Aws