tumblebug

package
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 30, 2021 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AutoAction

type AutoAction struct {
	ActionType    string          `json:"actionType"`
	Placementalgo string          `json:"placement_algo"`
	PostCommand   McisCommandInfo `json:"postCommand"`
	Vm            VmInfo          `json:"vm"`
}

type AutoCondition

type AutoCondition struct {
	EvaluationPeriod string   `json:"evaluationPeriod"`
	EvaluationValues []string `json:"evaluationValue"`
	Metric           string   `json:"metric"`
	Operand          string   `json:"operand"`
	Operator         string   `json:"operator"`
}

type CspViewVmDetailInfo

type CspViewVmDetailInfo struct {
	Name               string   `json:"name"`
	ImageName          string   `json:"imageName"`
	Vpcname            string   `json:"vpcname"`
	SubnetName         string   `json:"subnetName"`
	SecurityGroupNames []string `json:"securityGroupNames"`

	KeyPairName string `json:"keyPairName"`

	VmspecName string `json:"vmspecName"`

	VmuserID     string `json:"vmuserId"`
	VmuserPasswd string `json:"vmuserPasswd"`

	ConnectionName    string             `json:"connectionName"`
	IID               NameSystemIdInfo   `json:"iid"`
	ImageIID          NameSystemIdInfo   `json:"imageIId"`
	VpcIID            NameSystemIdInfo   `json:"vpcIID"`
	SubnetIID         NameSystemIdInfo   `json:"subnetIID"`
	SecurityGroupIIDs []NameSystemIdInfo `json:"securityGroupIIds"`
	KeyPairIID        NameSystemIdInfo   `json:"keyPairIId"`

	StartTime  time.Time      `json:"startTime"`
	RegionZone RegionZoneInfo `json:"region"`

	NetworkInterface string `json:"networkInterface"`

	PublicIP   string `json:"publicIP"`
	PublicDNS  string `json:"publicDNS"`
	PrivateIP  string `json:"privateIP"`
	PrivateDNS string `json:"privateDNS"`

	VmbootDisk  string `json:"vmbootDisk"`
	VmblockDisk string `json:"vmblockDisk"`

	KeyValueInfos []KeyValueInfo `json:"keyValueList"`
}

type FirewallRule

type FirewallRule struct {
	Direction  string `json:"direction"`
	FromPort   string `json:"fromPort"`
	IpProtocol string `json:"ipProtocol"`
	ToPort     string `json:"toPort"`
	CIDR       string `json:"cidr"`
}

type IIDInfo

type IIDInfo struct {
	NameId   string `json:"NameId"`
	SystemId string `json:"SystemId"`
}

type IIDInfos

type IIDInfos []IIDInfo

type InspectResourcesRequest

type InspectResourcesRequest struct {
	ConnectionName string `json:"connectionName"`
	Type           string `json:"type"`
}

cloud에 등록된 resource 조회 요청용

type InspectResourcesResponse

type InspectResourcesResponse struct {
	ResourcesOnCsp       ResourcesOnCsp         `json:"resourcesOnCsp"`
	ResourcesOnSpider    ResourcesOnSpider      `json:"resourcesOnSpider"`
	ResourcesOnTumblebug []ResourcesOnTumblebug `json:"resourcesOnTumblebug"`
}

cloud에 등록된 resource 조회 응답용

type KeyValueInfo

type KeyValueInfo struct {
	Key   string `json:"Key"`
	Value string `json:"Value"`
}

Tumblebug 에서 KeyValue 를 인자로 갖는 응답에서 사용

type KeyValueInfos

type KeyValueInfos []KeyValueInfos

type LocationInfo

type LocationInfo struct {
	BriefAddr string `json:"briefAddr"`
	CloudType string `json:"cloudType"`
	Latitude  string `json:"latitude"`
	Longitude string `json:"longitude"`
	// Latitude     float64 `json:"latitude"`
	// Longitude    float64 `json:"longitude"`
	NativeRegion string `json:"nativeRegion"`
}

type McisBenchmarkInfo

