{ "name": "alb", "version": "1.0.0", "kind": "l1", "type": "aws:elbv2:loadbalancer", "description": "Application Load Balancer primitive (substrate-agnostic stack types aws:elbv2:loadbalancer + aws:elbv2:listener + aws:elbv2:targetgroup; the Terraform adapter translates to aws_lb/aws_lb_listener/aws_lb_target_group).", "inputs": { "name": { "type": "string", "description": "Name tag for the load balancer and child resources.", "required": true }, "subnets": { "type": "string", "description": "Comma-separated subnet ids (ref to vpc).", "required": true }, "security_group": { "type": "string", "description": "Security group id for the load balancer.", "required": true }, "port": { "type": "number", "description": "Listener port (default 80).", "required": false, "default": 80 }, "protocol": { "type": "string", "description": "Listener protocol (default HTTP).", "required": false, "default": "HTTP" }, "region": { "type": "string", "description": "AWS region the load balancer is created in.", "required": true } }, "outputs": { "lb_arn": { "type": "arn", "description": "The load balancer ARN." }, "listener_arn": { "type": "arn", "description": "The listener ARN." }, "target_group_arn": { "type": "arn", "description": "The target group ARN." } }, "nfrs": { "encryption_enabled": { "type": "boolean", "description": "Enable TLS/HTTPS encryption in transit.", "default": true }, "tls_enabled": { "type": "boolean", "description": "Enable TLS listener.", "default": true }, "deletion_protection": { "type": "boolean", "description": "Prevent resource destruction via Terraform lifecycle prevent_destroy", "default": true } }, "resources": [ { "type": "aws:elbv2:loadbalancer", "description": "Application load balancer in the VPC subnets.", "inputs": ["name", "subnets", "security_group"], "outputs": ["lb_arn"] }, { "type": "aws:elbv2:targetgroup", "description": "Target group for the ECS service tasks.", "inputs": ["name", "port", "protocol", "vpc_id"], "outputs": ["target_group_arn"] }, { "type": "aws:elbv2:listener", "description": "Listener forwarding the LB port to the target group.", "inputs": ["lb_arn", "port", "protocol", "target_group_arn"], "outputs": ["listener_arn"] } ] }