Skip to content

Commit 02af802

Browse files
author
Marcus Sorensen
authored
Merge pull request #58 from shwstppr/fix-api-nestedresponse
generate: fix for nested api response
2 parents 3995b5e + 64d08ac commit 02af802

File tree

6 files changed

+40
-11
lines changed

6 files changed

+40
-11
lines changed

cloudstack/CloudIdentifierService.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,13 @@ func (s *CloudIdentifierService) GetCloudIdentifier(p *GetCloudIdentifierParams)
7575
return nil, err
7676
}
7777

78-
var r GetCloudIdentifierResponse
79-
if err := json.Unmarshal(resp, &r); err != nil {
78+
var nested struct {
79+
Response GetCloudIdentifierResponse `json:"cloudidentifier"`
80+
}
81+
if err := json.Unmarshal(resp, &nested); err != nil {
8082
return nil, err
8183
}
84+
r := nested.Response
8285

8386
return &r, nil
8487
}

cloudstack/KubernetesService.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -874,10 +874,13 @@ func (s *KubernetesService) GetKubernetesClusterConfig(p *GetKubernetesClusterCo
874874
return nil, err
875875
}
876876

877-
var r GetKubernetesClusterConfigResponse
878-
if err := json.Unmarshal(resp, &r); err != nil {
877+
var nested struct {
878+
Response GetKubernetesClusterConfigResponse `json:"clusterconfig"`
879+
}
880+
if err := json.Unmarshal(resp, &nested); err != nil {
879881
return nil, err
880882
}
883+
r := nested.Response
881884

882885
return &r, nil
883886
}

cloudstack/RoleService.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -151,10 +151,13 @@ func (s *RoleService) CreateRole(p *CreateRoleParams) (*CreateRoleResponse, erro
151151
return nil, err
152152
}
153153

154-
var r CreateRoleResponse
155-
if err := json.Unmarshal(resp, &r); err != nil {
154+
var nested struct {
155+
Response CreateRoleResponse `json:"role"`
156+
}
157+
if err := json.Unmarshal(resp, &nested); err != nil {
156158
return nil, err
157159
}
160+
r := nested.Response
158161

159162
return &r, nil
160163
}
@@ -271,10 +274,13 @@ func (s *RoleService) CreateRolePermission(p *CreateRolePermissionParams) (*Crea
271274
return nil, err
272275
}
273276

274-
var r CreateRolePermissionResponse
275-
if err := json.Unmarshal(resp, &r); err != nil {
277+
var nested struct {
278+
Response CreateRolePermissionResponse `json:"rolepermission"`
279+
}
280+
if err := json.Unmarshal(resp, &nested); err != nil {
276281
return nil, err
277282
}
283+
r := nested.Response
278284

279285
return &r, nil
280286
}

cloudstack/VolumeService.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1247,10 +1247,13 @@ func (s *VolumeService) GetPathForVolume(p *GetPathForVolumeParams) (*GetPathFor
12471247
return nil, err
12481248
}
12491249

1250-
var r GetPathForVolumeResponse
1251-
if err := json.Unmarshal(resp, &r); err != nil {
1250+
var nested struct {
1251+
Response GetPathForVolumeResponse `json:"apipathforvolume"`
1252+
}
1253+
if err := json.Unmarshal(resp, &nested); err != nil {
12521254
return nil, err
12531255
}
1256+
r := nested.Response
12541257

12551258
return &r, nil
12561259
}

generate/generate.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,11 @@ var mapRequireList = map[string]map[string]bool{
7878
var nestedResponse = map[string]string{
7979
"getUploadParamsForTemplate": "getuploadparams",
8080
"getUploadParamsForVolume": "getuploadparams",
81+
"createRole": "role",
82+
"createRolePermission": "rolepermission",
83+
"getCloudIdentifier": "cloudidentifier",
84+
"getKubernetesClusterConfig": "clusterconfig",
85+
"getPathForVolume": "apipathforvolume",
8186
}
8287

8388
// longToStringConvertedParams is a prefilled map with the list of

test/testdata/KubernetesService.json

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -363,5 +363,14 @@
363363
}
364364
]
365365
}
366+
},
367+
"getKubernetesClusterConfig": {
368+
"getkubernetesclusterconfigresponse": {
369+
"clusterconfig": {
370+
"id": "0ba3e755-940a-467c-a67f-a3404eb13da8",
371+
"name": "sample-name",
372+
"configdata": "some config data"
373+
}
374+
}
366375
}
367-
}
376+
}

0 commit comments

Comments
 (0)