UNPKG

45.3 kBTypeScriptView Raw
1import {Request} from '../lib/request';
2import {Response} from '../lib/response';
3import {AWSError} from '../lib/error';
4import {Service} from '../lib/service';
5import {ServiceConfigurationOptions} from '../lib/service';
6import {ConfigBase as Config} from '../lib/config';
7interface Blob {}
8declare class ManagedBlockchain extends Service {
9 /**
10 * Constructs a service object. This object has one method for each API operation.
11 */
12 constructor(options?: ManagedBlockchain.Types.ClientConfiguration)
13 config: Config & ManagedBlockchain.Types.ClientConfiguration;
14 /**
15 * Creates a member within a Managed Blockchain network.
16 */
17 createMember(params: ManagedBlockchain.Types.CreateMemberInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.CreateMemberOutput) => void): Request<ManagedBlockchain.Types.CreateMemberOutput, AWSError>;
18 /**
19 * Creates a member within a Managed Blockchain network.
20 */
21 createMember(callback?: (err: AWSError, data: ManagedBlockchain.Types.CreateMemberOutput) => void): Request<ManagedBlockchain.Types.CreateMemberOutput, AWSError>;
22 /**
23 * Creates a new blockchain network using Amazon Managed Blockchain.
24 */
25 createNetwork(params: ManagedBlockchain.Types.CreateNetworkInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.CreateNetworkOutput) => void): Request<ManagedBlockchain.Types.CreateNetworkOutput, AWSError>;
26 /**
27 * Creates a new blockchain network using Amazon Managed Blockchain.
28 */
29 createNetwork(callback?: (err: AWSError, data: ManagedBlockchain.Types.CreateNetworkOutput) => void): Request<ManagedBlockchain.Types.CreateNetworkOutput, AWSError>;
30 /**
31 * Creates a peer node in a member.
32 */
33 createNode(params: ManagedBlockchain.Types.CreateNodeInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.CreateNodeOutput) => void): Request<ManagedBlockchain.Types.CreateNodeOutput, AWSError>;
34 /**
35 * Creates a peer node in a member.
36 */
37 createNode(callback?: (err: AWSError, data: ManagedBlockchain.Types.CreateNodeOutput) => void): Request<ManagedBlockchain.Types.CreateNodeOutput, AWSError>;
38 /**
39 * 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.
40 */
41 createProposal(params: ManagedBlockchain.Types.CreateProposalInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.CreateProposalOutput) => void): Request<ManagedBlockchain.Types.CreateProposalOutput, AWSError>;
42 /**
43 * 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.
44 */
45 createProposal(callback?: (err: AWSError, data: ManagedBlockchain.Types.CreateProposalOutput) => void): Request<ManagedBlockchain.Types.CreateProposalOutput, AWSError>;
46 /**
47 * 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 AWS 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 AWS account, the network is deleted also.
48 */
49 deleteMember(params: ManagedBlockchain.Types.DeleteMemberInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.DeleteMemberOutput) => void): Request<ManagedBlockchain.Types.DeleteMemberOutput, AWSError>;
50 /**
51 * 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 AWS 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 AWS account, the network is deleted also.
52 */
53 deleteMember(callback?: (err: AWSError, data: ManagedBlockchain.Types.DeleteMemberOutput) => void): Request<ManagedBlockchain.Types.DeleteMemberOutput, AWSError>;
54 /**
55 * Deletes a peer node from a member that your AWS account owns. All data on the node is lost and cannot be recovered.
56 */
57 deleteNode(params: ManagedBlockchain.Types.DeleteNodeInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.DeleteNodeOutput) => void): Request<ManagedBlockchain.Types.DeleteNodeOutput, AWSError>;
58 /**
59 * Deletes a peer node from a member that your AWS account owns. All data on the node is lost and cannot be recovered.
60 */
61 deleteNode(callback?: (err: AWSError, data: ManagedBlockchain.Types.DeleteNodeOutput) => void): Request<ManagedBlockchain.Types.DeleteNodeOutput, AWSError>;
62 /**
63 * Returns detailed information about a member.
64 */
65 getMember(params: ManagedBlockchain.Types.GetMemberInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.GetMemberOutput) => void): Request<ManagedBlockchain.Types.GetMemberOutput, AWSError>;
66 /**
67 * Returns detailed information about a member.
68 */
69 getMember(callback?: (err: AWSError, data: ManagedBlockchain.Types.GetMemberOutput) => void): Request<ManagedBlockchain.Types.GetMemberOutput, AWSError>;
70 /**
71 * Returns detailed information about a network.
72 */
73 getNetwork(params: ManagedBlockchain.Types.GetNetworkInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.GetNetworkOutput) => void): Request<ManagedBlockchain.Types.GetNetworkOutput, AWSError>;
74 /**
75 * Returns detailed information about a network.
76 */
77 getNetwork(callback?: (err: AWSError, data: ManagedBlockchain.Types.GetNetworkOutput) => void): Request<ManagedBlockchain.Types.GetNetworkOutput, AWSError>;
78 /**
79 * Returns detailed information about a peer node.
80 */
81 getNode(params: ManagedBlockchain.Types.GetNodeInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.GetNodeOutput) => void): Request<ManagedBlockchain.Types.GetNodeOutput, AWSError>;
82 /**
83 * Returns detailed information about a peer node.
84 */
85 getNode(callback?: (err: AWSError, data: ManagedBlockchain.Types.GetNodeOutput) => void): Request<ManagedBlockchain.Types.GetNodeOutput, AWSError>;
86 /**
87 * Returns detailed information about a proposal.
88 */
89 getProposal(params: ManagedBlockchain.Types.GetProposalInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.GetProposalOutput) => void): Request<ManagedBlockchain.Types.GetProposalOutput, AWSError>;
90 /**
91 * Returns detailed information about a proposal.
92 */
93 getProposal(callback?: (err: AWSError, data: ManagedBlockchain.Types.GetProposalOutput) => void): Request<ManagedBlockchain.Types.GetProposalOutput, AWSError>;
94 /**
95 * Returns a listing of all invitations made on the specified network.
96 */
97 listInvitations(params: ManagedBlockchain.Types.ListInvitationsInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.ListInvitationsOutput) => void): Request<ManagedBlockchain.Types.ListInvitationsOutput, AWSError>;
98 /**
99 * Returns a listing of all invitations made on the specified network.
100 */
101 listInvitations(callback?: (err: AWSError, data: ManagedBlockchain.Types.ListInvitationsOutput) => void): Request<ManagedBlockchain.Types.ListInvitationsOutput, AWSError>;
102 /**
103 * Returns a listing of the members in a network and properties of their configurations.
104 */
105 listMembers(params: ManagedBlockchain.Types.ListMembersInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.ListMembersOutput) => void): Request<ManagedBlockchain.Types.ListMembersOutput, AWSError>;
106 /**
107 * Returns a listing of the members in a network and properties of their configurations.
108 */
109 listMembers(callback?: (err: AWSError, data: ManagedBlockchain.Types.ListMembersOutput) => void): Request<ManagedBlockchain.Types.ListMembersOutput, AWSError>;
110 /**
111 * Returns information about the networks in which the current AWS account has members.
112 */
113 listNetworks(params: ManagedBlockchain.Types.ListNetworksInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.ListNetworksOutput) => void): Request<ManagedBlockchain.Types.ListNetworksOutput, AWSError>;
114 /**
115 * Returns information about the networks in which the current AWS account has members.
116 */
117 listNetworks(callback?: (err: AWSError, data: ManagedBlockchain.Types.ListNetworksOutput) => void): Request<ManagedBlockchain.Types.ListNetworksOutput, AWSError>;
118 /**
119 * Returns information about the nodes within a network.
120 */
121 listNodes(params: ManagedBlockchain.Types.ListNodesInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.ListNodesOutput) => void): Request<ManagedBlockchain.Types.ListNodesOutput, AWSError>;
122 /**
123 * Returns information about the nodes within a network.
124 */
125 listNodes(callback?: (err: AWSError, data: ManagedBlockchain.Types.ListNodesOutput) => void): Request<ManagedBlockchain.Types.ListNodesOutput, AWSError>;
126 /**
127 * Returns the listing of votes for a specified proposal, including the value of each vote and the unique identifier of the member that cast the vote.
128 */
129 listProposalVotes(params: ManagedBlockchain.Types.ListProposalVotesInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.ListProposalVotesOutput) => void): Request<ManagedBlockchain.Types.ListProposalVotesOutput, AWSError>;
130 /**
131 * Returns the listing of votes for a specified proposal, including the value of each vote and the unique identifier of the member that cast the vote.
132 */
133 listProposalVotes(callback?: (err: AWSError, data: ManagedBlockchain.Types.ListProposalVotesOutput) => void): Request<ManagedBlockchain.Types.ListProposalVotesOutput, AWSError>;
134 /**
135 * Returns a listing of proposals for the network.
136 */
137 listProposals(params: ManagedBlockchain.Types.ListProposalsInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.ListProposalsOutput) => void): Request<ManagedBlockchain.Types.ListProposalsOutput, AWSError>;
138 /**
139 * Returns a listing of proposals for the network.
140 */
141 listProposals(callback?: (err: AWSError, data: ManagedBlockchain.Types.ListProposalsOutput) => void): Request<ManagedBlockchain.Types.ListProposalsOutput, AWSError>;
142 /**
143 * Rejects an invitation to join a network. This action can be called by a principal in an AWS account that has received an invitation to create a member and join a network.
144 */
145 rejectInvitation(params: ManagedBlockchain.Types.RejectInvitationInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.RejectInvitationOutput) => void): Request<ManagedBlockchain.Types.RejectInvitationOutput, AWSError>;
146 /**
147 * Rejects an invitation to join a network. This action can be called by a principal in an AWS account that has received an invitation to create a member and join a network.
148 */
149 rejectInvitation(callback?: (err: AWSError, data: ManagedBlockchain.Types.RejectInvitationOutput) => void): Request<ManagedBlockchain.Types.RejectInvitationOutput, AWSError>;
150 /**
151 * 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 AWS account as the principal that calls the action.
152 */
153 voteOnProposal(params: ManagedBlockchain.Types.VoteOnProposalInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.VoteOnProposalOutput) => void): Request<ManagedBlockchain.Types.VoteOnProposalOutput, AWSError>;
154 /**
155 * 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 AWS account as the principal that calls the action.
156 */
157 voteOnProposal(callback?: (err: AWSError, data: ManagedBlockchain.Types.VoteOnProposalOutput) => void): Request<ManagedBlockchain.Types.VoteOnProposalOutput, AWSError>;
158}
159declare namespace ManagedBlockchain {
160 export interface ApprovalThresholdPolicy {
161 /**
162 * The percentage of votes among all members that must be YES for a proposal to be approved. For example, a ThresholdPercentage value of 50 indicates 50%. The ThresholdComparator determines the precise comparison. If a ThresholdPercentage value of 50 is specified on a network with 10 members, along with a ThresholdComparator value of GREATER_THAN, this indicates that 6 YES votes are required for the proposal to be approved.
163 */
164 ThresholdPercentage?: ThresholdPercentageInt;
165 /**
166 * The duration from the time that a proposal is created until it expires. If members cast neither the required number of YES votes to approve the proposal nor the number of NO votes required to reject it before the duration expires, the proposal is EXPIRED and ProposalActions are not carried out.
167 */
168 ProposalDurationInHours?: ProposalDurationInt;
169 /**
170 * Determines whether the vote percentage must be greater than the ThresholdPercentage or must be greater than or equal to the ThreholdPercentage to be approved.
171 */
172 ThresholdComparator?: ThresholdComparator;
173 }
174 export type AvailabilityZoneString = string;
175 export type ClientRequestTokenString = string;
176 export interface CreateMemberInput {
177 /**
178 * A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.
179 */
180 ClientRequestToken: ClientRequestTokenString;
181 /**
182 * The unique identifier of the invitation that is sent to the member to join the network.
183 */
184 InvitationId: ResourceIdString;
185 /**
186 * The unique identifier of the network in which the member is created.
187 */
188 NetworkId: ResourceIdString;
189 /**
190 * Member configuration parameters.
191 */
192 MemberConfiguration: MemberConfiguration;
193 }
194 export interface CreateMemberOutput {
195 /**
196 * The unique identifier of the member.
197 */
198 MemberId?: ResourceIdString;
199 }
200 export interface CreateNetworkInput {
201 /**
202 * A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.
203 */
204 ClientRequestToken: ClientRequestTokenString;
205 /**
206 * The name of the network.
207 */
208 Name: NameString;
209 /**
210 * An optional description for the network.
211 */
212 Description?: DescriptionString;
213 /**
214 * The blockchain framework that the network uses.
215 */
216 Framework: Framework;
217 /**
218 * The version of the blockchain framework that the network uses.
219 */
220 FrameworkVersion: FrameworkVersionString;
221 /**
222 * Configuration properties of the blockchain framework relevant to the network configuration.
223 */
224 FrameworkConfiguration?: NetworkFrameworkConfiguration;
225 /**
226 * The voting rules used by the network to determine if a proposal is approved.
227 */
228 VotingPolicy: VotingPolicy;
229 /**
230 * Configuration properties for the first member within the network.
231 */
232 MemberConfiguration: MemberConfiguration;
233 }
234 export interface CreateNetworkOutput {
235 /**
236 * The unique identifier for the network.
237 */
238 NetworkId?: ResourceIdString;
239 /**
240 * The unique identifier for the first member within the network.
241 */
242 MemberId?: ResourceIdString;
243 }
244 export interface CreateNodeInput {
245 /**
246 * A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.
247 */
248 ClientRequestToken: ClientRequestTokenString;
249 /**
250 * The unique identifier of the network in which this node runs.
251 */
252 NetworkId: ResourceIdString;
253 /**
254 * The unique identifier of the member that owns this node.
255 */
256 MemberId: ResourceIdString;
257 /**
258 * The properties of a node configuration.
259 */
260 NodeConfiguration: NodeConfiguration;
261 }
262 export interface CreateNodeOutput {
263 /**
264 * The unique identifier of the node.
265 */
266 NodeId?: ResourceIdString;
267 }
268 export interface CreateProposalInput {
269 /**
270 * A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.
271 */
272 ClientRequestToken: ClientRequestTokenString;
273 /**
274 * The unique identifier of the network for which the proposal is made.
275 */
276 NetworkId: ResourceIdString;
277 /**
278 * The unique identifier of the member that is creating the proposal. This identifier is especially useful for identifying the member making the proposal when multiple members exist in a single AWS account.
279 */
280 MemberId: ResourceIdString;
281 /**
282 * The type of actions proposed, such as inviting a member or removing a member. The types of Actions in a proposal are mutually exclusive. For example, a proposal with Invitations actions cannot also contain Removals actions.
283 */
284 Actions: ProposalActions;
285 /**
286 * A description for the proposal that is visible to voting members, for example, "Proposal to add Example Corp. as member."
287 */
288 Description?: DescriptionString;
289 }
290 export interface CreateProposalOutput {
291 /**
292 * The unique identifier of the proposal.
293 */
294 ProposalId?: ResourceIdString;
295 }
296 export interface DeleteMemberInput {
297 /**
298 * The unique identifier of the network from which the member is removed.
299 */
300 NetworkId: ResourceIdString;
301 /**
302 * The unique identifier of the member to remove.
303 */
304 MemberId: ResourceIdString;
305 }
306 export interface DeleteMemberOutput {
307 }
308 export interface DeleteNodeInput {
309 /**
310 * The unique identifier of the network that the node belongs to.
311 */
312 NetworkId: ResourceIdString;
313 /**
314 * The unique identifier of the member that owns this node.
315 */
316 MemberId: ResourceIdString;
317 /**
318 * The unique identifier of the node.
319 */
320 NodeId: ResourceIdString;
321 }
322 export interface DeleteNodeOutput {
323 }
324 export type DescriptionString = string;
325 export type Edition = "STARTER"|"STANDARD"|string;
326 export type Framework = "HYPERLEDGER_FABRIC"|string;
327 export type FrameworkVersionString = string;
328 export interface GetMemberInput {
329 /**
330 * The unique identifier of the network to which the member belongs.
331 */
332 NetworkId: ResourceIdString;
333 /**
334 * The unique identifier of the member.
335 */
336 MemberId: ResourceIdString;
337 }
338 export interface GetMemberOutput {
339 /**
340 * The properties of a member.
341 */
342 Member?: Member;
343 }
344 export interface GetNetworkInput {
345 /**
346 * The unique identifier of the network to get information about.
347 */
348 NetworkId: ResourceIdString;
349 }
350 export interface GetNetworkOutput {
351 /**
352 * An object containing network configuration parameters.
353 */
354 Network?: Network;
355 }
356 export interface GetNodeInput {
357 /**
358 * The unique identifier of the network to which the node belongs.
359 */
360 NetworkId: ResourceIdString;
361 /**
362 * The unique identifier of the member that owns the node.
363 */
364 MemberId: ResourceIdString;
365 /**
366 * The unique identifier of the node.
367 */
368 NodeId: ResourceIdString;
369 }
370 export interface GetNodeOutput {
371 /**
372 * Properties of the node configuration.
373 */
374 Node?: Node;
375 }
376 export interface GetProposalInput {
377 /**
378 * The unique identifier of the network for which the proposal is made.
379 */
380 NetworkId: ResourceIdString;
381 /**
382 * The unique identifier of the proposal.
383 */
384 ProposalId: ResourceIdString;
385 }
386 export interface GetProposalOutput {
387 /**
388 * Information about a proposal.
389 */
390 Proposal?: Proposal;
391 }
392 export type InstanceTypeString = string;
393 export interface Invitation {
394 /**
395 * The unique identifier for the invitation.
396 */
397 InvitationId?: ResourceIdString;
398 /**
399 * The date and time that the invitation was created.
400 */
401 CreationDate?: Timestamp;
402 /**
403 * The date and time that the invitation expires. This is the CreationDate plus the ProposalDurationInHours that is specified in the ProposalThresholdPolicy. After this date and time, the invitee can no longer create a member and join the network using this InvitationId.
404 */
405 ExpirationDate?: Timestamp;
406 /**
407 * The status of the invitation: PENDING - The invitee has not created a member to join the network, and the invitation has not yet expired. ACCEPTING - The invitee has begun creating a member, and creation has not yet completed. ACCEPTED - The invitee created a member and joined the network using the InvitationID. REJECTED - The invitee rejected the invitation. EXPIRED - The invitee neither created a member nor rejected the invitation before the ExpirationDate.
408 */
409 Status?: InvitationStatus;
410 NetworkSummary?: NetworkSummary;
411 }
412 export type InvitationList = Invitation[];
413 export type InvitationStatus = "PENDING"|"ACCEPTED"|"ACCEPTING"|"REJECTED"|"EXPIRED"|string;
414 export interface InviteAction {
415 /**
416 * The AWS account ID to invite.
417 */
418 Principal: PrincipalString;
419 }
420 export type InviteActionList = InviteAction[];
421 export type IsOwned = boolean;
422 export interface ListInvitationsInput {
423 /**
424 * The maximum number of invitations to return.
425 */
426 MaxResults?: ProposalListMaxResults;
427 /**
428 * The pagination token that indicates the next set of results to retrieve.
429 */
430 NextToken?: PaginationToken;
431 }
432 export interface ListInvitationsOutput {
433 /**
434 * The invitations for the network.
435 */
436 Invitations?: InvitationList;
437 /**
438 * The pagination token that indicates the next set of results to retrieve.
439 */
440 NextToken?: PaginationToken;
441 }
442 export interface ListMembersInput {
443 /**
444 * The unique identifier of the network for which to list members.
445 */
446 NetworkId: ResourceIdString;
447 /**
448 * The optional name of the member to list.
449 */
450 Name?: String;
451 /**
452 * An optional status specifier. If provided, only members currently in this status are listed.
453 */
454 Status?: MemberStatus;
455 /**
456 * An optional Boolean value. If provided, the request is limited either to members that the current AWS account owns (true) or that other AWS accounts own (false). If omitted, all members are listed.
457 */
458 IsOwned?: IsOwned;
459 /**
460 * The maximum number of members to return in the request.
461 */
462 MaxResults?: MemberListMaxResults;
463 /**
464 * The pagination token that indicates the next set of results to retrieve.
465 */
466 NextToken?: PaginationToken;
467 }
468 export interface ListMembersOutput {
469 /**
470 * An array of MemberSummary objects. Each object contains details about a network member.
471 */
472 Members?: MemberSummaryList;
473 /**
474 * The pagination token that indicates the next set of results to retrieve.
475 */
476 NextToken?: PaginationToken;
477 }
478 export interface ListNetworksInput {
479 /**
480 * The name of the network.
481 */
482 Name?: String;
483 /**
484 * An optional framework specifier. If provided, only networks of this framework type are listed.
485 */
486 Framework?: Framework;
487 /**
488 * An optional status specifier. If provided, only networks currently in this status are listed.
489 */
490 Status?: NetworkStatus;
491 /**
492 * The maximum number of networks to list.
493 */
494 MaxResults?: NetworkListMaxResults;
495 /**
496 * The pagination token that indicates the next set of results to retrieve.
497 */
498 NextToken?: PaginationToken;
499 }
500 export interface ListNetworksOutput {
501 /**
502 * An array of NetworkSummary objects that contain configuration properties for each network.
503 */
504 Networks?: NetworkSummaryList;
505 /**
506 * The pagination token that indicates the next set of results to retrieve.
507 */
508 NextToken?: PaginationToken;
509 }
510 export interface ListNodesInput {
511 /**
512 * The unique identifier of the network for which to list nodes.
513 */
514 NetworkId: ResourceIdString;
515 /**
516 * The unique identifier of the member who owns the nodes to list.
517 */
518 MemberId: ResourceIdString;
519 /**
520 * An optional status specifier. If provided, only nodes currently in this status are listed.
521 */
522 Status?: NodeStatus;
523 /**
524 * The maximum number of nodes to list.
525 */
526 MaxResults?: NodeListMaxResults;
527 /**
528 * The pagination token that indicates the next set of results to retrieve.
529 */
530 NextToken?: PaginationToken;
531 }
532 export interface ListNodesOutput {
533 /**
534 * An array of NodeSummary objects that contain configuration properties for each node.
535 */
536 Nodes?: NodeSummaryList;
537 /**
538 * The pagination token that indicates the next set of results to retrieve.
539 */
540 NextToken?: PaginationToken;
541 }
542 export interface ListProposalVotesInput {
543 /**
544 * The unique identifier of the network.
545 */
546 NetworkId: ResourceIdString;
547 /**
548 * The unique identifier of the proposal.
549 */
550 ProposalId: ResourceIdString;
551 /**
552 * The maximum number of votes to return.
553 */
554 MaxResults?: ProposalListMaxResults;
555 /**
556 * The pagination token that indicates the next set of results to retrieve.
557 */
558 NextToken?: PaginationToken;
559 }
560 export interface ListProposalVotesOutput {
561 /**
562 * The listing of votes.
563 */
564 ProposalVotes?: ProposalVoteList;
565 /**
566 * The pagination token that indicates the next set of results to retrieve.
567 */
568 NextToken?: PaginationToken;
569 }
570 export interface ListProposalsInput {
571 /**
572 * The unique identifier of the network.
573 */
574 NetworkId: ResourceIdString;
575 /**
576 * The maximum number of proposals to return.
577 */
578 MaxResults?: ProposalListMaxResults;
579 /**
580 * The pagination token that indicates the next set of results to retrieve.
581 */
582 NextToken?: PaginationToken;
583 }
584 export interface ListProposalsOutput {
585 /**
586 * The summary of each proposal made on the network.
587 */
588 Proposals?: ProposalSummaryList;
589 /**
590 * The pagination token that indicates the next set of results to retrieve.
591 */
592 NextToken?: PaginationToken;
593 }
594 export interface Member {
595 /**
596 * The unique identifier of the network to which the member belongs.
597 */
598 NetworkId?: ResourceIdString;
599 /**
600 * The unique identifier of the member.
601 */
602 Id?: ResourceIdString;
603 /**
604 * The name of the member.
605 */
606 Name?: NetworkMemberNameString;
607 /**
608 * An optional description for the member.
609 */
610 Description?: DescriptionString;
611 /**
612 * Attributes relevant to a member for the blockchain framework that the Managed Blockchain network uses.
613 */
614 FrameworkAttributes?: MemberFrameworkAttributes;
615 /**
616 * The status of a member. CREATING - The AWS account is in the process of creating a member. AVAILABLE - The member has been created and can participate in the network. CREATE_FAILED - The AWS account attempted to create a member and creation failed. DELETING - The member and all associated resources are in the process of being deleted. Either the AWS account that owns the member deleted it, or the member is being deleted as the result of an APPROVED PROPOSAL to remove the member. DELETED - The member can no longer participate on the network and all associated resources are deleted. Either the AWS account that owns the member deleted it, or the member is being deleted as the result of an APPROVED PROPOSAL to remove the member.
617 */
618 Status?: MemberStatus;
619 /**
620 * The date and time that the member was created.
621 */
622 CreationDate?: Timestamp;
623 }
624 export interface MemberConfiguration {
625 /**
626 * The name of the member.
627 */
628 Name: NetworkMemberNameString;
629 /**
630 * An optional description of the member.
631 */
632 Description?: DescriptionString;
633 /**
634 * Configuration properties of the blockchain framework relevant to the member.
635 */
636 FrameworkConfiguration: MemberFrameworkConfiguration;
637 }
638 export interface MemberFabricAttributes {
639 /**
640 * The user name for the initial administrator user for the member.
641 */
642 AdminUsername?: UsernameString;
643 /**
644 * The endpoint used to access the member's certificate authority.
645 */
646 CaEndpoint?: String;
647 }
648 export interface MemberFabricConfiguration {
649 /**
650 * The user name for the member's initial administrative user.
651 */
652 AdminUsername: UsernameString;
653 /**
654 * The password for the member's initial administrative user. The AdminPassword must be at least eight characters long and no more than 32 characters. It must contain at least one uppercase letter, one lowercase letter, and one digit. It cannot have a single quote(‘), double quote(“), forward slash(/), backward slash(\), @, or a space.
655 */
656 AdminPassword: PasswordString;
657 }
658 export interface MemberFrameworkAttributes {
659 /**
660 * Attributes of Hyperledger Fabric relevant to a member on a Managed Blockchain network that uses Hyperledger Fabric.
661 */
662 Fabric?: MemberFabricAttributes;
663 }
664 export interface MemberFrameworkConfiguration {
665 /**
666 * Attributes of Hyperledger Fabric for a member on a Managed Blockchain network that uses Hyperledger Fabric.
667 */
668 Fabric?: MemberFabricConfiguration;
669 }
670 export type MemberListMaxResults = number;
671 export type MemberStatus = "CREATING"|"AVAILABLE"|"CREATE_FAILED"|"DELETING"|"DELETED"|string;
672 export interface MemberSummary {
673 /**
674 * The unique identifier of the member.
675 */
676 Id?: ResourceIdString;
677 /**
678 * The name of the member.
679 */
680 Name?: NetworkMemberNameString;
681 /**
682 * An optional description of the member.
683 */
684 Description?: DescriptionString;
685 /**
686 * The status of the member. CREATING - The AWS account is in the process of creating a member. AVAILABLE - The member has been created and can participate in the network. CREATE_FAILED - The AWS account attempted to create a member and creation failed. DELETING - The member and all associated resources are in the process of being deleted. Either the AWS account that owns the member deleted it, or the member is being deleted as the result of an APPROVED PROPOSAL to remove the member. DELETED - The member can no longer participate on the network and all associated resources are deleted. Either the AWS account that owns the member deleted it, or the member is being deleted as the result of an APPROVED PROPOSAL to remove the member.
687 */
688 Status?: MemberStatus;
689 /**
690 * The date and time that the member was created.
691 */
692 CreationDate?: Timestamp;
693 /**
694 * An indicator of whether the member is owned by your AWS account or a different AWS account.
695 */
696 IsOwned?: IsOwned;
697 }
698 export type MemberSummaryList = MemberSummary[];
699 export type NameString = string;
700 export interface Network {
701 /**
702 * The unique identifier of the network.
703 */
704 Id?: ResourceIdString;
705 /**
706 * The name of the network.
707 */
708 Name?: NameString;
709 /**
710 * Attributes of the blockchain framework for the network.
711 */
712 Description?: DescriptionString;
713 /**
714 * The blockchain framework that the network uses.
715 */
716 Framework?: Framework;
717 /**
718 * The version of the blockchain framework that the network uses.
719 */
720 FrameworkVersion?: FrameworkVersionString;
721 /**
722 * Attributes of the blockchain framework that the network uses.
723 */
724 FrameworkAttributes?: NetworkFrameworkAttributes;
725 /**
726 * The VPC endpoint service name of the VPC endpoint service of the network. Members use the VPC endpoint service name to create a VPC endpoint to access network resources.
727 */
728 VpcEndpointServiceName?: String;
729 /**
730 * The voting rules for the network to decide if a proposal is accepted.
731 */
732 VotingPolicy?: VotingPolicy;
733 /**
734 * The current status of the network.
735 */
736 Status?: NetworkStatus;
737 /**
738 * The date and time that the network was created.
739 */
740 CreationDate?: Timestamp;
741 }
742 export interface NetworkFabricAttributes {
743 /**
744 * The endpoint of the ordering service for the network.
745 */
746 OrderingServiceEndpoint?: String;
747 /**
748 * The edition of Amazon Managed Blockchain that Hyperledger Fabric uses. For more information, see Amazon Managed Blockchain Pricing.
749 */
750 Edition?: Edition;
751 }
752 export interface NetworkFabricConfiguration {
753 /**
754 * The edition of Amazon Managed Blockchain that the network uses. For more information, see Amazon Managed Blockchain Pricing.
755 */
756 Edition: Edition;
757 }
758 export interface NetworkFrameworkAttributes {
759 /**
760 * Attributes of Hyperledger Fabric for a Managed Blockchain network that uses Hyperledger Fabric.
761 */
762 Fabric?: NetworkFabricAttributes;
763 }
764 export interface NetworkFrameworkConfiguration {
765 /**
766 * Hyperledger Fabric configuration properties for a Managed Blockchain network that uses Hyperledger Fabric.
767 */
768 Fabric?: NetworkFabricConfiguration;
769 }
770 export type NetworkListMaxResults = number;
771 export type NetworkMemberNameString = string;
772 export type NetworkStatus = "CREATING"|"AVAILABLE"|"CREATE_FAILED"|"DELETING"|"DELETED"|string;
773 export interface NetworkSummary {
774 /**
775 * The unique identifier of the network.
776 */
777 Id?: ResourceIdString;
778 /**
779 * The name of the network.
780 */
781 Name?: NameString;
782 /**
783 * An optional description of the network.
784 */
785 Description?: DescriptionString;
786 /**
787 * The blockchain framework that the network uses.
788 */
789 Framework?: Framework;
790 /**
791 * The version of the blockchain framework that the network uses.
792 */
793 FrameworkVersion?: FrameworkVersionString;
794 /**
795 * The current status of the network.
796 */
797 Status?: NetworkStatus;
798 /**
799 * The date and time that the network was created.
800 */
801 CreationDate?: Timestamp;
802 }
803 export type NetworkSummaryList = NetworkSummary[];
804 export interface Node {
805 /**
806 * The unique identifier of the network that the node is in.
807 */
808 NetworkId?: ResourceIdString;
809 /**
810 * The unique identifier of the member to which the node belongs.
811 */
812 MemberId?: ResourceIdString;
813 /**
814 * The unique identifier of the node.
815 */
816 Id?: ResourceIdString;
817 /**
818 * The instance type of the node.
819 */
820 InstanceType?: InstanceTypeString;
821 /**
822 * The Availability Zone in which the node exists.
823 */
824 AvailabilityZone?: AvailabilityZoneString;
825 /**
826 * Attributes of the blockchain framework being used.
827 */
828 FrameworkAttributes?: NodeFrameworkAttributes;
829 /**
830 * The status of the node.
831 */
832 Status?: NodeStatus;
833 /**
834 * The date and time that the node was created.
835 */
836 CreationDate?: Timestamp;
837 }
838 export interface NodeConfiguration {
839 /**
840 * The Amazon Managed Blockchain instance type for the node.
841 */
842 InstanceType: InstanceTypeString;
843 /**
844 * The Availability Zone in which the node exists.
845 */
846 AvailabilityZone: AvailabilityZoneString;
847 }
848 export interface NodeFabricAttributes {
849 /**
850 * The endpoint that identifies the peer node for all services except peer channel-based event services.
851 */
852 PeerEndpoint?: String;
853 /**
854 * The endpoint that identifies the peer node for peer channel-based event services.
855 */
856 PeerEventEndpoint?: String;
857 }
858 export interface NodeFrameworkAttributes {
859 /**
860 * Attributes of Hyperledger Fabric for a peer node on a Managed Blockchain network that uses Hyperledger Fabric.
861 */
862 Fabric?: NodeFabricAttributes;
863 }
864 export type NodeListMaxResults = number;
865 export type NodeStatus = "CREATING"|"AVAILABLE"|"CREATE_FAILED"|"DELETING"|"DELETED"|"FAILED"|string;
866 export interface NodeSummary {
867 /**
868 * The unique identifier of the node.
869 */
870 Id?: ResourceIdString;
871 /**
872 * The status of the node.
873 */
874 Status?: NodeStatus;
875 /**
876 * The date and time that the node was created.
877 */
878 CreationDate?: Timestamp;
879 /**
880 * The Availability Zone in which the node exists.
881 */
882 AvailabilityZone?: AvailabilityZoneString;
883 /**
884 * The EC2 instance type for the node.
885 */
886 InstanceType?: InstanceTypeString;
887 }
888 export type NodeSummaryList = NodeSummary[];
889 export type PaginationToken = string;
890 export type PasswordString = string;
891 export type PrincipalString = string;
892 export interface Proposal {
893 /**
894 * The unique identifier of the proposal.
895 */
896 ProposalId?: ResourceIdString;
897 /**
898 * The unique identifier of the network for which the proposal is made.
899 */
900 NetworkId?: ResourceIdString;
901 /**
902 * The description of the proposal.
903 */
904 Description?: DescriptionString;
905 /**
906 * The actions to perform on the network if the proposal is APPROVED.
907 */
908 Actions?: ProposalActions;
909 /**
910 * The unique identifier of the member that created the proposal.
911 */
912 ProposedByMemberId?: ResourceIdString;
913 /**
914 * The name of the member that created the proposal.
915 */
916 ProposedByMemberName?: NetworkMemberNameString;
917 /**
918 * The status of the proposal. Values are as follows: IN_PROGRESS - The proposal is active and open for member voting. APPROVED - The proposal was approved with sufficient YES votes among members according to the VotingPolicy specified for the Network. The specified proposal actions are carried out. REJECTED - The proposal was rejected with insufficient YES votes among members according to the VotingPolicy specified for the Network. The specified ProposalActions are not carried out. EXPIRED - Members did not cast the number of votes required to determine the proposal outcome before the proposal expired. The specified ProposalActions are not carried out. ACTION_FAILED - One or more of the specified ProposalActions in a proposal that was approved could not be completed because of an error.
919 */
920 Status?: ProposalStatus;
921 /**
922 * The date and time that the proposal was created.
923 */
924 CreationDate?: Timestamp;
925 /**
926 * The date and time that the proposal expires. This is the CreationDate plus the ProposalDurationInHours that is specified in the ProposalThresholdPolicy. After this date and time, if members have not cast enough votes to determine the outcome according to the voting policy, the proposal is EXPIRED and Actions are not carried out.
927 */
928 ExpirationDate?: Timestamp;
929 /**
930 * The current total of YES votes cast on the proposal by members.
931 */
932 YesVoteCount?: VoteCount;
933 /**
934 * The current total of NO votes cast on the proposal by members.
935 */
936 NoVoteCount?: VoteCount;
937 /**
938 * The number of votes remaining to be cast on the proposal by members. In other words, the number of members minus the sum of YES votes and NO votes.
939 */
940 OutstandingVoteCount?: VoteCount;
941 }
942 export interface ProposalActions {
943 /**
944 * The actions to perform for an APPROVED proposal to invite an AWS account to create a member and join the network.
945 */
946 Invitations?: InviteActionList;
947 /**
948 * The actions to perform for an APPROVED proposal to remove a member from the network, which deletes the member and all associated member resources from the network.
949 */
950 Removals?: RemoveActionList;
951 }
952 export type ProposalDurationInt = number;
953 export type ProposalListMaxResults = number;
954 export type ProposalStatus = "IN_PROGRESS"|"APPROVED"|"REJECTED"|"EXPIRED"|"ACTION_FAILED"|string;
955 export interface ProposalSummary {
956 /**
957 * The unique identifier of the proposal.
958 */
959 ProposalId?: ResourceIdString;
960 /**
961 * The description of the proposal.
962 */
963 Description?: DescriptionString;
964 /**
965 * The unique identifier of the member that created the proposal.
966 */
967 ProposedByMemberId?: ResourceIdString;
968 /**
969 * The name of the member that created the proposal.
970 */
971 ProposedByMemberName?: NetworkMemberNameString;
972 /**
973 * The status of the proposal. Values are as follows: IN_PROGRESS - The proposal is active and open for member voting. APPROVED - The proposal was approved with sufficient YES votes among members according to the VotingPolicy specified for the Network. The specified proposal actions are carried out. REJECTED - The proposal was rejected with insufficient YES votes among members according to the VotingPolicy specified for the Network. The specified ProposalActions are not carried out. EXPIRED - Members did not cast the number of votes required to determine the proposal outcome before the proposal expired. The specified ProposalActions are not carried out. ACTION_FAILED - One or more of the specified ProposalActions in a proposal that was approved could not be completed because of an error.
974 */
975 Status?: ProposalStatus;
976 /**
977 * The date and time that the proposal was created.
978 */
979 CreationDate?: Timestamp;
980 /**
981 * The date and time that the proposal expires. This is the CreationDate plus the ProposalDurationInHours that is specified in the ProposalThresholdPolicy. After this date and time, if members have not cast enough votes to determine the outcome according to the voting policy, the proposal is EXPIRED and Actions are not carried out.
982 */
983 ExpirationDate?: Timestamp;
984 }
985 export type ProposalSummaryList = ProposalSummary[];
986 export type ProposalVoteList = VoteSummary[];
987 export interface RejectInvitationInput {
988 /**
989 * The unique identifier of the invitation to reject.
990 */
991 InvitationId: ResourceIdString;
992 }
993 export interface RejectInvitationOutput {
994 }
995 export interface RemoveAction {
996 /**
997 * The unique identifier of the member to remove.
998 */
999 MemberId: ResourceIdString;
1000 }
1001 export type RemoveActionList = RemoveAction[];
1002 export type ResourceIdString = string;
1003 export type String = string;
1004 export type ThresholdComparator = "GREATER_THAN"|"GREATER_THAN_OR_EQUAL_TO"|string;
1005 export type ThresholdPercentageInt = number;
1006 export type Timestamp = Date;
1007 export type UsernameString = string;
1008 export type VoteCount = number;
1009 export interface VoteOnProposalInput {
1010 /**
1011 * The unique identifier of the network.
1012 */
1013 NetworkId: ResourceIdString;
1014 /**
1015 * The unique identifier of the proposal.
1016 */
1017 ProposalId: ResourceIdString;
1018 /**
1019 * The unique identifier of the member casting the vote.
1020 */
1021 VoterMemberId: ResourceIdString;
1022 /**
1023 * The value of the vote.
1024 */
1025 Vote: VoteValue;
1026 }
1027 export interface VoteOnProposalOutput {
1028 }
1029 export interface VoteSummary {
1030 /**
1031 * The vote value, either YES or NO.
1032 */
1033 Vote?: VoteValue;
1034 /**
1035 * The name of the member that cast the vote.
1036 */
1037 MemberName?: NetworkMemberNameString;
1038 /**
1039 * The unique identifier of the member that cast the vote.
1040 */
1041 MemberId?: ResourceIdString;
1042 }
1043 export type VoteValue = "YES"|"NO"|string;
1044 export interface VotingPolicy {
1045 /**
1046 * Defines the rules for the network for voting on proposals, such as the percentage of YES votes required for the proposal to be approved and the duration of the proposal. The policy applies to all proposals and is specified when the network is created.
1047 */
1048 ApprovalThresholdPolicy?: ApprovalThresholdPolicy;
1049 }
1050 /**
1051 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
1052 */
1053 export type apiVersion = "2018-09-24"|"latest"|string;
1054 export interface ClientApiVersions {
1055 /**
1056 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
1057 */
1058 apiVersion?: apiVersion;
1059 }
1060 export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
1061 /**
1062 * Contains interfaces for use with the ManagedBlockchain client.
1063 */
1064 export import Types = ManagedBlockchain;
1065}
1066export = ManagedBlockchain;