/** * 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 ManagedBlockchain { namespace Model { /** *

Configuration properties for logging events associated with a peer node owned * by a member in a Managed Blockchain network.

See Also:

AWS * API Reference

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

Configuration properties for logging events associated with chaincode * execution on a peer node. Chaincode logs contain the results of instantiating, * invoking, and querying the chaincode. A peer can run multiple instances of * chaincode. When enabled, a log stream is created for all chaincodes, with an * individual log stream for each chaincode.

*/ inline const LogConfigurations& GetChaincodeLogs() const{ return m_chaincodeLogs; } /** *

Configuration properties for logging events associated with chaincode * execution on a peer node. Chaincode logs contain the results of instantiating, * invoking, and querying the chaincode. A peer can run multiple instances of * chaincode. When enabled, a log stream is created for all chaincodes, with an * individual log stream for each chaincode.

*/ inline bool ChaincodeLogsHasBeenSet() const { return m_chaincodeLogsHasBeenSet; } /** *

Configuration properties for logging events associated with chaincode * execution on a peer node. Chaincode logs contain the results of instantiating, * invoking, and querying the chaincode. A peer can run multiple instances of * chaincode. When enabled, a log stream is created for all chaincodes, with an * individual log stream for each chaincode.

*/ inline void SetChaincodeLogs(const LogConfigurations& value) { m_chaincodeLogsHasBeenSet = true; m_chaincodeLogs = value; } /** *

Configuration properties for logging events associated with chaincode * execution on a peer node. Chaincode logs contain the results of instantiating, * invoking, and querying the chaincode. A peer can run multiple instances of * chaincode. When enabled, a log stream is created for all chaincodes, with an * individual log stream for each chaincode.

*/ inline void SetChaincodeLogs(LogConfigurations&& value) { m_chaincodeLogsHasBeenSet = true; m_chaincodeLogs = std::move(value); } /** *

Configuration properties for logging events associated with chaincode * execution on a peer node. Chaincode logs contain the results of instantiating, * invoking, and querying the chaincode. A peer can run multiple instances of * chaincode. When enabled, a log stream is created for all chaincodes, with an * individual log stream for each chaincode.

*/ inline NodeFabricLogPublishingConfiguration& WithChaincodeLogs(const LogConfigurations& value) { SetChaincodeLogs(value); return *this;} /** *

Configuration properties for logging events associated with chaincode * execution on a peer node. Chaincode logs contain the results of instantiating, * invoking, and querying the chaincode. A peer can run multiple instances of * chaincode. When enabled, a log stream is created for all chaincodes, with an * individual log stream for each chaincode.

*/ inline NodeFabricLogPublishingConfiguration& WithChaincodeLogs(LogConfigurations&& value) { SetChaincodeLogs(std::move(value)); return *this;} /** *

Configuration properties for a peer node log. Peer node logs contain messages * generated when your client submits transaction proposals to peer nodes, requests * to join channels, enrolls an admin peer, and lists the chaincode instances on a * peer node.

*/ inline const LogConfigurations& GetPeerLogs() const{ return m_peerLogs; } /** *

Configuration properties for a peer node log. Peer node logs contain messages * generated when your client submits transaction proposals to peer nodes, requests * to join channels, enrolls an admin peer, and lists the chaincode instances on a * peer node.

*/ inline bool PeerLogsHasBeenSet() const { return m_peerLogsHasBeenSet; } /** *

Configuration properties for a peer node log. Peer node logs contain messages * generated when your client submits transaction proposals to peer nodes, requests * to join channels, enrolls an admin peer, and lists the chaincode instances on a * peer node.

*/ inline void SetPeerLogs(const LogConfigurations& value) { m_peerLogsHasBeenSet = true; m_peerLogs = value; } /** *

Configuration properties for a peer node log. Peer node logs contain messages * generated when your client submits transaction proposals to peer nodes, requests * to join channels, enrolls an admin peer, and lists the chaincode instances on a * peer node.

*/ inline void SetPeerLogs(LogConfigurations&& value) { m_peerLogsHasBeenSet = true; m_peerLogs = std::move(value); } /** *

Configuration properties for a peer node log. Peer node logs contain messages * generated when your client submits transaction proposals to peer nodes, requests * to join channels, enrolls an admin peer, and lists the chaincode instances on a * peer node.

*/ inline NodeFabricLogPublishingConfiguration& WithPeerLogs(const LogConfigurations& value) { SetPeerLogs(value); return *this;} /** *

Configuration properties for a peer node log. Peer node logs contain messages * generated when your client submits transaction proposals to peer nodes, requests * to join channels, enrolls an admin peer, and lists the chaincode instances on a * peer node.

*/ inline NodeFabricLogPublishingConfiguration& WithPeerLogs(LogConfigurations&& value) { SetPeerLogs(std::move(value)); return *this;} private: LogConfigurations m_chaincodeLogs; bool m_chaincodeLogsHasBeenSet = false; LogConfigurations m_peerLogs; bool m_peerLogsHasBeenSet = false; }; } // namespace Model } // namespace ManagedBlockchain } // namespace Aws