output "slack_request_url" { description = "Slack app Request URL (slash command and interactivity)." value = "${local.api_url}/slack/events" } output "api_origin" { description = "HTTP origin for Paychex AFTERHOURS_BASE_URL and portal VITE_SHIFTS_API_BASE. No /roster suffix." value = local.api_url } output "shift_table_name" { description = "DynamoDB table name." value = aws_dynamodb_table.shifts.name } output "holiday_scheduler_role_arn" { description = "Role EventBridge Scheduler assumes to enqueue holiday jobs." value = aws_iam_role.holiday_scheduler.arn } output "github_deploy_role_arn" { description = "OIDC role ARN for deploy-api.yaml (GitHub Environment variable DEPLOY_ROLE_ARN)." value = aws_iam_role.github_deploy.arn } output "artifacts_bucket_name" { description = "Leftover Lambda artifacts bucket from dual-run zip CD." value = aws_s3_bucket.artifacts.id } output "alb_dns_name" { description = "ALB DNS name. Public DNS for afterhours.seahaven.com is out of band." value = aws_lb.api.dns_name } output "fargate_origin" { description = "Fargate origin for Slack/Paychex/portal cutover. HTTPS after attach_custom_domain." value = local.api_url } output "jobs_queue_arn" { description = "SQS ARN EventBridge Scheduler holiday one-offs target after cutover." value = aws_sqs_queue.jobs.arn } output "ecs_task_role_arn" { description = "ECS task role. paychex-checkcomponents queue policy must allow this ARN before Fargate weekly_post." value = aws_iam_role.ecs_task.arn } output "hcptf_apply_role_arn" { description = "HCP apply role ARN. Set TFC_AWS_APPLY_ROLE_ARN after the bootstrap window." value = aws_iam_role.hcptf_apply.arn } output "hcptf_plan_role_arn" { description = "HCP plan role ARN. Set TFC_AWS_PLAN_ROLE_ARN after the bootstrap window." value = aws_iam_role.hcptf_plan.arn }