{ "name": "vpc", "version": "1.0.0", "kind": "l1", "type": "aws:ec2:vpc", "description": "VPC primitive (substrate-agnostic stack types aws:ec2:vpc + aws:ec2:subnet + aws:ec2:routetable; the Terraform adapter translates to aws_vpc/aws_subnet/aws_route_table).", "inputs": { "cidr": { "type": "string", "description": "VPC CIDR block, e.g. 10.0.0.0/16.", "required": true }, "azs": { "type": "string", "description": "Comma-separated availability zones, e.g. us-east-1a,us-east-1b.", "required": true }, "name": { "type": "string", "description": "Name tag for the VPC and child resources.", "required": true }, "region": { "type": "string", "description": "AWS region the VPC is created in.", "required": true } }, "outputs": { "vpc_id": { "type": "string", "description": "The VPC id." }, "subnet_ids": { "type": "string", "description": "Comma-separated subnet ids." } }, "nfrs": { "encryption_enabled": { "type": "boolean", "description": "Enable KMS-encrypted VPC flow logs.", "default": true }, "flow_logs_encrypted": { "type": "boolean", "description": "Encrypt VPC flow logs with KMS.", "default": true }, "deletion_protection": { "type": "boolean", "description": "Prevent resource destruction via Terraform lifecycle prevent_destroy", "default": true } }, "resources": [ { "type": "aws:ec2:vpc", "description": "The VPC itself.", "inputs": ["cidr", "name"], "outputs": ["vpc_id"] }, { "type": "aws:ec2:subnet", "description": "One subnet per availability zone (azs split on comma).", "inputs": ["cidr", "az", "vpc_id", "name"], "outputs": ["subnet_ids"] }, { "type": "aws:ec2:routetable", "description": "Route table bound to the VPC with an internet gateway + default route.", "inputs": ["vpc_id"], "outputs": [] } ], "intra_refs": [ {"from": "aws:ec2:subnet.vpc_id", "to": "aws:ec2:vpc.vpc_id"}, {"from": "aws:ec2:routetable.vpc_id", "to": "aws:ec2:vpc.vpc_id"} ] }