UNPKG

49.9 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 * Updates a member configuration with new parameters.
152 */
153 updateMember(params: ManagedBlockchain.Types.UpdateMemberInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.UpdateMemberOutput) => void): Request<ManagedBlockchain.Types.UpdateMemberOutput, AWSError>;
154 /**
155 * Updates a member configuration with new parameters.
156 */
157 updateMember(callback?: (err: AWSError, data: ManagedBlockchain.Types.UpdateMemberOutput) => void): Request<ManagedBlockchain.Types.UpdateMemberOutput, AWSError>;
158 /**
159 * Updates a node configuration with new parameters.
160 */
161 updateNode(params: ManagedBlockchain.Types.UpdateNodeInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.UpdateNodeOutput) => void): Request<ManagedBlockchain.Types.UpdateNodeOutput, AWSError>;
162 /**
163 * Updates a node configuration with new parameters.
164 */
165 updateNode(callback?: (err: AWSError, data: ManagedBlockchain.Types.UpdateNodeOutput) => void): Request<ManagedBlockchain.Types.UpdateNodeOutput, AWSError>;
166 /**
167 * 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.
168 */
169 voteOnProposal(params: ManagedBlockchain.Types.VoteOnProposalInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.VoteOnProposalOutput) => void): Request<ManagedBlockchain.Types.VoteOnProposalOutput, AWSError>;
170 /**
171 * 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.
172 */
173 voteOnProposal(callback?: (err: AWSError, data: ManagedBlockchain.Types.VoteOnProposalOutput) => void): Request<ManagedBlockchain.Types.VoteOnProposalOutput, AWSError>;
174}
175declare namespace ManagedBlockchain {
176 export interface ApprovalThresholdPolicy {
177 /**
178 * 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.
179 */
180 ThresholdPercentage?: ThresholdPercentageInt;
181 /**
182 * 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.
183 */
184 ProposalDurationInHours?: ProposalDurationInt;
185 /**
186 * Determines whether the vote percentage must be greater than the ThresholdPercentage or must be greater than or equal to the ThreholdPercentage to be approved.
187 */
188 ThresholdComparator?: ThresholdComparator;
189 }
190 export type AvailabilityZoneString = string;
191 export type ClientRequestTokenString = string;
192 export interface CreateMemberInput {
193 /**
194 * 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.
195 */
196 ClientRequestToken: ClientRequestTokenString;
197 /**
198 * The unique identifier of the invitation that is sent to the member to join the network.
199 */
200 InvitationId: ResourceIdString;
201 /**
202 * The unique identifier of the network in which the member is created.
203 */
204 NetworkId: ResourceIdString;
205 /**
206 * Member configuration parameters.
207 */
208 MemberConfiguration: MemberConfiguration;
209 }
210 export interface CreateMemberOutput {
211 /**
212 * The unique identifier of the member.
213 */
214 MemberId?: ResourceIdString;
215 }
216 export interface CreateNetworkInput {
217 /**
218 * 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.
219 */
220 ClientRequestToken: ClientRequestTokenString;
221 /**
222 * The name of the network.
223 */
224 Name: NameString;
225 /**
226 * An optional description for the network.
227 */
228 Description?: DescriptionString;
229 /**
230 * The blockchain framework that the network uses.
231 */
232 Framework: Framework;
233 /**
234 * The version of the blockchain framework that the network uses.
235 */
236 FrameworkVersion: FrameworkVersionString;
237 /**
238 * Configuration properties of the blockchain framework relevant to the network configuration.
239 */
240 FrameworkConfiguration?: NetworkFrameworkConfiguration;
241 /**
242 * The voting rules used by the network to determine if a proposal is approved.
243 */
244 VotingPolicy: VotingPolicy;
245 /**
246 * Configuration properties for the first member within the network.
247 */
248 MemberConfiguration: MemberConfiguration;
249 }
250 export interface CreateNetworkOutput {
251 /**
252 * The unique identifier for the network.
253 */
254 NetworkId?: ResourceIdString;
255 /**
256 * The unique identifier for the first member within the network.
257 */
258 MemberId?: ResourceIdString;
259 }
260 export interface CreateNodeInput {
261 /**
262 * 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.
263 */
264 ClientRequestToken: ClientRequestTokenString;
265 /**
266 * The unique identifier of the network in which this node runs.
267 */
268 NetworkId: ResourceIdString;
269 /**
270 * The unique identifier of the member that owns this node.
271 */
272 MemberId: ResourceIdString;
273 /**
274 * The properties of a node configuration.
275 */
276 NodeConfiguration: NodeConfiguration;
277 }
278 export interface CreateNodeOutput {
279 /**
280 * The unique identifier of the node.
281 */
282 NodeId?: ResourceIdString;
283 }
284 export interface CreateProposalInput {
285 /**
286 * 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.
287 */
288 ClientRequestToken: ClientRequestTokenString;
289 /**
290 * The unique identifier of the network for which the proposal is made.
291 */
292 NetworkId: ResourceIdString;
293 /**
294 * 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.
295 */
296 MemberId: ResourceIdString;
297 /**
298 * 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.
299 */
300 Actions: ProposalActions;
301 /**
302 * A description for the proposal that is visible to voting members, for example, "Proposal to add Example Corp. as member."
303 */
304 Description?: DescriptionString;
305 }
306 export interface CreateProposalOutput {
307 /**
308 * The unique identifier of the proposal.
309 */
310 ProposalId?: ResourceIdString;
311 }
312 export interface DeleteMemberInput {
313 /**
314 * The unique identifier of the network from which the member is removed.
315 */
316 NetworkId: ResourceIdString;
317 /**
318 * The unique identifier of the member to remove.
319 */
320 MemberId: ResourceIdString;
321 }
322 export interface DeleteMemberOutput {
323 }
324 export interface DeleteNodeInput {
325 /**
326 * The unique identifier of the network that the node belongs to.
327 */
328 NetworkId: ResourceIdString;
329 /**
330 * The unique identifier of the member that owns this node.
331 */
332 MemberId: ResourceIdString;
333 /**
334 * The unique identifier of the node.
335 */
336 NodeId: ResourceIdString;
337 }
338 export interface DeleteNodeOutput {
339 }
340 export type DescriptionString = string;
341 export type Edition = "STARTER"|"STANDARD"|string;
342 export type Enabled = boolean;
343 export type Framework = "HYPERLEDGER_FABRIC"|string;
344 export type FrameworkVersionString = string;
345 export interface GetMemberInput {
346 /**
347 * The unique identifier of the network to which the member belongs.
348 */
349 NetworkId: ResourceIdString;
350 /**
351 * The unique identifier of the member.
352 */
353 MemberId: ResourceIdString;
354 }
355 export interface GetMemberOutput {
356 /**
357 * The properties of a member.
358 */
359 Member?: Member;
360 }
361 export interface GetNetworkInput {
362 /**
363 * The unique identifier of the network to get information about.
364 */
365 NetworkId: ResourceIdString;
366 }
367 export interface GetNetworkOutput {
368 /**
369 * An object containing network configuration parameters.
370 */
371 Network?: Network;
372 }
373 export interface GetNodeInput {
374 /**
375 * The unique identifier of the network to which the node belongs.
376 */
377 NetworkId: ResourceIdString;
378 /**
379 * The unique identifier of the member that owns the node.
380 */
381 MemberId: ResourceIdString;
382 /**
383 * The unique identifier of the node.
384 */
385 NodeId: ResourceIdString;
386 }
387 export interface GetNodeOutput {
388 /**
389 * Properties of the node configuration.
390 */
391 Node?: Node;
392 }
393 export interface GetProposalInput {
394 /**
395 * The unique identifier of the network for which the proposal is made.
396 */
397 NetworkId: ResourceIdString;
398 /**
399 * The unique identifier of the proposal.
400 */
401 ProposalId: ResourceIdString;
402 }
403 export interface GetProposalOutput {
404 /**
405 * Information about a proposal.
406 */
407 Proposal?: Proposal;
408 }
409 export type InstanceTypeString = string;
410 export interface Invitation {
411 /**
412 * The unique identifier for the invitation.
413 */
414 InvitationId?: ResourceIdString;
415 /**
416 * The date and time that the invitation was created.
417 */
418 CreationDate?: Timestamp;
419 /**
420 * 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.
421 */
422 ExpirationDate?: Timestamp;
423 /**
424 * 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.
425 */
426 Status?: InvitationStatus;
427 NetworkSummary?: NetworkSummary;
428 }
429 export type InvitationList = Invitation[];
430 export type InvitationStatus = "PENDING"|"ACCEPTED"|"ACCEPTING"|"REJECTED"|"EXPIRED"|string;
431 export interface InviteAction {
432 /**
433 * The AWS account ID to invite.
434 */
435 Principal: PrincipalString;
436 }
437 export type InviteActionList = InviteAction[];
438 export type IsOwned = boolean;
439 export interface ListInvitationsInput {
440 /**
441 * The maximum number of invitations to return.
442 */
443 MaxResults?: ProposalListMaxResults;
444 /**
445 * The pagination token that indicates the next set of results to retrieve.
446 */
447 NextToken?: PaginationToken;
448 }
449 export interface ListInvitationsOutput {
450 /**
451 * The invitations for the network.
452 */
453 Invitations?: InvitationList;
454 /**
455 * The pagination token that indicates the next set of results to retrieve.
456 */
457 NextToken?: PaginationToken;
458 }
459 export interface ListMembersInput {
460 /**
461 * The unique identifier of the network for which to list members.
462 */
463 NetworkId: ResourceIdString;
464 /**
465 * The optional name of the member to list.
466 */
467 Name?: String;
468 /**
469 * An optional status specifier. If provided, only members currently in this status are listed.
470 */
471 Status?: MemberStatus;
472 /**
473 * 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.
474 */
475 IsOwned?: IsOwned;
476 /**
477 * The maximum number of members to return in the request.
478 */
479 MaxResults?: MemberListMaxResults;
480 /**
481 * The pagination token that indicates the next set of results to retrieve.
482 */
483 NextToken?: PaginationToken;
484 }
485 export interface ListMembersOutput {
486 /**
487 * An array of MemberSummary objects. Each object contains details about a network member.
488 */
489 Members?: MemberSummaryList;
490 /**
491 * The pagination token that indicates the next set of results to retrieve.
492 */
493 NextToken?: PaginationToken;
494 }
495 export interface ListNetworksInput {
496 /**
497 * The name of the network.
498 */
499 Name?: String;
500 /**
501 * An optional framework specifier. If provided, only networks of this framework type are listed.
502 */
503 Framework?: Framework;
504 /**
505 * An optional status specifier. If provided, only networks currently in this status are listed.
506 */
507 Status?: NetworkStatus;
508 /**
509 * The maximum number of networks to list.
510 */
511 MaxResults?: NetworkListMaxResults;
512 /**
513 * The pagination token that indicates the next set of results to retrieve.
514 */
515 NextToken?: PaginationToken;
516 }
517 export interface ListNetworksOutput {
518 /**
519 * An array of NetworkSummary objects that contain configuration properties for each network.
520 */
521 Networks?: NetworkSummaryList;
522 /**
523 * The pagination token that indicates the next set of results to retrieve.
524 */
525 NextToken?: PaginationToken;
526 }
527 export interface ListNodesInput {
528 /**
529 * The unique identifier of the network for which to list nodes.
530 */
531 NetworkId: ResourceIdString;
532 /**
533 * The unique identifier of the member who owns the nodes to list.
534 */
535 MemberId: ResourceIdString;
536 /**
537 * An optional status specifier. If provided, only nodes currently in this status are listed.
538 */
539 Status?: NodeStatus;
540 /**
541 * The maximum number of nodes to list.
542 */
543 MaxResults?: NodeListMaxResults;
544 /**
545 * The pagination token that indicates the next set of results to retrieve.
546 */
547 NextToken?: PaginationToken;
548 }
549 export interface ListNodesOutput {
550 /**
551 * An array of NodeSummary objects that contain configuration properties for each node.
552 */
553 Nodes?: NodeSummaryList;
554 /**
555 * The pagination token that indicates the next set of results to retrieve.
556 */
557 NextToken?: PaginationToken;
558 }
559 export interface ListProposalVotesInput {
560 /**
561 * The unique identifier of the network.
562 */
563 NetworkId: ResourceIdString;
564 /**
565 * The unique identifier of the proposal.
566 */
567 ProposalId: ResourceIdString;
568 /**
569 * The maximum number of votes to return.
570 */
571 MaxResults?: ProposalListMaxResults;
572 /**
573 * The pagination token that indicates the next set of results to retrieve.
574 */
575 NextToken?: PaginationToken;
576 }
577 export interface ListProposalVotesOutput {
578 /**
579 * The listing of votes.
580 */
581 ProposalVotes?: ProposalVoteList;
582 /**
583 * The pagination token that indicates the next set of results to retrieve.
584 */
585 NextToken?: PaginationToken;
586 }
587 export interface ListProposalsInput {
588 /**
589 * The unique identifier of the network.
590 */
591 NetworkId: ResourceIdString;
592 /**
593 * The maximum number of proposals to return.
594 */
595 MaxResults?: ProposalListMaxResults;
596 /**
597 * The pagination token that indicates the next set of results to retrieve.
598 */
599 NextToken?: PaginationToken;
600 }
601 export interface ListProposalsOutput {
602 /**
603 * The summary of each proposal made on the network.
604 */
605 Proposals?: ProposalSummaryList;
606 /**
607 * The pagination token that indicates the next set of results to retrieve.
608 */
609 NextToken?: PaginationToken;
610 }
611 export interface LogConfiguration {
612 /**
613 * Indicates whether logging is enabled.
614 */
615 Enabled?: Enabled;
616 }
617 export interface LogConfigurations {
618 /**
619 * Parameters for publishing logs to Amazon CloudWatch Logs.
620 */
621 Cloudwatch?: LogConfiguration;
622 }
623 export interface Member {
624 /**
625 * The unique identifier of the network to which the member belongs.
626 */
627 NetworkId?: ResourceIdString;
628 /**
629 * The unique identifier of the member.
630 */
631 Id?: ResourceIdString;
632 /**
633 * The name of the member.
634 */
635 Name?: NetworkMemberNameString;
636 /**
637 * An optional description for the member.
638 */
639 Description?: DescriptionString;
640 /**
641 * Attributes relevant to a member for the blockchain framework that the Managed Blockchain network uses.
642 */
643 FrameworkAttributes?: MemberFrameworkAttributes;
644 /**
645 * Configuration properties for logging events associated with a member.
646 */
647 LogPublishingConfiguration?: MemberLogPublishingConfiguration;
648 /**
649 * 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.
650 */
651 Status?: MemberStatus;
652 /**
653 * The date and time that the member was created.
654 */
655 CreationDate?: Timestamp;
656 }
657 export interface MemberConfiguration {
658 /**
659 * The name of the member.
660 */
661 Name: NetworkMemberNameString;
662 /**
663 * An optional description of the member.
664 */
665 Description?: DescriptionString;
666 /**
667 * Configuration properties of the blockchain framework relevant to the member.
668 */
669 FrameworkConfiguration: MemberFrameworkConfiguration;
670 /**
671 *
672 */
673 LogPublishingConfiguration?: MemberLogPublishingConfiguration;
674 }
675 export interface MemberFabricAttributes {
676 /**
677 * The user name for the initial administrator user for the member.
678 */
679 AdminUsername?: UsernameString;
680 /**
681 * The endpoint used to access the member's certificate authority.
682 */
683 CaEndpoint?: String;
684 }
685 export interface MemberFabricConfiguration {
686 /**
687 * The user name for the member's initial administrative user.
688 */
689 AdminUsername: UsernameString;
690 /**
691 * 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.
692 */
693 AdminPassword: PasswordString;
694 }
695 export interface MemberFabricLogPublishingConfiguration {
696 /**
697 * Configuration properties for logging events associated with a member's Certificate Authority (CA). CA logs help you determine when a member in your account joins the network, or when new peers register with a member CA.
698 */
699 CaLogs?: LogConfigurations;
700 }
701 export interface MemberFrameworkAttributes {
702 /**
703 * Attributes of Hyperledger Fabric relevant to a member on a Managed Blockchain network that uses Hyperledger Fabric.
704 */
705 Fabric?: MemberFabricAttributes;
706 }
707 export interface MemberFrameworkConfiguration {
708 /**
709 * Attributes of Hyperledger Fabric for a member on a Managed Blockchain network that uses Hyperledger Fabric.
710 */
711 Fabric?: MemberFabricConfiguration;
712 }
713 export type MemberListMaxResults = number;
714 export interface MemberLogPublishingConfiguration {
715 /**
716 * Configuration properties for logging events associated with a member of a Managed Blockchain network using the Hyperledger Fabric framework.
717 */
718 Fabric?: MemberFabricLogPublishingConfiguration;
719 }
720 export type MemberStatus = "CREATING"|"AVAILABLE"|"CREATE_FAILED"|"UPDATING"|"DELETING"|"DELETED"|string;
721 export interface MemberSummary {
722 /**
723 * The unique identifier of the member.
724 */
725 Id?: ResourceIdString;
726 /**
727 * The name of the member.
728 */
729 Name?: NetworkMemberNameString;
730 /**
731 * An optional description of the member.
732 */
733 Description?: DescriptionString;
734 /**
735 * 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.
736 */
737 Status?: MemberStatus;
738 /**
739 * The date and time that the member was created.
740 */
741 CreationDate?: Timestamp;
742 /**
743 * An indicator of whether the member is owned by your AWS account or a different AWS account.
744 */
745 IsOwned?: IsOwned;
746 }
747 export type MemberSummaryList = MemberSummary[];
748 export type NameString = string;
749 export interface Network {
750 /**
751 * The unique identifier of the network.
752 */
753 Id?: ResourceIdString;
754 /**
755 * The name of the network.
756 */
757 Name?: NameString;
758 /**
759 * Attributes of the blockchain framework for the network.
760 */
761 Description?: DescriptionString;
762 /**
763 * The blockchain framework that the network uses.
764 */
765 Framework?: Framework;
766 /**
767 * The version of the blockchain framework that the network uses.
768 */
769 FrameworkVersion?: FrameworkVersionString;
770 /**
771 * Attributes of the blockchain framework that the network uses.
772 */
773 FrameworkAttributes?: NetworkFrameworkAttributes;
774 /**
775 * 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.
776 */
777 VpcEndpointServiceName?: String;
778 /**
779 * The voting rules for the network to decide if a proposal is accepted.
780 */
781 VotingPolicy?: VotingPolicy;
782 /**
783 * The current status of the network.
784 */
785 Status?: NetworkStatus;
786 /**
787 * The date and time that the network was created.
788 */
789 CreationDate?: Timestamp;
790 }
791 export interface NetworkFabricAttributes {
792 /**
793 * The endpoint of the ordering service for the network.
794 */
795 OrderingServiceEndpoint?: String;
796 /**
797 * The edition of Amazon Managed Blockchain that Hyperledger Fabric uses. For more information, see Amazon Managed Blockchain Pricing.
798 */
799 Edition?: Edition;
800 }
801 export interface NetworkFabricConfiguration {
802 /**
803 * The edition of Amazon Managed Blockchain that the network uses. For more information, see Amazon Managed Blockchain Pricing.
804 */
805 Edition: Edition;
806 }
807 export interface NetworkFrameworkAttributes {
808 /**
809 * Attributes of Hyperledger Fabric for a Managed Blockchain network that uses Hyperledger Fabric.
810 */
811 Fabric?: NetworkFabricAttributes;
812 }
813 export interface NetworkFrameworkConfiguration {
814 /**
815 * Hyperledger Fabric configuration properties for a Managed Blockchain network that uses Hyperledger Fabric.
816 */
817 Fabric?: NetworkFabricConfiguration;
818 }
819 export type NetworkListMaxResults = number;
820 export type NetworkMemberNameString = string;
821 export type NetworkStatus = "CREATING"|"AVAILABLE"|"CREATE_FAILED"|"DELETING"|"DELETED"|string;
822 export interface NetworkSummary {
823 /**
824 * The unique identifier of the network.
825 */
826 Id?: ResourceIdString;
827 /**
828 * The name of the network.
829 */
830 Name?: NameString;
831 /**
832 * An optional description of the network.
833 */
834 Description?: DescriptionString;
835 /**
836 * The blockchain framework that the network uses.
837 */
838 Framework?: Framework;
839 /**
840 * The version of the blockchain framework that the network uses.
841 */
842 FrameworkVersion?: FrameworkVersionString;
843 /**
844 * The current status of the network.
845 */
846 Status?: NetworkStatus;
847 /**
848 * The date and time that the network was created.
849 */
850 CreationDate?: Timestamp;
851 }
852 export type NetworkSummaryList = NetworkSummary[];
853 export interface Node {
854 /**
855 * The unique identifier of the network that the node is in.
856 */
857 NetworkId?: ResourceIdString;
858 /**
859 * The unique identifier of the member to which the node belongs.
860 */
861 MemberId?: ResourceIdString;
862 /**
863 * The unique identifier of the node.
864 */
865 Id?: ResourceIdString;
866 /**
867 * The instance type of the node.
868 */
869 InstanceType?: InstanceTypeString;
870 /**
871 * The Availability Zone in which the node exists.
872 */
873 AvailabilityZone?: AvailabilityZoneString;
874 /**
875 * Attributes of the blockchain framework being used.
876 */
877 FrameworkAttributes?: NodeFrameworkAttributes;
878 /**
879 *
880 */
881 LogPublishingConfiguration?: NodeLogPublishingConfiguration;
882 /**
883 * The status of the node.
884 */
885 Status?: NodeStatus;
886 /**
887 * The date and time that the node was created.
888 */
889 CreationDate?: Timestamp;
890 }
891 export interface NodeConfiguration {
892 /**
893 * The Amazon Managed Blockchain instance type for the node.
894 */
895 InstanceType: InstanceTypeString;
896 /**
897 * The Availability Zone in which the node exists.
898 */
899 AvailabilityZone: AvailabilityZoneString;
900 /**
901 *
902 */
903 LogPublishingConfiguration?: NodeLogPublishingConfiguration;
904 }
905 export interface NodeFabricAttributes {
906 /**
907 * The endpoint that identifies the peer node for all services except peer channel-based event services.
908 */
909 PeerEndpoint?: String;
910 /**
911 * The endpoint that identifies the peer node for peer channel-based event services.
912 */
913 PeerEventEndpoint?: String;
914 }
915 export interface NodeFabricLogPublishingConfiguration {
916 /**
917 * Configuration properties for logging events associated with chaincode execution on a peer node. Chaincode logs contain the results of instantiating, invoking, and querying the chaincode. A peer can run multiple instances of chaincode. When enabled, a log stream is created for all chaincodes, with an individual log stream for each chaincode.
918 */
919 ChaincodeLogs?: LogConfigurations;
920 /**
921 * Configuration properties for a peer node log. Peer node logs contain messages generated when your client submits transaction proposals to peer nodes, requests to join channels, enrolls an admin peer, and lists the chaincode instances on a peer node.
922 */
923 PeerLogs?: LogConfigurations;
924 }
925 export interface NodeFrameworkAttributes {
926 /**
927 * Attributes of Hyperledger Fabric for a peer node on a Managed Blockchain network that uses Hyperledger Fabric.
928 */
929 Fabric?: NodeFabricAttributes;
930 }
931 export type NodeListMaxResults = number;
932 export interface NodeLogPublishingConfiguration {
933 /**
934 * Configuration properties for logging events associated with a node that is owned by a member of a Managed Blockchain network using the Hyperledger Fabric framework.
935 */
936 Fabric?: NodeFabricLogPublishingConfiguration;
937 }
938 export type NodeStatus = "CREATING"|"AVAILABLE"|"CREATE_FAILED"|"UPDATING"|"DELETING"|"DELETED"|"FAILED"|string;
939 export interface NodeSummary {
940 /**
941 * The unique identifier of the node.
942 */
943 Id?: ResourceIdString;
944 /**
945 * The status of the node.
946 */
947 Status?: NodeStatus;
948 /**
949 * The date and time that the node was created.
950 */
951 CreationDate?: Timestamp;
952 /**
953 * The Availability Zone in which the node exists.
954 */
955 AvailabilityZone?: AvailabilityZoneString;
956 /**
957 * The EC2 instance type for the node.
958 */
959 InstanceType?: InstanceTypeString;
960 }
961 export type NodeSummaryList = NodeSummary[];
962 export type PaginationToken = string;
963 export type PasswordString = string;
964 export type PrincipalString = string;
965 export interface Proposal {
966 /**
967 * The unique identifier of the proposal.
968 */
969 ProposalId?: ResourceIdString;
970 /**
971 * The unique identifier of the network for which the proposal is made.
972 */
973 NetworkId?: ResourceIdString;
974 /**
975 * The description of the proposal.
976 */
977 Description?: DescriptionString;
978 /**
979 * The actions to perform on the network if the proposal is APPROVED.
980 */
981 Actions?: ProposalActions;
982 /**
983 * The unique identifier of the member that created the proposal.
984 */
985 ProposedByMemberId?: ResourceIdString;
986 /**
987 * The name of the member that created the proposal.
988 */
989 ProposedByMemberName?: NetworkMemberNameString;
990 /**
991 * 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. The ACTION_FAILED status occurs even if only one ProposalAction fails and other actions are successful.
992 */
993 Status?: ProposalStatus;
994 /**
995 * The date and time that the proposal was created.
996 */
997 CreationDate?: Timestamp;
998 /**
999 * 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.
1000 */
1001 ExpirationDate?: Timestamp;
1002 /**
1003 * The current total of YES votes cast on the proposal by members.
1004 */
1005 YesVoteCount?: VoteCount;
1006 /**
1007 * The current total of NO votes cast on the proposal by members.
1008 */
1009 NoVoteCount?: VoteCount;
1010 /**
1011 * 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.
1012 */
1013 OutstandingVoteCount?: VoteCount;
1014 }
1015 export interface ProposalActions {
1016 /**
1017 * The actions to perform for an APPROVED proposal to invite an AWS account to create a member and join the network.
1018 */
1019 Invitations?: InviteActionList;
1020 /**
1021 * 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.
1022 */
1023 Removals?: RemoveActionList;
1024 }
1025 export type ProposalDurationInt = number;
1026 export type ProposalListMaxResults = number;
1027 export type ProposalStatus = "IN_PROGRESS"|"APPROVED"|"REJECTED"|"EXPIRED"|"ACTION_FAILED"|string;
1028 export interface ProposalSummary {
1029 /**
1030 * The unique identifier of the proposal.
1031 */
1032 ProposalId?: ResourceIdString;
1033 /**
1034 * The description of the proposal.
1035 */
1036 Description?: DescriptionString;
1037 /**
1038 * The unique identifier of the member that created the proposal.
1039 */
1040 ProposedByMemberId?: ResourceIdString;
1041 /**
1042 * The name of the member that created the proposal.
1043 */
1044 ProposedByMemberName?: NetworkMemberNameString;
1045 /**
1046 * 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.
1047 */
1048 Status?: ProposalStatus;
1049 /**
1050 * The date and time that the proposal was created.
1051 */
1052 CreationDate?: Timestamp;
1053 /**
1054 * 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.
1055 */
1056 ExpirationDate?: Timestamp;
1057 }
1058 export type ProposalSummaryList = ProposalSummary[];
1059 export type ProposalVoteList = VoteSummary[];
1060 export interface RejectInvitationInput {
1061 /**
1062 * The unique identifier of the invitation to reject.
1063 */
1064 InvitationId: ResourceIdString;
1065 }
1066 export interface RejectInvitationOutput {
1067 }
1068 export interface RemoveAction {
1069 /**
1070 * The unique identifier of the member to remove.
1071 */
1072 MemberId: ResourceIdString;
1073 }
1074 export type RemoveActionList = RemoveAction[];
1075 export type ResourceIdString = string;
1076 export type String = string;
1077 export type ThresholdComparator = "GREATER_THAN"|"GREATER_THAN_OR_EQUAL_TO"|string;
1078 export type ThresholdPercentageInt = number;
1079 export type Timestamp = Date;
1080 export interface UpdateMemberInput {
1081 /**
1082 * The unique ID of the Managed Blockchain network to which the member belongs.
1083 */
1084 NetworkId: ResourceIdString;
1085 /**
1086 * The unique ID of the member.
1087 */
1088 MemberId: ResourceIdString;
1089 /**
1090 * Configuration properties for publishing to Amazon CloudWatch Logs.
1091 */
1092 LogPublishingConfiguration?: MemberLogPublishingConfiguration;
1093 }
1094 export interface UpdateMemberOutput {
1095 }
1096 export interface UpdateNodeInput {
1097 /**
1098 * The unique ID of the Managed Blockchain network to which the node belongs.
1099 */
1100 NetworkId: ResourceIdString;
1101 /**
1102 * The unique ID of the member that owns the node.
1103 */
1104 MemberId: ResourceIdString;
1105 /**
1106 * The unique ID of the node.
1107 */
1108 NodeId: ResourceIdString;
1109 /**
1110 * Configuration properties for publishing to Amazon CloudWatch Logs.
1111 */
1112 LogPublishingConfiguration?: NodeLogPublishingConfiguration;
1113 }
1114 export interface UpdateNodeOutput {
1115 }
1116 export type UsernameString = string;
1117 export type VoteCount = number;
1118 export interface VoteOnProposalInput {
1119 /**
1120 * The unique identifier of the network.
1121 */
1122 NetworkId: ResourceIdString;
1123 /**
1124 * The unique identifier of the proposal.
1125 */
1126 ProposalId: ResourceIdString;
1127 /**
1128 * The unique identifier of the member casting the vote.
1129 */
1130 VoterMemberId: ResourceIdString;
1131 /**
1132 * The value of the vote.
1133 */
1134 Vote: VoteValue;
1135 }
1136 export interface VoteOnProposalOutput {
1137 }
1138 export interface VoteSummary {
1139 /**
1140 * The vote value, either YES or NO.
1141 */
1142 Vote?: VoteValue;
1143 /**
1144 * The name of the member that cast the vote.
1145 */
1146 MemberName?: NetworkMemberNameString;
1147 /**
1148 * The unique identifier of the member that cast the vote.
1149 */
1150 MemberId?: ResourceIdString;
1151 }
1152 export type VoteValue = "YES"|"NO"|string;
1153 export interface VotingPolicy {
1154 /**
1155 * 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.
1156 */
1157 ApprovalThresholdPolicy?: ApprovalThresholdPolicy;
1158 }
1159 /**
1160 * 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.
1161 */
1162 export type apiVersion = "2018-09-24"|"latest"|string;
1163 export interface ClientApiVersions {
1164 /**
1165 * 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.
1166 */
1167 apiVersion?: apiVersion;
1168 }
1169 export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
1170 /**
1171 * Contains interfaces for use with the ManagedBlockchain client.
1172 */
1173 export import Types = ManagedBlockchain;
1174}
1175export = ManagedBlockchain;