You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ro...@apache.org on 2022/10/07 06:14:39 UTC

[cloudstack-go] branch main updated: Move fix to code generator (#40)

This is an automated email from the ASF dual-hosted git repository.

rohit pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack-go.git


The following commit(s) were added to refs/heads/main by this push:
     new e285bd0  Move fix to code generator (#40)
e285bd0 is described below

commit e285bd0a24b900ed9bf5eec57f54ceec56ddce59
Author: Vladimir Dombrovski <ko...@pm.me>
AuthorDate: Fri Oct 7 08:14:35 2022 +0200

    Move fix to code generator (#40)
    
    Co-authored-by: Vladimir DOMBROVSKI <vl...@bso.co>
---
 cloudstack/ResourcetagsService.go                                | 4 +++-
 generate/generate.go                                             | 9 +++++++++
 .../{ResourceTagsService.json => ResourcetagsService.json}       | 0
 3 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/cloudstack/ResourcetagsService.go b/cloudstack/ResourcetagsService.go
index 9f68f09..1a5fc91 100644
--- a/cloudstack/ResourcetagsService.go
+++ b/cloudstack/ResourcetagsService.go
@@ -196,7 +196,9 @@ func (p *DeleteTagsParams) toURLValues() url.Values {
 		m := v.(map[string]string)
 		for i, k := range getSortedKeysFromMap(m) {
 			u.Set(fmt.Sprintf("tags[%d].key", i), k)
-			u.Set(fmt.Sprintf("tags[%d].value", i), m[k])
+			if m[k] != "" {
+				u.Set(fmt.Sprintf("tags[%d].value", i), m[k])
+			}
 		}
 	}
 	return u
diff --git a/generate/generate.go b/generate/generate.go
index c82f2d7..cd7143d 100644
--- a/generate/generate.go
+++ b/generate/generate.go
@@ -1310,6 +1310,15 @@ func (s *service) generateConvertCode(cmd, name, typ string) {
 		case "usersecuritygrouplist":
 			pn("	u.Set(fmt.Sprintf(\"%s[%%d].account\", i), k)", name)
 			pn("	u.Set(fmt.Sprintf(\"%s[%%d].group\", i), m[k])", name)
+		case "tags":
+			pn("	u.Set(fmt.Sprintf(\"%s[%%d].key\", i), k)", name)
+			if cmd == "deleteTags" {
+				pn("	if m[k] != \"\" {")
+				pn("		u.Set(fmt.Sprintf(\"%s[%%d].value\", i), m[k])", name)
+				pn("	}")
+			} else {
+				pn("	u.Set(fmt.Sprintf(\"%s[%%d].value\", i), m[k])", name)
+			}
 		default:
 			pn("	u.Set(fmt.Sprintf(\"%s[%%d].key\", i), k)", name)
 			pn("	u.Set(fmt.Sprintf(\"%s[%%d].value\", i), m[k])", name)
diff --git a/test/testdata/ResourceTagsService.json b/test/testdata/ResourcetagsService.json
similarity index 100%
rename from test/testdata/ResourceTagsService.json
rename to test/testdata/ResourcetagsService.json