2020/03/25 - Amazon Managed Blockchain - 2 new 7 updated api methods
Changes Amazon Managed Blockchain now has support to publish Hyperledger Fabric peer node, chaincode, and certificate authority (CA) logs to Amazon CloudWatch Logs.
Updates a node configuration with new parameters.
See also: AWS API Documentation
Request Syntax
client.update_node( NetworkId='string', MemberId='string', NodeId='string', LogPublishingConfiguration={ 'Fabric': { 'ChaincodeLogs': { 'Cloudwatch': { 'Enabled': True|False } }, 'PeerLogs': { 'Cloudwatch': { 'Enabled': True|False } } } } )
string
[REQUIRED]
The unique ID of the Managed Blockchain network to which the node belongs.
string
[REQUIRED]
The unique ID of the member that owns the node.
string
[REQUIRED]
The unique ID of the node.
dict
Configuration properties for publishing to Amazon CloudWatch Logs.
Fabric (dict) --
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.
ChaincodeLogs (dict) --
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.
Cloudwatch (dict) --
Parameters for publishing logs to Amazon CloudWatch Logs.
Enabled (boolean) --
Indicates whether logging is enabled.
PeerLogs (dict) --
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.
Cloudwatch (dict) --
Parameters for publishing logs to Amazon CloudWatch Logs.
Enabled (boolean) --
Indicates whether logging is enabled.
dict
Response Syntax
{}
Response Structure
(dict) --
Updates a member configuration with new parameters.
See also: AWS API Documentation
Request Syntax
client.update_member( NetworkId='string', MemberId='string', LogPublishingConfiguration={ 'Fabric': { 'CaLogs': { 'Cloudwatch': { 'Enabled': True|False } } } } )
string
[REQUIRED]
The unique ID of the Managed Blockchain network to which the member belongs.
string
[REQUIRED]
The unique ID of the member.
dict
Configuration properties for publishing to Amazon CloudWatch Logs.
Fabric (dict) --
Configuration properties for logging events associated with a member of a Managed Blockchain network using the Hyperledger Fabric framework.
CaLogs (dict) --
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.
Cloudwatch (dict) --
Parameters for publishing logs to Amazon CloudWatch Logs.
Enabled (boolean) --
Indicates whether logging is enabled.
dict
Response Syntax
{}
Response Structure
(dict) --
{'MemberConfiguration': {'LogPublishingConfiguration': {'Fabric': {'CaLogs': {'Cloudwatch': {'Enabled': 'boolean'}}}}}}
Creates a member within a Managed Blockchain network.
See also: AWS API Documentation
Request Syntax
client.create_member( ClientRequestToken='string', InvitationId='string', NetworkId='string', MemberConfiguration={ 'Name': 'string', 'Description': 'string', 'FrameworkConfiguration': { 'Fabric': { 'AdminUsername': 'string', 'AdminPassword': 'string' } }, 'LogPublishingConfiguration': { 'Fabric': { 'CaLogs': { 'Cloudwatch': { 'Enabled': True|False } } } } } )
string
[REQUIRED]
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.
This field is autopopulated if not provided.
string
[REQUIRED]
The unique identifier of the invitation that is sent to the member to join the network.
string
[REQUIRED]
The unique identifier of the network in which the member is created.
dict
[REQUIRED]
Member configuration parameters.
Name (string) -- [REQUIRED]
The name of the member.
Description (string) --
An optional description of the member.
FrameworkConfiguration (dict) -- [REQUIRED]
Configuration properties of the blockchain framework relevant to the member.
Fabric (dict) --
Attributes of Hyperledger Fabric for a member on a Managed Blockchain network that uses Hyperledger Fabric.
AdminUsername (string) -- [REQUIRED]
The user name for the member's initial administrative user.
AdminPassword (string) -- [REQUIRED]
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.
LogPublishingConfiguration (dict) --
Fabric (dict) --
Configuration properties for logging events associated with a member of a Managed Blockchain network using the Hyperledger Fabric framework.
CaLogs (dict) --
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.
Cloudwatch (dict) --
Parameters for publishing logs to Amazon CloudWatch Logs.
Enabled (boolean) --
Indicates whether logging is enabled.
dict
Response Syntax
{ 'MemberId': 'string' }
Response Structure
(dict) --
MemberId (string) --
The unique identifier of the member.
{'MemberConfiguration': {'LogPublishingConfiguration': {'Fabric': {'CaLogs': {'Cloudwatch': {'Enabled': 'boolean'}}}}}}
Creates a new blockchain network using Amazon Managed Blockchain.
See also: AWS API Documentation
Request Syntax
client.create_network( ClientRequestToken='string', Name='string', Description='string', Framework='HYPERLEDGER_FABRIC', FrameworkVersion='string', FrameworkConfiguration={ 'Fabric': { 'Edition': 'STARTER'|'STANDARD' } }, VotingPolicy={ 'ApprovalThresholdPolicy': { 'ThresholdPercentage': 123, 'ProposalDurationInHours': 123, 'ThresholdComparator': 'GREATER_THAN'|'GREATER_THAN_OR_EQUAL_TO' } }, MemberConfiguration={ 'Name': 'string', 'Description': 'string', 'FrameworkConfiguration': { 'Fabric': { 'AdminUsername': 'string', 'AdminPassword': 'string' } }, 'LogPublishingConfiguration': { 'Fabric': { 'CaLogs': { 'Cloudwatch': { 'Enabled': True|False } } } } } )
string
[REQUIRED]
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.
This field is autopopulated if not provided.
string
[REQUIRED]
The name of the network.
string
An optional description for the network.
string
[REQUIRED]
The blockchain framework that the network uses.
string
[REQUIRED]
The version of the blockchain framework that the network uses.
dict
Configuration properties of the blockchain framework relevant to the network configuration.
Fabric (dict) --
Hyperledger Fabric configuration properties for a Managed Blockchain network that uses Hyperledger Fabric.
Edition (string) -- [REQUIRED]
The edition of Amazon Managed Blockchain that the network uses. For more information, see Amazon Managed Blockchain Pricing .
dict
[REQUIRED]
The voting rules used by the network to determine if a proposal is approved.
ApprovalThresholdPolicy (dict) --
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.
ThresholdPercentage (integer) --
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.
ProposalDurationInHours (integer) --
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.
ThresholdComparator (string) --
Determines whether the vote percentage must be greater than the ThresholdPercentage or must be greater than or equal to the ThreholdPercentage to be approved.
dict
[REQUIRED]
Configuration properties for the first member within the network.
Name (string) -- [REQUIRED]
The name of the member.
Description (string) --
An optional description of the member.
FrameworkConfiguration (dict) -- [REQUIRED]
Configuration properties of the blockchain framework relevant to the member.
Fabric (dict) --
Attributes of Hyperledger Fabric for a member on a Managed Blockchain network that uses Hyperledger Fabric.
AdminUsername (string) -- [REQUIRED]
The user name for the member's initial administrative user.
AdminPassword (string) -- [REQUIRED]
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.
LogPublishingConfiguration (dict) --
Fabric (dict) --
Configuration properties for logging events associated with a member of a Managed Blockchain network using the Hyperledger Fabric framework.
CaLogs (dict) --
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.
Cloudwatch (dict) --
Parameters for publishing logs to Amazon CloudWatch Logs.
Enabled (boolean) --
Indicates whether logging is enabled.
dict
Response Syntax
{ 'NetworkId': 'string', 'MemberId': 'string' }
Response Structure
(dict) --
NetworkId (string) --
The unique identifier for the network.
MemberId (string) --
The unique identifier for the first member within the network.
{'NodeConfiguration': {'LogPublishingConfiguration': {'Fabric': {'ChaincodeLogs': {'Cloudwatch': {'Enabled': 'boolean'}}, 'PeerLogs': {'Cloudwatch': {'Enabled': 'boolean'}}}}}}
Creates a peer node in a member.
See also: AWS API Documentation
Request Syntax
client.create_node( ClientRequestToken='string', NetworkId='string', MemberId='string', NodeConfiguration={ 'InstanceType': 'string', 'AvailabilityZone': 'string', 'LogPublishingConfiguration': { 'Fabric': { 'ChaincodeLogs': { 'Cloudwatch': { 'Enabled': True|False } }, 'PeerLogs': { 'Cloudwatch': { 'Enabled': True|False } } } } } )
string
[REQUIRED]
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.
This field is autopopulated if not provided.
string
[REQUIRED]
The unique identifier of the network in which this node runs.
string
[REQUIRED]
The unique identifier of the member that owns this node.
dict
[REQUIRED]
The properties of a node configuration.
InstanceType (string) -- [REQUIRED]
The Amazon Managed Blockchain instance type for the node.
AvailabilityZone (string) -- [REQUIRED]
The Availability Zone in which the node exists.
LogPublishingConfiguration (dict) --
Fabric (dict) --
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.
ChaincodeLogs (dict) --
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.
Cloudwatch (dict) --
Parameters for publishing logs to Amazon CloudWatch Logs.
Enabled (boolean) --
Indicates whether logging is enabled.
PeerLogs (dict) --
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.
Cloudwatch (dict) --
Parameters for publishing logs to Amazon CloudWatch Logs.
Enabled (boolean) --
Indicates whether logging is enabled.
dict
Response Syntax
{ 'NodeId': 'string' }
Response Structure
(dict) --
NodeId (string) --
The unique identifier of the node.
{'Member': {'LogPublishingConfiguration': {'Fabric': {'CaLogs': {'Cloudwatch': {'Enabled': 'boolean'}}}}, 'Status': {'UPDATING'}}}
Returns detailed information about a member.
See also: AWS API Documentation
Request Syntax
client.get_member( NetworkId='string', MemberId='string' )
string
[REQUIRED]
The unique identifier of the network to which the member belongs.
string
[REQUIRED]
The unique identifier of the member.
dict
Response Syntax
{ 'Member': { 'NetworkId': 'string', 'Id': 'string', 'Name': 'string', 'Description': 'string', 'FrameworkAttributes': { 'Fabric': { 'AdminUsername': 'string', 'CaEndpoint': 'string' } }, 'LogPublishingConfiguration': { 'Fabric': { 'CaLogs': { 'Cloudwatch': { 'Enabled': True|False } } } }, 'Status': 'CREATING'|'AVAILABLE'|'CREATE_FAILED'|'UPDATING'|'DELETING'|'DELETED', 'CreationDate': datetime(2015, 1, 1) } }
Response Structure
(dict) --
Member (dict) --
The properties of a member.
NetworkId (string) --
The unique identifier of the network to which the member belongs.
Id (string) --
The unique identifier of the member.
Name (string) --
The name of the member.
Description (string) --
An optional description for the member.
FrameworkAttributes (dict) --
Attributes relevant to a member for the blockchain framework that the Managed Blockchain network uses.
Fabric (dict) --
Attributes of Hyperledger Fabric relevant to a member on a Managed Blockchain network that uses Hyperledger Fabric.
AdminUsername (string) --
The user name for the initial administrator user for the member.
CaEndpoint (string) --
The endpoint used to access the member's certificate authority.
LogPublishingConfiguration (dict) --
Configuration properties for logging events associated with a member.
Fabric (dict) --
Configuration properties for logging events associated with a member of a Managed Blockchain network using the Hyperledger Fabric framework.
CaLogs (dict) --
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.
Cloudwatch (dict) --
Parameters for publishing logs to Amazon CloudWatch Logs.
Enabled (boolean) --
Indicates whether logging is enabled.
Status (string) --
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.
CreationDate (datetime) --
The date and time that the member was created.
{'Node': {'LogPublishingConfiguration': {'Fabric': {'ChaincodeLogs': {'Cloudwatch': {'Enabled': 'boolean'}}, 'PeerLogs': {'Cloudwatch': {'Enabled': 'boolean'}}}}, 'Status': {'UPDATING'}}}
Returns detailed information about a peer node.
See also: AWS API Documentation
Request Syntax
client.get_node( NetworkId='string', MemberId='string', NodeId='string' )
string
[REQUIRED]
The unique identifier of the network to which the node belongs.
string
[REQUIRED]
The unique identifier of the member that owns the node.
string
[REQUIRED]
The unique identifier of the node.
dict
Response Syntax
{ 'Node': { 'NetworkId': 'string', 'MemberId': 'string', 'Id': 'string', 'InstanceType': 'string', 'AvailabilityZone': 'string', 'FrameworkAttributes': { 'Fabric': { 'PeerEndpoint': 'string', 'PeerEventEndpoint': 'string' } }, 'LogPublishingConfiguration': { 'Fabric': { 'ChaincodeLogs': { 'Cloudwatch': { 'Enabled': True|False } }, 'PeerLogs': { 'Cloudwatch': { 'Enabled': True|False } } } }, 'Status': 'CREATING'|'AVAILABLE'|'CREATE_FAILED'|'UPDATING'|'DELETING'|'DELETED'|'FAILED', 'CreationDate': datetime(2015, 1, 1) } }
Response Structure
(dict) --
Node (dict) --
Properties of the node configuration.
NetworkId (string) --
The unique identifier of the network that the node is in.
MemberId (string) --
The unique identifier of the member to which the node belongs.
Id (string) --
The unique identifier of the node.
InstanceType (string) --
The instance type of the node.
AvailabilityZone (string) --
The Availability Zone in which the node exists.
FrameworkAttributes (dict) --
Attributes of the blockchain framework being used.
Fabric (dict) --
Attributes of Hyperledger Fabric for a peer node on a Managed Blockchain network that uses Hyperledger Fabric.
PeerEndpoint (string) --
The endpoint that identifies the peer node for all services except peer channel-based event services.
PeerEventEndpoint (string) --
The endpoint that identifies the peer node for peer channel-based event services.
LogPublishingConfiguration (dict) --
Fabric (dict) --
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.
ChaincodeLogs (dict) --
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.
Cloudwatch (dict) --
Parameters for publishing logs to Amazon CloudWatch Logs.
Enabled (boolean) --
Indicates whether logging is enabled.
PeerLogs (dict) --
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.
Cloudwatch (dict) --
Parameters for publishing logs to Amazon CloudWatch Logs.
Enabled (boolean) --
Indicates whether logging is enabled.
Status (string) --
The status of the node.
CreationDate (datetime) --
The date and time that the node was created.
{'Status': {'UPDATING'}}Response
{'Members': {'Status': {'UPDATING'}}}
Returns a listing of the members in a network and properties of their configurations.
See also: AWS API Documentation
Request Syntax
client.list_members( NetworkId='string', Name='string', Status='CREATING'|'AVAILABLE'|'CREATE_FAILED'|'UPDATING'|'DELETING'|'DELETED', IsOwned=True|False, MaxResults=123, NextToken='string' )
string
[REQUIRED]
The unique identifier of the network for which to list members.
string
The optional name of the member to list.
string
An optional status specifier. If provided, only members currently in this status are listed.
boolean
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.
integer
The maximum number of members to return in the request.
string
The pagination token that indicates the next set of results to retrieve.
dict
Response Syntax
{ 'Members': [ { 'Id': 'string', 'Name': 'string', 'Description': 'string', 'Status': 'CREATING'|'AVAILABLE'|'CREATE_FAILED'|'UPDATING'|'DELETING'|'DELETED', 'CreationDate': datetime(2015, 1, 1), 'IsOwned': True|False }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Members (list) --
An array of MemberSummary objects. Each object contains details about a network member.
(dict) --
A summary of configuration properties for a member.
Id (string) --
The unique identifier of the member.
Name (string) --
The name of the member.
Description (string) --
An optional description of the member.
Status (string) --
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.
CreationDate (datetime) --
The date and time that the member was created.
IsOwned (boolean) --
An indicator of whether the member is owned by your AWS account or a different AWS account.
NextToken (string) --
The pagination token that indicates the next set of results to retrieve.
{'Status': {'UPDATING'}}Response
{'Nodes': {'Status': {'UPDATING'}}}
Returns information about the nodes within a network.
See also: AWS API Documentation
Request Syntax
client.list_nodes( NetworkId='string', MemberId='string', Status='CREATING'|'AVAILABLE'|'CREATE_FAILED'|'UPDATING'|'DELETING'|'DELETED'|'FAILED', MaxResults=123, NextToken='string' )
string
[REQUIRED]
The unique identifier of the network for which to list nodes.
string
[REQUIRED]
The unique identifier of the member who owns the nodes to list.
string
An optional status specifier. If provided, only nodes currently in this status are listed.
integer
The maximum number of nodes to list.
string
The pagination token that indicates the next set of results to retrieve.
dict
Response Syntax
{ 'Nodes': [ { 'Id': 'string', 'Status': 'CREATING'|'AVAILABLE'|'CREATE_FAILED'|'UPDATING'|'DELETING'|'DELETED'|'FAILED', 'CreationDate': datetime(2015, 1, 1), 'AvailabilityZone': 'string', 'InstanceType': 'string' }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Nodes (list) --
An array of NodeSummary objects that contain configuration properties for each node.
(dict) --
A summary of configuration properties for a peer node.
Id (string) --
The unique identifier of the node.
Status (string) --
The status of the node.
CreationDate (datetime) --
The date and time that the node was created.
AvailabilityZone (string) --
The Availability Zone in which the node exists.
InstanceType (string) --
The EC2 instance type for the node.
NextToken (string) --
The pagination token that indicates the next set of results to retrieve.