Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

39 lines
1004B

  1. output "vms_by_provider" {
  2. value = {
  3. for providername in local.vm_providers: providername => {
  4. for hostname, host in local.vms_with_provider:
  5. hostname => var.vms[hostname]
  6. if host.provider == providername
  7. }
  8. }
  9. }
  10. output "ansible_inventory" {
  11. value = {
  12. all = {
  13. hosts = {
  14. for hostname,host in var.vms: hostname => {}
  15. }
  16. children = merge(
  17. {
  18. for group in local.vm_groups: group => {
  19. hosts = {
  20. for hostname, host in local.vms_with_groups:
  21. hostname => {}
  22. if contains(host.groups,group)
  23. }
  24. }
  25. },{
  26. for providername in local.vm_providers: "provider_${providername}" => {
  27. hosts = {
  28. for hostname, host in local.vms_with_provider:
  29. hostname => var.providers_hostvars[host.provider][hostname]
  30. if host.provider == providername
  31. }
  32. }
  33. }
  34. )
  35. }
  36. }
  37. }