/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace ManagedBlockchain { /** *

Amazon Managed Blockchain is a fully managed service for creating and * managing blockchain networks using open-source frameworks. Blockchain allows you * to build applications where multiple parties can securely and transparently run * transactions and share data without the need for a trusted, central * authority.

Managed Blockchain supports the Hyperledger Fabric and * Ethereum open-source frameworks. Because of fundamental differences between the * frameworks, some API actions or data types may only apply in the context of one * framework and not the other. For example, actions related to Hyperledger Fabric * network members such as CreateMember and DeleteMember * don't apply to Ethereum.

The description for each action indicates the * framework or frameworks to which it applies. Data types and properties that * apply only in the context of a particular framework are similarly indicated.

*/ class AWS_MANAGEDBLOCKCHAIN_API ManagedBlockchainClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { public: typedef Aws::Client::AWSJsonClient BASECLASS; static const char* SERVICE_NAME; static const char* ALLOCATION_TAG; typedef ManagedBlockchainClientConfiguration ClientConfigurationType; typedef ManagedBlockchainEndpointProvider EndpointProviderType; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ ManagedBlockchainClient(const Aws::ManagedBlockchain::ManagedBlockchainClientConfiguration& clientConfiguration = Aws::ManagedBlockchain::ManagedBlockchainClientConfiguration(), std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ ManagedBlockchainClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::ManagedBlockchain::ManagedBlockchainClientConfiguration& clientConfiguration = Aws::ManagedBlockchain::ManagedBlockchainClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ ManagedBlockchainClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::ManagedBlockchain::ManagedBlockchainClientConfiguration& clientConfiguration = Aws::ManagedBlockchain::ManagedBlockchainClientConfiguration()); /* Legacy constructors due deprecation */ /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ ManagedBlockchainClient(const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ ManagedBlockchainClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ ManagedBlockchainClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~ManagedBlockchainClient(); /** *

Creates a new accessor for use with Managed Blockchain Ethereum nodes. An * accessor contains information required for token based access to your Ethereum * nodes.

See Also:

AWS * API Reference

*/ virtual Model::CreateAccessorOutcome CreateAccessor(const Model::CreateAccessorRequest& request) const; /** * A Callable wrapper for CreateAccessor that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateAccessorOutcomeCallable CreateAccessorCallable(const CreateAccessorRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::CreateAccessor, request); } /** * An Async wrapper for CreateAccessor that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateAccessorAsync(const CreateAccessorRequestT& request, const CreateAccessorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::CreateAccessor, request, handler, context); } /** *

Creates a member within a Managed Blockchain network.

Applies only to * Hyperledger Fabric.

See Also:

AWS * API Reference

*/ virtual Model::CreateMemberOutcome CreateMember(const Model::CreateMemberRequest& request) const; /** * A Callable wrapper for CreateMember that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateMemberOutcomeCallable CreateMemberCallable(const CreateMemberRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::CreateMember, request); } /** * An Async wrapper for CreateMember that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateMemberAsync(const CreateMemberRequestT& request, const CreateMemberResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::CreateMember, request, handler, context); } /** *

Creates a new blockchain network using Amazon Managed Blockchain.

*

Applies only to Hyperledger Fabric.

See Also:

AWS * API Reference

*/ virtual Model::CreateNetworkOutcome CreateNetwork(const Model::CreateNetworkRequest& request) const; /** * A Callable wrapper for CreateNetwork that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateNetworkOutcomeCallable CreateNetworkCallable(const CreateNetworkRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::CreateNetwork, request); } /** * An Async wrapper for CreateNetwork that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateNetworkAsync(const CreateNetworkRequestT& request, const CreateNetworkResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::CreateNetwork, request, handler, context); } /** *

Creates a node on the specified blockchain network.

Applies to * Hyperledger Fabric and Ethereum.

See Also:

AWS * API Reference

*/ virtual Model::CreateNodeOutcome CreateNode(const Model::CreateNodeRequest& request) const; /** * A Callable wrapper for CreateNode that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateNodeOutcomeCallable CreateNodeCallable(const CreateNodeRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::CreateNode, request); } /** * An Async wrapper for CreateNode that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateNodeAsync(const CreateNodeRequestT& request, const CreateNodeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::CreateNode, request, handler, context); } /** *

Creates a proposal for a change to the network that other members of the * network can vote on, for example, a proposal to add a new member to the network. * Any member can create a proposal.

Applies only to Hyperledger * Fabric.

See Also:

AWS * API Reference

*/ virtual Model::CreateProposalOutcome CreateProposal(const Model::CreateProposalRequest& request) const; /** * A Callable wrapper for CreateProposal that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateProposalOutcomeCallable CreateProposalCallable(const CreateProposalRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::CreateProposal, request); } /** * An Async wrapper for CreateProposal that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateProposalAsync(const CreateProposalRequestT& request, const CreateProposalResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::CreateProposal, request, handler, context); } /** *

Deletes an accessor that your Amazon Web Services account owns. An accessor * object is a container that has the information required for token based access * to your Ethereum nodes including, the BILLING_TOKEN. After an * accessor is deleted, the status of the accessor changes from * AVAILABLE to PENDING_DELETION. An accessor in the * PENDING_DELETION state can’t be used for new WebSocket requests or * HTTP requests. However, WebSocket connections that were initiated while the * accessor was in the AVAILABLE state remain open until they expire * (up to 2 hours).

See Also:

AWS * API Reference

*/ virtual Model::DeleteAccessorOutcome DeleteAccessor(const Model::DeleteAccessorRequest& request) const; /** * A Callable wrapper for DeleteAccessor that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteAccessorOutcomeCallable DeleteAccessorCallable(const DeleteAccessorRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::DeleteAccessor, request); } /** * An Async wrapper for DeleteAccessor that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteAccessorAsync(const DeleteAccessorRequestT& request, const DeleteAccessorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::DeleteAccessor, request, handler, context); } /** *

Deletes a member. Deleting a member removes the member and all associated * resources from the network. DeleteMember can only be called for a * specified MemberId if the principal performing the action is * associated with the Amazon Web Services account that owns the member. In all * other cases, the DeleteMember action is carried out as the result * of an approved proposal to remove a member. If MemberId is the last * member in a network specified by the last Amazon Web Services account, the * network is deleted also.

Applies only to Hyperledger * Fabric.

See Also:

AWS * API Reference

*/ virtual Model::DeleteMemberOutcome DeleteMember(const Model::DeleteMemberRequest& request) const; /** * A Callable wrapper for DeleteMember that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteMemberOutcomeCallable DeleteMemberCallable(const DeleteMemberRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::DeleteMember, request); } /** * An Async wrapper for DeleteMember that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteMemberAsync(const DeleteMemberRequestT& request, const DeleteMemberResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::DeleteMember, request, handler, context); } /** *

Deletes a node that your Amazon Web Services account owns. All data on the * node is lost and cannot be recovered.

Applies to Hyperledger Fabric and * Ethereum.

See Also:

AWS * API Reference

*/ virtual Model::DeleteNodeOutcome DeleteNode(const Model::DeleteNodeRequest& request) const; /** * A Callable wrapper for DeleteNode that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteNodeOutcomeCallable DeleteNodeCallable(const DeleteNodeRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::DeleteNode, request); } /** * An Async wrapper for DeleteNode that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteNodeAsync(const DeleteNodeRequestT& request, const DeleteNodeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::DeleteNode, request, handler, context); } /** *

Returns detailed information about an accessor. An accessor object is a * container that has the information required for token based access to your * Ethereum nodes.

See Also:

AWS * API Reference

*/ virtual Model::GetAccessorOutcome GetAccessor(const Model::GetAccessorRequest& request) const; /** * A Callable wrapper for GetAccessor that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetAccessorOutcomeCallable GetAccessorCallable(const GetAccessorRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::GetAccessor, request); } /** * An Async wrapper for GetAccessor that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetAccessorAsync(const GetAccessorRequestT& request, const GetAccessorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::GetAccessor, request, handler, context); } /** *

Returns detailed information about a member.

Applies only to * Hyperledger Fabric.

See Also:

AWS * API Reference

*/ virtual Model::GetMemberOutcome GetMember(const Model::GetMemberRequest& request) const; /** * A Callable wrapper for GetMember that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetMemberOutcomeCallable GetMemberCallable(const GetMemberRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::GetMember, request); } /** * An Async wrapper for GetMember that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetMemberAsync(const GetMemberRequestT& request, const GetMemberResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::GetMember, request, handler, context); } /** *

Returns detailed information about a network.

Applies to Hyperledger * Fabric and Ethereum.

See Also:

AWS * API Reference

*/ virtual Model::GetNetworkOutcome GetNetwork(const Model::GetNetworkRequest& request) const; /** * A Callable wrapper for GetNetwork that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetNetworkOutcomeCallable GetNetworkCallable(const GetNetworkRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::GetNetwork, request); } /** * An Async wrapper for GetNetwork that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetNetworkAsync(const GetNetworkRequestT& request, const GetNetworkResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::GetNetwork, request, handler, context); } /** *

Returns detailed information about a node.

Applies to Hyperledger * Fabric and Ethereum.

See Also:

AWS * API Reference

*/ virtual Model::GetNodeOutcome GetNode(const Model::GetNodeRequest& request) const; /** * A Callable wrapper for GetNode that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetNodeOutcomeCallable GetNodeCallable(const GetNodeRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::GetNode, request); } /** * An Async wrapper for GetNode that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetNodeAsync(const GetNodeRequestT& request, const GetNodeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::GetNode, request, handler, context); } /** *

Returns detailed information about a proposal.

Applies only to * Hyperledger Fabric.

See Also:

AWS * API Reference

*/ virtual Model::GetProposalOutcome GetProposal(const Model::GetProposalRequest& request) const; /** * A Callable wrapper for GetProposal that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetProposalOutcomeCallable GetProposalCallable(const GetProposalRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::GetProposal, request); } /** * An Async wrapper for GetProposal that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetProposalAsync(const GetProposalRequestT& request, const GetProposalResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::GetProposal, request, handler, context); } /** *

Returns a list of the accessors and their properties. Accessor objects are * containers that have the information required for token based access to your * Ethereum nodes.

See Also:

AWS * API Reference

*/ virtual Model::ListAccessorsOutcome ListAccessors(const Model::ListAccessorsRequest& request) const; /** * A Callable wrapper for ListAccessors that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListAccessorsOutcomeCallable ListAccessorsCallable(const ListAccessorsRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::ListAccessors, request); } /** * An Async wrapper for ListAccessors that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListAccessorsAsync(const ListAccessorsRequestT& request, const ListAccessorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::ListAccessors, request, handler, context); } /** *

Returns a list of all invitations for the current Amazon Web Services * account.

Applies only to Hyperledger Fabric.

See Also:

* AWS * API Reference

*/ virtual Model::ListInvitationsOutcome ListInvitations(const Model::ListInvitationsRequest& request) const; /** * A Callable wrapper for ListInvitations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListInvitationsOutcomeCallable ListInvitationsCallable(const ListInvitationsRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::ListInvitations, request); } /** * An Async wrapper for ListInvitations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListInvitationsAsync(const ListInvitationsRequestT& request, const ListInvitationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::ListInvitations, request, handler, context); } /** *

Returns a list of the members in a network and properties of their * configurations.

Applies only to Hyperledger Fabric.

See * Also:

AWS * API Reference

*/ virtual Model::ListMembersOutcome ListMembers(const Model::ListMembersRequest& request) const; /** * A Callable wrapper for ListMembers that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListMembersOutcomeCallable ListMembersCallable(const ListMembersRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::ListMembers, request); } /** * An Async wrapper for ListMembers that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListMembersAsync(const ListMembersRequestT& request, const ListMembersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::ListMembers, request, handler, context); } /** *

Returns information about the networks in which the current Amazon Web * Services account participates.

Applies to Hyperledger Fabric and * Ethereum.

See Also:

AWS * API Reference

*/ virtual Model::ListNetworksOutcome ListNetworks(const Model::ListNetworksRequest& request) const; /** * A Callable wrapper for ListNetworks that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListNetworksOutcomeCallable ListNetworksCallable(const ListNetworksRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::ListNetworks, request); } /** * An Async wrapper for ListNetworks that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListNetworksAsync(const ListNetworksRequestT& request, const ListNetworksResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::ListNetworks, request, handler, context); } /** *

Returns information about the nodes within a network.

Applies to * Hyperledger Fabric and Ethereum.

See Also:

AWS * API Reference

*/ virtual Model::ListNodesOutcome ListNodes(const Model::ListNodesRequest& request) const; /** * A Callable wrapper for ListNodes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListNodesOutcomeCallable ListNodesCallable(const ListNodesRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::ListNodes, request); } /** * An Async wrapper for ListNodes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListNodesAsync(const ListNodesRequestT& request, const ListNodesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::ListNodes, request, handler, context); } /** *

Returns the list of votes for a specified proposal, including the value of * each vote and the unique identifier of the member that cast the vote.

*

Applies only to Hyperledger Fabric.

See Also:

AWS * API Reference

*/ virtual Model::ListProposalVotesOutcome ListProposalVotes(const Model::ListProposalVotesRequest& request) const; /** * A Callable wrapper for ListProposalVotes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListProposalVotesOutcomeCallable ListProposalVotesCallable(const ListProposalVotesRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::ListProposalVotes, request); } /** * An Async wrapper for ListProposalVotes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListProposalVotesAsync(const ListProposalVotesRequestT& request, const ListProposalVotesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::ListProposalVotes, request, handler, context); } /** *

Returns a list of proposals for the network.

Applies only to * Hyperledger Fabric.

See Also:

AWS * API Reference

*/ virtual Model::ListProposalsOutcome ListProposals(const Model::ListProposalsRequest& request) const; /** * A Callable wrapper for ListProposals that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListProposalsOutcomeCallable ListProposalsCallable(const ListProposalsRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::ListProposals, request); } /** * An Async wrapper for ListProposals that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListProposalsAsync(const ListProposalsRequestT& request, const ListProposalsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::ListProposals, request, handler, context); } /** *

Returns a list of tags for the specified resource. Each tag consists of a key * and optional value.

For more information about tags, see Tagging * Resources in the Amazon Managed Blockchain Ethereum Developer Guide, * or Tagging * Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::ListTagsForResource, request); } /** * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::ListTagsForResource, request, handler, context); } /** *

Rejects an invitation to join a network. This action can be called by a * principal in an Amazon Web Services account that has received an invitation to * create a member and join a network.

Applies only to Hyperledger * Fabric.

See Also:

AWS * API Reference

*/ virtual Model::RejectInvitationOutcome RejectInvitation(const Model::RejectInvitationRequest& request) const; /** * A Callable wrapper for RejectInvitation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RejectInvitationOutcomeCallable RejectInvitationCallable(const RejectInvitationRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::RejectInvitation, request); } /** * An Async wrapper for RejectInvitation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RejectInvitationAsync(const RejectInvitationRequestT& request, const RejectInvitationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::RejectInvitation, request, handler, context); } /** *

Adds or overwrites the specified tags for the specified Amazon Managed * Blockchain resource. Each tag consists of a key and optional value.

When * you specify a tag key that already exists, the tag value is overwritten with the * new value. Use UntagResource to remove tag keys.

A resource * can have up to 50 tags. If you try to create more than 50 tags for a resource, * your request fails and returns an error.

For more information about tags, * see Tagging * Resources in the Amazon Managed Blockchain Ethereum Developer Guide, * or Tagging * Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::TagResource, request); } /** * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::TagResource, request, handler, context); } /** *

Removes the specified tags from the Amazon Managed Blockchain resource.

*

For more information about tags, see Tagging * Resources in the Amazon Managed Blockchain Ethereum Developer Guide, * or Tagging * Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::UntagResource, request); } /** * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::UntagResource, request, handler, context); } /** *

Updates a member configuration with new parameters.

Applies only to * Hyperledger Fabric.

See Also:

AWS * API Reference

*/ virtual Model::UpdateMemberOutcome UpdateMember(const Model::UpdateMemberRequest& request) const; /** * A Callable wrapper for UpdateMember that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateMemberOutcomeCallable UpdateMemberCallable(const UpdateMemberRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::UpdateMember, request); } /** * An Async wrapper for UpdateMember that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateMemberAsync(const UpdateMemberRequestT& request, const UpdateMemberResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::UpdateMember, request, handler, context); } /** *

Updates a node configuration with new parameters.

Applies only to * Hyperledger Fabric.

See Also:

AWS * API Reference

*/ virtual Model::UpdateNodeOutcome UpdateNode(const Model::UpdateNodeRequest& request) const; /** * A Callable wrapper for UpdateNode that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateNodeOutcomeCallable UpdateNodeCallable(const UpdateNodeRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::UpdateNode, request); } /** * An Async wrapper for UpdateNode that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateNodeAsync(const UpdateNodeRequestT& request, const UpdateNodeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::UpdateNode, request, handler, context); } /** *

Casts a vote for a specified ProposalId on behalf of a member. * The member to vote as, specified by VoterMemberId, must be in the * same Amazon Web Services account as the principal that calls the action.

*

Applies only to Hyperledger Fabric.

See Also:

AWS * API Reference

*/ virtual Model::VoteOnProposalOutcome VoteOnProposal(const Model::VoteOnProposalRequest& request) const; /** * A Callable wrapper for VoteOnProposal that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::VoteOnProposalOutcomeCallable VoteOnProposalCallable(const VoteOnProposalRequestT& request) const { return SubmitCallable(&ManagedBlockchainClient::VoteOnProposal, request); } /** * An Async wrapper for VoteOnProposal that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void VoteOnProposalAsync(const VoteOnProposalRequestT& request, const VoteOnProposalResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ManagedBlockchainClient::VoteOnProposal, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const ManagedBlockchainClientConfiguration& clientConfiguration); ManagedBlockchainClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace ManagedBlockchain } // namespace Aws