Creates a member within a Managed Blockchain network.
Applies only to Hyperledger Fabric.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{
"Type" : "AWS::ManagedBlockchain::Member",
"Properties" : {
"InvitationId" : String
,
"MemberConfiguration" : MemberConfiguration
,
"NetworkConfiguration" : NetworkConfiguration
,
"NetworkId" : String
}
}
YAML
Type: AWS::ManagedBlockchain::Member
Properties:
InvitationId: String
MemberConfiguration:
MemberConfiguration
NetworkConfiguration:
NetworkConfiguration
NetworkId: String
Properties
InvitationId
-
The unique identifier of the invitation to join the network sent to the account that creates the member.
Required: No
Type: String
Minimum:
1
Maximum:
32
Update requires: No interruption
MemberConfiguration
-
Configuration properties of the member.
Required: Yes
Type: MemberConfiguration
Update requires: No interruption
NetworkConfiguration
-
Configuration properties of the network to which the member belongs.
Required: No
Type: NetworkConfiguration
Update requires: No interruption
NetworkId
-
The unique identifier of the network to which the member belongs.
Required: No
Type: String
Update requires: No interruption
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref
function, Ref
returns the member ID.
For more information about using the Ref
function, see Ref
.
Fn::GetAtt
The Fn::GetAtt
intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.
For more information about using the Fn::GetAtt
intrinsic function, see Fn::GetAtt
.
MemberId
-
The unique identifier of the member.
NetworkId
-
The unique identifier of the network to which the member belongs.
Examples
Create a new Managed Blockchain network for Hyperledger Fabric and the first member
When you create the first member in a Managed Blockchain network, you also specify parameters to create the network.
YAML
Description: "Basic initial member template"
Parameters:
MemberName:
Type: String
MemberDescription:
Type: String
MemberAdminUsername:
Type: String
MemberAdminPassword:
Type: String
NetworkName:
Type: String
NetworkDescription:
Type: String
Edition:
Type: String
ThresholdPercentage:
Type: Number
ThresholdComparator:
Type: String
ProposalDurationInHours:
Type: Number
Resources:
Member:
Type: "AWS::ManagedBlockchain::Member"
Properties:
NetworkConfiguration:
Name: !Ref NetworkName
Description: !Ref NetworkDescription
Framework: "HYPERLEDGER_FABRIC"
FrameworkVersion: "1.2"
NetworkFrameworkConfiguration:
NetworkFabricConfiguration:
Edition: !Ref Edition
VotingPolicy:
ApprovalThresholdPolicy:
ThresholdPercentage: !Ref ThresholdPercentage
ProposalDurationInHours: !Ref ProposalDurationInHours
ThresholdComparator: !Ref ThresholdComparator
MemberConfiguration:
Name: !Ref MemberName
Description: !Ref MemberDescription
MemberFrameworkConfiguration:
MemberFabricConfiguration:
AdminUsername: !Ref MemberAdminUsername
AdminPassword: !Ref MemberAdminPassword
JSON
{
"Description": "Basic initial member template",
"Parameters": {
"MemberName": {
"Type": "String"
},
"MemberDescription": {
"Type": "String"
},
"MemberAdminUsername": {
"Type": "String"
},
"MemberAdminPassword": {
"Type": "String"
},
"NetworkName": {
"Type": "String"
},
"NetworkDescription": {
"Type": "String"
},
"Edition": {
"Type": "String"
},
"ThresholdPercentage": {
"Type": "Number"
},
"ThresholdComparator": {
"Type": "String"
},
"ProposalDurationInHours": {
"Type": "Number"
}
},
"Resources": {
"Member": {
"Type": "AWS::ManagedBlockchain::Member",
"Properties": {
"NetworkConfiguration": {
"Name": "NetworkName",
"Description": "NetworkDescription",
"Framework": "HYPERLEDGER_FABRIC",
"FrameworkVersion": "1.2",
"NetworkFrameworkConfiguration": {
"NetworkFabricConfiguration": {
"Edition": "Edition"
}
},
"VotingPolicy": {
"ApprovalThresholdPolicy": {
"ThresholdPercentage": "ThresholdPercentage",
"ProposalDurationInHours": "ProposalDurationInHours",
"ThresholdComparator": "ThresholdComparator"
}
}
},
"MemberConfiguration": {
"Name": "MemberName",
"Description": "MemberDescription",
"MemberFrameworkConfiguration": {
"MemberFabricConfiguration": {
"AdminUsername": "MemberAdminUsername",
"AdminPassword": "MemberAdminPassword"
}
}
}
}
}
}
}
Create an additional member in an existing Hyperledger Fabric network
YAML
Description: "Basic additional member template"
Parameters:
MemberName:
Type: String
MemberDescription:
Type: String
MemberAdminUsername:
Type: String
MemberAdminPassword:
Type: String
NetworkId:
Type: String
InvitationId:
Type: String
Resources:
Member:
Type: 'AWS::ManagedBlockchain::Member'
Properties:
MemberConfiguration:
Name: !Ref MemberName
Description: !Ref MemberDescription
MemberFrameworkConfiguration:
MemberFabricConfiguration:
AdminUsername: !Ref MemberAdminUsername
AdminPassword: !Ref MemberAdminPassword
NetworkId: !Ref NetworkId
InvitationId: !Ref InvitationId
JSON
{
"Description": "Basic additional member template",
"Parameters": {
"MemberName": {
"Type": "String"
},
"MemberDescription": {
"Type": "String"
},
"MemberAdminUsername": {
"Type": "String"
},
"MemberAdminPassword": {
"Type": "String"
},
"NetworkId": {
"Type": "String"
},
"InvitationId": {
"Type": "String"
}
},
"Resources": {
"Member": {
"Type": "AWS::ManagedBlockchain::Member",
"Properties": {
"MemberConfiguration": {
"Name": {
"Ref": "MemberName"
},
"MemberFrameworkConfiguration": {
"MemberFabricConfiguration": {
"AdminUsername": {
"Ref": "MemberAdminUsername"
},
"AdminPassword": {
"Ref": "MemberAdminPassword"
}
}
}
},
"NetworkId": {
"Ref": "NetworkId"
},
"InvitationId": {
"Ref": "InvitationId"
}
}
}
}
}