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

io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNode 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;

/**
 * Creates a Hyperledger Fabric node on an Amazon Managed Blockchain network.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.103.1 (build bef2dea)", date = "2024-08-31T00:15:42.274Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Jsii(module = io.github.cdklabs.cdkhyperledgerfabricnetwork.$Module.class, fqn = "@cdklabs/cdk-hyperledger-fabric-network.HyperledgerFabricNode")
public class HyperledgerFabricNode extends software.constructs.Construct {

    protected HyperledgerFabricNode(final software.amazon.jsii.JsiiObjectRef objRef) {
        super(objRef);
    }

    protected HyperledgerFabricNode(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
        super(initializationMode);
    }

    /**
     * @param scope This parameter is required.
     * @param id This parameter is required.
     * @param props
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public HyperledgerFabricNode(final @org.jetbrains.annotations.NotNull io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNetwork scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.Nullable io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNodeProps props) {
        super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
        software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), props });
    }

    /**
     * @param scope This parameter is required.
     * @param id This parameter is required.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public HyperledgerFabricNode(final @org.jetbrains.annotations.NotNull io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNetwork scope, final @org.jetbrains.annotations.NotNull java.lang.String id) {
        super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
        software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required") });
    }

    /**
     * Build out a list of HyperledgerFabricNode constructs given a list of input property objects;
     * 

* additionally checks to ensure node count is supported given the network type *

* @param scope This parameter is required. * @param nodeProps */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static @org.jetbrains.annotations.NotNull java.util.List constructNodes(final @org.jetbrains.annotations.NotNull io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNetwork scope, final @org.jetbrains.annotations.Nullable java.util.List nodeProps) { return java.util.Collections.unmodifiableList(software.amazon.jsii.JsiiObject.jsiiStaticCall(io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNode.class, "constructNodes", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNode.class)), new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), nodeProps })); } /** * Build out a list of HyperledgerFabricNode constructs given a list of input property objects; *

* additionally checks to ensure node count is supported given the network type *

* @param scope This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static @org.jetbrains.annotations.NotNull java.util.List constructNodes(final @org.jetbrains.annotations.NotNull io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNetwork scope) { return java.util.Collections.unmodifiableList(software.amazon.jsii.JsiiObject.jsiiStaticCall(io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNode.class, "constructNodes", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNode.class)), new Object[] { java.util.Objects.requireNonNull(scope, "scope is required") })); } /** * Configure logging for the node via SDK call; *

* this function * should be merged back into the constructor once the race condition is solved *

* @param sdkCallPolicy This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public void configureLogging(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.customresources.AwsCustomResourcePolicy sdkCallPolicy) { software.amazon.jsii.Kernel.call(this, "configureLogging", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(sdkCallPolicy, "sdkCallPolicy is required") }); } /** * Populate the output properties that must be fetched via SDK call; *

* this function * should be merged back into the constructor once the race condition is solved *

* @param dataSdkCallPolicy This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public void fetchData(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.customresources.AwsCustomResourcePolicy dataSdkCallPolicy) { software.amazon.jsii.Kernel.call(this, "fetchData", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(dataSdkCallPolicy, "dataSdkCallPolicy is required") }); } /** * The Availability Zone in which the node exists. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.String getAvailabilityZone() { return software.amazon.jsii.Kernel.get(this, "availabilityZone", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * The configuration to enable or disable chaincode logging. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.Boolean getEnableChaincodeLogging() { return software.amazon.jsii.Kernel.get(this, "enableChaincodeLogging", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); } /** * The configuration to enable or disable node logging. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.Boolean getEnableNodeLogging() { return software.amazon.jsii.Kernel.get(this, "enableNodeLogging", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); } /** * The Amazon Managed Blockchain instance type for the node. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull io.github.cdklabs.cdkhyperledgerfabricnetwork.InstanceType getInstanceType() { return software.amazon.jsii.Kernel.get(this, "instanceType", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdkhyperledgerfabricnetwork.InstanceType.class)); } /** * Managed Blockchain member identifier. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.String getMemberId() { return software.amazon.jsii.Kernel.get(this, "memberId", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Managed Blockchain network identifier. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.String getNetworkId() { return software.amazon.jsii.Kernel.get(this, "networkId", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Managed Blockchain node identifier generated on construction. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.String getNodeId() { return software.amazon.jsii.Kernel.get(this, "nodeId", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.String getEndpoint() { return software.amazon.jsii.Kernel.get(this, "endpoint", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public void setEndpoint(final @org.jetbrains.annotations.NotNull java.lang.String value) { software.amazon.jsii.Kernel.set(this, "endpoint", java.util.Objects.requireNonNull(value, "endpoint is required")); } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.String getEventEndpoint() { return software.amazon.jsii.Kernel.get(this, "eventEndpoint", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public void setEventEndpoint(final @org.jetbrains.annotations.NotNull java.lang.String value) { software.amazon.jsii.Kernel.set(this, "eventEndpoint", java.util.Objects.requireNonNull(value, "eventEndpoint is required")); } /** * A fluent builder for {@link io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNode}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { /** * @return a new instance of {@link Builder}. * @param scope This parameter is required. * @param id This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static Builder create(final io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNetwork scope, final java.lang.String id) { return new Builder(scope, id); } private final io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNetwork scope; private final java.lang.String id; private io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNodeProps.Builder props; private Builder(final io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNetwork scope, final java.lang.String id) { this.scope = scope; this.id = id; } /** * The Availability Zone in which the node will be created. *

* Default: - The first AZ in the region *

* @return {@code this} * @param availabilityZone The Availability Zone in which the node will be created. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder availabilityZone(final java.lang.String availabilityZone) { this.props().availabilityZone(availabilityZone); return this; } /** * The configuration to enable or disable chaincode logging. *

* Default: - true *

* @return {@code this} * @param enableChaincodeLogging The configuration to enable or disable chaincode logging. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder enableChaincodeLogging(final java.lang.Boolean enableChaincodeLogging) { this.props().enableChaincodeLogging(enableChaincodeLogging); return this; } /** * The configuration to enable or disable node logging. *

* Default: - true *

* @return {@code this} * @param enableNodeLogging The configuration to enable or disable node logging. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder enableNodeLogging(final java.lang.Boolean enableNodeLogging) { this.props().enableNodeLogging(enableNodeLogging); return this; } /** * The Amazon Managed Blockchain instance type for the node. *

* Default: - BURSTABLE3_SMALL *

* @return {@code this} * @param instanceType The Amazon Managed Blockchain instance type for the node. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder instanceType(final io.github.cdklabs.cdkhyperledgerfabricnetwork.InstanceType instanceType) { this.props().instanceType(instanceType); return this; } /** * @return a newly built instance of {@link io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNode}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNode build() { return new io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNode( this.scope, this.id, this.props != null ? this.props.build() : null ); } private io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNodeProps.Builder props() { if (this.props == null) { this.props = new io.github.cdklabs.cdkhyperledgerfabricnetwork.HyperledgerFabricNodeProps.Builder(); } return this.props; } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy