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})`);
}
}