type McisBenchmarkInfo struct {
	Description string             `json:"desc"`
	Elapsed     string             `json:"elapsed"`
	Result      string             `json:"result"`
	ResultArray StructElementCycle `json:"struct-element-cycle"`
	SpecID      string             `json:"specid"`
	Unit        string             `json:"unit"`
}

type McisBenchmarkInfos

type McisBenchmarkInfos []McisBenchmarkInfo

type McisCmdReq

type McisCmdReq struct {
	Command  string `json:"command"`
	PublicIp string `json:"ip"`
	McisID   string `json:"mcis_id"`
	SshKey   string `json:"ssh_key"`
	UserName string `json:"user_name"`
	VmID     string `json:"vm_id"`
}

Tumblebug에서 사용하는 AgentInstall . benchmark agent

type McisCommandInfo

type McisCommandInfo struct {
	Command  string `json:"command"`
	UserName string `json:"userName"`
	Ip       string `json:"ip"`
	SshKey   string `json:"sskKey"`
	McisID   string `json:"mcisId"`
	VmID     string `json:"vmId"`
}

type McisCommandResult

type McisCommandResult struct {
	McisID string `json:"mcis_id"`
	VmID   string `json:"vm_id"`
	VmIp   string `json:"vm_ip"`
	Result string `json:"result"`
}

type McisInfo

type McisInfo struct {
	ID          string `json:"id"`
	Name        string `json:"name"`
	Status      string `json:"status"`
	Description string `json:"description"`

	InstallMonAgent string `json:"installMonAgent"`
	Label           string `json:"label"`

	PlacementAlgo string `json:"placement_algo"`

	TargetAction string `json:"targetAction"`
	TargetStatus string `json:"targetStatus"`

	Vms []VmInfo `json:"vm"`
}

type McisInfos

type McisInfos []McisInfo

type McisLifeCycle

type McisLifeCycle struct {
	NameSpaceID   string `json:"nameSpaceID"`
	McisID        string `json:"mcisID"`
	LifeCycleType string `json:"lifeCycleType"`
}

Life Cycle command 전송용 : VM과 Lifecycle 이 다를 수 있으므로 각각 사용

type McisPolicy

type McisPolicy struct {
	AutoAction    AutoAction    `json:"autoAction"`
	AutoCondition AutoCondition `json:"autoCondition"`
	Status        string        `json:"status"`
}

type McisPolicyInfo

type McisPolicyInfo struct {
	ID          string     `json:"Id"`
	Name        string     `json:"Name"`
	ActionLog   string     `json:"actionLog"`
	Description string     `json:"description"`
	McisPolicy  McisPolicy `json:"policy"`
}

Life Cycle command 전송용 : VM과 Lifecycle 이 다를 수 있으므로 각각 사용

type McisRecommendInfo

type McisRecommendInfo struct {
	PlacementAlgo  string       `json:"placement_algo"`
	PlacementParam KeyValueInfo `json:"placement_param"`
	VmRecommend    VmRecommend  `json:"vm_recommend"`
}

type McisRecommendReq

type McisRecommendReq struct {
	MaxResultNum   string       `json:"max_result_num"`
	PlacementAlgo  string       `json:"placement_algo"`
	PlacementParam KeyValueInfo `json:"placement_param"`
	VmReq          VmReq        `json:"vm_req"`
}

type McisSimpleInfo

type McisSimpleInfo struct {

	// mcis.ID, mcis.status, mcis.name, mcis.description
	ID          string `json:"id"`
	Name        string `json:"name"`
	Status      string `json:"status"`
	McisStatus  string `json:"mcisStatus"`
	Description string `json:"description"`

	InstallMonAgent string `json:"installMonAgent"`
	Label           string `json:"label"`

	ConnectionCount int `json:"connectionCount"`

	// vm_cnt : 해당 mcis의 vm cnt
	// vm_run_cnt, vm_stop_cnt
	VmCount          int            `json:"vmCount"`
	VmStatusNames    string         `json:"vmStatusNames"`
	VmSimpleList     []VmSimpleInfo `json:"vmSimpleList"`
	VmStatusCountMap map[string]int `json:"vmStatusCountMap"`

	// csp : 해당 mcis의 connection cnt
	ConnectionConfigProviderMap   map[string]int `json:"connectionConfigProviderMap"`
	ConnectionConfigProviderNames string         `json:"connectionConfigProviderNames"` // 해당 MCIS 등록된 connection의 provider 목록
	// ConnectionConfigProviderNames []string       `json:"connectionConfigProviderNames"` // 해당 MCIS 등록된 connection의 provider 목록
	ConnectionConfigProviderCount int `json:"connectionConfigProviderCount"`
}

