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.

41 lines
1.4 KiB

  1. resource "null_resource" "dummy_dependency" {
  2. triggers = {
  3. dependency_id = var.router_id
  4. }
  5. depends_on = [
  6. var.router_internal_port_id
  7. ]
  8. }
  9. # If user specifies pre-existing IPs to use in k8s_master_fips, do not create new ones.
  10. resource "openstack_networking_floatingip_v2" "k8s_master" {
  11. count = length(var.k8s_master_fips) > 0 ? 0 : var.number_of_k8s_masters
  12. pool = var.floatingip_pool
  13. depends_on = [null_resource.dummy_dependency]
  14. }
  15. # If user specifies pre-existing IPs to use in k8s_master_fips, do not create new ones.
  16. resource "openstack_networking_floatingip_v2" "k8s_master_no_etcd" {
  17. count = length(var.k8s_master_fips) > 0 ? 0 : var.number_of_k8s_masters_no_etcd
  18. pool = var.floatingip_pool
  19. depends_on = [null_resource.dummy_dependency]
  20. }
  21. resource "openstack_networking_floatingip_v2" "k8s_node" {
  22. count = var.number_of_k8s_nodes
  23. pool = var.floatingip_pool
  24. depends_on = [null_resource.dummy_dependency]
  25. }
  26. resource "openstack_networking_floatingip_v2" "bastion" {
  27. count = var.number_of_bastions
  28. pool = var.floatingip_pool
  29. depends_on = [null_resource.dummy_dependency]
  30. }
  31. resource "openstack_networking_floatingip_v2" "k8s_nodes" {
  32. for_each = var.number_of_k8s_nodes == 0 ? { for key, value in var.k8s_nodes : key => value if value.floating_ip } : {}
  33. pool = var.floatingip_pool
  34. depends_on = [null_resource.dummy_dependency]
  35. }