# Define required providers terraform { required_version = ">= 0.14.0" required_providers { openstack = { source = "terraform-provider-openstack/openstack" # version = "~> 1.53.0" } } } provider "openstack" { cloud = "ISTI-Cloud" } module "labs_common_variables" { source = "../../modules/labs_common_variables" } # Main module module "main_private_net_and_dns_zone" { source = "../../modules/labs_private_net_and_dns_zone" dns_zone = { zone_name = "sfd.cloud.isti.cnr.it." email = "postmaster@isti.cnr.it" description = "DNS primary zone for the SFD project" ttl = 8600 } os_project_data = { name = "sfd-lab-cloud" id = "74694a66501540acaf45dedb0652de8b" } main_private_network = { name = "sfd-cloud-main" description = "SFD private network (use this as the main network)" } main_private_subnet = { name = "sfd-cloud-main-subnet" description = "SFD main private subnet" cidr = "10.20.0.0/21" gateway_ip = "10.20.0.1" allocation_start = "10.20.1.1" allocation_end = "10.20.7.254" } external_router = { name = "sfd-lab-cloud-external-router" description = "SFD main router" } default_firewall_rules_map = { "ssh_from_isti_net" = { description = "SSH from the ISTI network" source = module.labs_common_variables.ssh_sources.isti_net_cidr port_min = 22 port_max = 22 }, "ssh_from_s2i2s_vpn_1" = { description = "SSH from the S2I2S VPN 1" source = module.labs_common_variables.ssh_sources.s2i2s_vpn_1_cidr port_min = 22 port_max = 22 }, "ssh_from_s2i2s_vpn_2" = { description = "SSH from the S2I2S VPN 2" source = module.labs_common_variables.ssh_sources.s2i2s_vpn_2_cidr port_min = 22 port_max = 22 }, "http_from_everywhere" = { description = "HTTP from everywhere" source = "0.0.0.0/0" port_min = 80 port_max = 80 }, "https_from_everywhere" = { description = "HTTPS from everywhere" source = "0.0.0.0/0" port_min = 443 port_max = 443 } } } output "os_project_data" { value = module.main_private_net_and_dns_zone.os_project_data } output "dns_zone" { value = module.main_private_net_and_dns_zone.dns_zone } output "dns_zone_id" { value = module.main_private_net_and_dns_zone.dns_zone_id } output "main_private_network" { value = module.main_private_net_and_dns_zone.main_private_network } output "main_private_network_id" { value = module.main_private_net_and_dns_zone.main_private_network_id } output "main_subnet_network" { value = module.main_private_net_and_dns_zone.main_subnet_network } output "main_subnet_network_id" { value = module.main_private_net_and_dns_zone.main_subnet_network_id } output "external_gateway_ip" { value = module.main_private_net_and_dns_zone.external_gateway_ip } output "main_region" { value = module.labs_common_variables.main_region } output "external_network" { value = module.labs_common_variables.external_network } output "external_network_id" { value = module.labs_common_variables.external_network.id } output "floating_ip_pools" { value = module.labs_common_variables.floating_ip_pools } output "resolvers_ip" { value = module.labs_common_variables.resolvers_ip } output "mtu_size" { value = module.labs_common_variables.mtu_size } output "availability_zones_names" { value = module.labs_common_variables.availability_zones_names } output "availability_zone_no_gpu_name" { value = module.labs_common_variables.availability_zones_names.availability_zone_no_gpu } output "availability_zone_with_gpu_name" { value = module.labs_common_variables.availability_zones_names.availability_zone_with_gpu } output "ssh_sources" { value = module.labs_common_variables.ssh_sources } output "ubuntu_2204" { value = module.labs_common_variables.ubuntu_2204 } output "centos_7" { value = module.labs_common_variables.centos_7 } output "almalinux_9" { value = module.labs_common_variables.almalinux_9 } output "ubuntu2204_data_file" { value = module.labs_common_variables.ubuntu2204_data_file } output "el7_data_file" { value = module.labs_common_variables.el7_data_file } output "policy_list" { value = module.labs_common_variables.policy_list } output "flavor_list" { value = module.labs_common_variables.flavor_list } output "default_security_group_name" { value = module.labs_common_variables.default_security_group_name }