MCIS의 일부정보만 추려서

type McisSimpleInfos

type McisSimpleInfos []McisSimpleInfo

type NameSpaceInfo

type NameSpaceInfo struct {
	ID          string `json:"id"`
	Name        string `json:"name" validate:"required`
	Description string `json:"description"`
}

type NameSpaceInfos

type NameSpaceInfos []NameSpaceInfo

type NameSystemIdInfo

type NameSystemIdInfo struct {
	NameID   string `json:"nameId"`
	SystemID string `json:"systemId"`
}

type RangeMinMax

type RangeMinMax struct {
	MAX int `json:"max"`
	MIN int `json:"min"`
}

Range 조회를 위해

type RangeMinMaxReq

type RangeMinMaxReq struct {
	MAX float32 `json:"max"`
	MIN float32 `json:"min"`
}

Range 조회를 위해

type RegionZoneInfo

type RegionZoneInfo struct {
	Region string `json:"Region"`
	Zone   string `json:"Zone"`
}

type ResourcesOnCsp

type ResourcesOnCsp struct {
	ID string `json:"id"`
	// contains filtered or unexported fields
}

type ResourcesOnSpider

type ResourcesOnSpider struct {
	ID string `json:"id"`
	// contains filtered or unexported fields
}

type ResourcesOnTumblebug

type ResourcesOnTumblebug struct {
	CspNativeID string `json:"cspNativeId"`
	ID          string `json:"id"`
	McisID      string `json:"mcisId"`
	NsID        string `json:"nsId"`
	ObjectKey   string `json:"objectKey"`
	Type        string `json:"type"`
}

type SecurityGroupInfo

type SecurityGroupInfo struct {
	ID             string `json:"id"`
	Name           string `json:"name"`
	ConnectionName string `json:"connectionName"`
	Description    string `json:"description"`
	VNetID         string `json:"vNetID"`

	CspSecurityGroupID   string `json:"cspSecurityGroupId"`
	CspSecurityGroupName string `json:"cspSecurityGroupName"`

	FirewallRules []FirewallRule `json:"firewallRules"`

	KeyValueInfos []KeyValueInfo `json:"keyValueList"`
}

type SecurityGroupInfos

type SecurityGroupInfos []SecurityGroupInfo

type SecurityGroupRegInfo

type SecurityGroupRegInfo struct {
	Name           string `json:"name"`
	ConnectionName string `json:"connectionName"`
	Description    string `json:"description"`
	VNetID         string `json:"vNetID"`

	FirewallRules []FirewallRule `json:"firewallRules"`
}

type SecurityGroupRegInfos

type SecurityGroupRegInfos []SecurityGroupRegInfo

type SpiderGpuInfo

type SpiderGpuInfo struct {
	Count string `json:"count"`
	Mem   string `json:"mem"`
	Mfr   string `json:"mfr"`
	Model string `json:"model"`
}

type SpiderGpuInfos

type SpiderGpuInfos []SpiderGpuInfo

type SpiderSpecInfo

type SpiderSpecInfo struct {
	Mem    string `json:"mem"`
	Name   string `json:"name"`
	Region string `json:"region"`

	Vcpu          SpiderVCpuInfo  `json:"vcpc"`
	Gpus          []SpiderGpuInfo `json:"gpu"`
	KeyValueInfos []KeyValueInfo  `json:"keyValueList"`
}

type SpiderSpecInfos

