Skip to content

Commit abdf1f5

Browse files
author
Pearl Dsilva
committed
Adds support to upload k8s ISO from local
1 parent ec462f4 commit abdf1f5

4 files changed

Lines changed: 355 additions & 0 deletions

File tree

cloudstack/KubernetesService.go

Lines changed: 310 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ type KubernetesServiceIface interface {
6666
NewAddNodesToKubernetesClusterParams(id string, nodeids []string) *AddNodesToKubernetesClusterParams
6767
RemoveNodesFromKubernetesCluster(p *RemoveNodesFromKubernetesClusterParams) (*RemoveNodesFromKubernetesClusterResponse, error)
6868
NewRemoveNodesFromKubernetesClusterParams(id string, nodeids []string) *RemoveNodesFromKubernetesClusterParams
69+
GetUploadParamsForKubernetesSupportedVersion(p *GetUploadParamsForKubernetesSupportedVersionParams) (*GetUploadParamsForKubernetesSupportedVersionResponse, error)
70+
NewGetUploadParamsForKubernetesSupportedVersionParams(format string, mincpunumber int, minmemory int, name string, semanticversion string, zoneid string) *GetUploadParamsForKubernetesSupportedVersionParams
6971
}
7072

7173
type AddKubernetesSupportedVersionParams struct {
@@ -3719,3 +3721,311 @@ type RemoveNodesFromKubernetesClusterResponse struct {
37193721
Zoneid string `json:"zoneid"`
37203722
Zonename string `json:"zonename"`
37213723
}
3724+
3725+
type GetUploadParamsForKubernetesSupportedVersionParams struct {
3726+
p map[string]interface{}
3727+
}
3728+
3729+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) toURLValues() url.Values {
3730+
u := url.Values{}
3731+
if p.p == nil {
3732+
return u
3733+
}
3734+
if v, found := p.p["account"]; found {
3735+
u.Set("account", v.(string))
3736+
}
3737+
if v, found := p.p["checksum"]; found {
3738+
u.Set("checksum", v.(string))
3739+
}
3740+
if v, found := p.p["checksum"]; found {
3741+
u.Set("checksum", v.(string))
3742+
}
3743+
if v, found := p.p["domainid"]; found {
3744+
u.Set("domainid", v.(string))
3745+
}
3746+
if v, found := p.p["format"]; found {
3747+
u.Set("format", v.(string))
3748+
}
3749+
if v, found := p.p["mincpunumber"]; found {
3750+
vv := strconv.Itoa(v.(int))
3751+
u.Set("mincpunumber", vv)
3752+
}
3753+
if v, found := p.p["minmemory"]; found {
3754+
vv := strconv.Itoa(v.(int))
3755+
u.Set("minmemory", vv)
3756+
}
3757+
if v, found := p.p["name"]; found {
3758+
u.Set("name", v.(string))
3759+
}
3760+
if v, found := p.p["projectid"]; found {
3761+
u.Set("projectid", v.(string))
3762+
}
3763+
if v, found := p.p["semanticversion"]; found {
3764+
u.Set("semanticversion", v.(string))
3765+
}
3766+
if v, found := p.p["zoneid"]; found {
3767+
u.Set("zoneid", v.(string))
3768+
}
3769+
return u
3770+
}
3771+
3772+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) SetAccount(v string) {
3773+
if p.p == nil {
3774+
p.p = make(map[string]interface{})
3775+
}
3776+
p.p["account"] = v
3777+
}
3778+
3779+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) ResetAccount() {
3780+
if p.p != nil && p.p["account"] != nil {
3781+
delete(p.p, "account")
3782+
}
3783+
}
3784+
3785+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) GetAccount() (string, bool) {
3786+
if p.p == nil {
3787+
p.p = make(map[string]interface{})
3788+
}
3789+
value, ok := p.p["account"].(string)
3790+
return value, ok
3791+
}
3792+
3793+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) SetChecksum(v string) {
3794+
if p.p == nil {
3795+
p.p = make(map[string]interface{})
3796+
}
3797+
p.p["checksum"] = v
3798+
}
3799+
3800+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) ResetChecksum() {
3801+
if p.p != nil && p.p["checksum"] != nil {
3802+
delete(p.p, "checksum")
3803+
}
3804+
}
3805+
3806+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) GetChecksum() (string, bool) {
3807+
if p.p == nil {
3808+
p.p = make(map[string]interface{})
3809+
}
3810+
value, ok := p.p["checksum"].(string)
3811+
return value, ok
3812+
}
3813+
3814+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) SetDomainid(v string) {
3815+
if p.p == nil {
3816+
p.p = make(map[string]interface{})
3817+
}
3818+
p.p["domainid"] = v
3819+
}
3820+
3821+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) ResetDomainid() {
3822+
if p.p != nil && p.p["domainid"] != nil {
3823+
delete(p.p, "domainid")
3824+
}
3825+
}
3826+
3827+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) GetDomainid() (string, bool) {
3828+
if p.p == nil {
3829+
p.p = make(map[string]interface{})
3830+
}
3831+
value, ok := p.p["domainid"].(string)
3832+
return value, ok
3833+
}
3834+
3835+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) SetFormat(v string) {
3836+
if p.p == nil {
3837+
p.p = make(map[string]interface{})
3838+
}
3839+
p.p["format"] = v
3840+
}
3841+
3842+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) ResetFormat() {
3843+
if p.p != nil && p.p["format"] != nil {
3844+
delete(p.p, "format")
3845+
}
3846+
}
3847+
3848+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) GetFormat() (string, bool) {
3849+
if p.p == nil {
3850+
p.p = make(map[string]interface{})
3851+
}
3852+
value, ok := p.p["format"].(string)
3853+
return value, ok
3854+
}
3855+
3856+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) SetMincpunumber(v int) {
3857+
if p.p == nil {
3858+
p.p = make(map[string]interface{})
3859+
}
3860+
p.p["mincpunumber"] = v
3861+
}
3862+
3863+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) ResetMincpunumber() {
3864+
if p.p != nil && p.p["mincpunumber"] != nil {
3865+
delete(p.p, "mincpunumber")
3866+
}
3867+
}
3868+
3869+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) GetMincpunumber() (int, bool) {
3870+
if p.p == nil {
3871+
p.p = make(map[string]interface{})
3872+
}
3873+
value, ok := p.p["mincpunumber"].(int)
3874+
return value, ok
3875+
}
3876+
3877+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) SetMinmemory(v int) {
3878+
if p.p == nil {
3879+
p.p = make(map[string]interface{})
3880+
}
3881+
p.p["minmemory"] = v
3882+
}
3883+
3884+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) ResetMinmemory() {
3885+
if p.p != nil && p.p["minmemory"] != nil {
3886+
delete(p.p, "minmemory")
3887+
}
3888+
}
3889+
3890+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) GetMinmemory() (int, bool) {
3891+
if p.p == nil {
3892+
p.p = make(map[string]interface{})
3893+
}
3894+
value, ok := p.p["minmemory"].(int)
3895+
return value, ok
3896+
}
3897+
3898+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) SetName(v string) {
3899+
if p.p == nil {
3900+
p.p = make(map[string]interface{})
3901+
}
3902+
p.p["name"] = v
3903+
}
3904+
3905+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) ResetName() {
3906+
if p.p != nil && p.p["name"] != nil {
3907+
delete(p.p, "name")
3908+
}
3909+
}
3910+
3911+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) GetName() (string, bool) {
3912+
if p.p == nil {
3913+
p.p = make(map[string]interface{})
3914+
}
3915+
value, ok := p.p["name"].(string)
3916+
return value, ok
3917+
}
3918+
3919+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) SetProjectid(v string) {
3920+
if p.p == nil {
3921+
p.p = make(map[string]interface{})
3922+
}
3923+
p.p["projectid"] = v
3924+
}
3925+
3926+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) ResetProjectid() {
3927+
if p.p != nil && p.p["projectid"] != nil {
3928+
delete(p.p, "projectid")
3929+
}
3930+
}
3931+
3932+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) GetProjectid() (string, bool) {
3933+
if p.p == nil {
3934+
p.p = make(map[string]interface{})
3935+
}
3936+
value, ok := p.p["projectid"].(string)
3937+
return value, ok
3938+
}
3939+
3940+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) SetSemanticversion(v string) {
3941+
if p.p == nil {
3942+
p.p = make(map[string]interface{})
3943+
}
3944+
p.p["semanticversion"] = v
3945+
}
3946+
3947+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) ResetSemanticversion() {
3948+
if p.p != nil && p.p["semanticversion"] != nil {
3949+
delete(p.p, "semanticversion")
3950+
}
3951+
}
3952+
3953+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) GetSemanticversion() (string, bool) {
3954+
if p.p == nil {
3955+
p.p = make(map[string]interface{})
3956+
}
3957+
value, ok := p.p["semanticversion"].(string)
3958+
return value, ok
3959+
}
3960+
3961+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) SetZoneid(v string) {
3962+
if p.p == nil {
3963+
p.p = make(map[string]interface{})
3964+
}
3965+
p.p["zoneid"] = v
3966+
}
3967+
3968+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) ResetZoneid() {
3969+
if p.p != nil && p.p["zoneid"] != nil {
3970+
delete(p.p, "zoneid")
3971+
}
3972+
}
3973+
3974+
func (p *GetUploadParamsForKubernetesSupportedVersionParams) GetZoneid() (string, bool) {
3975+
if p.p == nil {
3976+
p.p = make(map[string]interface{})
3977+
}
3978+
value, ok := p.p["zoneid"].(string)
3979+
return value, ok
3980+
}
3981+
3982+
// You should always use this function to get a new GetUploadParamsForKubernetesSupportedVersionParams instance,
3983+
// as then you are sure you have configured all required params
3984+
func (s *KubernetesService) NewGetUploadParamsForKubernetesSupportedVersionParams(format string, mincpunumber int, minmemory int, name string, semanticversion string, zoneid string) *GetUploadParamsForKubernetesSupportedVersionParams {
3985+
p := &GetUploadParamsForKubernetesSupportedVersionParams{}
3986+
p.p = make(map[string]interface{})
3987+
p.p["format"] = format
3988+
p.p["mincpunumber"] = mincpunumber
3989+
p.p["minmemory"] = minmemory
3990+
p.p["name"] = name
3991+
p.p["semanticversion"] = semanticversion
3992+
p.p["zoneid"] = zoneid
3993+
return p
3994+
}
3995+
3996+
// Upload a supported Kubernetes version
3997+
func (s *KubernetesService) GetUploadParamsForKubernetesSupportedVersion(p *GetUploadParamsForKubernetesSupportedVersionParams) (*GetUploadParamsForKubernetesSupportedVersionResponse, error) {
3998+
resp, err := s.cs.newRequest("getUploadParamsForKubernetesSupportedVersion", p.toURLValues())
3999+
if err != nil {
4000+
return nil, err
4001+
}
4002+
4003+
var r GetUploadParamsForKubernetesSupportedVersionResponse
4004+
if err := json.Unmarshal(resp, &r); err != nil {
4005+
return nil, err
4006+
}
4007+
4008+
return &r, nil
4009+
}
4010+
4011+
type GetUploadParamsForKubernetesSupportedVersionResponse struct {
4012+
Arch string `json:"arch"`
4013+
Created string `json:"created"`
4014+
Directdownload bool `json:"directdownload"`
4015+
Id string `json:"id"`
4016+
Isoid string `json:"isoid"`
4017+
Isoname string `json:"isoname"`
4018+
Isostate string `json:"isostate"`
4019+
Isourl string `json:"isourl"`
4020+
JobID string `json:"jobid"`
4021+
Jobstatus int `json:"jobstatus"`
4022+
Mincpunumber int `json:"mincpunumber"`
4023+
Minmemory int `json:"minmemory"`
4024+
Name string `json:"name"`
4025+
Semanticversion string `json:"semanticversion"`
4026+
State string `json:"state"`
4027+
Supportsautoscaling bool `json:"supportsautoscaling"`
4028+
Supportsha bool `json:"supportsha"`
4029+
Zoneid string `json:"zoneid"`
4030+
Zonename string `json:"zonename"`
4031+
}

