/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ManagedBlockchain { namespace Model { /** *

Attributes relevant to the network for the blockchain framework that the * network uses.

See Also:

AWS * API Reference

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

Attributes of Hyperledger Fabric for a Managed Blockchain network that uses * Hyperledger Fabric.

*/ inline const NetworkFabricAttributes& GetFabric() const{ return m_fabric; } /** *

Attributes of Hyperledger Fabric for a Managed Blockchain network that uses * Hyperledger Fabric.

*/ inline bool FabricHasBeenSet() const { return m_fabricHasBeenSet; } /** *

Attributes of Hyperledger Fabric for a Managed Blockchain network that uses * Hyperledger Fabric.

*/ inline void SetFabric(const NetworkFabricAttributes& value) { m_fabricHasBeenSet = true; m_fabric = value; } /** *

Attributes of Hyperledger Fabric for a Managed Blockchain network that uses * Hyperledger Fabric.

*/ inline void SetFabric(NetworkFabricAttributes&& value) { m_fabricHasBeenSet = true; m_fabric = std::move(value); } /** *

Attributes of Hyperledger Fabric for a Managed Blockchain network that uses * Hyperledger Fabric.

*/ inline NetworkFrameworkAttributes& WithFabric(const NetworkFabricAttributes& value) { SetFabric(value); return *this;} /** *

Attributes of Hyperledger Fabric for a Managed Blockchain network that uses * Hyperledger Fabric.

*/ inline NetworkFrameworkAttributes& WithFabric(NetworkFabricAttributes&& value) { SetFabric(std::move(value)); return *this;} /** *

Attributes of an Ethereum network for Managed Blockchain resources * participating in an Ethereum network.

*/ inline const NetworkEthereumAttributes& GetEthereum() const{ return m_ethereum; } /** *

Attributes of an Ethereum network for Managed Blockchain resources * participating in an Ethereum network.

*/ inline bool EthereumHasBeenSet() const { return m_ethereumHasBeenSet; } /** *

Attributes of an Ethereum network for Managed Blockchain resources * participating in an Ethereum network.

*/ inline void SetEthereum(const NetworkEthereumAttributes& value) { m_ethereumHasBeenSet = true; m_ethereum = value; } /** *

Attributes of an Ethereum network for Managed Blockchain resources * participating in an Ethereum network.

*/ inline void SetEthereum(NetworkEthereumAttributes&& value) { m_ethereumHasBeenSet = true; m_ethereum = std::move(value); } /** *

Attributes of an Ethereum network for Managed Blockchain resources * participating in an Ethereum network.

*/ inline NetworkFrameworkAttributes& WithEthereum(const NetworkEthereumAttributes& value) { SetEthereum(value); return *this;} /** *

Attributes of an Ethereum network for Managed Blockchain resources * participating in an Ethereum network.

*/ inline NetworkFrameworkAttributes& WithEthereum(NetworkEthereumAttributes&& value) { SetEthereum(std::move(value)); return *this;} private: NetworkFabricAttributes m_fabric; bool m_fabricHasBeenSet = false; NetworkEthereumAttributes m_ethereum; bool m_ethereumHasBeenSet = false; }; } // namespace Model } // namespace ManagedBlockchain } // namespace Aws