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.
boundary/enos/modules/aws_boundary/outputs.tf

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)])
}