Skip to content

Commit

Permalink
Merge pull request #24 from kaytu-io/compute-instance-recommendations
Browse files Browse the repository at this point in the history
Compute instance recommendations
  • Loading branch information
artaasadi committed Jun 23, 2024
2 parents 6324f25 + 8407774 commit c658e81
Showing 1 changed file with 38 additions and 9 deletions.
47 changes: 38 additions & 9 deletions plugin/kaytu/compute_instance.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,17 @@ type GcpComputeInstance struct {
MachineType string `json:"machineType"`
}

type GcpComputeDisk struct {
HashedDiskId string `json:"hashedDiskId"`
Zone string `json:"zone"`
Region string `json:"region"`
DiskType string `json:"diskType"`
DiskSize *int32 `json:"diskSize"`
}

type RightsizingGcpComputeInstance struct {
Zone string `json:"zone"`
Region string `json:"region"`
MachineType string `json:"machineType"`
MachineFamily string `json:"machineFamily"`
CPU int64 `json:"cpu"`
Expand All @@ -29,18 +38,38 @@ type GcpComputeInstanceRightsizingRecommendation struct {
}

type GcpComputeInstanceWastageRequest struct {
RequestId *string `json:"requestId"`
CliVersion *string `json:"cliVersion"`
Identification map[string]string `json:"identification"`
Instance GcpComputeInstance `json:"instance"`
Metrics map[string][]Datapoint `json:"metrics"`
Region string `json:"region"`
Preferences map[string]*string `json:"preferences"`
Loading bool `json:"loading"`
RequestId *string `json:"requestId"`
CliVersion *string `json:"cliVersion"`
Identification map[string]string `json:"identification"`
Instance GcpComputeInstance `json:"instance"`
Disks []GcpComputeDisk `json:"disks"`
Metrics map[string][]Datapoint `json:"metrics"`
DiskMetrics map[string]map[string][]Datapoint `json:"diskMetrics"`
Region string `json:"region"`
Preferences map[string]*string `json:"preferences"`
Loading bool `json:"loading"`
}

type RightsizingGcpComputeDisk struct {
Zone string `json:"zone"`
Region string `json:"region"`
DiskType string `json:"diskType"`
DiskSize *int32 `json:"diskSize"`
Cost float64 `json:"cost"`
}

type GcpComputeDiskRecommendation struct {
Current RightsizingGcpComputeDisk
Recommended *RightsizingGcpComputeDisk

Size Usage `json:"size"`

Description string `json:"description"`
}

type GcpComputeInstanceWastageResponse struct {
RightSizing GcpComputeInstanceRightsizingRecommendation `json:"rightSizing"`
RightSizing GcpComputeInstanceRightsizingRecommendation `json:"rightSizing"`
VolumeRightSizing map[string]GcpComputeDiskRecommendation `json:"volumes"`
}

type Datapoint struct {
Expand Down

0 comments on commit c658e81

Please sign in to comment.