testing, pre-wails

This commit is contained in:
2024-12-13 17:57:37 -06:00
parent 81a9d1f315
commit 34c1319f44
5 changed files with 134 additions and 96 deletions

View File

@@ -5,22 +5,6 @@ import (
"net/http"
)
type ComparableInteger struct {
eq *int `json:"eq,omitempty"`
lt *int `json:"lt,omitempty"`
le *int `json:"le,omitempty"`
gt *int `json:"gt,omitempty"`
ge *int `json:"ge,omitempty"`
}
type ComparableFloat struct {
eq *float64 `json:"eq,omitempty"`
lt *float64 `json:"lt,omitempty"`
le *float64 `json:"le,omitempty"`
gt *float64 `json:"gt,omitempty"`
ge *float64 `json:"ge,omitempty"`
}
type AdvancedSearch struct {
Verified *bool `json:"verified,omitempty"`
ComputeCap *ComparableInteger `json:"compute_cap,omitempty"`
@@ -69,75 +53,12 @@ func NewSearch() *AdvancedSearch {
}
}
type Offer struct {
IsBid bool `json:"is_bid"`
InetUpBilled *float64 `json:"inet_up_billed"`
InetDownBilled *float64 `json:"inet_down_billed"`
External bool `json:"external"`
Webpage *string `json:"webpage"`
Logo string `json:"logo"`
Rentable bool `json:"rentable"`
ComputeCap int `json:"compute_cap"`
DriverVersion string `json:"driver_version"`
CudaMaxGood int `json:"cuda_max_good"`
MachineID int `json:"machine_id"`
HostingType *string `json:"hosting_type"`
PublicIPAddr string `json:"public_ipaddr"`
Geolocation string `json:"geolocation"`
FlopsPerDPHTotal float64 `json:"flops_per_dphtotal"`
DLPerfPerDPHTotal float64 `json:"dlperf_per_dphtotal"`
Reliability2 float64 `json:"reliability2"`
HostRunTime int `json:"host_run_time"`
HostID int `json:"host_id"`
ID int `json:"id"`
BundleID int `json:"bundle_id"`
NumGPUs int `json:"num_gpus"`
TotalFlops float64 `json:"total_flops"`
MinBid float64 `json:"min_bid"`
DPHBase float64 `json:"dph_base"`
DPHTotal float64 `json:"dph_total"`
GPUName string `json:"gpu_name"`
GPURam int `json:"gpu_ram"`
GPUDisplayActive bool `json:"gpu_display_active"`
GPUMemBw float64 `json:"gpu_mem_bw"`
BwNVLink int `json:"bw_nvlink"`
DirectPortCount int `json:"direct_port_count"`
GPULanes int `json:"gpu_lanes"`
PCIeBw float64 `json:"pcie_bw"`
PCIGen int `json:"pci_gen"`
DLPerf float64 `json:"dlperf"`
CPUName string `json:"cpu_name"`
MoboName string `json:"mobo_name"`
CPURam int `json:"cpu_ram"`
CPUCores int `json:"cpu_cores"`
CPUCoresEffective int `json:"cpu_cores_effective"`
GPUFrac float64 `json:"gpu_frac"`
HasAVX int `json:"has_avx"`
DiskSpace float64 `json:"disk_space"`
DiskName string `json:"disk_name"`
DiskBw float64 `json:"disk_bw"`
InetUp float64 `json:"inet_up"`
InetDown float64 `json:"inet_down"`
StartDate float64 `json:"start_date"`
EndDate *float64 `json:"end_date"`
Duration *float64 `json:"duration"`
StorageCost float64 `json:"storage_cost"`
InetUpCost float64 `json:"inet_up_cost"`
InetDownCost float64 `json:"inet_down_cost"`
StorageTotalCost float64 `json:"storage_total_cost"`
Verification string `json:"verification"`
Score float64 `json:"score"`
Rented bool `json:"rented"`
BundledResults int `json:"bundled_results"`
PendingCount int `json:"pending_count"`
}
type SearchResponse struct {
Offers []Offer `json:"offers"`
}
func (c *Client) Search(search *AdvancedSearch) (*SearchResponse, error) {
resp, err := c.makeRequest(http.MethodPost, "/bundles/", nil)
resp, err := c.makeRequest(http.MethodPost, "/bundles/", search)
if err != nil {
return nil, err
}