def convert_with_links(self, rack, links): kwargs = rack.as_dict() # returns a new dict, overwriting keys is safe if rack.chassis_id: kwargs['chassis'] = Chassis(id=rack.chassis_id, links=[Link.build_ironic_link( 'chassis', rack.chassis_id)]) else: kwargs['chassis'] = Chassis() if rack.resource_class_id: l = [Link.build('self', pecan.request.host_url, 'resource_classes', rack.resource_class_id)] kwargs['resource_class'] = Relation(id=rack.resource_class_id, links=l) kwargs['capacities'] = [Capacity(name=c.name, value=c.value, unit=c.unit) for c in rack.capacities] kwargs['nodes'] = [Node(id=n.node_id, links=[ Link.build_ironic_link('node', n.node_id) ]) for n in rack.nodes] return Rack(links=links, **kwargs)
def convert_with_links(self, rack, links): kwargs = rack.as_dict() # returns a new dict, overwriting keys is safe if rack.chassis_id: kwargs['chassis'] = Chassis( id=rack.chassis_id, links=[Link.build_ironic_link('chassis', rack.chassis_id)]) else: kwargs['chassis'] = Chassis() if rack.resource_class_id: l = [ Link.build('self', pecan.request.host_url, 'resource_classes', rack.resource_class_id) ] kwargs['resource_class'] = Relation(id=rack.resource_class_id, links=l) kwargs['capacities'] = [ Capacity(name=c.name, value=c.value, unit=c.unit) for c in rack.capacities ] kwargs['nodes'] = [ Node(id=n.node_id, links=[Link.build_ironic_link('node', n.node_id)]) for n in rack.nodes ] return Rack(links=links, **kwargs)