type SpiderSpecInfos []SpiderSpecInfo

type SpiderVCpuInfo

type SpiderVCpuInfo struct {
	Clock string `json:"clock"`
	Count string `json:"count"`
}

type SpiderVCpuInfos

type SpiderVCpuInfos []SpiderVCpuInfo

type SshKeyInfo

type SshKeyInfo struct {
	ConnectionName string `json:"connectionName"`
	CspSshKeyName  string `json:"cspSshKeyName"`

	Description string `json:"description"`
	Fingerprint string `json:"fingerprint"`
	ID          string `json:"id"`
	Name        string `json:"name"`
	PrivateKey  string `json:"privateKey"`
	PublicKey   string `json:"publicKey"`
	Username    string `json:"username"` //TODO : UserID 바꿔야 할텐데...

	KeyValueInfos []KeyValueInfo `json:"keyValueList"`
}

type SshKeyInfos

type SshKeyInfos []SshKeyInfo

type SshKeyRegInfo

type SshKeyRegInfo struct {
	ConnectionName string `json:"connectionName"`
	Description    string `json:"description"`
	Name           string `json:"name"`
}

type StructElementCycle

type StructElementCycle struct {
	Cycle string `json:"cycle"`
}

type SubnetInfo

type SubnetInfo struct {
	IID           IIDInfo        `json:"IId"`
	IPv4_CIDR     string         `json:"ipv4_CIDR"`
	KeyValueInfos []KeyValueInfo `json:"keyValueList"`
}

type SubnetInfos

type SubnetInfos []SubnetInfo

type SubnetRegInfo

type SubnetRegInfo struct {
	Ipv4_CIDR     string         `json:"ipv4_CIDR"`
	Name          string         `json:"name"`
	KeyValueInfos []KeyValueInfo `json:"keyValueList"`
}

type SubnetRegInfos

type SubnetRegInfos []SubnetRegInfo

type TbConnectionName

type TbConnectionName struct {
	ConnectionName string `json:"connectionName"`
}

type TbSpecInfo

type TbSpecInfo struct {
	ID                   string `json:"id"`
	Name                 string `json:"name"`
	ConnectionName       string `json:"connectionName"`
	CspSpecName          string `json:"cspSpecName"`
	Description          string `json:"description"`
	OsType               string `json:"os_type"`
	AssociatedObjectList string `json:"associatedObjectList"`
	GpuModel             string `json:"gpu_model"`
	GpuP2p               string `json:"gpu_p2p"`

	IsAutoGenerated bool `json:"isAutoGenerated"`

	CostPerHour       float32 `json:"cost_per_hour"`
	EvaluationScore01 float32 `json:"evaluationScore_01"`
	EvaluationScore02 float32 `json:"evaluationScore_02"`
	EvaluationScore03 float32 `json:"evaluationScore_03"`
	EvaluationScore04 float32 `json:"evaluationScore_04"`
	EvaluationScore05 float32 `json:"evaluationScore_05"`
	EvaluationScore06 float32 `json:"evaluationScore_06"`
	EvaluationScore07 float32 `json:"evaluationScore_07"`
	EvaluationScore08 float32 `json:"evaluationScore_08"`
	EvaluationScore09 float32 `json:"evaluationScore_09"`
	EvaluationScore10 float32 `json:"evaluationScore_10"`
	EvaluationStatus  string  `json:"evaluationStatus"`

	EbsBwMbps             int `json:"ebs_bw_Mbps"`
	GpumemGiB             int `json:"gpumem_GiB"`
	MemGiB                int `json:"mem_GiB"`
	MaxNumStorage         int `json:"max_num_storage"`
	MaxTotalStorageTiB    int `json:"max_total_storage_TiB"`
	NetBwGbps             int `json:"net_bw_Gbps"`
	NumCore               int `json:"num_core"`
	NumGpu                int `json:"num_gpu"`
	NumStorage            int `json:"num_storage"`
	NumVCPU               int `json:"num_vCPU"`
	StorageGiB            int `json:"storage_GiB"`
	OrderInFilteredResult int `json:"orderInFilteredResult"`
}

