mirror of https://github.com/hashicorp/boundary
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
245 lines
7.8 KiB
245 lines
7.8 KiB
# Copyright (c) HashiCorp, Inc.
|
|
# SPDX-License-Identifier: BUSL-1.1
|
|
|
|
output "controller_ips" {
|
|
description = "Public IPs of boundary controllers"
|
|
value = var.ip_version == "6" ? flatten(aws_instance.controller.*.ipv6_addresses) : aws_instance.controller.*.public_ip
|
|
}
|
|
|
|
output "worker_ips" {
|
|
description = "Public IPs of boundary workers"
|
|
value = var.ip_version == "6" ? flatten(aws_instance.worker.*.ipv6_addresses) : aws_instance.worker.*.public_ip
|
|
}
|
|
|
|
output "alb_hostname" {
|
|
description = "Public hostname of Controller ALB"
|
|
value = aws_alb.boundary_alb.dns_name
|
|
}
|
|
|
|
output "rds_hostname" {
|
|
description = "Public hostname of the RDS database"
|
|
value = var.db_create ? aws_db_instance.boundary[0].endpoint : var.db_host
|
|
}
|
|
|
|
output "rds_identifier" {
|
|
description = "Unique identifier of the RDS database"
|
|
value = var.db_create ? aws_db_instance.boundary[0].identifier : null
|
|
}
|
|
|
|
output "rds_db_name" {
|
|
description = "The name of the rds database created for the boundary cluster"
|
|
value = var.db_create ? aws_db_instance.boundary[0].db_name : null
|
|
}
|
|
|
|
output "alb_boundary_api_addr" {
|
|
description = "The address of the boundary API"
|
|
value = "http://${aws_alb.boundary_alb.dns_name}:${var.alb_listener_api_port}"
|
|
}
|
|
|
|
// Boundary init outputs
|
|
output "auth_method_id" {
|
|
description = "Generated auth method id from boundary init"
|
|
value = try(enos_boundary_init.controller[0].auth_method_id, null)
|
|
}
|
|
|
|
output "auth_method_name" {
|
|
description = "Generated auth method name from boundary init"
|
|
value = try(enos_boundary_init.controller[0].auth_method_name, null)
|
|
}
|
|
|
|
output "auth_login_name" {
|
|
description = "Generated login name from boundary init"
|
|
value = try(enos_boundary_init.controller[0].auth_login_name, null)
|
|
}
|
|
|
|
output "auth_password" {
|
|
description = "Generated auth password from boundary init"
|
|
value = try(enos_boundary_init.controller[0].auth_password, null)
|
|
}
|
|
|
|
output "auth_scope_id" {
|
|
description = "Generated auth scope id from boundary init"
|
|
value = try(enos_boundary_init.controller[0].auth_scope_id, null)
|
|
}
|
|
|
|
output "auth_user_id" {
|
|
description = "Generated user id from boundary init"
|
|
value = try(enos_boundary_init.controller[0].auth_user_id, null)
|
|
}
|
|
|
|
output "auth_user_name" {
|
|
description = "Generated user naem from boundary init"
|
|
value = try(enos_boundary_init.controller[0].auth_user_name, null)
|
|
}
|
|
|
|
output "host_catalog_id" {
|
|
description = "Generated host catalog id from boundary init"
|
|
value = try(enos_boundary_init.controller[0].host_catalog_id, null)
|
|
}
|
|
|
|
output "host_set_id" {
|
|
description = "Generated host set id from boundary init"
|
|
value = try(enos_boundary_init.controller[0].host_set_id, null)
|
|
}
|
|
|
|
output "host_id" {
|
|
description = "Generated host id from boundary init"
|
|
value = try(enos_boundary_init.controller[0].host_id, null)
|
|
}
|
|
|
|
output "host_type" {
|
|
description = "Generated host type from boundary init"
|
|
value = try(enos_boundary_init.controller[0].host_type, null)
|
|
}
|
|
|
|
output "host_scope_id" {
|
|
description = "Generated host scope id from boundary init"
|
|
value = try(enos_boundary_init.controller[0].host_scope_id, null)
|
|
}
|
|
|
|
output "host_catalog_name" {
|
|
description = "Generated host catalog name from boundary init"
|
|
value = try(enos_boundary_init.controller[0].host_catalog_name, null)
|
|
}
|
|
|
|
output "host_set_name" {
|
|
description = "Generated host set name from boundary init"
|
|
value = try(enos_boundary_init.controller[0].host_set_name, null)
|
|
}
|
|
|
|
output "host_name" {
|
|
description = "Generated host name from boundary init"
|
|
value = try(enos_boundary_init.controller[0].host_name, null)
|
|
}
|
|
|
|
output "login_role_scope_id" {
|
|
description = "Generated login role scope id from boundary init"
|
|
value = try(enos_boundary_init.controller[0].login_role_scope_id, null)
|
|
}
|
|
|
|
output "login_role_name" {
|
|
description = "Generated login role name from boundary init"
|
|
value = try(enos_boundary_init.controller[0].login_role_name, null)
|
|
}
|
|
|
|
output "org_scope_id" {
|
|
description = "Generated org scope id from boundary init"
|
|
value = try(enos_boundary_init.controller[0].org_scope_id, null)
|
|
}
|
|
|
|
output "org_scope_type" {
|
|
description = "Generated org scope type from boundary init"
|
|
value = try(enos_boundary_init.controller[0].org_scope_type, null)
|
|
}
|
|
|
|
output "org_scope_name" {
|
|
description = "Generated org scope name from boundary init"
|
|
value = try(enos_boundary_init.controller[0].org_scope_name, null)
|
|
}
|
|
|
|
output "project_scope_id" {
|
|
description = "Generated project scope id from boundary init"
|
|
value = try(enos_boundary_init.controller[0].project_scope_id, null)
|
|
}
|
|
|
|
output "project_scope_type" {
|
|
description = "Generated project scope type from boundary init"
|
|
value = try(enos_boundary_init.controller[0].project_scope_type, null)
|
|
}
|
|
|
|
output "project_scope_name" {
|
|
description = "Generated project scope name from boundary init"
|
|
value = try(enos_boundary_init.controller[0].project_scope_name, null)
|
|
}
|
|
|
|
output "max_page_size" {
|
|
value = var.max_page_size
|
|
}
|
|
|
|
output "target_id" {
|
|
description = "Generated target id from boundary init"
|
|
value = try(enos_boundary_init.controller[0].target_id, null)
|
|
}
|
|
|
|
output "target_default_port" {
|
|
description = "Generated target default port from boundary init"
|
|
value = try(enos_boundary_init.controller[0].target_default_port, null)
|
|
}
|
|
|
|
output "target_session_max_seconds" {
|
|
description = "Generated target session max from boundary init"
|
|
value = try(enos_boundary_init.controller[0].target_session_max_seconds, null)
|
|
}
|
|
|
|
output "target_session_connection_limit" {
|
|
description = "Generated target session connection limit from boundary init"
|
|
value = try(enos_boundary_init.controller[0].target_session_connection_limit, null)
|
|
}
|
|
|
|
output "target_type" {
|
|
description = "Generated target type from boundary init"
|
|
value = try(enos_boundary_init.controller[0].target_type, null)
|
|
}
|
|
|
|
output "target_scope_id" {
|
|
description = "Generated target scope id from boundary init"
|
|
value = try(enos_boundary_init.controller[0].target_scope_id, null)
|
|
}
|
|
|
|
output "target_name" {
|
|
description = "Generated target name from boundary init"
|
|
value = try(enos_boundary_init.controller[0].target_name, null)
|
|
}
|
|
|
|
output "iam_instance_profile_name" {
|
|
description = "The name of the IAM instance profile used with this cluster"
|
|
value = aws_iam_instance_profile.boundary_profile.name
|
|
}
|
|
|
|
|
|
output "name_prefix" {
|
|
description = "The prefix used when naming this cluster's components"
|
|
value = local.name_prefix
|
|
}
|
|
|
|
output "cluster_tag" {
|
|
description = "The tag for this cluster"
|
|
value = local.boundary_cluster_tag
|
|
}
|
|
|
|
output "public_controller_addresses" {
|
|
value = var.ip_version == "4" ? aws_instance.controller[*].public_ip : aws_instance.controller[*].ipv6_addresses[0]
|
|
}
|
|
|
|
output "controller_aux_sg_id" {
|
|
description = "A security group ID that covers the controllers for adding extra rules to"
|
|
value = aws_security_group.boundary_aux_sg.id
|
|
}
|
|
|
|
output "subnet_ids" {
|
|
description = "A list of the subnets created by the infra modules to share with other modules"
|
|
value = tolist(data.aws_subnets.infra.ids)
|
|
}
|
|
|
|
output "pet_id" {
|
|
description = "The ID of the random_pet used in this module"
|
|
value = random_pet.default.id
|
|
}
|
|
|
|
output "worker_tokens" {
|
|
description = "If available, worker tokens used to register to Boundary"
|
|
value = try([
|
|
for token in enos_remote_exec.get_worker_token : trimspace(token.stdout)
|
|
], null)
|
|
}
|
|
|
|
output "worker_cidr" {
|
|
description = "List of ipv4 subnets of all workers"
|
|
value = formatlist("%s/32", aws_instance.worker.*.public_ip)
|
|
}
|
|
|
|
output "worker_ipv6_cidr" {
|
|
description = "List of ipv6 subnets of all workers"
|
|
value = distinct([for ip in flatten(aws_instance.worker.*.ipv6_addresses) : cidrsubnet("${ip}/64", 0, 0)])
|
|
}
|