{ "name": "alb", "version": "1.0.0", "kind": "l1", "type": "aws:elbv2:loadbalancer", "description": "Application Load Balancer primitive (engine-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 }, "load_balancer_type": { "type": "string", "description": "Load balancer type (application or network).", "required": false, "default": "application" }, "target_type": { "type": "string", "description": "Target group target type (ip or instance).", "required": false, "default": "ip" }, "enabled": { "type": "boolean", "default": true, "description": "Feature flag: enable/disable this module. Set to false to skip resource creation." } }, "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", "load_balancer_type" ], "outputs": [ "lb_arn" ] }, { "type": "aws:elbv2:targetgroup", "description": "Target group for the ECS service tasks.", "inputs": [ "name", "port", "protocol", "vpc_id", "target_type" ], "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" ] } ] }