cloudstack/KubernetesService_mock.go

Lines changed: 29 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

generate/layout.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -912,6 +912,7 @@ var layout = apiInfo{
912912
"removeVirtualMachinesFromKubernetesCluster",
913913
"addNodesToKubernetesCluster",
914914
"removeNodesFromKubernetesCluster",
915+
"getUploadParamsForKubernetesSupportedVersion",
915916
},
916917
"InfrastructureUsageService": {
917918
"listDbMetrics",

test/KubernetesService_test.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,4 +257,19 @@ func TestKubernetesService(t *testing.T) {
257257
}
258258
t.Run("RemoveNodesFromKubernetesCluster", testremoveNodesFromKubernetesCluster)
259259

260+
testgetUploadParamsForKubernetesSupportedVersion := func(t *testing.T) {
261+
if _, ok := response["getUploadParamsForKubernetesSupportedVersion"]; !ok {
262+
t.Skipf("Skipping as no json response is provided in testdata")
263+
}
264+
p := client.Kubernetes.NewGetUploadParamsForKubernetesSupportedVersionParams("format", 0, 0, "name", "semanticversion", "zoneid")
265+
r, err := client.Kubernetes.GetUploadParamsForKubernetesSupportedVersion(p)
266+
if err != nil {
267+
t.Errorf(err.Error())
268+
}
269+
if r.Id == "" {
270+
t.Errorf("Failed to parse response. ID not found")
271+
}
272+
}
273+
t.Run("GetUploadParamsForKubernetesSupportedVersion", testgetUploadParamsForKubernetesSupportedVersion)
274+
260275
}

0 commit comments

Comments
 (0)