def network_to_dict(network, detail=True): d = {'id': str(network.id), 'name': network.name} d['links'] = util.network_to_links(network.id) if detail: # Loop over subnets. Do not perform any extra query because of prefetch # related! subnet_ids = [] for subnet in network.subnets.all(): subnet_ids.append(subnet.id) state = "SNF:DRAINED" if network.drained else network.state d['user_id'] = network.userid d['tenant_id'] = network.userid d['type'] = network.flavor d['updated'] = api.utils.isoformat(network.updated) d['created'] = api.utils.isoformat(network.created) d['status'] = state d['public'] = network.public d['shared'] = network.public d['router:external'] = network.external_router d['admin_state_up'] = True d['subnets'] = subnet_ids d['SNF:floating_ip_pool'] = network.floating_ip_pool d['deleted'] = network.deleted return d
def network_to_dict(network, detail=True): d = {'id': str(network.id), 'name': network.name} d['links'] = util.network_to_links(network.id) if detail: state = "SNF:DRAINED" if network.drained else network.state d['user_id'] = network.userid d['tenant_id'] = network.project d['type'] = network.flavor d['updated'] = api.utils.isoformat(network.updated) d['created'] = api.utils.isoformat(network.created) d['status'] = state d['public'] = network.public d['shared'] = network.public d['router:external'] = network.external_router d['admin_state_up'] = True d['subnets'] = network.subnet_ids d['SNF:floating_ip_pool'] = network.floating_ip_pool d['deleted'] = network.deleted return d
def network_to_dict(network, user_id, detail=True): d = {'id': str(network.id), 'name': network.name} d['links'] = util.network_to_links(network.id) if detail: d['user_id'] = network.userid d['tenant_id'] = network.userid d['cidr'] = network.subnet d['cidr6'] = network.subnet6 d['gateway'] = network.gateway d['gateway6'] = network.gateway6 d['dhcp'] = network.dhcp d['type'] = network.flavor d['updated'] = utils.isoformat(network.updated) d['created'] = utils.isoformat(network.created) d['status'] = network.state d['public'] = network.public attachments = [util.construct_nic_id(nic) for nic in network.nics.filter(machine__userid=user_id) .filter(state="ACTIVE") .order_by('machine')] d['attachments'] = attachments return d