title: AWS-CDK: Any way to pass vpc cidr through input parameter?
body: <p>I'm trying to pass vpc cidr as input parameter like below:</p>
  <pre><code>import { Stack, StackProps, Construct, CfnParameter } from '@aws-cdk/core';
  import { Vpc, SubnetType } from '@aws-cdk/aws-ec2';
  
  export class VpcStructureCdkStack extends Stack {
    constructor(scope: Construct, id: string, props?: StackProps) {
      super(scope, id, props);
  
      // VPC CIDR as input parameter
      const vpcCidr = new CfnParameter(this, 'vpcCidr', {
        type: 'String',
        description: 'Please enter the IP range (CIDR notation) for this VPC',
        allowedPattern: '((\d{1,3})\.){3}\d{1,3}/\d{1,2}'
      })
  
      // The code that defines your stack goes here
      new Vpc(this, 'VPC', {
        maxAzs: 3,
        cidr: vpcCidr.valueAsString,
        subnetConfiguration: [
          {
            name: 'App',
            subnetType: SubnetType.PRIVATE,
            cidrMask: 24
          },
  ...
  </code></pre>
  <p>But getting the following error:</p>
  <pre><code>Error: 'cidr' property must be a concrete CIDR string, got a Token (we need to parse it for automatic subdivision)
  </code></pre>
  <p>Same error when using environment variables.</p>
  <p>Is there any way to don't hard code vpc cidr?</p>