private validateProps()

in source/lib/msk-cluster.ts [183:204]


    private validateProps(props: KafkaClusterProps) {
        if (!cdk.Token.isUnresolved(props.brokerSubnets)) {
            if (props.brokerSubnets.length < this.MIN_SUBNETS || props.brokerSubnets.length > this.MAX_SUBNETS) {
                throw new Error(`brokerSubnets must contain between ${this.MIN_SUBNETS} and ${this.MAX_SUBNETS} items`);
            }
        }

        if (!cdk.Token.isUnresolved(props.numberOfBrokerNodes) && props.numberOfBrokerNodes <= 0) {
            throw new Error('numberOfBrokerNodes must be a positive number');
        }

        if (!cdk.Token.isUnresolved(props.brokerSubnets) && !cdk.Token.isUnresolved(props.numberOfBrokerNodes)) {
            if (props.numberOfBrokerNodes % props.brokerSubnets.length !== 0) {
                throw new Error('numberOfBrokerNodes must be a multiple of brokerSubnets');
            }
        }

        const volumeSize = props.ebsVolumeSize;
        if (!cdk.Token.isUnresolved(volumeSize) && (volumeSize < KafkaCluster.MinStorageSizeGiB || volumeSize > KafkaCluster.MaxStorageSizeGiB)) {
            throw new Error(`ebsVolumeSize must be a value between ${KafkaCluster.MinStorageSizeGiB} and ${KafkaCluster.MaxStorageSizeGiB} GiB (given ${volumeSize})`);
        }
    }