code: def allocate_ip_for_subnet(self, subnet_id, mac, port_id):
          
          # Get an available IP and mark it as used before someone else does
          # If there's no IP, , log it and return an error
          # If we successfully get an IP, create a port with the specified MAC and device data
          # If port creation fails, deallocate the IP
          subnet = self.get_subnet(subnet_id)
          ip, mask, port_id = self.a10_allocate_ip_from_dhcp_range(subnet, "vlan", mac, port_id)
          return ip, mask, port_id
docs: Allocates an IP from the specified subnet and creates a port