output "slack_execute_api_url" { description = "Slack interactivity URL on the execute-api origin. Use until DNS is flipped." value = "${aws_apigatewayv2_api.http.api_endpoint}/slack/interactions" } output "slack_custom_domain_target" { description = "API Gateway regional domain to point apm-wo.seahaven.com at (OOB Route53)." value = try(aws_apigatewayv2_domain_name.slack[0].domain_name_configuration[0].target_domain_name, null) } output "grafana_alb_dns_name" { description = "ALB DNS name to point grafana.seahaven.com at (OOB Route53)." value = aws_lb.grafana.dns_name } output "grafana_alb_zone_id" { description = "ALB hosted zone id for the grafana.seahaven.com alias." value = aws_lb.grafana.zone_id } output "exports_bucket_name" { description = "Exports bucket. Uploader and Athena read this." value = aws_s3_bucket.exports.id } output "github_deploy_role_arn" { description = "OIDC role ARN for .github/workflows/deploy.yaml (GitHub Environment prod variable DEPLOY_ROLE_ARN)." value = aws_iam_role.github_deploy.arn } output "artifacts_bucket_name" { description = "Lambda artifacts bucket. deploy.yaml uploads functions//.zip." value = aws_s3_bucket.artifacts.id } 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 } output "grafana_instance_id" { description = "Grafana EC2 instance id for SSM Session Manager." value = aws_instance.grafana.id }