managedblockchain.d.ts
   1  import {Request} from '../lib/request';
   2  import {Response} from '../lib/response';
   3  import {AWSError} from '../lib/error';
   4  import {Service} from '../lib/service';
   5  import {ServiceConfigurationOptions} from '../lib/service';
   6  import {ConfigBase as Config} from '../lib/config-base';
   7  interface Blob {}
   8  declare 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. Applies only to Hyperledger Fabric.
  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. Applies only to Hyperledger Fabric.
  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. Applies only to Hyperledger Fabric.
  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. Applies only to Hyperledger Fabric.
  28     */
  29    createNetwork(callback?: (err: AWSError, data: ManagedBlockchain.Types.CreateNetworkOutput) => void): Request<ManagedBlockchain.Types.CreateNetworkOutput, AWSError>;
  30    /**
  31     * Creates a node on the specified blockchain network. Applies to Hyperledger Fabric and Ethereum.
  32     */
  33    createNode(params: ManagedBlockchain.Types.CreateNodeInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.CreateNodeOutput) => void): Request<ManagedBlockchain.Types.CreateNodeOutput, AWSError>;
  34    /**
  35     * Creates a node on the specified blockchain network. Applies to Hyperledger Fabric and Ethereum.
  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. Applies only to Hyperledger Fabric.
  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. Applies only to Hyperledger Fabric.
  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. Applies only to Hyperledger Fabric.
  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. Applies only to Hyperledger Fabric.
  52     */
  53    deleteMember(callback?: (err: AWSError, data: ManagedBlockchain.Types.DeleteMemberOutput) => void): Request<ManagedBlockchain.Types.DeleteMemberOutput, AWSError>;
  54    /**
  55     * Deletes a node that your AWS account owns. All data on the node is lost and cannot be recovered. Applies to Hyperledger Fabric and Ethereum.
  56     */
  57    deleteNode(params: ManagedBlockchain.Types.DeleteNodeInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.DeleteNodeOutput) => void): Request<ManagedBlockchain.Types.DeleteNodeOutput, AWSError>;
  58    /**
  59     * Deletes a node that your AWS account owns. All data on the node is lost and cannot be recovered. Applies to Hyperledger Fabric and Ethereum.
  60     */
  61    deleteNode(callback?: (err: AWSError, data: ManagedBlockchain.Types.DeleteNodeOutput) => void): Request<ManagedBlockchain.Types.DeleteNodeOutput, AWSError>;
  62    /**
  63     * Returns detailed information about a member. Applies only to Hyperledger Fabric.
  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. Applies only to Hyperledger Fabric.
  68     */
  69    getMember(callback?: (err: AWSError, data: ManagedBlockchain.Types.GetMemberOutput) => void): Request<ManagedBlockchain.Types.GetMemberOutput, AWSError>;
  70    /**
  71     * Returns detailed information about a network. Applies to Hyperledger Fabric and Ethereum.
  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. Applies to Hyperledger Fabric and Ethereum.
  76     */
  77    getNetwork(callback?: (err: AWSError, data: ManagedBlockchain.Types.GetNetworkOutput) => void): Request<ManagedBlockchain.Types.GetNetworkOutput, AWSError>;
  78    /**
  79     * Returns detailed information about a node. Applies to Hyperledger Fabric and Ethereum.
  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 node. Applies to Hyperledger Fabric and Ethereum.
  84     */
  85    getNode(callback?: (err: AWSError, data: ManagedBlockchain.Types.GetNodeOutput) => void): Request<ManagedBlockchain.Types.GetNodeOutput, AWSError>;
  86    /**
  87     * Returns detailed information about a proposal. Applies only to Hyperledger Fabric.
  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. Applies only to Hyperledger Fabric.
  92     */
  93    getProposal(callback?: (err: AWSError, data: ManagedBlockchain.Types.GetProposalOutput) => void): Request<ManagedBlockchain.Types.GetProposalOutput, AWSError>;
  94    /**
  95     * Returns a list of all invitations for the current AWS account. Applies only to Hyperledger Fabric.
  96     */
  97    listInvitations(params: ManagedBlockchain.Types.ListInvitationsInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.ListInvitationsOutput) => void): Request<ManagedBlockchain.Types.ListInvitationsOutput, AWSError>;
  98    /**
  99     * Returns a list of all invitations for the current AWS account. Applies only to Hyperledger Fabric.
 100     */
 101    listInvitations(callback?: (err: AWSError, data: ManagedBlockchain.Types.ListInvitationsOutput) => void): Request<ManagedBlockchain.Types.ListInvitationsOutput, AWSError>;
 102    /**
 103     * Returns a list of the members in a network and properties of their configurations. Applies only to Hyperledger Fabric.
 104     */
 105    listMembers(params: ManagedBlockchain.Types.ListMembersInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.ListMembersOutput) => void): Request<ManagedBlockchain.Types.ListMembersOutput, AWSError>;
 106    /**
 107     * Returns a list of the members in a network and properties of their configurations. Applies only to Hyperledger Fabric.
 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 participates. Applies to Hyperledger Fabric and Ethereum.
 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 participates. Applies to Hyperledger Fabric and Ethereum.
 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. Applies to Hyperledger Fabric and Ethereum.
 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. Applies to Hyperledger Fabric and Ethereum.
 124     */
 125    listNodes(callback?: (err: AWSError, data: ManagedBlockchain.Types.ListNodesOutput) => void): Request<ManagedBlockchain.Types.ListNodesOutput, AWSError>;
 126    /**
 127     * Returns the list of votes for a specified proposal, including the value of each vote and the unique identifier of the member that cast the vote. Applies only to Hyperledger Fabric.
 128     */
 129    listProposalVotes(params: ManagedBlockchain.Types.ListProposalVotesInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.ListProposalVotesOutput) => void): Request<ManagedBlockchain.Types.ListProposalVotesOutput, AWSError>;
 130    /**
 131     * Returns the list of votes for a specified proposal, including the value of each vote and the unique identifier of the member that cast the vote. Applies only to Hyperledger Fabric.
 132     */
 133    listProposalVotes(callback?: (err: AWSError, data: ManagedBlockchain.Types.ListProposalVotesOutput) => void): Request<ManagedBlockchain.Types.ListProposalVotesOutput, AWSError>;
 134    /**
 135     * Returns a list of proposals for the network. Applies only to Hyperledger Fabric.
 136     */
 137    listProposals(params: ManagedBlockchain.Types.ListProposalsInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.ListProposalsOutput) => void): Request<ManagedBlockchain.Types.ListProposalsOutput, AWSError>;
 138    /**
 139     * Returns a list of proposals for the network. Applies only to Hyperledger Fabric.
 140     */
 141    listProposals(callback?: (err: AWSError, data: ManagedBlockchain.Types.ListProposalsOutput) => void): Request<ManagedBlockchain.Types.ListProposalsOutput, AWSError>;
 142    /**
 143     * Returns a list of tags for the specified resource. Each tag consists of a key and optional value. For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
 144     */
 145    listTagsForResource(params: ManagedBlockchain.Types.ListTagsForResourceRequest, callback?: (err: AWSError, data: ManagedBlockchain.Types.ListTagsForResourceResponse) => void): Request<ManagedBlockchain.Types.ListTagsForResourceResponse, AWSError>;
 146    /**
 147     * Returns a list of tags for the specified resource. Each tag consists of a key and optional value. For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
 148     */
 149    listTagsForResource(callback?: (err: AWSError, data: ManagedBlockchain.Types.ListTagsForResourceResponse) => void): Request<ManagedBlockchain.Types.ListTagsForResourceResponse, AWSError>;
 150    /**
 151     * 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. Applies only to Hyperledger Fabric.
 152     */
 153    rejectInvitation(params: ManagedBlockchain.Types.RejectInvitationInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.RejectInvitationOutput) => void): Request<ManagedBlockchain.Types.RejectInvitationOutput, AWSError>;
 154    /**
 155     * 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. Applies only to Hyperledger Fabric.
 156     */
 157    rejectInvitation(callback?: (err: AWSError, data: ManagedBlockchain.Types.RejectInvitationOutput) => void): Request<ManagedBlockchain.Types.RejectInvitationOutput, AWSError>;
 158    /**
 159     * Adds or overwrites the specified tags for the specified Amazon Managed Blockchain resource. Each tag consists of a key and optional value. When you specify a tag key that already exists, the tag value is overwritten with the new value. Use UntagResource to remove tag keys. A resource can have up to 50 tags. If you try to create more than 50 tags for a resource, your request fails and returns an error. For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
 160     */
 161    tagResource(params: ManagedBlockchain.Types.TagResourceRequest, callback?: (err: AWSError, data: ManagedBlockchain.Types.TagResourceResponse) => void): Request<ManagedBlockchain.Types.TagResourceResponse, AWSError>;
 162    /**
 163     * Adds or overwrites the specified tags for the specified Amazon Managed Blockchain resource. Each tag consists of a key and optional value. When you specify a tag key that already exists, the tag value is overwritten with the new value. Use UntagResource to remove tag keys. A resource can have up to 50 tags. If you try to create more than 50 tags for a resource, your request fails and returns an error. For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
 164     */
 165    tagResource(callback?: (err: AWSError, data: ManagedBlockchain.Types.TagResourceResponse) => void): Request<ManagedBlockchain.Types.TagResourceResponse, AWSError>;
 166    /**
 167     * Removes the specified tags from the Amazon Managed Blockchain resource. For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
 168     */
 169    untagResource(params: ManagedBlockchain.Types.UntagResourceRequest, callback?: (err: AWSError, data: ManagedBlockchain.Types.UntagResourceResponse) => void): Request<ManagedBlockchain.Types.UntagResourceResponse, AWSError>;
 170    /**
 171     * Removes the specified tags from the Amazon Managed Blockchain resource. For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
 172     */
 173    untagResource(callback?: (err: AWSError, data: ManagedBlockchain.Types.UntagResourceResponse) => void): Request<ManagedBlockchain.Types.UntagResourceResponse, AWSError>;
 174    /**
 175     * Updates a member configuration with new parameters. Applies only to Hyperledger Fabric.
 176     */
 177    updateMember(params: ManagedBlockchain.Types.UpdateMemberInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.UpdateMemberOutput) => void): Request<ManagedBlockchain.Types.UpdateMemberOutput, AWSError>;
 178    /**
 179     * Updates a member configuration with new parameters. Applies only to Hyperledger Fabric.
 180     */
 181    updateMember(callback?: (err: AWSError, data: ManagedBlockchain.Types.UpdateMemberOutput) => void): Request<ManagedBlockchain.Types.UpdateMemberOutput, AWSError>;
 182    /**
 183     * Updates a node configuration with new parameters. Applies only to Hyperledger Fabric.
 184     */
 185    updateNode(params: ManagedBlockchain.Types.UpdateNodeInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.UpdateNodeOutput) => void): Request<ManagedBlockchain.Types.UpdateNodeOutput, AWSError>;
 186    /**
 187     * Updates a node configuration with new parameters. Applies only to Hyperledger Fabric.
 188     */
 189    updateNode(callback?: (err: AWSError, data: ManagedBlockchain.Types.UpdateNodeOutput) => void): Request<ManagedBlockchain.Types.UpdateNodeOutput, AWSError>;
 190    /**
 191     * 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. Applies only to Hyperledger Fabric.
 192     */
 193    voteOnProposal(params: ManagedBlockchain.Types.VoteOnProposalInput, callback?: (err: AWSError, data: ManagedBlockchain.Types.VoteOnProposalOutput) => void): Request<ManagedBlockchain.Types.VoteOnProposalOutput, AWSError>;
 194    /**
 195     * 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. Applies only to Hyperledger Fabric.
 196     */
 197    voteOnProposal(callback?: (err: AWSError, data: ManagedBlockchain.Types.VoteOnProposalOutput) => void): Request<ManagedBlockchain.Types.VoteOnProposalOutput, AWSError>;
 198  }
 199  declare namespace ManagedBlockchain {
 200    export interface ApprovalThresholdPolicy {
 201      /**
 202       * 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.
 203       */
 204      ThresholdPercentage?: ThresholdPercentageInt;
 205      /**
 206       * 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.
 207       */
 208      ProposalDurationInHours?: ProposalDurationInt;
 209      /**
 210       * Determines whether the vote percentage must be greater than the ThresholdPercentage or must be greater than or equal to the ThreholdPercentage to be approved.
 211       */
 212      ThresholdComparator?: ThresholdComparator;
 213    }
 214    export type ArnString = string;
 215    export type AvailabilityZoneString = string;
 216    export type ClientRequestTokenString = string;
 217    export interface CreateMemberInput {
 218      /**
 219       * 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.
 220       */
 221      ClientRequestToken: ClientRequestTokenString;
 222      /**
 223       * The unique identifier of the invitation that is sent to the member to join the network.
 224       */
 225      InvitationId: ResourceIdString;
 226      /**
 227       * The unique identifier of the network in which the member is created.
 228       */
 229      NetworkId: ResourceIdString;
 230      /**
 231       * Member configuration parameters.
 232       */
 233      MemberConfiguration: MemberConfiguration;
 234    }
 235    export interface CreateMemberOutput {
 236      /**
 237       * The unique identifier of the member.
 238       */
 239      MemberId?: ResourceIdString;
 240    }
 241    export interface CreateNetworkInput {
 242      /**
 243       * 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.
 244       */
 245      ClientRequestToken: ClientRequestTokenString;
 246      /**
 247       * The name of the network.
 248       */
 249      Name: NameString;
 250      /**
 251       * An optional description for the network.
 252       */
 253      Description?: DescriptionString;
 254      /**
 255       * The blockchain framework that the network uses.
 256       */
 257      Framework: Framework;
 258      /**
 259       * The version of the blockchain framework that the network uses.
 260       */
 261      FrameworkVersion: FrameworkVersionString;
 262      /**
 263       *  Configuration properties of the blockchain framework relevant to the network configuration. 
 264       */
 265      FrameworkConfiguration?: NetworkFrameworkConfiguration;
 266      /**
 267       *  The voting rules used by the network to determine if a proposal is approved. 
 268       */
 269      VotingPolicy: VotingPolicy;
 270      /**
 271       * Configuration properties for the first member within the network.
 272       */
 273      MemberConfiguration: MemberConfiguration;
 274      /**
 275       * Tags to assign to the network. Each tag consists of a key and optional value. When specifying tags during creation, you can specify multiple key-value pairs in a single request, with an overall maximum of 50 tags added to each resource. For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
 276       */
 277      Tags?: InputTagMap;
 278    }
 279    export interface CreateNetworkOutput {
 280      /**
 281       * The unique identifier for the network.
 282       */
 283      NetworkId?: ResourceIdString;
 284      /**
 285       * The unique identifier for the first member within the network.
 286       */
 287      MemberId?: ResourceIdString;
 288    }
 289    export interface CreateNodeInput {
 290      /**
 291       * 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.
 292       */
 293      ClientRequestToken: ClientRequestTokenString;
 294      /**
 295       * The unique identifier of the network for the node. Ethereum public networks have the following NetworkIds:    n-ethereum-mainnet     n-ethereum-rinkeby     n-ethereum-ropsten   
 296       */
 297      NetworkId: ResourceIdString;
 298      /**
 299       * The unique identifier of the member that owns this node. Applies only to Hyperledger Fabric.
 300       */
 301      MemberId?: ResourceIdString;
 302      /**
 303       * The properties of a node configuration.
 304       */
 305      NodeConfiguration: NodeConfiguration;
 306      /**
 307       * Tags to assign to the node. Each tag consists of a key and optional value. When specifying tags during creation, you can specify multiple key-value pairs in a single request, with an overall maximum of 50 tags added to each resource. For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
 308       */
 309      Tags?: InputTagMap;
 310    }
 311    export interface CreateNodeOutput {
 312      /**
 313       * The unique identifier of the node.
 314       */
 315      NodeId?: ResourceIdString;
 316    }
 317    export interface CreateProposalInput {
 318      /**
 319       * 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.
 320       */
 321      ClientRequestToken: ClientRequestTokenString;
 322      /**
 323       *  The unique identifier of the network for which the proposal is made.
 324       */
 325      NetworkId: ResourceIdString;
 326      /**
 327       * 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.
 328       */
 329      MemberId: ResourceIdString;
 330      /**
 331       * 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.
 332       */
 333      Actions: ProposalActions;
 334      /**
 335       * A description for the proposal that is visible to voting members, for example, "Proposal to add Example Corp. as member."
 336       */
 337      Description?: DescriptionString;
 338      /**
 339       * Tags to assign to the proposal. Each tag consists of a key and optional value. When specifying tags during creation, you can specify multiple key-value pairs in a single request, with an overall maximum of 50 tags added to each resource. If the proposal is for a network invitation, the invitation inherits the tags added to the proposal. For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
 340       */
 341      Tags?: InputTagMap;
 342    }
 343    export interface CreateProposalOutput {
 344      /**
 345       * The unique identifier of the proposal.
 346       */
 347      ProposalId?: ResourceIdString;
 348    }
 349    export interface DeleteMemberInput {
 350      /**
 351       * The unique identifier of the network from which the member is removed.
 352       */
 353      NetworkId: ResourceIdString;
 354      /**
 355       * The unique identifier of the member to remove.
 356       */
 357      MemberId: ResourceIdString;
 358    }
 359    export interface DeleteMemberOutput {
 360    }
 361    export interface DeleteNodeInput {
 362      /**
 363       * The unique identifier of the network that the node is on. Ethereum public networks have the following NetworkIds:    n-ethereum-mainnet     n-ethereum-rinkeby     n-ethereum-ropsten   
 364       */
 365      NetworkId: ResourceIdString;
 366      /**
 367       * The unique identifier of the member that owns this node. Applies only to Hyperledger Fabric and is required for Hyperledger Fabric.
 368       */
 369      MemberId?: ResourceIdString;
 370      /**
 371       * The unique identifier of the node.
 372       */
 373      NodeId: ResourceIdString;
 374    }
 375    export interface DeleteNodeOutput {
 376    }
 377    export type DescriptionString = string;
 378    export type Edition = "STARTER"|"STANDARD"|string;
 379    export type Enabled = boolean;
 380    export type Framework = "HYPERLEDGER_FABRIC"|"ETHEREUM"|string;
 381    export type FrameworkVersionString = string;
 382    export interface GetMemberInput {
 383      /**
 384       * The unique identifier of the network to which the member belongs.
 385       */
 386      NetworkId: ResourceIdString;
 387      /**
 388       * The unique identifier of the member.
 389       */
 390      MemberId: ResourceIdString;
 391    }
 392    export interface GetMemberOutput {
 393      /**
 394       * The properties of a member.
 395       */
 396      Member?: Member;
 397    }
 398    export interface GetNetworkInput {
 399      /**
 400       * The unique identifier of the network to get information about.
 401       */
 402      NetworkId: ResourceIdString;
 403    }
 404    export interface GetNetworkOutput {
 405      /**
 406       * An object containing network configuration parameters.
 407       */
 408      Network?: Network;
 409    }
 410    export interface GetNodeInput {
 411      /**
 412       * The unique identifier of the network that the node is on.
 413       */
 414      NetworkId: ResourceIdString;
 415      /**
 416       * The unique identifier of the member that owns the node. Applies only to Hyperledger Fabric and is required for Hyperledger Fabric.
 417       */
 418      MemberId?: ResourceIdString;
 419      /**
 420       * The unique identifier of the node.
 421       */
 422      NodeId: ResourceIdString;
 423    }
 424    export interface GetNodeOutput {
 425      /**
 426       * Properties of the node configuration.
 427       */
 428      Node?: Node;
 429    }
 430    export interface GetProposalInput {
 431      /**
 432       * The unique identifier of the network for which the proposal is made.
 433       */
 434      NetworkId: ResourceIdString;
 435      /**
 436       * The unique identifier of the proposal.
 437       */
 438      ProposalId: ResourceIdString;
 439    }
 440    export interface GetProposalOutput {
 441      /**
 442       * Information about a proposal.
 443       */
 444      Proposal?: Proposal;
 445    }
 446    export type InputTagMap = {[key: string]: TagValue};
 447    export type InstanceTypeString = string;
 448    export interface Invitation {
 449      /**
 450       * The unique identifier for the invitation.
 451       */
 452      InvitationId?: ResourceIdString;
 453      /**
 454       * The date and time that the invitation was created.
 455       */
 456      CreationDate?: Timestamp;
 457      /**
 458       * 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.
 459       */
 460      ExpirationDate?: Timestamp;
 461      /**
 462       * 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.  
 463       */
 464      Status?: InvitationStatus;
 465      NetworkSummary?: NetworkSummary;
 466      /**
 467       * The Amazon Resource Name (ARN) of the invitation. For more information about ARNs and their format, see Amazon Resource Names (ARNs) in the AWS General Reference.
 468       */
 469      Arn?: ArnString;
 470    }
 471    export type InvitationList = Invitation[];
 472    export type InvitationStatus = "PENDING"|"ACCEPTED"|"ACCEPTING"|"REJECTED"|"EXPIRED"|string;
 473    export interface InviteAction {
 474      /**
 475       * The AWS account ID to invite.
 476       */
 477      Principal: PrincipalString;
 478    }
 479    export type InviteActionList = InviteAction[];
 480    export type IsOwned = boolean;
 481    export interface ListInvitationsInput {
 482      /**
 483       * The maximum number of invitations to return.
 484       */
 485      MaxResults?: ProposalListMaxResults;
 486      /**
 487       * The pagination token that indicates the next set of results to retrieve.
 488       */
 489      NextToken?: PaginationToken;
 490    }
 491    export interface ListInvitationsOutput {
 492      /**
 493       * The invitations for the network.
 494       */
 495      Invitations?: InvitationList;
 496      /**
 497       * The pagination token that indicates the next set of results to retrieve.
 498       */
 499      NextToken?: PaginationToken;
 500    }
 501    export interface ListMembersInput {
 502      /**
 503       * The unique identifier of the network for which to list members.
 504       */
 505      NetworkId: ResourceIdString;
 506      /**
 507       * The optional name of the member to list.
 508       */
 509      Name?: String;
 510      /**
 511       * An optional status specifier. If provided, only members currently in this status are listed.
 512       */
 513      Status?: MemberStatus;
 514      /**
 515       * 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.
 516       */
 517      IsOwned?: IsOwned;
 518      /**
 519       * The maximum number of members to return in the request.
 520       */
 521      MaxResults?: MemberListMaxResults;
 522      /**
 523       * The pagination token that indicates the next set of results to retrieve.
 524       */
 525      NextToken?: PaginationToken;
 526    }
 527    export interface ListMembersOutput {
 528      /**
 529       * An array of MemberSummary objects. Each object contains details about a network member.
 530       */
 531      Members?: MemberSummaryList;
 532      /**
 533       * The pagination token that indicates the next set of results to retrieve.
 534       */
 535      NextToken?: PaginationToken;
 536    }
 537    export interface ListNetworksInput {
 538      /**
 539       * The name of the network.
 540       */
 541      Name?: String;
 542      /**
 543       * An optional framework specifier. If provided, only networks of this framework type are listed.
 544       */
 545      Framework?: Framework;
 546      /**
 547       * An optional status specifier. If provided, only networks currently in this status are listed. Applies only to Hyperledger Fabric.
 548       */
 549      Status?: NetworkStatus;
 550      /**
 551       * The maximum number of networks to list.
 552       */
 553      MaxResults?: NetworkListMaxResults;
 554      /**
 555       * The pagination token that indicates the next set of results to retrieve.
 556       */
 557      NextToken?: PaginationToken;
 558    }
 559    export interface ListNetworksOutput {
 560      /**
 561       * An array of NetworkSummary objects that contain configuration properties for each network.
 562       */
 563      Networks?: NetworkSummaryList;
 564      /**
 565       * The pagination token that indicates the next set of results to retrieve.
 566       */
 567      NextToken?: PaginationToken;
 568    }
 569    export interface ListNodesInput {
 570      /**
 571       * The unique identifier of the network for which to list nodes.
 572       */
 573      NetworkId: ResourceIdString;
 574      /**
 575       * The unique identifier of the member who owns the nodes to list. Applies only to Hyperledger Fabric and is required for Hyperledger Fabric.
 576       */
 577      MemberId?: ResourceIdString;
 578      /**
 579       * An optional status specifier. If provided, only nodes currently in this status are listed.
 580       */
 581      Status?: NodeStatus;
 582      /**
 583       * The maximum number of nodes to list.
 584       */
 585      MaxResults?: NodeListMaxResults;
 586      /**
 587       * The pagination token that indicates the next set of results to retrieve.
 588       */
 589      NextToken?: PaginationToken;
 590    }
 591    export interface ListNodesOutput {
 592      /**
 593       * An array of NodeSummary objects that contain configuration properties for each node.
 594       */
 595      Nodes?: NodeSummaryList;
 596      /**
 597       * The pagination token that indicates the next set of results to retrieve.
 598       */
 599      NextToken?: PaginationToken;
 600    }
 601    export interface ListProposalVotesInput {
 602      /**
 603       *  The unique identifier of the network. 
 604       */
 605      NetworkId: ResourceIdString;
 606      /**
 607       *  The unique identifier of the proposal. 
 608       */
 609      ProposalId: ResourceIdString;
 610      /**
 611       *  The maximum number of votes to return. 
 612       */
 613      MaxResults?: ProposalListMaxResults;
 614      /**
 615       *  The pagination token that indicates the next set of results to retrieve. 
 616       */
 617      NextToken?: PaginationToken;
 618    }
 619    export interface ListProposalVotesOutput {
 620      /**
 621       *  The list of votes. 
 622       */
 623      ProposalVotes?: ProposalVoteList;
 624      /**
 625       *  The pagination token that indicates the next set of results to retrieve. 
 626       */
 627      NextToken?: PaginationToken;
 628    }
 629    export interface ListProposalsInput {
 630      /**
 631       *  The unique identifier of the network. 
 632       */
 633      NetworkId: ResourceIdString;
 634      /**
 635       *  The maximum number of proposals to return. 
 636       */
 637      MaxResults?: ProposalListMaxResults;
 638      /**
 639       *  The pagination token that indicates the next set of results to retrieve. 
 640       */
 641      NextToken?: PaginationToken;
 642    }
 643    export interface ListProposalsOutput {
 644      /**
 645       * The summary of each proposal made on the network.
 646       */
 647      Proposals?: ProposalSummaryList;
 648      /**
 649       * The pagination token that indicates the next set of results to retrieve.
 650       */
 651      NextToken?: PaginationToken;
 652    }
 653    export interface ListTagsForResourceRequest {
 654      /**
 655       * The Amazon Resource Name (ARN) of the resource. For more information about ARNs and their format, see Amazon Resource Names (ARNs) in the AWS General Reference.
 656       */
 657      ResourceArn: ArnString;
 658    }
 659    export interface ListTagsForResourceResponse {
 660      /**
 661       * The tags assigned to the resource.
 662       */
 663      Tags?: OutputTagMap;
 664    }
 665    export interface LogConfiguration {
 666      /**
 667       * Indicates whether logging is enabled.
 668       */
 669      Enabled?: Enabled;
 670    }
 671    export interface LogConfigurations {
 672      /**
 673       * Parameters for publishing logs to Amazon CloudWatch Logs.
 674       */
 675      Cloudwatch?: LogConfiguration;
 676    }
 677    export interface Member {
 678      /**
 679       * The unique identifier of the network to which the member belongs.
 680       */
 681      NetworkId?: ResourceIdString;
 682      /**
 683       * The unique identifier of the member.
 684       */
 685      Id?: ResourceIdString;
 686      /**
 687       * The name of the member.
 688       */
 689      Name?: NetworkMemberNameString;
 690      /**
 691       * An optional description for the member.
 692       */
 693      Description?: DescriptionString;
 694      /**
 695       * Attributes relevant to a member for the blockchain framework that the Managed Blockchain network uses.
 696       */
 697      FrameworkAttributes?: MemberFrameworkAttributes;
 698      /**
 699       * Configuration properties for logging events associated with a member.
 700       */
 701      LogPublishingConfiguration?: MemberLogPublishingConfiguration;
 702      /**
 703       * 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.    UPDATING - The member is in the process of being updated.    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.    INACCESSIBLE_ENCRYPTION_KEY - The member is impaired and might not function as expected because it cannot access the specified customer managed key in AWS KMS for encryption at rest. Either the KMS key was disabled or deleted, or the grants on the key were revoked. The effect of disabling or deleting a key, or revoking a grant is not immediate. The member resource might take some time to find that the key is inaccessible. When a resource is in this state, we recommend deleting and recreating the resource.  
 704       */
 705      Status?: MemberStatus;
 706      /**
 707       * The date and time that the member was created.
 708       */
 709      CreationDate?: Timestamp;
 710      /**
 711       * Tags assigned to the member. Tags consist of a key and optional value. For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
 712       */
 713      Tags?: OutputTagMap;
 714      /**
 715       * The Amazon Resource Name (ARN) of the member. For more information about ARNs and their format, see Amazon Resource Names (ARNs) in the AWS General Reference.
 716       */
 717      Arn?: ArnString;
 718      /**
 719       * The Amazon Resource Name (ARN) of the customer managed key in AWS Key Management Service (AWS KMS) that the member uses for encryption at rest. If the value of this parameter is "AWS Owned KMS Key", the member uses an AWS owned KMS key for encryption. This parameter is inherited by the nodes that this member owns.
 720       */
 721      KmsKeyArn?: String;
 722    }
 723    export interface MemberConfiguration {
 724      /**
 725       * The name of the member.
 726       */
 727      Name: NetworkMemberNameString;
 728      /**
 729       * An optional description of the member.
 730       */
 731      Description?: DescriptionString;
 732      /**
 733       * Configuration properties of the blockchain framework relevant to the member.
 734       */
 735      FrameworkConfiguration: MemberFrameworkConfiguration;
 736      /**
 737       * Configuration properties for logging events associated with a member of a Managed Blockchain network.
 738       */
 739      LogPublishingConfiguration?: MemberLogPublishingConfiguration;
 740      /**
 741       * Tags assigned to the member. Tags consist of a key and optional value. For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide. When specifying tags during creation, you can specify multiple key-value pairs in a single request, with an overall maximum of 50 tags added to each resource.
 742       */
 743      Tags?: InputTagMap;
 744      /**
 745       * The Amazon Resource Name (ARN) of the customer managed key in AWS Key Management Service (AWS KMS) to use for encryption at rest in the member. This parameter is inherited by any nodes that this member creates. Use one of the following options to specify this parameter:    Undefined or empty string - The member uses an AWS owned KMS key for encryption by default.    A valid symmetric customer managed KMS key - The member uses the specified key for encryption. Amazon Managed Blockchain doesn't support asymmetric keys. For more information, see Using symmetric and asymmetric keys in the AWS Key Management Service Developer Guide. The following is an example of a KMS key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab   
 746       */
 747      KmsKeyArn?: ArnString;
 748    }
 749    export interface MemberFabricAttributes {
 750      /**
 751       * The user name for the initial administrator user for the member.
 752       */
 753      AdminUsername?: UsernameString;
 754      /**
 755       * The endpoint used to access the member's certificate authority.
 756       */
 757      CaEndpoint?: String;
 758    }
 759    export interface MemberFabricConfiguration {
 760      /**
 761       * The user name for the member's initial administrative user.
 762       */
 763      AdminUsername: UsernameString;
 764      /**
 765       * 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 quotation mark (‘), a double quotation marks (“), a forward slash(/), a backward slash(\), @, or a space.
 766       */
 767      AdminPassword: PasswordString;
 768    }
 769    export interface MemberFabricLogPublishingConfiguration {
 770      /**
 771       * 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.
 772       */
 773      CaLogs?: LogConfigurations;
 774    }
 775    export interface MemberFrameworkAttributes {
 776      /**
 777       * Attributes of Hyperledger Fabric relevant to a member on a Managed Blockchain network that uses Hyperledger Fabric.
 778       */
 779      Fabric?: MemberFabricAttributes;
 780    }
 781    export interface MemberFrameworkConfiguration {
 782      /**
 783       * Attributes of Hyperledger Fabric for a member on a Managed Blockchain network that uses Hyperledger Fabric.
 784       */
 785      Fabric?: MemberFabricConfiguration;
 786    }
 787    export type MemberListMaxResults = number;
 788    export interface MemberLogPublishingConfiguration {
 789      /**
 790       * Configuration properties for logging events associated with a member of a Managed Blockchain network using the Hyperledger Fabric framework.
 791       */
 792      Fabric?: MemberFabricLogPublishingConfiguration;
 793    }
 794    export type MemberStatus = "CREATING"|"AVAILABLE"|"CREATE_FAILED"|"UPDATING"|"DELETING"|"DELETED"|"INACCESSIBLE_ENCRYPTION_KEY"|string;
 795    export interface MemberSummary {
 796      /**
 797       * The unique identifier of the member.
 798       */
 799      Id?: ResourceIdString;
 800      /**
 801       * The name of the member.
 802       */
 803      Name?: NetworkMemberNameString;
 804      /**
 805       * An optional description of the member.
 806       */
 807      Description?: DescriptionString;
 808      /**
 809       * 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.    UPDATING - The member is in the process of being updated.    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.    INACCESSIBLE_ENCRYPTION_KEY - The member is impaired and might not function as expected because it cannot access the specified customer managed key in AWS Key Management Service (AWS KMS) for encryption at rest. Either the KMS key was disabled or deleted, or the grants on the key were revoked. The effect of disabling or deleting a key, or revoking a grant is not immediate. The member resource might take some time to find that the key is inaccessible. When a resource is in this state, we recommend deleting and recreating the resource.  
 810       */
 811      Status?: MemberStatus;
 812      /**
 813       * The date and time that the member was created.
 814       */
 815      CreationDate?: Timestamp;
 816      /**
 817       * An indicator of whether the member is owned by your AWS account or a different AWS account.
 818       */
 819      IsOwned?: IsOwned;
 820      /**
 821       * The Amazon Resource Name (ARN) of the member. For more information about ARNs and their format, see Amazon Resource Names (ARNs) in the AWS General Reference.
 822       */
 823      Arn?: ArnString;
 824    }
 825    export type MemberSummaryList = MemberSummary[];
 826    export type NameString = string;
 827    export interface Network {
 828      /**
 829       * The unique identifier of the network.
 830       */
 831      Id?: ResourceIdString;
 832      /**
 833       * The name of the network.
 834       */
 835      Name?: NameString;
 836      /**
 837       * Attributes of the blockchain framework for the network.
 838       */
 839      Description?: DescriptionString;
 840      /**
 841       * The blockchain framework that the network uses.
 842       */
 843      Framework?: Framework;
 844      /**
 845       * The version of the blockchain framework that the network uses.
 846       */
 847      FrameworkVersion?: FrameworkVersionString;
 848      /**
 849       * Attributes of the blockchain framework that the network uses.
 850       */
 851      FrameworkAttributes?: NetworkFrameworkAttributes;
 852      /**
 853       * 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.
 854       */
 855      VpcEndpointServiceName?: String;
 856      /**
 857       * The voting rules for the network to decide if a proposal is accepted.
 858       */
 859      VotingPolicy?: VotingPolicy;
 860      /**
 861       * The current status of the network.
 862       */
 863      Status?: NetworkStatus;
 864      /**
 865       * The date and time that the network was created.
 866       */
 867      CreationDate?: Timestamp;
 868      /**
 869       * Tags assigned to the network. Each tag consists of a key and optional value. For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
 870       */
 871      Tags?: OutputTagMap;
 872      /**
 873       * The Amazon Resource Name (ARN) of the network. For more information about ARNs and their format, see Amazon Resource Names (ARNs) in the AWS General Reference.
 874       */
 875      Arn?: ArnString;
 876    }
 877    export interface NetworkEthereumAttributes {
 878      /**
 879       * The Ethereum CHAIN_ID associated with the Ethereum network. Chain IDs are as follows:   mainnet = 1    rinkeby = 4    ropsten = 3   
 880       */
 881      ChainId?: String;
 882    }
 883    export interface NetworkFabricAttributes {
 884      /**
 885       * The endpoint of the ordering service for the network.
 886       */
 887      OrderingServiceEndpoint?: String;
 888      /**
 889       * The edition of Amazon Managed Blockchain that Hyperledger Fabric uses. For more information, see Amazon Managed Blockchain Pricing.
 890       */
 891      Edition?: Edition;
 892    }
 893    export interface NetworkFabricConfiguration {
 894      /**
 895       * The edition of Amazon Managed Blockchain that the network uses. For more information, see Amazon Managed Blockchain Pricing.
 896       */
 897      Edition: Edition;
 898    }
 899    export interface NetworkFrameworkAttributes {
 900      /**
 901       * Attributes of Hyperledger Fabric for a Managed Blockchain network that uses Hyperledger Fabric.
 902       */
 903      Fabric?: NetworkFabricAttributes;
 904      /**
 905       * Attributes of an Ethereum network for Managed Blockchain resources participating in an Ethereum network. 
 906       */
 907      Ethereum?: NetworkEthereumAttributes;
 908    }
 909    export interface NetworkFrameworkConfiguration {
 910      /**
 911       *  Hyperledger Fabric configuration properties for a Managed Blockchain network that uses Hyperledger Fabric. 
 912       */
 913      Fabric?: NetworkFabricConfiguration;
 914    }
 915    export type NetworkListMaxResults = number;
 916    export type NetworkMemberNameString = string;
 917    export type NetworkStatus = "CREATING"|"AVAILABLE"|"CREATE_FAILED"|"DELETING"|"DELETED"|string;
 918    export interface NetworkSummary {
 919      /**
 920       * The unique identifier of the network.
 921       */
 922      Id?: ResourceIdString;
 923      /**
 924       * The name of the network.
 925       */
 926      Name?: NameString;
 927      /**
 928       * An optional description of the network.
 929       */
 930      Description?: DescriptionString;
 931      /**
 932       * The blockchain framework that the network uses.
 933       */
 934      Framework?: Framework;
 935      /**
 936       * The version of the blockchain framework that the network uses.
 937       */
 938      FrameworkVersion?: FrameworkVersionString;
 939      /**
 940       * The current status of the network.
 941       */
 942      Status?: NetworkStatus;
 943      /**
 944       * The date and time that the network was created.
 945       */
 946      CreationDate?: Timestamp;
 947      /**
 948       * The Amazon Resource Name (ARN) of the network. For more information about ARNs and their format, see Amazon Resource Names (ARNs) in the AWS General Reference.
 949       */
 950      Arn?: ArnString;
 951    }
 952    export type NetworkSummaryList = NetworkSummary[];
 953    export interface Node {
 954      /**
 955       * The unique identifier of the network that the node is on.
 956       */
 957      NetworkId?: ResourceIdString;
 958      /**
 959       * The unique identifier of the member to which the node belongs. Applies only to Hyperledger Fabric.
 960       */
 961      MemberId?: ResourceIdString;
 962      /**
 963       * The unique identifier of the node.
 964       */
 965      Id?: ResourceIdString;
 966      /**
 967       * The instance type of the node.
 968       */
 969      InstanceType?: InstanceTypeString;
 970      /**
 971       * The Availability Zone in which the node exists. Required for Ethereum nodes. 
 972       */
 973      AvailabilityZone?: AvailabilityZoneString;
 974      /**
 975       * Attributes of the blockchain framework being used.
 976       */
 977      FrameworkAttributes?: NodeFrameworkAttributes;
 978      /**
 979       * Configuration properties for logging events associated with a peer node on a Hyperledger Fabric network on Managed Blockchain.
 980       */
 981      LogPublishingConfiguration?: NodeLogPublishingConfiguration;
 982      /**
 983       * The state database that the node uses. Values are LevelDB or CouchDB. Applies only to Hyperledger Fabric.
 984       */
 985      StateDB?: StateDBType;
 986      /**
 987       * The status of the node.    CREATING - The AWS account is in the process of creating a node.    AVAILABLE - The node has been created and can participate in the network.    UNHEALTHY - The node is impaired and might not function as expected. Amazon Managed Blockchain automatically finds nodes in this state and tries to recover them. If a node is recoverable, it returns to AVAILABLE. Otherwise, it moves to FAILED status.    CREATE_FAILED - The AWS account attempted to create a node and creation failed.    UPDATING - The node is in the process of being updated.    DELETING - The node is in the process of being deleted.    DELETED - The node can no longer participate on the network.    FAILED - The node is no longer functional, cannot be recovered, and must be deleted.    INACCESSIBLE_ENCRYPTION_KEY - The node is impaired and might not function as expected because it cannot access the specified customer managed key in AWS KMS for encryption at rest. Either the KMS key was disabled or deleted, or the grants on the key were revoked. The effect of disabling or deleting a key, or revoking a grant is not immediate. The node resource might take some time to find that the key is inaccessible. When a resource is in this state, we recommend deleting and recreating the resource.  
 988       */
 989      Status?: NodeStatus;
 990      /**
 991       * The date and time that the node was created.
 992       */
 993      CreationDate?: Timestamp;
 994      /**
 995       * Tags assigned to the node. Each tag consists of a key and optional value. For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
 996       */
 997      Tags?: OutputTagMap;
 998      /**
 999       * The Amazon Resource Name (ARN) of the node. For more information about ARNs and their format, see Amazon Resource Names (ARNs) in the AWS General Reference.
1000       */
1001      Arn?: ArnString;
1002      /**
1003       * The Amazon Resource Name (ARN) of the customer managed key in AWS Key Management Service (AWS KMS) that the node uses for encryption at rest. If the value of this parameter is "AWS Owned KMS Key", the node uses an AWS owned KMS key for encryption. The node inherits this parameter from the member that it belongs to. Applies only to Hyperledger Fabric.
1004       */
1005      KmsKeyArn?: String;
1006    }
1007    export interface NodeConfiguration {
1008      /**
1009       * The Amazon Managed Blockchain instance type for the node.
1010       */
1011      InstanceType: InstanceTypeString;
1012      /**
1013       * The Availability Zone in which the node exists. Required for Ethereum nodes. 
1014       */
1015      AvailabilityZone?: AvailabilityZoneString;
1016      /**
1017       * Configuration properties for logging events associated with a peer node on a Hyperledger Fabric network on Managed Blockchain. 
1018       */
1019      LogPublishingConfiguration?: NodeLogPublishingConfiguration;
1020      /**
1021       * The state database that the node uses. Values are LevelDB or CouchDB. When using an Amazon Managed Blockchain network with Hyperledger Fabric version 1.4 or later, the default is CouchDB. Applies only to Hyperledger Fabric.
1022       */
1023      StateDB?: StateDBType;
1024    }
1025    export interface NodeEthereumAttributes {
1026      /**
1027       * The endpoint on which the Ethereum node listens to run Ethereum JSON-RPC methods over HTTP connections from a client. Use this endpoint in client code for smart contracts when using an HTTP connection. Connections to this endpoint are authenticated using Signature Version 4.
1028       */
1029      HttpEndpoint?: String;
1030      /**
1031       * The endpoint on which the Ethereum node listens to run Ethereum JSON-RPC methods over WebSockets connections from a client. Use this endpoint in client code for smart contracts when using a WebSockets connection. Connections to this endpoint are authenticated using Signature Version 4.
1032       */
1033      WebSocketEndpoint?: String;
1034    }
1035    export interface NodeFabricAttributes {
1036      /**
1037       * The endpoint that identifies the peer node for all services except peer channel-based event services.
1038       */
1039      PeerEndpoint?: String;
1040      /**
1041       * The endpoint that identifies the peer node for peer channel-based event services.
1042       */
1043      PeerEventEndpoint?: String;
1044    }
1045    export interface NodeFabricLogPublishingConfiguration {
1046      /**
1047       * 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.
1048       */
1049      ChaincodeLogs?: LogConfigurations;
1050      /**
1051       * 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. 
1052       */
1053      PeerLogs?: LogConfigurations;
1054    }
1055    export interface NodeFrameworkAttributes {
1056      /**
1057       * Attributes of Hyperledger Fabric for a peer node on a Managed Blockchain network that uses Hyperledger Fabric.
1058       */
1059      Fabric?: NodeFabricAttributes;
1060      /**
1061       * Attributes of Ethereum for a node on a Managed Blockchain network that uses Ethereum. 
1062       */
1063      Ethereum?: NodeEthereumAttributes;
1064    }
1065    export type NodeListMaxResults = number;
1066    export interface NodeLogPublishingConfiguration {
1067      /**
1068       * 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.
1069       */
1070      Fabric?: NodeFabricLogPublishingConfiguration;
1071    }
1072    export type NodeStatus = "CREATING"|"AVAILABLE"|"UNHEALTHY"|"CREATE_FAILED"|"UPDATING"|"DELETING"|"DELETED"|"FAILED"|"INACCESSIBLE_ENCRYPTION_KEY"|string;
1073    export interface NodeSummary {
1074      /**
1075       * The unique identifier of the node.
1076       */
1077      Id?: ResourceIdString;
1078      /**
1079       * The status of the node.
1080       */
1081      Status?: NodeStatus;
1082      /**
1083       * The date and time that the node was created.
1084       */
1085      CreationDate?: Timestamp;
1086      /**
1087       * The Availability Zone in which the node exists.
1088       */
1089      AvailabilityZone?: AvailabilityZoneString;
1090      /**
1091       * The EC2 instance type for the node.
1092       */
1093      InstanceType?: InstanceTypeString;
1094      /**
1095       * The Amazon Resource Name (ARN) of the node. For more information about ARNs and their format, see Amazon Resource Names (ARNs) in the AWS General Reference.
1096       */
1097      Arn?: ArnString;
1098    }
1099    export type NodeSummaryList = NodeSummary[];
1100    export type OutputTagMap = {[key: string]: TagValue};
1101    export type PaginationToken = string;
1102    export type PasswordString = string;
1103    export type PrincipalString = string;
1104    export interface Proposal {
1105      /**
1106       * The unique identifier of the proposal.
1107       */
1108      ProposalId?: ResourceIdString;
1109      /**
1110       * The unique identifier of the network for which the proposal is made.
1111       */
1112      NetworkId?: ResourceIdString;
1113      /**
1114       * The description of the proposal.
1115       */
1116      Description?: DescriptionString;
1117      /**
1118       * The actions to perform on the network if the proposal is APPROVED.
1119       */
1120      Actions?: ProposalActions;
1121      /**
1122       * The unique identifier of the member that created the proposal.
1123       */
1124      ProposedByMemberId?: ResourceIdString;
1125      /**
1126       * The name of the member that created the proposal.
1127       */
1128      ProposedByMemberName?: NetworkMemberNameString;
1129      /**
1130       * 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.  
1131       */
1132      Status?: ProposalStatus;
1133      /**
1134       *  The date and time that the proposal was created. 
1135       */
1136      CreationDate?: Timestamp;
1137      /**
1138       *  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. 
1139       */
1140      ExpirationDate?: Timestamp;
1141      /**
1142       *  The current total of YES votes cast on the proposal by members. 
1143       */
1144      YesVoteCount?: VoteCount;
1145      /**
1146       *  The current total of NO votes cast on the proposal by members. 
1147       */
1148      NoVoteCount?: VoteCount;
1149      /**
1150       *  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. 
1151       */
1152      OutstandingVoteCount?: VoteCount;
1153      /**
1154       * Tags assigned to the proposal. Each tag consists of a key and optional value. For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
1155       */
1156      Tags?: OutputTagMap;
1157      /**
1158       * The Amazon Resource Name (ARN) of the proposal. For more information about ARNs and their format, see Amazon Resource Names (ARNs) in the AWS General Reference.
1159       */
1160      Arn?: ArnString;
1161    }
1162    export interface ProposalActions {
1163      /**
1164       *  The actions to perform for an APPROVED proposal to invite an AWS account to create a member and join the network. 
1165       */
1166      Invitations?: InviteActionList;
1167      /**
1168       *  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. 
1169       */
1170      Removals?: RemoveActionList;
1171    }
1172    export type ProposalDurationInt = number;
1173    export type ProposalListMaxResults = number;
1174    export type ProposalStatus = "IN_PROGRESS"|"APPROVED"|"REJECTED"|"EXPIRED"|"ACTION_FAILED"|string;
1175    export interface ProposalSummary {
1176      /**
1177       *  The unique identifier of the proposal. 
1178       */
1179      ProposalId?: ResourceIdString;
1180      /**
1181       *  The description of the proposal. 
1182       */
1183      Description?: DescriptionString;
1184      /**
1185       *  The unique identifier of the member that created the proposal. 
1186       */
1187      ProposedByMemberId?: ResourceIdString;
1188      /**
1189       *  The name of the member that created the proposal. 
1190       */
1191      ProposedByMemberName?: NetworkMemberNameString;
1192      /**
1193       * 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.  
1194       */
1195      Status?: ProposalStatus;
1196      /**
1197       *  The date and time that the proposal was created. 
1198       */
1199      CreationDate?: Timestamp;
1200      /**
1201       *  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. 
1202       */
1203      ExpirationDate?: Timestamp;
1204      /**
1205       * The Amazon Resource Name (ARN) of the proposal. For more information about ARNs and their format, see Amazon Resource Names (ARNs) in the AWS General Reference.
1206       */
1207      Arn?: ArnString;
1208    }
1209    export type ProposalSummaryList = ProposalSummary[];
1210    export type ProposalVoteList = VoteSummary[];
1211    export interface RejectInvitationInput {
1212      /**
1213       * The unique identifier of the invitation to reject.
1214       */
1215      InvitationId: ResourceIdString;
1216    }
1217    export interface RejectInvitationOutput {
1218    }
1219    export interface RemoveAction {
1220      /**
1221       * The unique identifier of the member to remove.
1222       */
1223      MemberId: ResourceIdString;
1224    }
1225    export type RemoveActionList = RemoveAction[];
1226    export type ResourceIdString = string;
1227    export type StateDBType = "LevelDB"|"CouchDB"|string;
1228    export type String = string;
1229    export type TagKey = string;
1230    export type TagKeyList = TagKey[];
1231    export interface TagResourceRequest {
1232      /**
1233       * The Amazon Resource Name (ARN) of the resource. For more information about ARNs and their format, see Amazon Resource Names (ARNs) in the AWS General Reference.
1234       */
1235      ResourceArn: ArnString;
1236      /**
1237       * The tags to assign to the specified resource. Tag values can be empty, for example, "MyTagKey" : "". You can specify multiple key-value pairs in a single request, with an overall maximum of 50 tags added to each resource.
1238       */
1239      Tags: InputTagMap;
1240    }
1241    export interface TagResourceResponse {
1242    }
1243    export type TagValue = string;
1244    export type ThresholdComparator = "GREATER_THAN"|"GREATER_THAN_OR_EQUAL_TO"|string;
1245    export type ThresholdPercentageInt = number;
1246    export type Timestamp = Date;
1247    export interface UntagResourceRequest {
1248      /**
1249       * The Amazon Resource Name (ARN) of the resource. For more information about ARNs and their format, see Amazon Resource Names (ARNs) in the AWS General Reference.
1250       */
1251      ResourceArn: ArnString;
1252      /**
1253       * The tag keys.
1254       */
1255      TagKeys: TagKeyList;
1256    }
1257    export interface UntagResourceResponse {
1258    }
1259    export interface UpdateMemberInput {
1260      /**
1261       * The unique identifier of the Managed Blockchain network to which the member belongs.
1262       */
1263      NetworkId: ResourceIdString;
1264      /**
1265       * The unique identifier of the member.
1266       */
1267      MemberId: ResourceIdString;
1268      /**
1269       * Configuration properties for publishing to Amazon CloudWatch Logs.
1270       */
1271      LogPublishingConfiguration?: MemberLogPublishingConfiguration;
1272    }
1273    export interface UpdateMemberOutput {
1274    }
1275    export interface UpdateNodeInput {
1276      /**
1277       * The unique identifier of the network that the node is on.
1278       */
1279      NetworkId: ResourceIdString;
1280      /**
1281       * The unique identifier of the member that owns the node. Applies only to Hyperledger Fabric.
1282       */
1283      MemberId?: ResourceIdString;
1284      /**
1285       * The unique identifier of the node.
1286       */
1287      NodeId: ResourceIdString;
1288      /**
1289       * Configuration properties for publishing to Amazon CloudWatch Logs.
1290       */
1291      LogPublishingConfiguration?: NodeLogPublishingConfiguration;
1292    }
1293    export interface UpdateNodeOutput {
1294    }
1295    export type UsernameString = string;
1296    export type VoteCount = number;
1297    export interface VoteOnProposalInput {
1298      /**
1299       *  The unique identifier of the network. 
1300       */
1301      NetworkId: ResourceIdString;
1302      /**
1303       *  The unique identifier of the proposal. 
1304       */
1305      ProposalId: ResourceIdString;
1306      /**
1307       * The unique identifier of the member casting the vote. 
1308       */
1309      VoterMemberId: ResourceIdString;
1310      /**
1311       *  The value of the vote. 
1312       */
1313      Vote: VoteValue;
1314    }
1315    export interface VoteOnProposalOutput {
1316    }
1317    export interface VoteSummary {
1318      /**
1319       *  The vote value, either YES or NO. 
1320       */
1321      Vote?: VoteValue;
1322      /**
1323       *  The name of the member that cast the vote. 
1324       */
1325      MemberName?: NetworkMemberNameString;
1326      /**
1327       *  The unique identifier of the member that cast the vote. 
1328       */
1329      MemberId?: ResourceIdString;
1330    }
1331    export type VoteValue = "YES"|"NO"|string;
1332    export interface VotingPolicy {
1333      /**
1334       * 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.
1335       */
1336      ApprovalThresholdPolicy?: ApprovalThresholdPolicy;
1337    }
1338    /**
1339     * 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.
1340     */
1341    export type apiVersion = "2018-09-24"|"latest"|string;
1342    export interface ClientApiVersions {
1343      /**
1344       * 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.
1345       */
1346      apiVersion?: apiVersion;
1347    }
1348    export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
1349    /**
1350     * Contains interfaces for use with the ManagedBlockchain client.
1351     */
1352    export import Types = ManagedBlockchain;
1353  }
1354  export = ManagedBlockchain;