Spec filterling 할 때 수신되는 값

type VNetInfo

type VNetInfo struct {
	ID             string `json:"id"`
	Name           string `json:"name"`
	ConnectionName string `json:"connectionName"`
	CidrBlock      string `json:"cidrBlock"`
	CspVNetID      string `json:"cspVNetID"`
	CspVNetName    string `json:"cspVNetName"`
	Description    string `json:"description"`

	Status        string         `json:"status"`
	KeyValueInfos []KeyValueInfo `json:"keyValueList"`
	SubnetInfos   []SubnetInfo   `json:"subnetInfoList"`
}

type VNetInfos

type VNetInfos []VNetInfo

type VNetRegInfo

type VNetRegInfo struct {
	Name           string          `json:"name"`
	ConnectionName string          `json:"connectionName"`
	CidrBlock      string          `json:"cidrBlock"`
	Description    string          `json:"description"`
	SubnetRegInfo  []SubnetRegInfo `json:"subnetInfoList"`
}

등록용과 수신용의 포맷이 달라 Reg 용으로 사용

type VNetRegInfos

type VNetRegInfos []VNetRegInfo

type VirtualMachineImageInfo

type VirtualMachineImageInfo struct {
	ConnectionName string         `json:"connectionName"`
	CreationDate   string         `json:"creationDate"`
	CspImageId     string         `json:"cspImageId"`
	CspImageName   string         `json:"cspImageName"`
	Description    string         `json:"description"`
	GuestOS        string         `json:"guestOS"`
	ID             string         `json:"id"`
	Name           string         `json:"name"`
	Status         string         `json:"status"`
	KeyValueInfos  []KeyValueInfo `json:"keyValueList"`
}

type VirtualMachineImageInfos

type VirtualMachineImageInfos []VirtualMachineImageInfo

type VirtualMachineImageRegInfo

type VirtualMachineImageRegInfo struct {
	ConnectionName string         `json:"connectionName"`
	CreationDate   string         `json:"creationDate"`
	CspImageId     string         `json:"cspImageId"`
	CspImageName   string         `json:"cspImageName"`
	Description    string         `json:"description"`
	GuestOS        string         `json:"guestOS"`
	ID             string         `json:"id"`
	Name           string         `json:"name"`
	Status         string         `json:"status"`
	KeyValueInfos  []KeyValueInfo `json:"keyValueList"`
}

VirtualMachineImageInfo 와 동일하나, 등록 시 parameter가 다른 경우가 있어 따로 생성함.

type VirtualMachineLookupImageInfo

type VirtualMachineLookupImageInfo struct {
	Name    string  `json:"name"`
	Status  string  `json:"status"`
	GuestOS string  `json:"guestOS"`
	IID     IIDInfo `json:"iid"`

	KeyValueInfos []KeyValueInfo `json:"keyValueList"`
}

type VirtualMachineLookupImageInfos

type VirtualMachineLookupImageInfos []VirtualMachineLookupImageInfo

type VmInfo

type VmInfo struct {
	ID             string `json:"id"`
	Name           string `json:"name"`
	ConnectionName string `json:"connectionName"`

	SpecID  string `json:"specId"`
	ImageID string `json:"imageId"`

	VNetID           string   `json:"vNetId"`
	SubnetID         string   `json:"subnetId"`
	SecurityGroupIDs []string `json:"securityGroupIds"`

	SshKeyID string `json:"sshKeyId"`

	VmUserAccount  string `json:"vmUserAccount"`
	VmUserPassword string `json:"vmUserPassword"`

	Description string `json:"description"`
	Label       string `json:"label"`

	Location   LocationInfo   `json:"location"`
	RegionZone RegionZoneInfo `json:"region"` // tumblebug에서 결과에 region에 region/zone을 같이보내는가?

	PublicIP   string `json:"publicIP"`
	PublicDNS  string `json:"publicDNS"`
	PrivateIP  string `json:"privateIP"`
	PrivateDNS string `json:"privateDNS"`

	VmBootDisk  string `json:"vmBootDisk"`
	VmBlockDisk string `json:"vmBlockDisk"`

	Status       string `json:"status"`
	TargetStatus string `json:"targetStatus"`
	TargetAction string `json:"targetAction"`

	MonAgentStatus string `json:"monAgentStatus"` // "monAgentStatus": "[installed, notInstalled, failed]",

	CspViewVmDetail CspViewVmDetailInfo `json:"cspViewVmDetail"`
}

