provider "opennebula" { endpoint = var.one_endpoint username = var.one_user password = var.one_pass } provider "dns" { update { server = var.dns_server port = "53530" key_name = var.dns_key_name key_algorithm = var.dns_key_algo key_secret = var.dns_key_secret retries = 10 timeout = 300 } } // Production /* * Virtual networks */ resource "opennebula_virtual_network" "vnet"{ for_each = var.virtual_networks name = each.key vlan_id = each.value.vlan_id permissions = "660" bridge = var.one_vswitch type = "ovswitch" mtu = 1500 ar { ar_type = each.value.adress_range.ar_type size = each.value.adress_range.size ip4 = each.value.adress_range.ip4 } dns = each.value.dns gateway = each.value.gateway clusters = each.value.clusters } /* * VIRTUAL MACHINES */ // Production /* Amon module "amon" { source = "./modules/virtualMachine" one_user = var.one_user one_prod_ds = var.one_prod_ds vm_shortname = "amon" vm_fqdn = "amon.ber.asso.fr" vm_domain = var.dns_domain dns_a_record = "no" cpu = 0.4 vcpu = 4 ram = 4096 network_interfaces = [ { network_id = opennebula_virtual_network.internet.id, ip = "192.168.1.2"}, { network_id = opennebula_virtual_network.production.id, ip = "192.168.5.254"}, { network_id = opennebula_virtual_network.office.id, ip = "192.168.10.254"}, ] tag_labels = "Production,Infrastructure,Amon,Firewall,EOLE" system_image_name = "PROD-AMON-STATIC" data_image_name = "" system_image_source = "http://hapy-ber.ber.asso.fr/factory/ber/production/amon.ber.asso.fr/system/amon.ber.asso.fr_latest.img" data_image_source = "" depends = [ opennebula_virtual_network.production.id ] } /* Additionnal DNS Entry module "ber_asso_fr" { source = "./modules/cadolesDNS" dns_domain = "cadoles.com." dns_a_records = var.dns_a_records dns_cname_records = var.dns_cname_records depends = [ module.dns.virtual_machine_shortname ] } */