1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/managedblockchain/ManagedBlockchain_EXPORTS.h> 8 #include <aws/managedblockchain/ManagedBlockchainErrors.h> 9 #include <aws/core/client/AWSError.h> 10 #include <aws/core/client/ClientConfiguration.h> 11 #include <aws/core/client/AWSClient.h> 12 #include <aws/core/utils/memory/stl/AWSString.h> 13 #include <aws/core/utils/json/JsonSerializer.h> 14 #include <aws/managedblockchain/model/CreateMemberResult.h> 15 #include <aws/managedblockchain/model/CreateNetworkResult.h> 16 #include <aws/managedblockchain/model/CreateNodeResult.h> 17 #include <aws/managedblockchain/model/CreateProposalResult.h> 18 #include <aws/managedblockchain/model/DeleteMemberResult.h> 19 #include <aws/managedblockchain/model/DeleteNodeResult.h> 20 #include <aws/managedblockchain/model/GetMemberResult.h> 21 #include <aws/managedblockchain/model/GetNetworkResult.h> 22 #include <aws/managedblockchain/model/GetNodeResult.h> 23 #include <aws/managedblockchain/model/GetProposalResult.h> 24 #include <aws/managedblockchain/model/ListInvitationsResult.h> 25 #include <aws/managedblockchain/model/ListMembersResult.h> 26 #include <aws/managedblockchain/model/ListNetworksResult.h> 27 #include <aws/managedblockchain/model/ListNodesResult.h> 28 #include <aws/managedblockchain/model/ListProposalVotesResult.h> 29 #include <aws/managedblockchain/model/ListProposalsResult.h> 30 #include <aws/managedblockchain/model/ListTagsForResourceResult.h> 31 #include <aws/managedblockchain/model/RejectInvitationResult.h> 32 #include <aws/managedblockchain/model/TagResourceResult.h> 33 #include <aws/managedblockchain/model/UntagResourceResult.h> 34 #include <aws/managedblockchain/model/UpdateMemberResult.h> 35 #include <aws/managedblockchain/model/UpdateNodeResult.h> 36 #include <aws/managedblockchain/model/VoteOnProposalResult.h> 37 #include <aws/core/client/AsyncCallerContext.h> 38 #include <aws/core/http/HttpTypes.h> 39 #include <future> 40 #include <functional> 41 42 namespace Aws 43 { 44 45 namespace Http 46 { 47 class HttpClient; 48 class HttpClientFactory; 49 } // namespace Http 50 51 namespace Utils 52 { 53 template< typename R, typename E> class Outcome; 54 namespace Threading 55 { 56 class Executor; 57 } // namespace Threading 58 } // namespace Utils 59 60 namespace Auth 61 { 62 class AWSCredentials; 63 class AWSCredentialsProvider; 64 } // namespace Auth 65 66 namespace Client 67 { 68 class RetryStrategy; 69 } // namespace Client 70 71 namespace ManagedBlockchain 72 { 73 74 namespace Model 75 { 76 class CreateMemberRequest; 77 class CreateNetworkRequest; 78 class CreateNodeRequest; 79 class CreateProposalRequest; 80 class DeleteMemberRequest; 81 class DeleteNodeRequest; 82 class GetMemberRequest; 83 class GetNetworkRequest; 84 class GetNodeRequest; 85 class GetProposalRequest; 86 class ListInvitationsRequest; 87 class ListMembersRequest; 88 class ListNetworksRequest; 89 class ListNodesRequest; 90 class ListProposalVotesRequest; 91 class ListProposalsRequest; 92 class ListTagsForResourceRequest; 93 class RejectInvitationRequest; 94 class TagResourceRequest; 95 class UntagResourceRequest; 96 class UpdateMemberRequest; 97 class UpdateNodeRequest; 98 class VoteOnProposalRequest; 99 100 typedef Aws::Utils::Outcome<CreateMemberResult, ManagedBlockchainError> CreateMemberOutcome; 101 typedef Aws::Utils::Outcome<CreateNetworkResult, ManagedBlockchainError> CreateNetworkOutcome; 102 typedef Aws::Utils::Outcome<CreateNodeResult, ManagedBlockchainError> CreateNodeOutcome; 103 typedef Aws::Utils::Outcome<CreateProposalResult, ManagedBlockchainError> CreateProposalOutcome; 104 typedef Aws::Utils::Outcome<DeleteMemberResult, ManagedBlockchainError> DeleteMemberOutcome; 105 typedef Aws::Utils::Outcome<DeleteNodeResult, ManagedBlockchainError> DeleteNodeOutcome; 106 typedef Aws::Utils::Outcome<GetMemberResult, ManagedBlockchainError> GetMemberOutcome; 107 typedef Aws::Utils::Outcome<GetNetworkResult, ManagedBlockchainError> GetNetworkOutcome; 108 typedef Aws::Utils::Outcome<GetNodeResult, ManagedBlockchainError> GetNodeOutcome; 109 typedef Aws::Utils::Outcome<GetProposalResult, ManagedBlockchainError> GetProposalOutcome; 110 typedef Aws::Utils::Outcome<ListInvitationsResult, ManagedBlockchainError> ListInvitationsOutcome; 111 typedef Aws::Utils::Outcome<ListMembersResult, ManagedBlockchainError> ListMembersOutcome; 112 typedef Aws::Utils::Outcome<ListNetworksResult, ManagedBlockchainError> ListNetworksOutcome; 113 typedef Aws::Utils::Outcome<ListNodesResult, ManagedBlockchainError> ListNodesOutcome; 114 typedef Aws::Utils::Outcome<ListProposalVotesResult, ManagedBlockchainError> ListProposalVotesOutcome; 115 typedef Aws::Utils::Outcome<ListProposalsResult, ManagedBlockchainError> ListProposalsOutcome; 116 typedef Aws::Utils::Outcome<ListTagsForResourceResult, ManagedBlockchainError> ListTagsForResourceOutcome; 117 typedef Aws::Utils::Outcome<RejectInvitationResult, ManagedBlockchainError> RejectInvitationOutcome; 118 typedef Aws::Utils::Outcome<TagResourceResult, ManagedBlockchainError> TagResourceOutcome; 119 typedef Aws::Utils::Outcome<UntagResourceResult, ManagedBlockchainError> UntagResourceOutcome; 120 typedef Aws::Utils::Outcome<UpdateMemberResult, ManagedBlockchainError> UpdateMemberOutcome; 121 typedef Aws::Utils::Outcome<UpdateNodeResult, ManagedBlockchainError> UpdateNodeOutcome; 122 typedef Aws::Utils::Outcome<VoteOnProposalResult, ManagedBlockchainError> VoteOnProposalOutcome; 123 124 typedef std::future<CreateMemberOutcome> CreateMemberOutcomeCallable; 125 typedef std::future<CreateNetworkOutcome> CreateNetworkOutcomeCallable; 126 typedef std::future<CreateNodeOutcome> CreateNodeOutcomeCallable; 127 typedef std::future<CreateProposalOutcome> CreateProposalOutcomeCallable; 128 typedef std::future<DeleteMemberOutcome> DeleteMemberOutcomeCallable; 129 typedef std::future<DeleteNodeOutcome> DeleteNodeOutcomeCallable; 130 typedef std::future<GetMemberOutcome> GetMemberOutcomeCallable; 131 typedef std::future<GetNetworkOutcome> GetNetworkOutcomeCallable; 132 typedef std::future<GetNodeOutcome> GetNodeOutcomeCallable; 133 typedef std::future<GetProposalOutcome> GetProposalOutcomeCallable; 134 typedef std::future<ListInvitationsOutcome> ListInvitationsOutcomeCallable; 135 typedef std::future<ListMembersOutcome> ListMembersOutcomeCallable; 136 typedef std::future<ListNetworksOutcome> ListNetworksOutcomeCallable; 137 typedef std::future<ListNodesOutcome> ListNodesOutcomeCallable; 138 typedef std::future<ListProposalVotesOutcome> ListProposalVotesOutcomeCallable; 139 typedef std::future<ListProposalsOutcome> ListProposalsOutcomeCallable; 140 typedef std::future<ListTagsForResourceOutcome> ListTagsForResourceOutcomeCallable; 141 typedef std::future<RejectInvitationOutcome> RejectInvitationOutcomeCallable; 142 typedef std::future<TagResourceOutcome> TagResourceOutcomeCallable; 143 typedef std::future<UntagResourceOutcome> UntagResourceOutcomeCallable; 144 typedef std::future<UpdateMemberOutcome> UpdateMemberOutcomeCallable; 145 typedef std::future<UpdateNodeOutcome> UpdateNodeOutcomeCallable; 146 typedef std::future<VoteOnProposalOutcome> VoteOnProposalOutcomeCallable; 147 } // namespace Model 148 149 class ManagedBlockchainClient; 150 151 typedef std::function<void(const ManagedBlockchainClient*, const Model::CreateMemberRequest&, const Model::CreateMemberOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateMemberResponseReceivedHandler; 152 typedef std::function<void(const ManagedBlockchainClient*, const Model::CreateNetworkRequest&, const Model::CreateNetworkOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateNetworkResponseReceivedHandler; 153 typedef std::function<void(const ManagedBlockchainClient*, const Model::CreateNodeRequest&, const Model::CreateNodeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateNodeResponseReceivedHandler; 154 typedef std::function<void(const ManagedBlockchainClient*, const Model::CreateProposalRequest&, const Model::CreateProposalOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateProposalResponseReceivedHandler; 155 typedef std::function<void(const ManagedBlockchainClient*, const Model::DeleteMemberRequest&, const Model::DeleteMemberOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteMemberResponseReceivedHandler; 156 typedef std::function<void(const ManagedBlockchainClient*, const Model::DeleteNodeRequest&, const Model::DeleteNodeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteNodeResponseReceivedHandler; 157 typedef std::function<void(const ManagedBlockchainClient*, const Model::GetMemberRequest&, const Model::GetMemberOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetMemberResponseReceivedHandler; 158 typedef std::function<void(const ManagedBlockchainClient*, const Model::GetNetworkRequest&, const Model::GetNetworkOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetNetworkResponseReceivedHandler; 159 typedef std::function<void(const ManagedBlockchainClient*, const Model::GetNodeRequest&, const Model::GetNodeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetNodeResponseReceivedHandler; 160 typedef std::function<void(const ManagedBlockchainClient*, const Model::GetProposalRequest&, const Model::GetProposalOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetProposalResponseReceivedHandler; 161 typedef std::function<void(const ManagedBlockchainClient*, const Model::ListInvitationsRequest&, const Model::ListInvitationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListInvitationsResponseReceivedHandler; 162 typedef std::function<void(const ManagedBlockchainClient*, const Model::ListMembersRequest&, const Model::ListMembersOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListMembersResponseReceivedHandler; 163 typedef std::function<void(const ManagedBlockchainClient*, const Model::ListNetworksRequest&, const Model::ListNetworksOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListNetworksResponseReceivedHandler; 164 typedef std::function<void(const ManagedBlockchainClient*, const Model::ListNodesRequest&, const Model::ListNodesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListNodesResponseReceivedHandler; 165 typedef std::function<void(const ManagedBlockchainClient*, const Model::ListProposalVotesRequest&, const Model::ListProposalVotesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListProposalVotesResponseReceivedHandler; 166 typedef std::function<void(const ManagedBlockchainClient*, const Model::ListProposalsRequest&, const Model::ListProposalsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListProposalsResponseReceivedHandler; 167 typedef std::function<void(const ManagedBlockchainClient*, const Model::ListTagsForResourceRequest&, const Model::ListTagsForResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsForResourceResponseReceivedHandler; 168 typedef std::function<void(const ManagedBlockchainClient*, const Model::RejectInvitationRequest&, const Model::RejectInvitationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RejectInvitationResponseReceivedHandler; 169 typedef std::function<void(const ManagedBlockchainClient*, const Model::TagResourceRequest&, const Model::TagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TagResourceResponseReceivedHandler; 170 typedef std::function<void(const ManagedBlockchainClient*, const Model::UntagResourceRequest&, const Model::UntagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UntagResourceResponseReceivedHandler; 171 typedef std::function<void(const ManagedBlockchainClient*, const Model::UpdateMemberRequest&, const Model::UpdateMemberOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateMemberResponseReceivedHandler; 172 typedef std::function<void(const ManagedBlockchainClient*, const Model::UpdateNodeRequest&, const Model::UpdateNodeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateNodeResponseReceivedHandler; 173 typedef std::function<void(const ManagedBlockchainClient*, const Model::VoteOnProposalRequest&, const Model::VoteOnProposalOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > VoteOnProposalResponseReceivedHandler; 174 175 /** 176 * <p/> <p>Amazon Managed Blockchain is a fully managed service for creating and 177 * managing blockchain networks using open-source frameworks. Blockchain allows you 178 * to build applications where multiple parties can securely and transparently run 179 * transactions and share data without the need for a trusted, central 180 * authority.</p> <p>Managed Blockchain supports the Hyperledger Fabric and 181 * Ethereum open-source frameworks. Because of fundamental differences between the 182 * frameworks, some API actions or data types may only apply in the context of one 183 * framework and not the other. For example, actions related to Hyperledger Fabric 184 * network members such as <code>CreateMember</code> and <code>DeleteMember</code> 185 * do not apply to Ethereum.</p> <p>The description for each action indicates the 186 * framework or frameworks to which it applies. Data types and properties that 187 * apply only in the context of a particular framework are similarly indicated.</p> 188 */ 189 class AWS_MANAGEDBLOCKCHAIN_API ManagedBlockchainClient : public Aws::Client::AWSJsonClient 190 { 191 public: 192 typedef Aws::Client::AWSJsonClient BASECLASS; 193 194 /** 195 * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config 196 * is not specified, it will be initialized to default values. 197 */ 198 ManagedBlockchainClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 199 200 /** 201 * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config 202 * is not specified, it will be initialized to default values. 203 */ 204 ManagedBlockchainClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 205 206 /** 207 * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, 208 * the default http client factory will be used 209 */ 210 ManagedBlockchainClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider, 211 const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 212 213 virtual ~ManagedBlockchainClient(); 214 215 216 /** 217 * <p>Creates a member within a Managed Blockchain network.</p> <p>Applies only to 218 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 219 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateMember">AWS 220 * API Reference</a></p> 221 */ 222 virtual Model::CreateMemberOutcome CreateMember(const Model::CreateMemberRequest& request) const; 223 224 /** 225 * <p>Creates a member within a Managed Blockchain network.</p> <p>Applies only to 226 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 227 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateMember">AWS 228 * API Reference</a></p> 229 * 230 * returns a future to the operation so that it can be executed in parallel to other requests. 231 */ 232 virtual Model::CreateMemberOutcomeCallable CreateMemberCallable(const Model::CreateMemberRequest& request) const; 233 234 /** 235 * <p>Creates a member within a Managed Blockchain network.</p> <p>Applies only to 236 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 237 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateMember">AWS 238 * API Reference</a></p> 239 * 240 * Queues the request into a thread executor and triggers associated callback when operation has finished. 241 */ 242 virtual void CreateMemberAsync(const Model::CreateMemberRequest& request, const CreateMemberResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 243 244 /** 245 * <p>Creates a new blockchain network using Amazon Managed Blockchain.</p> 246 * <p>Applies only to Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 247 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateNetwork">AWS 248 * API Reference</a></p> 249 */ 250 virtual Model::CreateNetworkOutcome CreateNetwork(const Model::CreateNetworkRequest& request) const; 251 252 /** 253 * <p>Creates a new blockchain network using Amazon Managed Blockchain.</p> 254 * <p>Applies only to Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 255 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateNetwork">AWS 256 * API Reference</a></p> 257 * 258 * returns a future to the operation so that it can be executed in parallel to other requests. 259 */ 260 virtual Model::CreateNetworkOutcomeCallable CreateNetworkCallable(const Model::CreateNetworkRequest& request) const; 261 262 /** 263 * <p>Creates a new blockchain network using Amazon Managed Blockchain.</p> 264 * <p>Applies only to Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 265 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateNetwork">AWS 266 * API Reference</a></p> 267 * 268 * Queues the request into a thread executor and triggers associated callback when operation has finished. 269 */ 270 virtual void CreateNetworkAsync(const Model::CreateNetworkRequest& request, const CreateNetworkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 271 272 /** 273 * <p>Creates a node on the specified blockchain network.</p> <p>Applies to 274 * Hyperledger Fabric and Ethereum.</p><p><h3>See Also:</h3> <a 275 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateNode">AWS 276 * API Reference</a></p> 277 */ 278 virtual Model::CreateNodeOutcome CreateNode(const Model::CreateNodeRequest& request) const; 279 280 /** 281 * <p>Creates a node on the specified blockchain network.</p> <p>Applies to 282 * Hyperledger Fabric and Ethereum.</p><p><h3>See Also:</h3> <a 283 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateNode">AWS 284 * API Reference</a></p> 285 * 286 * returns a future to the operation so that it can be executed in parallel to other requests. 287 */ 288 virtual Model::CreateNodeOutcomeCallable CreateNodeCallable(const Model::CreateNodeRequest& request) const; 289 290 /** 291 * <p>Creates a node on the specified blockchain network.</p> <p>Applies to 292 * Hyperledger Fabric and Ethereum.</p><p><h3>See Also:</h3> <a 293 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateNode">AWS 294 * API Reference</a></p> 295 * 296 * Queues the request into a thread executor and triggers associated callback when operation has finished. 297 */ 298 virtual void CreateNodeAsync(const Model::CreateNodeRequest& request, const CreateNodeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 299 300 /** 301 * <p>Creates a proposal for a change to the network that other members of the 302 * network can vote on, for example, a proposal to add a new member to the network. 303 * Any member can create a proposal.</p> <p>Applies only to Hyperledger 304 * Fabric.</p><p><h3>See Also:</h3> <a 305 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateProposal">AWS 306 * API Reference</a></p> 307 */ 308 virtual Model::CreateProposalOutcome CreateProposal(const Model::CreateProposalRequest& request) const; 309 310 /** 311 * <p>Creates a proposal for a change to the network that other members of the 312 * network can vote on, for example, a proposal to add a new member to the network. 313 * Any member can create a proposal.</p> <p>Applies only to Hyperledger 314 * Fabric.</p><p><h3>See Also:</h3> <a 315 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateProposal">AWS 316 * API Reference</a></p> 317 * 318 * returns a future to the operation so that it can be executed in parallel to other requests. 319 */ 320 virtual Model::CreateProposalOutcomeCallable CreateProposalCallable(const Model::CreateProposalRequest& request) const; 321 322 /** 323 * <p>Creates a proposal for a change to the network that other members of the 324 * network can vote on, for example, a proposal to add a new member to the network. 325 * Any member can create a proposal.</p> <p>Applies only to Hyperledger 326 * Fabric.</p><p><h3>See Also:</h3> <a 327 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateProposal">AWS 328 * API Reference</a></p> 329 * 330 * Queues the request into a thread executor and triggers associated callback when operation has finished. 331 */ 332 virtual void CreateProposalAsync(const Model::CreateProposalRequest& request, const CreateProposalResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 333 334 /** 335 * <p>Deletes a member. Deleting a member removes the member and all associated 336 * resources from the network. <code>DeleteMember</code> can only be called for a 337 * specified <code>MemberId</code> if the principal performing the action is 338 * associated with the AWS account that owns the member. In all other cases, the 339 * <code>DeleteMember</code> action is carried out as the result of an approved 340 * proposal to remove a member. If <code>MemberId</code> is the last member in a 341 * network specified by the last AWS account, the network is deleted also.</p> 342 * <p>Applies only to Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 343 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/DeleteMember">AWS 344 * API Reference</a></p> 345 */ 346 virtual Model::DeleteMemberOutcome DeleteMember(const Model::DeleteMemberRequest& request) const; 347 348 /** 349 * <p>Deletes a member. Deleting a member removes the member and all associated 350 * resources from the network. <code>DeleteMember</code> can only be called for a 351 * specified <code>MemberId</code> if the principal performing the action is 352 * associated with the AWS account that owns the member. In all other cases, the 353 * <code>DeleteMember</code> action is carried out as the result of an approved 354 * proposal to remove a member. If <code>MemberId</code> is the last member in a 355 * network specified by the last AWS account, the network is deleted also.</p> 356 * <p>Applies only to Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 357 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/DeleteMember">AWS 358 * API Reference</a></p> 359 * 360 * returns a future to the operation so that it can be executed in parallel to other requests. 361 */ 362 virtual Model::DeleteMemberOutcomeCallable DeleteMemberCallable(const Model::DeleteMemberRequest& request) const; 363 364 /** 365 * <p>Deletes a member. Deleting a member removes the member and all associated 366 * resources from the network. <code>DeleteMember</code> can only be called for a 367 * specified <code>MemberId</code> if the principal performing the action is 368 * associated with the AWS account that owns the member. In all other cases, the 369 * <code>DeleteMember</code> action is carried out as the result of an approved 370 * proposal to remove a member. If <code>MemberId</code> is the last member in a 371 * network specified by the last AWS account, the network is deleted also.</p> 372 * <p>Applies only to Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 373 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/DeleteMember">AWS 374 * API Reference</a></p> 375 * 376 * Queues the request into a thread executor and triggers associated callback when operation has finished. 377 */ 378 virtual void DeleteMemberAsync(const Model::DeleteMemberRequest& request, const DeleteMemberResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 379 380 /** 381 * <p>Deletes a node that your AWS account owns. All data on the node is lost and 382 * cannot be recovered.</p> <p>Applies to Hyperledger Fabric and 383 * Ethereum.</p><p><h3>See Also:</h3> <a 384 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/DeleteNode">AWS 385 * API Reference</a></p> 386 */ 387 virtual Model::DeleteNodeOutcome DeleteNode(const Model::DeleteNodeRequest& request) const; 388 389 /** 390 * <p>Deletes a node that your AWS account owns. All data on the node is lost and 391 * cannot be recovered.</p> <p>Applies to Hyperledger Fabric and 392 * Ethereum.</p><p><h3>See Also:</h3> <a 393 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/DeleteNode">AWS 394 * API Reference</a></p> 395 * 396 * returns a future to the operation so that it can be executed in parallel to other requests. 397 */ 398 virtual Model::DeleteNodeOutcomeCallable DeleteNodeCallable(const Model::DeleteNodeRequest& request) const; 399 400 /** 401 * <p>Deletes a node that your AWS account owns. All data on the node is lost and 402 * cannot be recovered.</p> <p>Applies to Hyperledger Fabric and 403 * Ethereum.</p><p><h3>See Also:</h3> <a 404 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/DeleteNode">AWS 405 * API Reference</a></p> 406 * 407 * Queues the request into a thread executor and triggers associated callback when operation has finished. 408 */ 409 virtual void DeleteNodeAsync(const Model::DeleteNodeRequest& request, const DeleteNodeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 410 411 /** 412 * <p>Returns detailed information about a member.</p> <p>Applies only to 413 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 414 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetMember">AWS 415 * API Reference</a></p> 416 */ 417 virtual Model::GetMemberOutcome GetMember(const Model::GetMemberRequest& request) const; 418 419 /** 420 * <p>Returns detailed information about a member.</p> <p>Applies only to 421 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 422 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetMember">AWS 423 * API Reference</a></p> 424 * 425 * returns a future to the operation so that it can be executed in parallel to other requests. 426 */ 427 virtual Model::GetMemberOutcomeCallable GetMemberCallable(const Model::GetMemberRequest& request) const; 428 429 /** 430 * <p>Returns detailed information about a member.</p> <p>Applies only to 431 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 432 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetMember">AWS 433 * API Reference</a></p> 434 * 435 * Queues the request into a thread executor and triggers associated callback when operation has finished. 436 */ 437 virtual void GetMemberAsync(const Model::GetMemberRequest& request, const GetMemberResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 438 439 /** 440 * <p>Returns detailed information about a network.</p> <p>Applies to Hyperledger 441 * Fabric and Ethereum.</p><p><h3>See Also:</h3> <a 442 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetNetwork">AWS 443 * API Reference</a></p> 444 */ 445 virtual Model::GetNetworkOutcome GetNetwork(const Model::GetNetworkRequest& request) const; 446 447 /** 448 * <p>Returns detailed information about a network.</p> <p>Applies to Hyperledger 449 * Fabric and Ethereum.</p><p><h3>See Also:</h3> <a 450 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetNetwork">AWS 451 * API Reference</a></p> 452 * 453 * returns a future to the operation so that it can be executed in parallel to other requests. 454 */ 455 virtual Model::GetNetworkOutcomeCallable GetNetworkCallable(const Model::GetNetworkRequest& request) const; 456 457 /** 458 * <p>Returns detailed information about a network.</p> <p>Applies to Hyperledger 459 * Fabric and Ethereum.</p><p><h3>See Also:</h3> <a 460 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetNetwork">AWS 461 * API Reference</a></p> 462 * 463 * Queues the request into a thread executor and triggers associated callback when operation has finished. 464 */ 465 virtual void GetNetworkAsync(const Model::GetNetworkRequest& request, const GetNetworkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 466 467 /** 468 * <p>Returns detailed information about a node.</p> <p>Applies to Hyperledger 469 * Fabric and Ethereum.</p><p><h3>See Also:</h3> <a 470 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetNode">AWS 471 * API Reference</a></p> 472 */ 473 virtual Model::GetNodeOutcome GetNode(const Model::GetNodeRequest& request) const; 474 475 /** 476 * <p>Returns detailed information about a node.</p> <p>Applies to Hyperledger 477 * Fabric and Ethereum.</p><p><h3>See Also:</h3> <a 478 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetNode">AWS 479 * API Reference</a></p> 480 * 481 * returns a future to the operation so that it can be executed in parallel to other requests. 482 */ 483 virtual Model::GetNodeOutcomeCallable GetNodeCallable(const Model::GetNodeRequest& request) const; 484 485 /** 486 * <p>Returns detailed information about a node.</p> <p>Applies to Hyperledger 487 * Fabric and Ethereum.</p><p><h3>See Also:</h3> <a 488 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetNode">AWS 489 * API Reference</a></p> 490 * 491 * Queues the request into a thread executor and triggers associated callback when operation has finished. 492 */ 493 virtual void GetNodeAsync(const Model::GetNodeRequest& request, const GetNodeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 494 495 /** 496 * <p>Returns detailed information about a proposal.</p> <p>Applies only to 497 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 498 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetProposal">AWS 499 * API Reference</a></p> 500 */ 501 virtual Model::GetProposalOutcome GetProposal(const Model::GetProposalRequest& request) const; 502 503 /** 504 * <p>Returns detailed information about a proposal.</p> <p>Applies only to 505 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 506 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetProposal">AWS 507 * API Reference</a></p> 508 * 509 * returns a future to the operation so that it can be executed in parallel to other requests. 510 */ 511 virtual Model::GetProposalOutcomeCallable GetProposalCallable(const Model::GetProposalRequest& request) const; 512 513 /** 514 * <p>Returns detailed information about a proposal.</p> <p>Applies only to 515 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 516 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetProposal">AWS 517 * API Reference</a></p> 518 * 519 * Queues the request into a thread executor and triggers associated callback when operation has finished. 520 */ 521 virtual void GetProposalAsync(const Model::GetProposalRequest& request, const GetProposalResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 522 523 /** 524 * <p>Returns a list of all invitations for the current AWS account.</p> <p>Applies 525 * only to Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 526 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListInvitations">AWS 527 * API Reference</a></p> 528 */ 529 virtual Model::ListInvitationsOutcome ListInvitations(const Model::ListInvitationsRequest& request) const; 530 531 /** 532 * <p>Returns a list of all invitations for the current AWS account.</p> <p>Applies 533 * only to Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 534 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListInvitations">AWS 535 * API Reference</a></p> 536 * 537 * returns a future to the operation so that it can be executed in parallel to other requests. 538 */ 539 virtual Model::ListInvitationsOutcomeCallable ListInvitationsCallable(const Model::ListInvitationsRequest& request) const; 540 541 /** 542 * <p>Returns a list of all invitations for the current AWS account.</p> <p>Applies 543 * only to Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 544 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListInvitations">AWS 545 * API Reference</a></p> 546 * 547 * Queues the request into a thread executor and triggers associated callback when operation has finished. 548 */ 549 virtual void ListInvitationsAsync(const Model::ListInvitationsRequest& request, const ListInvitationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 550 551 /** 552 * <p>Returns a list of the members in a network and properties of their 553 * configurations.</p> <p>Applies only to Hyperledger Fabric.</p><p><h3>See 554 * Also:</h3> <a 555 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListMembers">AWS 556 * API Reference</a></p> 557 */ 558 virtual Model::ListMembersOutcome ListMembers(const Model::ListMembersRequest& request) const; 559 560 /** 561 * <p>Returns a list of the members in a network and properties of their 562 * configurations.</p> <p>Applies only to Hyperledger Fabric.</p><p><h3>See 563 * Also:</h3> <a 564 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListMembers">AWS 565 * API Reference</a></p> 566 * 567 * returns a future to the operation so that it can be executed in parallel to other requests. 568 */ 569 virtual Model::ListMembersOutcomeCallable ListMembersCallable(const Model::ListMembersRequest& request) const; 570 571 /** 572 * <p>Returns a list of the members in a network and properties of their 573 * configurations.</p> <p>Applies only to Hyperledger Fabric.</p><p><h3>See 574 * Also:</h3> <a 575 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListMembers">AWS 576 * API Reference</a></p> 577 * 578 * Queues the request into a thread executor and triggers associated callback when operation has finished. 579 */ 580 virtual void ListMembersAsync(const Model::ListMembersRequest& request, const ListMembersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 581 582 /** 583 * <p>Returns information about the networks in which the current AWS account 584 * participates.</p> <p>Applies to Hyperledger Fabric and Ethereum.</p><p><h3>See 585 * Also:</h3> <a 586 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListNetworks">AWS 587 * API Reference</a></p> 588 */ 589 virtual Model::ListNetworksOutcome ListNetworks(const Model::ListNetworksRequest& request) const; 590 591 /** 592 * <p>Returns information about the networks in which the current AWS account 593 * participates.</p> <p>Applies to Hyperledger Fabric and Ethereum.</p><p><h3>See 594 * Also:</h3> <a 595 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListNetworks">AWS 596 * API Reference</a></p> 597 * 598 * returns a future to the operation so that it can be executed in parallel to other requests. 599 */ 600 virtual Model::ListNetworksOutcomeCallable ListNetworksCallable(const Model::ListNetworksRequest& request) const; 601 602 /** 603 * <p>Returns information about the networks in which the current AWS account 604 * participates.</p> <p>Applies to Hyperledger Fabric and Ethereum.</p><p><h3>See 605 * Also:</h3> <a 606 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListNetworks">AWS 607 * API Reference</a></p> 608 * 609 * Queues the request into a thread executor and triggers associated callback when operation has finished. 610 */ 611 virtual void ListNetworksAsync(const Model::ListNetworksRequest& request, const ListNetworksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 612 613 /** 614 * <p>Returns information about the nodes within a network.</p> <p>Applies to 615 * Hyperledger Fabric and Ethereum.</p><p><h3>See Also:</h3> <a 616 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListNodes">AWS 617 * API Reference</a></p> 618 */ 619 virtual Model::ListNodesOutcome ListNodes(const Model::ListNodesRequest& request) const; 620 621 /** 622 * <p>Returns information about the nodes within a network.</p> <p>Applies to 623 * Hyperledger Fabric and Ethereum.</p><p><h3>See Also:</h3> <a 624 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListNodes">AWS 625 * API Reference</a></p> 626 * 627 * returns a future to the operation so that it can be executed in parallel to other requests. 628 */ 629 virtual Model::ListNodesOutcomeCallable ListNodesCallable(const Model::ListNodesRequest& request) const; 630 631 /** 632 * <p>Returns information about the nodes within a network.</p> <p>Applies to 633 * Hyperledger Fabric and Ethereum.</p><p><h3>See Also:</h3> <a 634 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListNodes">AWS 635 * API Reference</a></p> 636 * 637 * Queues the request into a thread executor and triggers associated callback when operation has finished. 638 */ 639 virtual void ListNodesAsync(const Model::ListNodesRequest& request, const ListNodesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 640 641 /** 642 * <p>Returns the list of votes for a specified proposal, including the value of 643 * each vote and the unique identifier of the member that cast the vote.</p> 644 * <p>Applies only to Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 645 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListProposalVotes">AWS 646 * API Reference</a></p> 647 */ 648 virtual Model::ListProposalVotesOutcome ListProposalVotes(const Model::ListProposalVotesRequest& request) const; 649 650 /** 651 * <p>Returns the list of votes for a specified proposal, including the value of 652 * each vote and the unique identifier of the member that cast the vote.</p> 653 * <p>Applies only to Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 654 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListProposalVotes">AWS 655 * API Reference</a></p> 656 * 657 * returns a future to the operation so that it can be executed in parallel to other requests. 658 */ 659 virtual Model::ListProposalVotesOutcomeCallable ListProposalVotesCallable(const Model::ListProposalVotesRequest& request) const; 660 661 /** 662 * <p>Returns the list of votes for a specified proposal, including the value of 663 * each vote and the unique identifier of the member that cast the vote.</p> 664 * <p>Applies only to Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 665 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListProposalVotes">AWS 666 * API Reference</a></p> 667 * 668 * Queues the request into a thread executor and triggers associated callback when operation has finished. 669 */ 670 virtual void ListProposalVotesAsync(const Model::ListProposalVotesRequest& request, const ListProposalVotesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 671 672 /** 673 * <p>Returns a list of proposals for the network.</p> <p>Applies only to 674 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 675 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListProposals">AWS 676 * API Reference</a></p> 677 */ 678 virtual Model::ListProposalsOutcome ListProposals(const Model::ListProposalsRequest& request) const; 679 680 /** 681 * <p>Returns a list of proposals for the network.</p> <p>Applies only to 682 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 683 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListProposals">AWS 684 * API Reference</a></p> 685 * 686 * returns a future to the operation so that it can be executed in parallel to other requests. 687 */ 688 virtual Model::ListProposalsOutcomeCallable ListProposalsCallable(const Model::ListProposalsRequest& request) const; 689 690 /** 691 * <p>Returns a list of proposals for the network.</p> <p>Applies only to 692 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 693 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListProposals">AWS 694 * API Reference</a></p> 695 * 696 * Queues the request into a thread executor and triggers associated callback when operation has finished. 697 */ 698 virtual void ListProposalsAsync(const Model::ListProposalsRequest& request, const ListProposalsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 699 700 /** 701 * <p>Returns a list of tags for the specified resource. Each tag consists of a key 702 * and optional value.</p> <p>For more information about tags, see <a 703 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 704 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 705 * or <a 706 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 707 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 708 * Guide</i>.</p><p><h3>See Also:</h3> <a 709 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListTagsForResource">AWS 710 * API Reference</a></p> 711 */ 712 virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; 713 714 /** 715 * <p>Returns a list of tags for the specified resource. Each tag consists of a key 716 * and optional value.</p> <p>For more information about tags, see <a 717 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 718 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 719 * or <a 720 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 721 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 722 * Guide</i>.</p><p><h3>See Also:</h3> <a 723 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListTagsForResource">AWS 724 * API Reference</a></p> 725 * 726 * returns a future to the operation so that it can be executed in parallel to other requests. 727 */ 728 virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; 729 730 /** 731 * <p>Returns a list of tags for the specified resource. Each tag consists of a key 732 * and optional value.</p> <p>For more information about tags, see <a 733 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 734 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 735 * or <a 736 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 737 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 738 * Guide</i>.</p><p><h3>See Also:</h3> <a 739 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListTagsForResource">AWS 740 * API Reference</a></p> 741 * 742 * Queues the request into a thread executor and triggers associated callback when operation has finished. 743 */ 744 virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 745 746 /** 747 * <p>Rejects an invitation to join a network. This action can be called by a 748 * principal in an AWS account that has received an invitation to create a member 749 * and join a network.</p> <p>Applies only to Hyperledger Fabric.</p><p><h3>See 750 * Also:</h3> <a 751 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/RejectInvitation">AWS 752 * API Reference</a></p> 753 */ 754 virtual Model::RejectInvitationOutcome RejectInvitation(const Model::RejectInvitationRequest& request) const; 755 756 /** 757 * <p>Rejects an invitation to join a network. This action can be called by a 758 * principal in an AWS account that has received an invitation to create a member 759 * and join a network.</p> <p>Applies only to Hyperledger Fabric.</p><p><h3>See 760 * Also:</h3> <a 761 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/RejectInvitation">AWS 762 * API Reference</a></p> 763 * 764 * returns a future to the operation so that it can be executed in parallel to other requests. 765 */ 766 virtual Model::RejectInvitationOutcomeCallable RejectInvitationCallable(const Model::RejectInvitationRequest& request) const; 767 768 /** 769 * <p>Rejects an invitation to join a network. This action can be called by a 770 * principal in an AWS account that has received an invitation to create a member 771 * and join a network.</p> <p>Applies only to Hyperledger Fabric.</p><p><h3>See 772 * Also:</h3> <a 773 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/RejectInvitation">AWS 774 * API Reference</a></p> 775 * 776 * Queues the request into a thread executor and triggers associated callback when operation has finished. 777 */ 778 virtual void RejectInvitationAsync(const Model::RejectInvitationRequest& request, const RejectInvitationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 779 780 /** 781 * <p>Adds or overwrites the specified tags for the specified Amazon Managed 782 * Blockchain resource. Each tag consists of a key and optional value.</p> <p>When 783 * you specify a tag key that already exists, the tag value is overwritten with the 784 * new value. Use <code>UntagResource</code> to remove tag keys.</p> <p>A resource 785 * can have up to 50 tags. If you try to create more than 50 tags for a resource, 786 * your request fails and returns an error.</p> <p>For more information about tags, 787 * see <a 788 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 789 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 790 * or <a 791 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 792 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 793 * Guide</i>.</p><p><h3>See Also:</h3> <a 794 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/TagResource">AWS 795 * API Reference</a></p> 796 */ 797 virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; 798 799 /** 800 * <p>Adds or overwrites the specified tags for the specified Amazon Managed 801 * Blockchain resource. Each tag consists of a key and optional value.</p> <p>When 802 * you specify a tag key that already exists, the tag value is overwritten with the 803 * new value. Use <code>UntagResource</code> to remove tag keys.</p> <p>A resource 804 * can have up to 50 tags. If you try to create more than 50 tags for a resource, 805 * your request fails and returns an error.</p> <p>For more information about tags, 806 * see <a 807 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 808 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 809 * or <a 810 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 811 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 812 * Guide</i>.</p><p><h3>See Also:</h3> <a 813 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/TagResource">AWS 814 * API Reference</a></p> 815 * 816 * returns a future to the operation so that it can be executed in parallel to other requests. 817 */ 818 virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; 819 820 /** 821 * <p>Adds or overwrites the specified tags for the specified Amazon Managed 822 * Blockchain resource. Each tag consists of a key and optional value.</p> <p>When 823 * you specify a tag key that already exists, the tag value is overwritten with the 824 * new value. Use <code>UntagResource</code> to remove tag keys.</p> <p>A resource 825 * can have up to 50 tags. If you try to create more than 50 tags for a resource, 826 * your request fails and returns an error.</p> <p>For more information about tags, 827 * see <a 828 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 829 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 830 * or <a 831 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 832 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 833 * Guide</i>.</p><p><h3>See Also:</h3> <a 834 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/TagResource">AWS 835 * API Reference</a></p> 836 * 837 * Queues the request into a thread executor and triggers associated callback when operation has finished. 838 */ 839 virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 840 841 /** 842 * <p>Removes the specified tags from the Amazon Managed Blockchain resource.</p> 843 * <p>For more information about tags, see <a 844 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 845 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 846 * or <a 847 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 848 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 849 * Guide</i>.</p><p><h3>See Also:</h3> <a 850 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/UntagResource">AWS 851 * API Reference</a></p> 852 */ 853 virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; 854 855 /** 856 * <p>Removes the specified tags from the Amazon Managed Blockchain resource.</p> 857 * <p>For more information about tags, see <a 858 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 859 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 860 * or <a 861 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 862 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 863 * Guide</i>.</p><p><h3>See Also:</h3> <a 864 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/UntagResource">AWS 865 * API Reference</a></p> 866 * 867 * returns a future to the operation so that it can be executed in parallel to other requests. 868 */ 869 virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const; 870 871 /** 872 * <p>Removes the specified tags from the Amazon Managed Blockchain resource.</p> 873 * <p>For more information about tags, see <a 874 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 875 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 876 * or <a 877 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 878 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 879 * Guide</i>.</p><p><h3>See Also:</h3> <a 880 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/UntagResource">AWS 881 * API Reference</a></p> 882 * 883 * Queues the request into a thread executor and triggers associated callback when operation has finished. 884 */ 885 virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 886 887 /** 888 * <p>Updates a member configuration with new parameters.</p> <p>Applies only to 889 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 890 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/UpdateMember">AWS 891 * API Reference</a></p> 892 */ 893 virtual Model::UpdateMemberOutcome UpdateMember(const Model::UpdateMemberRequest& request) const; 894 895 /** 896 * <p>Updates a member configuration with new parameters.</p> <p>Applies only to 897 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 898 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/UpdateMember">AWS 899 * API Reference</a></p> 900 * 901 * returns a future to the operation so that it can be executed in parallel to other requests. 902 */ 903 virtual Model::UpdateMemberOutcomeCallable UpdateMemberCallable(const Model::UpdateMemberRequest& request) const; 904 905 /** 906 * <p>Updates a member configuration with new parameters.</p> <p>Applies only to 907 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 908 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/UpdateMember">AWS 909 * API Reference</a></p> 910 * 911 * Queues the request into a thread executor and triggers associated callback when operation has finished. 912 */ 913 virtual void UpdateMemberAsync(const Model::UpdateMemberRequest& request, const UpdateMemberResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 914 915 /** 916 * <p>Updates a node configuration with new parameters.</p> <p>Applies only to 917 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 918 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/UpdateNode">AWS 919 * API Reference</a></p> 920 */ 921 virtual Model::UpdateNodeOutcome UpdateNode(const Model::UpdateNodeRequest& request) const; 922 923 /** 924 * <p>Updates a node configuration with new parameters.</p> <p>Applies only to 925 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 926 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/UpdateNode">AWS 927 * API Reference</a></p> 928 * 929 * returns a future to the operation so that it can be executed in parallel to other requests. 930 */ 931 virtual Model::UpdateNodeOutcomeCallable UpdateNodeCallable(const Model::UpdateNodeRequest& request) const; 932 933 /** 934 * <p>Updates a node configuration with new parameters.</p> <p>Applies only to 935 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 936 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/UpdateNode">AWS 937 * API Reference</a></p> 938 * 939 * Queues the request into a thread executor and triggers associated callback when operation has finished. 940 */ 941 virtual void UpdateNodeAsync(const Model::UpdateNodeRequest& request, const UpdateNodeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 942 943 /** 944 * <p>Casts a vote for a specified <code>ProposalId</code> on behalf of a member. 945 * The member to vote as, specified by <code>VoterMemberId</code>, must be in the 946 * same AWS account as the principal that calls the action.</p> <p>Applies only to 947 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 948 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/VoteOnProposal">AWS 949 * API Reference</a></p> 950 */ 951 virtual Model::VoteOnProposalOutcome VoteOnProposal(const Model::VoteOnProposalRequest& request) const; 952 953 /** 954 * <p>Casts a vote for a specified <code>ProposalId</code> on behalf of a member. 955 * The member to vote as, specified by <code>VoterMemberId</code>, must be in the 956 * same AWS account as the principal that calls the action.</p> <p>Applies only to 957 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 958 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/VoteOnProposal">AWS 959 * API Reference</a></p> 960 * 961 * returns a future to the operation so that it can be executed in parallel to other requests. 962 */ 963 virtual Model::VoteOnProposalOutcomeCallable VoteOnProposalCallable(const Model::VoteOnProposalRequest& request) const; 964 965 /** 966 * <p>Casts a vote for a specified <code>ProposalId</code> on behalf of a member. 967 * The member to vote as, specified by <code>VoterMemberId</code>, must be in the 968 * same AWS account as the principal that calls the action.</p> <p>Applies only to 969 * Hyperledger Fabric.</p><p><h3>See Also:</h3> <a 970 * href="http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/VoteOnProposal">AWS 971 * API Reference</a></p> 972 * 973 * Queues the request into a thread executor and triggers associated callback when operation has finished. 974 */ 975 virtual void VoteOnProposalAsync(const Model::VoteOnProposalRequest& request, const VoteOnProposalResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 976 977 978 void OverrideEndpoint(const Aws::String& endpoint); 979 private: 980 void init(const Aws::Client::ClientConfiguration& clientConfiguration); 981 void CreateMemberAsyncHelper(const Model::CreateMemberRequest& request, const CreateMemberResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 982 void CreateNetworkAsyncHelper(const Model::CreateNetworkRequest& request, const CreateNetworkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 983 void CreateNodeAsyncHelper(const Model::CreateNodeRequest& request, const CreateNodeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 984 void CreateProposalAsyncHelper(const Model::CreateProposalRequest& request, const CreateProposalResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 985 void DeleteMemberAsyncHelper(const Model::DeleteMemberRequest& request, const DeleteMemberResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 986 void DeleteNodeAsyncHelper(const Model::DeleteNodeRequest& request, const DeleteNodeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 987 void GetMemberAsyncHelper(const Model::GetMemberRequest& request, const GetMemberResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 988 void GetNetworkAsyncHelper(const Model::GetNetworkRequest& request, const GetNetworkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 989 void GetNodeAsyncHelper(const Model::GetNodeRequest& request, const GetNodeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 990 void GetProposalAsyncHelper(const Model::GetProposalRequest& request, const GetProposalResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 991 void ListInvitationsAsyncHelper(const Model::ListInvitationsRequest& request, const ListInvitationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 992 void ListMembersAsyncHelper(const Model::ListMembersRequest& request, const ListMembersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 993 void ListNetworksAsyncHelper(const Model::ListNetworksRequest& request, const ListNetworksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 994 void ListNodesAsyncHelper(const Model::ListNodesRequest& request, const ListNodesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 995 void ListProposalVotesAsyncHelper(const Model::ListProposalVotesRequest& request, const ListProposalVotesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 996 void ListProposalsAsyncHelper(const Model::ListProposalsRequest& request, const ListProposalsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 997 void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 998 void RejectInvitationAsyncHelper(const Model::RejectInvitationRequest& request, const RejectInvitationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 999 void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1000 void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1001 void UpdateMemberAsyncHelper(const Model::UpdateMemberRequest& request, const UpdateMemberResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1002 void UpdateNodeAsyncHelper(const Model::UpdateNodeRequest& request, const UpdateNodeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1003 void VoteOnProposalAsyncHelper(const Model::VoteOnProposalRequest& request, const VoteOnProposalResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1004 1005 Aws::String m_uri; 1006 Aws::String m_configScheme; 1007 std::shared_ptr<Aws::Utils::Threading::Executor> m_executor; 1008 }; 1009 1010 } // namespace ManagedBlockchain 1011 } // namespace Aws 1012