type VmLifeCycle

type VmLifeCycle struct {
	NameSpaceID   string `json:"nameSpaceID"`
	McisID        string `json:"mcisID"`
	VmID          string `json:"vmID"`
	LifeCycleType string `json:"lifeCycleType"`
}

Life Cycle command 전송용

type VmMonitoringAgentInfo

type VmMonitoringAgentInfo struct {
	ConnectionName string         `json:"connectionName"`
	CspSshKeyName  string         `json:"cspSshKeyName"`
	Description    string         `json:"description"`
	Fingerprint    string         `json:"fingerprint"`
	ID             string         `json:"id"` // ? 무엇의 ID인가?
	Name           string         `json:"name"`
	PrivateKey     string         `json:"privateKey"`
	PublicKey      string         `json:"publicKey"`
	Nsername       string         `json:"username"`
	KeyValueInfos  []KeyValueInfo `json:"keyValueList"`
}

type VmPriority

type VmPriority struct {
	Priority string     `json:"priority"`
	VmSpec   VmSpecInfo `json:"vm_spec"`
}

type VmRecommend

type VmRecommend struct {
	PlacementAlgo  string       `json:"placement_algo"`
	PlacementParam KeyValueInfo `json:"placement_param"`

	VmPriority VmPriority `json:"vm_priority"`
}

type VmReq

type VmReq struct {
	DiskSize       string       `json:"disk_size"`
	MaxResultNum   string       `json:"max_result_num"`
	MemorySize     string       `json:"memory_size"`
	PlacementAlgo  string       `json:"placement_algo"`
	PlacementParam KeyValueInfo `json:"placement_param"`
	RequestName    string       `json:"request_name"`
	VcpuSize       string       `json:"vcpu_size"`
}

type VmSimpleInfo

type VmSimpleInfo struct {
	VmIndex  int    `json:"vmIndex"`
	VmID     string `json:"vmID"`
	VmName   string `json:"vmName"`
	VmStatus string `json:"vmStatus"`

	// Latitude  float64 `json:"latitude"`
	// Longitude float64 `json:"longitude"`
	Latitude  string `json:"latitude"`
	Longitude string `json:"longitude"`

	// export 를 위한 param들 추가
	VmConnectionName   string   `json:"vmConnectionName"`
	VmDescription      string   `json:"vmDescription"`
	VmImageId          string   `json:"vmImageId"`
	VmLabel            string   `json:"vmLabel"`
	VmSecurityGroupIds []string `json:"vmSecurityGroupIds"` //"securityGroupIIds": [		{		  "nameId": "string",		  "systemId": "string"		}	  ],
	VmSpecId           string   `json:"vmSpecId"`
	VmSshKeyId         string   `json:"vmSshKeyId"`
	VmSubnetId         string   `json:"vmSubnetId"`
	VmVnetId           string   `json:"vmVnetId"`
	VmGroupSize        int      `json:"vmGroupSize"` //? 는 없는데.. vmGroupId만 있는데...
	VmUserAccount      string   `json:"vmUserAccount"`
	VmUserPassword     string   `json:"vmUserPassword"`
}

VM의 상태정보 원래는 상태정보(VmStatus), 위치정보(Latitude, Longitude) 만 있었으나 export 기능 추가로 param 추가 됨.

type VmSpecInfo

