# API Reference ## Constructs ### HyperledgerFabricClient Creates a VPC and endpoint that allows Hyperledger Fabric client to interact with the Hyperledger Fabric endpoints that Amazon Managed Blockchain exposes for the member and network resources. #### Initializers ```typescript import { HyperledgerFabricClient } from '@cdklabs/cdk-hyperledger-fabric-network' new HyperledgerFabricClient(scope: HyperledgerFabricNetwork, id: string, props?: HyperledgerFabricClientProps) ``` | **Name** | **Type** | **Description** | | --- | --- | --- | | [`scope`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricclientparameterscope)* | [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNetwork`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNetwork) | *No description.* | | [`id`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricclientparameterid)* | `string` | *No description.* | | [`props`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricclientparameterprops) | [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricClientProps`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricClientProps) | *No description.* | --- ##### `scope`Required - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNetwork`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNetwork) --- ##### `id`Required - *Type:* `string` --- ##### `props`Optional - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricClientProps`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricClientProps) --- #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | [`vpc`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricclientpropertyvpc)* | [`aws-cdk-lib.aws_ec2.IVpc`](#aws-cdk-lib.aws_ec2.IVpc) | The client VPC that has endpoint to access the Amazon Managed Blockchain. | | [`vpcEndpoint`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricclientpropertyvpcendpoint)* | [`aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint`](#aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint) | Managed Blockchain network VPC endpoint. | --- ##### `vpc`Required ```typescript public readonly vpc: IVpc; ``` - *Type:* [`aws-cdk-lib.aws_ec2.IVpc`](#aws-cdk-lib.aws_ec2.IVpc) The client VPC that has endpoint to access the Amazon Managed Blockchain. --- ##### `vpcEndpoint`Required ```typescript public readonly vpcEndpoint: InterfaceVpcEndpoint; ``` - *Type:* [`aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint`](#aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint) Managed Blockchain network VPC endpoint. --- ### HyperledgerFabricNetwork Creates a Hyperledger Fabric network on Amazon Managed Blockchain. #### Initializers ```typescript import { HyperledgerFabricNetwork } from '@cdklabs/cdk-hyperledger-fabric-network' new HyperledgerFabricNetwork(scope: Construct, id: string, props: HyperledgerFabricNetworkProps) ``` | **Name** | **Type** | **Description** | | --- | --- | --- | | [`scope`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkparameterscope)* | [`constructs.Construct`](#constructs.Construct) | *No description.* | | [`id`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkparameterid)* | `string` | *No description.* | | [`props`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkparameterprops)* | [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNetworkProps`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNetworkProps) | *No description.* | --- ##### `scope`Required - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`Required - *Type:* `string` --- ##### `props`Required - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNetworkProps`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNetworkProps) --- #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | [`adminPasswordSecret`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertyadminpasswordsecret)* | [`aws-cdk-lib.aws_secretsmanager.Secret`](#aws-cdk-lib.aws_secretsmanager.Secret) | Secret ARN for the Hyperledger Fabric admin password. | | [`adminPrivateKeySecret`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertyadminprivatekeysecret)* | [`aws-cdk-lib.aws_secretsmanager.Secret`](#aws-cdk-lib.aws_secretsmanager.Secret) | Secret for Hyperledger Fabric admin private key. | | [`adminSignedCertSecret`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertyadminsignedcertsecret)* | [`aws-cdk-lib.aws_secretsmanager.Secret`](#aws-cdk-lib.aws_secretsmanager.Secret) | Secret for Hyperledger Fabric admin signed certificate. | | [`caEndpoint`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertycaendpoint)* | `string` | Managed Blockchain member CA endpoint. | | [`client`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertyclient)* | [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricClient`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricClient) | The client network to interact with the Hyperledger Fabric network. | | [`enableCaLogging`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertyenablecalogging)* | `boolean` | The configuration to enable or disable certificate authority logging. | | [`enrollAdmin`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertyenrolladmin)* | `boolean` | Configuration to enable/disable admin user enrollment. | | [`frameworkVersion`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertyframeworkversion)* | [`@cdklabs/cdk-hyperledger-fabric-network.FrameworkVersion`](#@cdklabs/cdk-hyperledger-fabric-network.FrameworkVersion) | Hyperledger Fabric framework version. | | [`memberDescription`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertymemberdescription)* | `string` | Managed Blockchain member description. | | [`memberId`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertymemberid)* | `string` | Managed Blockchain member identifier generated on construction. | | [`memberName`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertymembername)* | `string` | Managed Blockchain member name. | | [`networkDescription`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertynetworkdescription)* | `string` | Managed Blockchain network description. | | [`networkEdition`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertynetworkedition)* | [`@cdklabs/cdk-hyperledger-fabric-network.NetworkEdition`](#@cdklabs/cdk-hyperledger-fabric-network.NetworkEdition) | Managed Blockchain network edition. | | [`networkId`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertynetworkid)* | `string` | Managed Blockchain network identifier generated on construction. | | [`networkName`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertynetworkname)* | `string` | Managed Blockchain network name. | | [`nodes`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertynodes)* | [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNode`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNode)[] | List of nodes created in the network. | | [`ordererEndpoint`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertyordererendpoint)* | `string` | Managed Blockchain network ordering service endpoint. | | [`proposalDurationInHours`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertyproposaldurationinhours)* | `number` | The duration from the time that a proposal is created until it expires. | | [`thresholdComparator`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertythresholdcomparator)* | [`@cdklabs/cdk-hyperledger-fabric-network.ThresholdComparator`](#@cdklabs/cdk-hyperledger-fabric-network.ThresholdComparator) | Determines whether the yes votes must be greater than the threshold percentage or must be greater than or equal to the threhold percentage to be approved. | | [`thresholdPercentage`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertythresholdpercentage)* | `number` | The percentage of votes among all members that must be yes for a proposal to be approved. | | [`users`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertyusers)* | [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricUser`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricUser)[] | List of users registered with CA. | | [`vpcEndpointServiceName`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropertyvpcendpointservicename)* | `string` | Managed Blockchain network VPC endpoint service name. | --- ##### `adminPasswordSecret`Required ```typescript public readonly adminPasswordSecret: Secret; ``` - *Type:* [`aws-cdk-lib.aws_secretsmanager.Secret`](#aws-cdk-lib.aws_secretsmanager.Secret) Secret ARN for the Hyperledger Fabric admin password. --- ##### `adminPrivateKeySecret`Required ```typescript public readonly adminPrivateKeySecret: Secret; ``` - *Type:* [`aws-cdk-lib.aws_secretsmanager.Secret`](#aws-cdk-lib.aws_secretsmanager.Secret) Secret for Hyperledger Fabric admin private key. --- ##### `adminSignedCertSecret`Required ```typescript public readonly adminSignedCertSecret: Secret; ``` - *Type:* [`aws-cdk-lib.aws_secretsmanager.Secret`](#aws-cdk-lib.aws_secretsmanager.Secret) Secret for Hyperledger Fabric admin signed certificate. --- ##### `caEndpoint`Required ```typescript public readonly caEndpoint: string; ``` - *Type:* `string` Managed Blockchain member CA endpoint. --- ##### `client`Required ```typescript public readonly client: HyperledgerFabricClient; ``` - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricClient`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricClient) The client network to interact with the Hyperledger Fabric network. --- ##### `enableCaLogging`Required ```typescript public readonly enableCaLogging: boolean; ``` - *Type:* `boolean` The configuration to enable or disable certificate authority logging. --- ##### `enrollAdmin`Required ```typescript public readonly enrollAdmin: boolean; ``` - *Type:* `boolean` Configuration to enable/disable admin user enrollment. --- ##### `frameworkVersion`Required ```typescript public readonly frameworkVersion: FrameworkVersion; ``` - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.FrameworkVersion`](#@cdklabs/cdk-hyperledger-fabric-network.FrameworkVersion) Hyperledger Fabric framework version. --- ##### `memberDescription`Required ```typescript public readonly memberDescription: string; ``` - *Type:* `string` Managed Blockchain member description. --- ##### `memberId`Required ```typescript public readonly memberId: string; ``` - *Type:* `string` Managed Blockchain member identifier generated on construction. --- ##### `memberName`Required ```typescript public readonly memberName: string; ``` - *Type:* `string` Managed Blockchain member name. --- ##### `networkDescription`Required ```typescript public readonly networkDescription: string; ``` - *Type:* `string` Managed Blockchain network description. --- ##### `networkEdition`Required ```typescript public readonly networkEdition: NetworkEdition; ``` - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.NetworkEdition`](#@cdklabs/cdk-hyperledger-fabric-network.NetworkEdition) Managed Blockchain network edition. --- ##### `networkId`Required ```typescript public readonly networkId: string; ``` - *Type:* `string` Managed Blockchain network identifier generated on construction. --- ##### `networkName`Required ```typescript public readonly networkName: string; ``` - *Type:* `string` Managed Blockchain network name. --- ##### `nodes`Required ```typescript public readonly nodes: HyperledgerFabricNode[]; ``` - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNode`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNode)[] List of nodes created in the network. --- ##### `ordererEndpoint`Required ```typescript public readonly ordererEndpoint: string; ``` - *Type:* `string` Managed Blockchain network ordering service endpoint. --- ##### `proposalDurationInHours`Required ```typescript public readonly proposalDurationInHours: number; ``` - *Type:* `number` The duration from the time that a proposal is created until it expires. --- ##### `thresholdComparator`Required ```typescript public readonly thresholdComparator: ThresholdComparator; ``` - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.ThresholdComparator`](#@cdklabs/cdk-hyperledger-fabric-network.ThresholdComparator) Determines whether the yes votes must be greater than the threshold percentage or must be greater than or equal to the threhold percentage to be approved. --- ##### `thresholdPercentage`Required ```typescript public readonly thresholdPercentage: number; ``` - *Type:* `number` The percentage of votes among all members that must be yes for a proposal to be approved. --- ##### `users`Required ```typescript public readonly users: HyperledgerFabricUser[]; ``` - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricUser`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricUser)[] List of users registered with CA. --- ##### `vpcEndpointServiceName`Required ```typescript public readonly vpcEndpointServiceName: string; ``` - *Type:* `string` Managed Blockchain network VPC endpoint service name. --- ### HyperledgerFabricNode Creates a Hyperledger Fabric node on an Amazon Managed Blockchain network. #### Initializers ```typescript import { HyperledgerFabricNode } from '@cdklabs/cdk-hyperledger-fabric-network' new HyperledgerFabricNode(scope: HyperledgerFabricNetwork, id: string, props?: HyperledgerFabricNodeProps) ``` | **Name** | **Type** | **Description** | | --- | --- | --- | | [`scope`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnodeparameterscope)* | [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNetwork`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNetwork) | *No description.* | | [`id`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnodeparameterid)* | `string` | *No description.* | | [`props`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnodeparameterprops) | [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNodeProps`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNodeProps) | *No description.* | --- ##### `scope`Required - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNetwork`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNetwork) --- ##### `id`Required - *Type:* `string` --- ##### `props`Optional - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNodeProps`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNodeProps) --- #### Methods | **Name** | **Description** | | --- | --- | | [`configureLogging`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnodeconfigurelogging) | Configure logging for the node via SDK call; | | [`fetchData`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnodefetchdata) | Populate the output properties that must be fetched via SDK call; | --- ##### `configureLogging` ```typescript public configureLogging(sdkCallPolicy: AwsCustomResourcePolicy) ``` ###### `sdkCallPolicy`Required - *Type:* [`aws-cdk-lib.custom_resources.AwsCustomResourcePolicy`](#aws-cdk-lib.custom_resources.AwsCustomResourcePolicy) --- ##### `fetchData` ```typescript public fetchData(dataSdkCallPolicy: AwsCustomResourcePolicy) ``` ###### `dataSdkCallPolicy`Required - *Type:* [`aws-cdk-lib.custom_resources.AwsCustomResourcePolicy`](#aws-cdk-lib.custom_resources.AwsCustomResourcePolicy) --- #### Static Functions | **Name** | **Description** | | --- | --- | | [`constructNodes`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnodeconstructnodes) | Build out a list of HyperledgerFabricNode constructs given a list of input property objects; | --- ##### `constructNodes` ```typescript import { HyperledgerFabricNode } from '@cdklabs/cdk-hyperledger-fabric-network' HyperledgerFabricNode.constructNodes(scope: HyperledgerFabricNetwork, nodeProps?: HyperledgerFabricNodeProps[]) ``` ###### `scope`Required - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNetwork`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNetwork) --- ###### `nodeProps`Optional - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNodeProps`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNodeProps)[] --- #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | [`availabilityZone`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnodepropertyavailabilityzone)* | `string` | The Availability Zone in which the node exists. | | [`enableChaincodeLogging`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnodepropertyenablechaincodelogging)* | `boolean` | The configuration to enable or disable chaincode logging. | | [`enableNodeLogging`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnodepropertyenablenodelogging)* | `boolean` | The configuration to enable or disable node logging. | | [`instanceType`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnodepropertyinstancetype)* | [`@cdklabs/cdk-hyperledger-fabric-network.InstanceType`](#@cdklabs/cdk-hyperledger-fabric-network.InstanceType) | The Amazon Managed Blockchain instance type for the node. | | [`memberId`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnodepropertymemberid)* | `string` | Managed Blockchain member identifier. | | [`networkId`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnodepropertynetworkid)* | `string` | Managed Blockchain network identifier. | | [`nodeId`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnodepropertynodeid)* | `string` | Managed Blockchain node identifier generated on construction. | | [`endpoint`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnodepropertyendpoint)* | `string` | *No description.* | | [`eventEndpoint`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnodepropertyeventendpoint)* | `string` | *No description.* | --- ##### `availabilityZone`Required ```typescript public readonly availabilityZone: string; ``` - *Type:* `string` The Availability Zone in which the node exists. --- ##### `enableChaincodeLogging`Required ```typescript public readonly enableChaincodeLogging: boolean; ``` - *Type:* `boolean` The configuration to enable or disable chaincode logging. --- ##### `enableNodeLogging`Required ```typescript public readonly enableNodeLogging: boolean; ``` - *Type:* `boolean` The configuration to enable or disable node logging. --- ##### `instanceType`Required ```typescript public readonly instanceType: InstanceType; ``` - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.InstanceType`](#@cdklabs/cdk-hyperledger-fabric-network.InstanceType) The Amazon Managed Blockchain instance type for the node. --- ##### `memberId`Required ```typescript public readonly memberId: string; ``` - *Type:* `string` Managed Blockchain member identifier. --- ##### `networkId`Required ```typescript public readonly networkId: string; ``` - *Type:* `string` Managed Blockchain network identifier. --- ##### `nodeId`Required ```typescript public readonly nodeId: string; ``` - *Type:* `string` Managed Blockchain node identifier generated on construction. --- ##### `endpoint`Required ```typescript public readonly endpoint: string; ``` - *Type:* `string` --- ##### `eventEndpoint`Required ```typescript public readonly eventEndpoint: string; ``` - *Type:* `string` --- ### HyperledgerFabricUser Creates custom resources to register and enroll users identities with the CA using the fabric-ca-client SDK. #### Initializers ```typescript import { HyperledgerFabricUser } from '@cdklabs/cdk-hyperledger-fabric-network' new HyperledgerFabricUser(scope: HyperledgerFabricNetwork, id: string, props: HyperledgerFabricUserProps) ``` | **Name** | **Type** | **Description** | | --- | --- | --- | | [`scope`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricuserparameterscope)* | [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNetwork`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNetwork) | *No description.* | | [`id`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricuserparameterid)* | `string` | *No description.* | | [`props`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricuserparameterprops)* | [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricUserProps`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricUserProps) | *No description.* | --- ##### `scope`Required - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNetwork`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNetwork) --- ##### `id`Required - *Type:* `string` --- ##### `props`Required - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricUserProps`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricUserProps) --- #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | [`affiliation`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricuserpropertyaffiliation)* | `string` | User's affiliation to the member. | | [`userId`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricuserpropertyuserid)* | `string` | User ID registered with CA. | | [`userPrivateKeySecret`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricuserpropertyuserprivatekeysecret)* | [`aws-cdk-lib.aws_secretsmanager.Secret`](#aws-cdk-lib.aws_secretsmanager.Secret) | Secret for user private key. | | [`userSignedCertSecret`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricuserpropertyusersignedcertsecret)* | [`aws-cdk-lib.aws_secretsmanager.Secret`](#aws-cdk-lib.aws_secretsmanager.Secret) | Secret for user signed certificate. | --- ##### `affiliation`Required ```typescript public readonly affiliation: string; ``` - *Type:* `string` User's affiliation to the member. --- ##### `userId`Required ```typescript public readonly userId: string; ``` - *Type:* `string` User ID registered with CA. --- ##### `userPrivateKeySecret`Required ```typescript public readonly userPrivateKeySecret: Secret; ``` - *Type:* [`aws-cdk-lib.aws_secretsmanager.Secret`](#aws-cdk-lib.aws_secretsmanager.Secret) Secret for user private key. --- ##### `userSignedCertSecret`Required ```typescript public readonly userSignedCertSecret: Secret; ``` - *Type:* [`aws-cdk-lib.aws_secretsmanager.Secret`](#aws-cdk-lib.aws_secretsmanager.Secret) Secret for user signed certificate. --- ## Structs ### HyperledgerFabricClientProps Construct properties for `HyperledgerFabricVpc`. #### Initializer ```typescript import { HyperledgerFabricClientProps } from '@cdklabs/cdk-hyperledger-fabric-network' const hyperledgerFabricClientProps: HyperledgerFabricClientProps = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | [`vpc`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricclientpropspropertyvpc) | [`aws-cdk-lib.aws_ec2.IVpc`](#aws-cdk-lib.aws_ec2.IVpc) | Client VPC to create the endpoints. | --- ##### `vpc`Optional ```typescript public readonly vpc: IVpc; ``` - *Type:* [`aws-cdk-lib.aws_ec2.IVpc`](#aws-cdk-lib.aws_ec2.IVpc) Client VPC to create the endpoints. If not provided, VPC will be created with the default properties (CIDR-`10.0.0.0/16` and subnets of type `PRIVATE_ISOLATED`) --- ### HyperledgerFabricNetworkProps Construct properties for `HyperledgerFabricNetwork`. #### Initializer ```typescript import { HyperledgerFabricNetworkProps } from '@cdklabs/cdk-hyperledger-fabric-network' const hyperledgerFabricNetworkProps: HyperledgerFabricNetworkProps = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | [`memberName`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropspropertymembername)* | `string` | Managed Blockchain member name. | | [`networkName`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropspropertynetworkname)* | `string` | Managed Blockchain network name. | | [`client`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropspropertyclient) | [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricClientProps`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricClientProps) | The Client network to interact with the Hyperledger Fabric network. | | [`enableCaLogging`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropspropertyenablecalogging) | `boolean` | The configuration to enable or disable certificate authority logging. | | [`enrollAdmin`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropspropertyenrolladmin) | `boolean` | Configuration to enable/disable enrollment of admin user. | | [`frameworkVersion`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropspropertyframeworkversion) | [`@cdklabs/cdk-hyperledger-fabric-network.FrameworkVersion`](#@cdklabs/cdk-hyperledger-fabric-network.FrameworkVersion) | Hyperledger Fabric framework version. | | [`memberDescription`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropspropertymemberdescription) | `string` | Managed Blockchain member description. | | [`networkDescription`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropspropertynetworkdescription) | `string` | Managed Blockchain network description. | | [`networkEdition`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropspropertynetworkedition) | [`@cdklabs/cdk-hyperledger-fabric-network.NetworkEdition`](#@cdklabs/cdk-hyperledger-fabric-network.NetworkEdition) | Managed Blockchain network edition. | | [`nodes`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropspropertynodes) | [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNodeProps`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNodeProps)[] | List of nodes to create on the network. | | [`proposalDurationInHours`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropspropertyproposaldurationinhours) | `number` | The duration from the time that a proposal is created until it expires. | | [`thresholdComparator`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropspropertythresholdcomparator) | [`@cdklabs/cdk-hyperledger-fabric-network.ThresholdComparator`](#@cdklabs/cdk-hyperledger-fabric-network.ThresholdComparator) | Determines whether the yes votes must be greater than the threshold percentage or must be greater than or equal to the threhold percentage to be approved. | | [`thresholdPercentage`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropspropertythresholdpercentage) | `number` | The percentage of votes among all members that must be yes for a proposal to be approved. | | [`users`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnetworkpropspropertyusers) | [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricUserProps`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricUserProps)[] | List of users to register with Fabric CA Note: enrollAdmin property has to be enabled for registering users. | --- ##### `memberName`Required ```typescript public readonly memberName: string; ``` - *Type:* `string` Managed Blockchain member name. --- ##### `networkName`Required ```typescript public readonly networkName: string; ``` - *Type:* `string` Managed Blockchain network name. --- ##### `client`Optional ```typescript public readonly client: HyperledgerFabricClientProps; ``` - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricClientProps`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricClientProps) - *Default:* Client network with Default properties (CIDR-`10.0.0.0/16` and subnets of type `PRIVATE_ISOLATED`) The Client network to interact with the Hyperledger Fabric network. --- ##### `enableCaLogging`Optional ```typescript public readonly enableCaLogging: boolean; ``` - *Type:* `boolean` - *Default:* true The configuration to enable or disable certificate authority logging. --- ##### `enrollAdmin`Optional ```typescript public readonly enrollAdmin: boolean; ``` - *Type:* `boolean` - *Default:* true Configuration to enable/disable enrollment of admin user. --- ##### `frameworkVersion`Optional ```typescript public readonly frameworkVersion: FrameworkVersion; ``` - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.FrameworkVersion`](#@cdklabs/cdk-hyperledger-fabric-network.FrameworkVersion) - *Default:* FrameworkVersion.VERSION_1_4 Hyperledger Fabric framework version. --- ##### `memberDescription`Optional ```typescript public readonly memberDescription: string; ``` - *Type:* `string` - *Default:* Set to match member name Managed Blockchain member description. --- ##### `networkDescription`Optional ```typescript public readonly networkDescription: string; ``` - *Type:* `string` - *Default:* Set to match network name Managed Blockchain network description. --- ##### `networkEdition`Optional ```typescript public readonly networkEdition: NetworkEdition; ``` - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.NetworkEdition`](#@cdklabs/cdk-hyperledger-fabric-network.NetworkEdition) - *Default:* NetworkEdition.STANDARD Managed Blockchain network edition. --- ##### `nodes`Optional ```typescript public readonly nodes: HyperledgerFabricNodeProps[]; ``` - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNodeProps`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNodeProps)[] - *Default:* One node with default configuration List of nodes to create on the network. --- ##### `proposalDurationInHours`Optional ```typescript public readonly proposalDurationInHours: number; ``` - *Type:* `number` - *Default:* 24 hours The duration from the time that a proposal is created until it expires. --- ##### `thresholdComparator`Optional ```typescript public readonly thresholdComparator: ThresholdComparator; ``` - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.ThresholdComparator`](#@cdklabs/cdk-hyperledger-fabric-network.ThresholdComparator) - *Default:* GREATER_THAN Determines whether the yes votes must be greater than the threshold percentage or must be greater than or equal to the threhold percentage to be approved. --- ##### `thresholdPercentage`Optional ```typescript public readonly thresholdPercentage: number; ``` - *Type:* `number` - *Default:* 50 percent The percentage of votes among all members that must be yes for a proposal to be approved. --- ##### `users`Optional ```typescript public readonly users: HyperledgerFabricUserProps[]; ``` - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricUserProps`](#@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricUserProps)[] List of users to register with Fabric CA Note: enrollAdmin property has to be enabled for registering users. --- ### HyperledgerFabricNodeProps Construct properties for `HyperledgerFabricNode`. #### Initializer ```typescript import { HyperledgerFabricNodeProps } from '@cdklabs/cdk-hyperledger-fabric-network' const hyperledgerFabricNodeProps: HyperledgerFabricNodeProps = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | [`availabilityZone`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnodepropspropertyavailabilityzone) | `string` | The Availability Zone in which the node will be created. | | [`enableChaincodeLogging`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnodepropspropertyenablechaincodelogging) | `boolean` | The configuration to enable or disable chaincode logging. | | [`enableNodeLogging`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnodepropspropertyenablenodelogging) | `boolean` | The configuration to enable or disable node logging. | | [`instanceType`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricnodepropspropertyinstancetype) | [`@cdklabs/cdk-hyperledger-fabric-network.InstanceType`](#@cdklabs/cdk-hyperledger-fabric-network.InstanceType) | The Amazon Managed Blockchain instance type for the node. | --- ##### `availabilityZone`Optional ```typescript public readonly availabilityZone: string; ``` - *Type:* `string` - *Default:* The first AZ in the region The Availability Zone in which the node will be created. --- ##### `enableChaincodeLogging`Optional ```typescript public readonly enableChaincodeLogging: boolean; ``` - *Type:* `boolean` - *Default:* true The configuration to enable or disable chaincode logging. --- ##### `enableNodeLogging`Optional ```typescript public readonly enableNodeLogging: boolean; ``` - *Type:* `boolean` - *Default:* true The configuration to enable or disable node logging. --- ##### `instanceType`Optional ```typescript public readonly instanceType: InstanceType; ``` - *Type:* [`@cdklabs/cdk-hyperledger-fabric-network.InstanceType`](#@cdklabs/cdk-hyperledger-fabric-network.InstanceType) - *Default:* BURSTABLE3_SMALL The Amazon Managed Blockchain instance type for the node. --- ### HyperledgerFabricUserProps Construct properties for `HyperledgerFabricUser`. #### Initializer ```typescript import { HyperledgerFabricUserProps } from '@cdklabs/cdk-hyperledger-fabric-network' const hyperledgerFabricUserProps: HyperledgerFabricUserProps = { ... } ``` #### Properties | **Name** | **Type** | **Description** | | --- | --- | --- | | [`affilitation`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricuserpropspropertyaffilitation)* | `string` | User's affiliation to the member. | | [`userId`](#cdklabscdkhyperledgerfabricnetworkhyperledgerfabricuserpropspropertyuserid)* | `string` | User ID to register with CA. | --- ##### `affilitation`Required ```typescript public readonly affilitation: string; ``` - *Type:* `string` User's affiliation to the member. Should be hierarchical with member name as root(`MemberName.Dept1`). --- ##### `userId`Required ```typescript public readonly userId: string; ``` - *Type:* `string` User ID to register with CA. --- ## Enums ### FrameworkVersion | **Name** | **Description** | | --- | --- | | [`VERSION_1_2`](#cdklabscdkhyperledgerfabricnetworkframeworkversionversion12) | *No description.* | | [`VERSION_1_4`](#cdklabscdkhyperledgerfabricnetworkframeworkversionversion14) | *No description.* | | [`VERSION_2_2`](#cdklabscdkhyperledgerfabricnetworkframeworkversionversion22) | *No description.* | --- Define which Hyperledger Fabric framework to use. #### `VERSION_1_2` --- #### `VERSION_1_4` --- #### `VERSION_2_2` --- ### InstanceType | **Name** | **Description** | | --- | --- | | [`BURSTABLE3_SMALL`](#cdklabscdkhyperledgerfabricnetworkinstancetypeburstable3small) | *No description.* | | [`BURSTABLE3_MEDIUM`](#cdklabscdkhyperledgerfabricnetworkinstancetypeburstable3medium) | *No description.* | | [`BURSTABLE3_LARGE`](#cdklabscdkhyperledgerfabricnetworkinstancetypeburstable3large) | *No description.* | | [`BURSTABLE3_XLARGE`](#cdklabscdkhyperledgerfabricnetworkinstancetypeburstable3xlarge) | *No description.* | | [`STANDARD5_LARGE`](#cdklabscdkhyperledgerfabricnetworkinstancetypestandard5large) | *No description.* | | [`STANDARD5_XLARGE`](#cdklabscdkhyperledgerfabricnetworkinstancetypestandard5xlarge) | *No description.* | | [`STANDARD5_XLARGE2`](#cdklabscdkhyperledgerfabricnetworkinstancetypestandard5xlarge2) | *No description.* | | [`STANDARD5_XLARGE4`](#cdklabscdkhyperledgerfabricnetworkinstancetypestandard5xlarge4) | *No description.* | | [`COMPUTE5_LARGE`](#cdklabscdkhyperledgerfabricnetworkinstancetypecompute5large) | *No description.* | | [`COMPUTE5_XLARGE`](#cdklabscdkhyperledgerfabricnetworkinstancetypecompute5xlarge) | *No description.* | | [`COMPUTE5_XLARGE2`](#cdklabscdkhyperledgerfabricnetworkinstancetypecompute5xlarge2) | *No description.* | | [`COMPUTE5_XLARGE4`](#cdklabscdkhyperledgerfabricnetworkinstancetypecompute5xlarge4) | *No description.* | --- Supported instance types for Managed Blockchain nodes. #### `BURSTABLE3_SMALL` --- #### `BURSTABLE3_MEDIUM` --- #### `BURSTABLE3_LARGE` --- #### `BURSTABLE3_XLARGE` --- #### `STANDARD5_LARGE` --- #### `STANDARD5_XLARGE` --- #### `STANDARD5_XLARGE2` --- #### `STANDARD5_XLARGE4` --- #### `COMPUTE5_LARGE` --- #### `COMPUTE5_XLARGE` --- #### `COMPUTE5_XLARGE2` --- #### `COMPUTE5_XLARGE4` --- ### NetworkEdition | **Name** | **Description** | | --- | --- | | [`STARTER`](#cdklabscdkhyperledgerfabricnetworknetworkeditionstarter) | *No description.* | | [`STANDARD`](#cdklabscdkhyperledgerfabricnetworknetworkeditionstandard) | *No description.* | --- Starter networks are cheaper, but are limited to 2 nodes that can only be from a subset of types (see node.ts for the list). #### `STARTER` --- #### `STANDARD` --- ### ThresholdComparator | **Name** | **Description** | | --- | --- | | [`GREATER_THAN`](#cdklabscdkhyperledgerfabricnetworkthresholdcomparatorgreaterthan) | *No description.* | | [`GREATER_THAN_OR_EQUAL_TO`](#cdklabscdkhyperledgerfabricnetworkthresholdcomparatorgreaterthanorequalto) | *No description.* | --- Constants to define ties in voting for new members. #### `GREATER_THAN` --- #### `GREATER_THAN_OR_EQUAL_TO` ---