def init_vpc()

in cdk/cdk-domainless-mode/cdk/cdk_stack.py [0:0]


    def init_vpc(self, prefix_list: str, key_pair_name: str, stack_name: str):
        vpc_name = stack_name + "-vpc"
        # Define the VPC
        self.vpc = ec2.Vpc(
                    self,
                    id=vpc_name,
                    ip_addresses=ec2.IpAddresses.cidr("10.0.0.0/16"),
                    vpc_name=vpc_name,  # Move vpc_name before cidr
                    max_azs=2,  # Number of Availability Zones to use
                    subnet_configuration=[
                        ec2.SubnetConfiguration(
                            cidr_mask=24,  # Subnet mask for public subnets
                            name="SubnetConfig1",
                            subnet_type=ec2.SubnetType.PUBLIC,
                        ),
                        ec2.SubnetConfiguration(
                            cidr_mask=24,  # Subnet mask for public subnets
                            name="SubnetConfig2",
                            subnet_type=ec2.SubnetType.PUBLIC,
                        )
                    ],
                )

        # get AWS availability zones in the region
        availability_zones = self.availability_zones
        # get first availability zone
        first_availability_zone = availability_zones[0]
        # get second availability zone
        second_availability_zone = availability_zones[1]
        # Create two subnets in the VPC
        self.subnet_1 = self.vpc.public_subnets[0]

        self.subnet_2 = self.vpc.public_subnets[1]

        self.subnets = [self.subnet_1, self.subnet_2]
        self.security_group = ec2.SecurityGroup(self,
                                 vpc=self.vpc,
                                 allow_all_outbound=True,
                                 description=stack_name + "-Security Group",
                                 id=stack_name + "-SecurityGroup"
                                 )
        self.prefix_list =  ec2.Peer.prefix_list(prefix_list)

        self.security_group.add_ingress_rule (self.prefix_list,
                                                 ec2.Port.all_traffic())
        
        self.security_group.add_ingress_rule(
            peer=self.security_group,
            connection=ec2.Port.all_traffic(),
            description="Allow all traffic from self"
        )


        # Import existing keypair using keyname
        self.key_pair = ec2.KeyPair.from_key_pair_name(self, "KeyPair", key_pair_name)
        return