type VmSpecInfo struct {
	ConnectionName        string `json:"connectionName"`
	ID                    string `json:"id"`
	Name                  string `json:"name"`
	Description           string `json:"description"`
	CostPerHour           string `json:"cost_per_hour"`
	CspSpecName           string `json:"cspSpecName"`
	EbsBwMbps             string `json:"ebs_bw_Mbps"`
	GpuModel              string `json:"gpu_model"`
	GpuP2p                string `json:"gpu_p2p"`
	GpumemGiB             string `json:"gpumem_GiB"`
	MaxNumStorage         string `json:"max_num_storage"`
	MaxTotalStorageTiB    string `json:"max_total_storage_TiB"`
	MemGiB                string `json:"mem_GiB"`
	NetBwGbps             string `json:"net_bw_Gbps"`
	NumCore               string `json:"num_core"`
	NumGpu                string `json:"num_gpu"`
	NumStorage            string `json:"num_storage"`
	NumVCPU               string `json:"num_vCPU"`
	OrderInFilteredResult string `json:"orderInFilteredResult"`
	OsType                string `json:"os_type"`
	StorageGiB            string `json:"storage_GiB"`
	EvaluationStatus      string `json:"evaluationStatus"`
	EvaluationScore01     string `json:"evaluationScore_01"`
	EvaluationScore02     string `json:"evaluationScore_02"`
	EvaluationScore03     string `json:"evaluationScore_03"`
	EvaluationScore04     string `json:"evaluationScore_04"`
	EvaluationScore05     string `json:"evaluationScore_05"`
	EvaluationScore06     string `json:"evaluationScore_06"`
	EvaluationScore07     string `json:"evaluationScore_07"`
	EvaluationScore08     string `json:"evaluationScore_08"`
	EvaluationScore09     string `json:"evaluationScore_09"`
	EvaluationScore10     string `json:"evaluationScore_10"`
}

type VmSpecInfos

type VmSpecInfos []VmSpecInfo

type VmSpecRangeInfo

type VmSpecRangeInfo struct {
	CostPerHour        RangeMinMax `json:"cost_per_hour"`
	EbsBwMbps          RangeMinMax `json:"ebs_bw_Mbps"`
	GpumemGiB          RangeMinMax `json:"gpumem_GiB"`
	MaxNumStorage      RangeMinMax `json:"max_num_storage"`
	MaxTotalStorageTiB RangeMinMax `json:"max_total_storage_TiB"`
	MemGiB             RangeMinMax `json:"mem_GiB"`
	NetBwGbps          RangeMinMax `json:"net_bw_Gbps"`
	NumCore            RangeMinMax `json:"num_core"`
	NumGpu             RangeMinMax `json:"num_gpu"`
	NumStorage         RangeMinMax `json:"num_storage"`
	NumVCPU            RangeMinMax `json:"num_vCPU"`
	StorageGiB         RangeMinMax `json:"storage_GiB"`
	EvaluationStatus   string      `json:"evaluationStatus"`
	EvaluationScore01  RangeMinMax `json:"evaluationScore_01"`
	EvaluationScore02  RangeMinMax `json:"evaluationScore_02"`
	EvaluationScore03  RangeMinMax `json:"evaluationScore_03"`
	EvaluationScore04  RangeMinMax `json:"evaluationScore_04"`
	EvaluationScore05  RangeMinMax `json:"evaluationScore_05"`
	EvaluationScore06  RangeMinMax `json:"evaluationScore_06"`
	EvaluationScore07  RangeMinMax `json:"evaluationScore_07"`
	EvaluationScore08  RangeMinMax `json:"evaluationScore_08"`
	EvaluationScore09  RangeMinMax `json:"evaluationScore_09"`
	EvaluationScore10  RangeMinMax `json:"evaluationScore_10"`
}

Spec filterling 할 때 range로 조회하기 위함

type VmSpecRangeReqInfo

