All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNetworkProps Maven / Gradle / Ivy

Go to download

CDK construct to deploy a Hyperledger Fabric network running on Amazon Managed Blockchain

There is a newer version: 0.8.723
Show newest version
package io.github.cdklabs.cdkhyperledgerfabricnetwork;

/**
 * Construct properties for HyperledgerFabricNetwork.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.103.1 (build bef2dea)", date = "2024-08-31T00:15:42.272Z")
@software.amazon.jsii.Jsii(module = io.github.cdklabs.cdkhyperledgerfabricnetwork.$Module.class, fqn = "@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNetworkProps")
@software.amazon.jsii.Jsii.Proxy(HyperledgerFabricNetworkProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface HyperledgerFabricNetworkProps extends software.amazon.jsii.JsiiSerializable {

    /**
     * Managed Blockchain member name.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.lang.String getMemberName();

    /**
     * Managed Blockchain network name.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.lang.String getNetworkName();

    /**
     * The Client network to interact with the Hyperledger Fabric network.
     * 

* Default: - Client network with Default properties * (CIDR-`10.0.0.0/16` and subnets of type `PRIVATE_ISOLATED`) */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricClientProps getClient() { return null; } /** * The configuration to enable or disable certificate authority logging. *

* Default: - true */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Boolean getEnableCaLogging() { return null; } /** * Configuration to enable/disable enrollment of admin user. *

* Default: - true */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Boolean getEnrollAdmin() { return null; } /** * Hyperledger Fabric framework version. *

* Default: - FrameworkVersion.VERSION_1_4 */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable io.github.cdklabs.cdkhyperledgerfabricnetwork.FrameworkVersion getFrameworkVersion() { return null; } /** * Managed Blockchain member description. *

* Default: - Set to match member name */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getMemberDescription() { return null; } /** * Managed Blockchain network description. *

* Default: - Set to match network name */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getNetworkDescription() { return null; } /** * Managed Blockchain network edition. *

* Default: - NetworkEdition.STANDARD */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable io.github.cdklabs.cdkhyperledgerfabricnetwork.NetworkEdition getNetworkEdition() { return null; } /** * List of nodes to create on the network. *

* Default: - One node with default configuration */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.util.List getNodes() { return null; } /** * The duration from the time that a proposal is created until it expires. *

* Default: - 24 hours */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Number getProposalDurationInHours() { return null; } /** * 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. *

* Default: - GREATER_THAN */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable io.github.cdklabs.cdkhyperledgerfabricnetwork.ThresholdComparator getThresholdComparator() { return null; } /** * The percentage of votes among all members that must be yes for a proposal to be approved. *

* Default: - 50 percent */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Number getThresholdPercentage() { return null; } /** * List of users to register with Fabric CA Note: enrollAdmin property has to be enabled for registering users. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.util.List getUsers() { return null; } /** * @return a {@link Builder} of {@link HyperledgerFabricNetworkProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link HyperledgerFabricNetworkProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.String memberName; java.lang.String networkName; io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricClientProps client; java.lang.Boolean enableCaLogging; java.lang.Boolean enrollAdmin; io.github.cdklabs.cdkhyperledgerfabricnetwork.FrameworkVersion frameworkVersion; java.lang.String memberDescription; java.lang.String networkDescription; io.github.cdklabs.cdkhyperledgerfabricnetwork.NetworkEdition networkEdition; java.util.List nodes; java.lang.Number proposalDurationInHours; io.github.cdklabs.cdkhyperledgerfabricnetwork.ThresholdComparator thresholdComparator; java.lang.Number thresholdPercentage; java.util.List users; /** * Sets the value of {@link HyperledgerFabricNetworkProps#getMemberName} * @param memberName Managed Blockchain member name. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder memberName(java.lang.String memberName) { this.memberName = memberName; return this; } /** * Sets the value of {@link HyperledgerFabricNetworkProps#getNetworkName} * @param networkName Managed Blockchain network name. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder networkName(java.lang.String networkName) { this.networkName = networkName; return this; } /** * Sets the value of {@link HyperledgerFabricNetworkProps#getClient} * @param client The Client network to interact with the Hyperledger Fabric network. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder client(io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricClientProps client) { this.client = client; return this; } /** * Sets the value of {@link HyperledgerFabricNetworkProps#getEnableCaLogging} * @param enableCaLogging The configuration to enable or disable certificate authority logging. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder enableCaLogging(java.lang.Boolean enableCaLogging) { this.enableCaLogging = enableCaLogging; return this; } /** * Sets the value of {@link HyperledgerFabricNetworkProps#getEnrollAdmin} * @param enrollAdmin Configuration to enable/disable enrollment of admin user. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder enrollAdmin(java.lang.Boolean enrollAdmin) { this.enrollAdmin = enrollAdmin; return this; } /** * Sets the value of {@link HyperledgerFabricNetworkProps#getFrameworkVersion} * @param frameworkVersion Hyperledger Fabric framework version. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder frameworkVersion(io.github.cdklabs.cdkhyperledgerfabricnetwork.FrameworkVersion frameworkVersion) { this.frameworkVersion = frameworkVersion; return this; } /** * Sets the value of {@link HyperledgerFabricNetworkProps#getMemberDescription} * @param memberDescription Managed Blockchain member description. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder memberDescription(java.lang.String memberDescription) { this.memberDescription = memberDescription; return this; } /** * Sets the value of {@link HyperledgerFabricNetworkProps#getNetworkDescription} * @param networkDescription Managed Blockchain network description. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder networkDescription(java.lang.String networkDescription) { this.networkDescription = networkDescription; return this; } /** * Sets the value of {@link HyperledgerFabricNetworkProps#getNetworkEdition} * @param networkEdition Managed Blockchain network edition. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder networkEdition(io.github.cdklabs.cdkhyperledgerfabricnetwork.NetworkEdition networkEdition) { this.networkEdition = networkEdition; return this; } /** * Sets the value of {@link HyperledgerFabricNetworkProps#getNodes} * @param nodes List of nodes to create on the network. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @SuppressWarnings("unchecked") public Builder nodes(java.util.List nodes) { this.nodes = (java.util.List)nodes; return this; } /** * Sets the value of {@link HyperledgerFabricNetworkProps#getProposalDurationInHours} * @param proposalDurationInHours The duration from the time that a proposal is created until it expires. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder proposalDurationInHours(java.lang.Number proposalDurationInHours) { this.proposalDurationInHours = proposalDurationInHours; return this; } /** * Sets the value of {@link HyperledgerFabricNetworkProps#getThresholdComparator} * @param 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. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder thresholdComparator(io.github.cdklabs.cdkhyperledgerfabricnetwork.ThresholdComparator thresholdComparator) { this.thresholdComparator = thresholdComparator; return this; } /** * Sets the value of {@link HyperledgerFabricNetworkProps#getThresholdPercentage} * @param thresholdPercentage The percentage of votes among all members that must be yes for a proposal to be approved. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder thresholdPercentage(java.lang.Number thresholdPercentage) { this.thresholdPercentage = thresholdPercentage; return this; } /** * Sets the value of {@link HyperledgerFabricNetworkProps#getUsers} * @param users List of users to register with Fabric CA Note: enrollAdmin property has to be enabled for registering users. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @SuppressWarnings("unchecked") public Builder users(java.util.List users) { this.users = (java.util.List)users; return this; } /** * Builds the configured instance. * @return a new instance of {@link HyperledgerFabricNetworkProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public HyperledgerFabricNetworkProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link HyperledgerFabricNetworkProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements HyperledgerFabricNetworkProps { private final java.lang.String memberName; private final java.lang.String networkName; private final io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricClientProps client; private final java.lang.Boolean enableCaLogging; private final java.lang.Boolean enrollAdmin; private final io.github.cdklabs.cdkhyperledgerfabricnetwork.FrameworkVersion frameworkVersion; private final java.lang.String memberDescription; private final java.lang.String networkDescription; private final io.github.cdklabs.cdkhyperledgerfabricnetwork.NetworkEdition networkEdition; private final java.util.List nodes; private final java.lang.Number proposalDurationInHours; private final io.github.cdklabs.cdkhyperledgerfabricnetwork.ThresholdComparator thresholdComparator; private final java.lang.Number thresholdPercentage; private final java.util.List users; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.memberName = software.amazon.jsii.Kernel.get(this, "memberName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.networkName = software.amazon.jsii.Kernel.get(this, "networkName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.client = software.amazon.jsii.Kernel.get(this, "client", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricClientProps.class)); this.enableCaLogging = software.amazon.jsii.Kernel.get(this, "enableCaLogging", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.enrollAdmin = software.amazon.jsii.Kernel.get(this, "enrollAdmin", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.frameworkVersion = software.amazon.jsii.Kernel.get(this, "frameworkVersion", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdkhyperledgerfabricnetwork.FrameworkVersion.class)); this.memberDescription = software.amazon.jsii.Kernel.get(this, "memberDescription", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.networkDescription = software.amazon.jsii.Kernel.get(this, "networkDescription", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.networkEdition = software.amazon.jsii.Kernel.get(this, "networkEdition", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdkhyperledgerfabricnetwork.NetworkEdition.class)); this.nodes = software.amazon.jsii.Kernel.get(this, "nodes", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNodeProps.class))); this.proposalDurationInHours = software.amazon.jsii.Kernel.get(this, "proposalDurationInHours", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.thresholdComparator = software.amazon.jsii.Kernel.get(this, "thresholdComparator", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdkhyperledgerfabricnetwork.ThresholdComparator.class)); this.thresholdPercentage = software.amazon.jsii.Kernel.get(this, "thresholdPercentage", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.users = software.amazon.jsii.Kernel.get(this, "users", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricUserProps.class))); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ @SuppressWarnings("unchecked") protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.memberName = java.util.Objects.requireNonNull(builder.memberName, "memberName is required"); this.networkName = java.util.Objects.requireNonNull(builder.networkName, "networkName is required"); this.client = builder.client; this.enableCaLogging = builder.enableCaLogging; this.enrollAdmin = builder.enrollAdmin; this.frameworkVersion = builder.frameworkVersion; this.memberDescription = builder.memberDescription; this.networkDescription = builder.networkDescription; this.networkEdition = builder.networkEdition; this.nodes = (java.util.List)builder.nodes; this.proposalDurationInHours = builder.proposalDurationInHours; this.thresholdComparator = builder.thresholdComparator; this.thresholdPercentage = builder.thresholdPercentage; this.users = (java.util.List)builder.users; } @Override public final java.lang.String getMemberName() { return this.memberName; } @Override public final java.lang.String getNetworkName() { return this.networkName; } @Override public final io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricClientProps getClient() { return this.client; } @Override public final java.lang.Boolean getEnableCaLogging() { return this.enableCaLogging; } @Override public final java.lang.Boolean getEnrollAdmin() { return this.enrollAdmin; } @Override public final io.github.cdklabs.cdkhyperledgerfabricnetwork.FrameworkVersion getFrameworkVersion() { return this.frameworkVersion; } @Override public final java.lang.String getMemberDescription() { return this.memberDescription; } @Override public final java.lang.String getNetworkDescription() { return this.networkDescription; } @Override public final io.github.cdklabs.cdkhyperledgerfabricnetwork.NetworkEdition getNetworkEdition() { return this.networkEdition; } @Override public final java.util.List getNodes() { return this.nodes; } @Override public final java.lang.Number getProposalDurationInHours() { return this.proposalDurationInHours; } @Override public final io.github.cdklabs.cdkhyperledgerfabricnetwork.ThresholdComparator getThresholdComparator() { return this.thresholdComparator; } @Override public final java.lang.Number getThresholdPercentage() { return this.thresholdPercentage; } @Override public final java.util.List getUsers() { return this.users; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); data.set("memberName", om.valueToTree(this.getMemberName())); data.set("networkName", om.valueToTree(this.getNetworkName())); if (this.getClient() != null) { data.set("client", om.valueToTree(this.getClient())); } if (this.getEnableCaLogging() != null) { data.set("enableCaLogging", om.valueToTree(this.getEnableCaLogging())); } if (this.getEnrollAdmin() != null) { data.set("enrollAdmin", om.valueToTree(this.getEnrollAdmin())); } if (this.getFrameworkVersion() != null) { data.set("frameworkVersion", om.valueToTree(this.getFrameworkVersion())); } if (this.getMemberDescription() != null) { data.set("memberDescription", om.valueToTree(this.getMemberDescription())); } if (this.getNetworkDescription() != null) { data.set("networkDescription", om.valueToTree(this.getNetworkDescription())); } if (this.getNetworkEdition() != null) { data.set("networkEdition", om.valueToTree(this.getNetworkEdition())); } if (this.getNodes() != null) { data.set("nodes", om.valueToTree(this.getNodes())); } if (this.getProposalDurationInHours() != null) { data.set("proposalDurationInHours", om.valueToTree(this.getProposalDurationInHours())); } if (this.getThresholdComparator() != null) { data.set("thresholdComparator", om.valueToTree(this.getThresholdComparator())); } if (this.getThresholdPercentage() != null) { data.set("thresholdPercentage", om.valueToTree(this.getThresholdPercentage())); } if (this.getUsers() != null) { data.set("users", om.valueToTree(this.getUsers())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNetworkProps")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; HyperledgerFabricNetworkProps.Jsii$Proxy that = (HyperledgerFabricNetworkProps.Jsii$Proxy) o; if (!memberName.equals(that.memberName)) return false; if (!networkName.equals(that.networkName)) return false; if (this.client != null ? !this.client.equals(that.client) : that.client != null) return false; if (this.enableCaLogging != null ? !this.enableCaLogging.equals(that.enableCaLogging) : that.enableCaLogging != null) return false; if (this.enrollAdmin != null ? !this.enrollAdmin.equals(that.enrollAdmin) : that.enrollAdmin != null) return false; if (this.frameworkVersion != null ? !this.frameworkVersion.equals(that.frameworkVersion) : that.frameworkVersion != null) return false; if (this.memberDescription != null ? !this.memberDescription.equals(that.memberDescription) : that.memberDescription != null) return false; if (this.networkDescription != null ? !this.networkDescription.equals(that.networkDescription) : that.networkDescription != null) return false; if (this.networkEdition != null ? !this.networkEdition.equals(that.networkEdition) : that.networkEdition != null) return false; if (this.nodes != null ? !this.nodes.equals(that.nodes) : that.nodes != null) return false; if (this.proposalDurationInHours != null ? !this.proposalDurationInHours.equals(that.proposalDurationInHours) : that.proposalDurationInHours != null) return false; if (this.thresholdComparator != null ? !this.thresholdComparator.equals(that.thresholdComparator) : that.thresholdComparator != null) return false; if (this.thresholdPercentage != null ? !this.thresholdPercentage.equals(that.thresholdPercentage) : that.thresholdPercentage != null) return false; return this.users != null ? this.users.equals(that.users) : that.users == null; } @Override public final int hashCode() { int result = this.memberName.hashCode(); result = 31 * result + (this.networkName.hashCode()); result = 31 * result + (this.client != null ? this.client.hashCode() : 0); result = 31 * result + (this.enableCaLogging != null ? this.enableCaLogging.hashCode() : 0); result = 31 * result + (this.enrollAdmin != null ? this.enrollAdmin.hashCode() : 0); result = 31 * result + (this.frameworkVersion != null ? this.frameworkVersion.hashCode() : 0); result = 31 * result + (this.memberDescription != null ? this.memberDescription.hashCode() : 0); result = 31 * result + (this.networkDescription != null ? this.networkDescription.hashCode() : 0); result = 31 * result + (this.networkEdition != null ? this.networkEdition.hashCode() : 0); result = 31 * result + (this.nodes != null ? this.nodes.hashCode() : 0); result = 31 * result + (this.proposalDurationInHours != null ? this.proposalDurationInHours.hashCode() : 0); result = 31 * result + (this.thresholdComparator != null ? this.thresholdComparator.hashCode() : 0); result = 31 * result + (this.thresholdPercentage != null ? this.thresholdPercentage.hashCode() : 0); result = 31 * result + (this.users != null ? this.users.hashCode() : 0); return result; } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy