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