output "api_url" { description = "Public meals API origin (CloudFront)." value = local.form_url } output "publish_api_url" { description = "ALB URL for weekly-menu HMAC publish." value = "http://${aws_lb.api.dns_name}" } output "form_url" { description = "Public order form URL." value = local.form_url } output "distribution_id" { description = "CloudFront distribution ID, for cache invalidation." value = aws_cloudfront_distribution.form.id } output "distribution_domain_name" { description = "CloudFront distribution domain name, the DNS target for the custom domain." value = aws_cloudfront_distribution.form.domain_name } output "form_bucket_name" { description = "S3 bucket holding the order form HTML." value = aws_s3_bucket.form.id } output "reports_bucket_name" { description = "S3 bucket holding payroll CSVs and weekly summary PDFs." value = aws_s3_bucket.reports.id } output "ecr_repository_url" { description = "ECR repository for the API image." value = aws_ecr_repository.api.repository_url } output "orders_table_name" { description = "DynamoDB orders table." value = aws_dynamodb_table.orders.name } output "github_deploy_role_arn" { description = "OIDC role ARN for .github/workflows/deploy-api.yaml (Environment DEPLOY_ROLE_ARN)." value = aws_iam_role.github_deploy.arn } output "ecs_task_role_arn" { description = "ECS task role; paychex-checkcomponents queue policy must allow this ARN." value = aws_iam_role.ecs_task.arn } output "vpc_id" { description = "VPC the ALB and Fargate tasks run in. Prod attaches to afterhours." value = local.vpc_id } output "public_subnet_ids" { description = "Public subnet IDs for the ALB and Fargate tasks." value = local.public_subnet_ids }