type VmSpecRangeReqInfo struct {
	ID             string `json:"id"`
	Name           string `json:"name"`
	OsType         string `json:"os_type"`
	GpuModel       string `json:"gpu_model"`
	GpuP2p         string `json:"gpu_p2p"`
	ConnectionName string `json:"connectionName"`
	CspSpecName    string `json:"cspSpecName"`
	Description    string `json:"description"`

	CostPerHour        RangeMinMaxReq `json:"cost_per_hour"`
	EbsBwMbps          RangeMinMaxReq `json:"ebs_bw_Mbps"`
	GpumemGiB          RangeMinMaxReq `json:"gpumem_GiB"`
	MaxNumStorage      RangeMinMaxReq `json:"max_num_storage"`
	MaxTotalStorageTiB RangeMinMaxReq `json:"max_total_storage_TiB"`
	MemGiB             RangeMinMaxReq `json:"mem_GiB"`
	NetBwGbps          RangeMinMaxReq `json:"net_bw_Gbps"`
	NumCore            RangeMinMaxReq `json:"num_core"`
	NumGpu             RangeMinMaxReq `json:"num_gpu"`
	NumStorage         RangeMinMaxReq `json:"num_storage"`
	NumVCPU            RangeMinMaxReq `json:"num_vCPU"`
	StorageGiB         RangeMinMaxReq `json:"storage_GiB"`
	EvaluationStatus   string         `json:"evaluationStatus"`
	EvaluationScore01  RangeMinMaxReq `json:"evaluationScore_01"`
	EvaluationScore02  RangeMinMaxReq `json:"evaluationScore_02"`
	EvaluationScore03  RangeMinMaxReq `json:"evaluationScore_03"`
	EvaluationScore04  RangeMinMaxReq `json:"evaluationScore_04"`
	EvaluationScore05  RangeMinMaxReq `json:"evaluationScore_05"`
	EvaluationScore06  RangeMinMaxReq `json:"evaluationScore_06"`
	EvaluationScore07  RangeMinMaxReq `json:"evaluationScore_07"`
	EvaluationScore08  RangeMinMaxReq `json:"evaluationScore_08"`
	EvaluationScore09  RangeMinMaxReq `json:"evaluationScore_09"`
	EvaluationScore10  RangeMinMaxReq `json:"evaluationScore_10"`
}

Spec filterling 할 때 range로 조회하기 위함( 요청용으로 int로 하면 default값이 0으로 설정되어 날아가므로 string으로 전송)

type VmSpecRegInfo

type VmSpecRegInfo struct {
	ConnectionName string `json:"connectionName"`
	ID             string `json:"id"`
	Name           string `json:"name"`
	Description    string `json:"description"`

	CostPerHour string `json:"cost_per_hour"`
	CspSpecName string `json:"cspSpecName"`
	EbsBwMbps   string `json:"ebs_bw_Mbps"`

	GpuModel              string `json:"gpu_model"`
	GpuP2p                string `json:"gpu_p2p"`
	GpumemGiB             string `json:"gpumem_GiB"`
	MaxNumStorage         string `json:"max_num_storage"`
	MaxTotalStorageTiB    string `json:"max_total_storage_TiB"`
	MemGiB                string `json:"mem_GiB"`
	NetBwGbps             string `json:"net_bw_Gbps"`
	NumCore               string `json:"num_core"`
	NumGpu                string `json:"num_gpu"`
	NumStorage            string `json:"num_storage"`
	NumVCPU               string `json:"num_vCPU"`
	OrderInFilteredResult string `json:"orderInFilteredResult"`
	OsType                string `json:"os_type"`
	StorageGiB            string `json:"storage_GiB"`

	EvaluationStatus  string `json:"evaluationStatus"`
	EvaluationScore01 string `json:"evaluationScore_01"`
	EvaluationScore02 string `json:"evaluationScore_02"`
	EvaluationScore03 string `json:"evaluationScore_03"`
	EvaluationScore04 string `json:"evaluationScore_04"`
	EvaluationScore05 string `json:"evaluationScore_05"`
	EvaluationScore06 string `json:"evaluationScore_06"`
	EvaluationScore07 string `json:"evaluationScore_07"`
	EvaluationScore08 string `json:"evaluationScore_08"`
	EvaluationScore09 string `json:"evaluationScore_09"`
	EvaluationScore10 string `json:"evaluationScore_10"`
}

VMSpecInfo 와 동일하나 임력용으로 param이 다른 경우가 있어 따로 관리

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL