Merge branch 'main' from workbench2.git
[arvados.git] / tools / salt-install / terraform / aws / vpc / locals.tf
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: CC-BY-SA-3.0
4
5 locals {
6   allowed_ports = {
7     http: "80",
8     https: "443",
9     ssh: "22",
10   }
11   availability_zone = data.aws_availability_zones.available.names[0]
12   route53_public_zone = one(aws_route53_zone.public_zone[*])
13   iam_user_letsencrypt = one(aws_iam_user.letsencrypt[*])
14   iam_access_key_letsencrypt = one(aws_iam_access_key.letsencrypt[*])
15
16   arvados_vpc_id = one(aws_vpc.arvados_vpc[*]) != null ? one(aws_vpc.arvados_vpc[*]).id : var.vpc_id
17   arvados_vpc_cidr_block = one(aws_vpc.arvados_vpc[*])
18
19   arvados_sg_id = one(aws_security_group.arvados_sg[*]) != null ? one(aws_security_group.arvados_sg[*]).id : var.sg_id
20
21   private_subnet_id = one(aws_subnet.private_subnet[*]) != null ? one(aws_subnet.private_subnet[*]).id : var.private_subnet_id
22   public_subnet_id = one(aws_subnet.public_subnet[*]) != null ? one(aws_subnet.public_subnet[*]).id : var.public_subnet_id
23
24   public_hosts = var.private_only ? [] : var.user_facing_hosts
25   private_hosts = concat(
26     var.internal_service_hosts,
27     var.private_only ? var.user_facing_hosts : []
28   )
29   public_ip = {
30     for k, v in aws_eip.arvados_eip: k => v.public_ip
31   }
32   private_ip = var.private_ip
33   cname_by_host = flatten([
34     for host, aliases in var.dns_aliases : [
35       for alias in aliases : {
36         record = alias
37         cname = host
38       }
39     ]
40   ])
41 }