limited-wire-44163
07/01/2024, 10:57 AMfor vm in self.vms:
self.vm_ports.append(openstack.networking.Port(f"{vm.name}_port",
network_id=network_id,
fixed_ips=[openstack.networking.PortFixedIpArgs(subnet_id=subnet_id)],
allowed_address_pairs=[{'ip_address': allowed_address}],
tags=[f"{vm.name}_port"]
))
later I create vm and I need port id
for vm in self.vms:
_network_port = next((port.id for port in self.vm_ports if f"{vm.name}_port" in port.tags), None)
How I can refer in one loop to objects that will be created in other loop?stocky-restaurant-98004
07/01/2024, 9:08 PMlimited-wire-44163
07/02/2024, 5:50 AMmodern-zebra-45309
07/02/2024, 10:28 AMmy_ports = []
for i in range(9):
port = openstack.networking.Port(...)
my_ports.append(port)
for n in range(3):
networks = [openstack.compute.InstanceNetworkArgs(port=port.id) for port in my_ports[3*n:3*n+3]]
vm = openstack.compute.Instance(..., networks=networks)
The key is to remember that resource output values have to be handled as outputs, not as regular Python variables.