From db15bb5b08febe7011709a40c7f6228a7242114d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Schmitz?= <152157960+bahkauv70@users.noreply.github.com> Date: Thu, 22 May 2025 13:52:27 +0200 Subject: [PATCH 1/2] chore(generator): update modules after go.mod generation --- scripts/generate-sdk/languages/go.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/generate-sdk/languages/go.sh b/scripts/generate-sdk/languages/go.sh index 2a83737..d79f9b0 100644 --- a/scripts/generate-sdk/languages/go.sh +++ b/scripts/generate-sdk/languages/go.sh @@ -208,6 +208,8 @@ generate_go_sdk() { cd ${SERVICES_FOLDER}/${service} go work use . + # Make sure that dependencies are uptodate + go get -u ./... go mod tidy done From aa101d928a1a121a0d1ced3e2e6c861bd9c74580 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Schmitz?= <152157960+bahkauv70@users.noreply.github.com> Date: Fri, 23 May 2025 11:50:41 +0200 Subject: [PATCH 2/2] chore(generator): correctly handle enums in openapi 3.1.0 specs --- blacklist.txt | 12 +++++++++--- templates/go/model_simple.mustache | 9 +++++---- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/blacklist.txt b/blacklist.txt index ec67996..7f8bf2b 100644 --- a/blacklist.txt +++ b/blacklist.txt @@ -1,5 +1,11 @@ # Transitional file to disable generation for selected services -assumerole -customer -openstack +#assumerole +#customer +#openstack kms + +airflow +edge +customer +vpn +privateendpoint \ No newline at end of file diff --git a/templates/go/model_simple.mustache b/templates/go/model_simple.mustache index 6bcfaf3..7d6cecf 100644 --- a/templates/go/model_simple.mustache +++ b/templates/go/model_simple.mustache @@ -281,7 +281,8 @@ func set{{classname}}{{getter}}AttributeType(arg *{{classname}}{{getter}}Attribu // isEnum // {{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}} {{{description}}}{{^description}}the model '{{{classname}}}'{{/description}} -type {{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}} {{dataType}} +// value type for enums +type {{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}} {{#isNumeric}}int{{/isNumeric}}{{^isNumeric}}string{{/isNumeric}} // List of {{name}} const ( @@ -304,13 +305,13 @@ var Allowed{{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titl } func (v *{{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}}) UnmarshalJSON(src []byte) error { - var value {{dataType}} + var value {{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}} err := json.Unmarshal(src, &value) if err != nil { return err } // Allow unmarshalling zero value for testing purposes - var zeroValue {{dataType}} + var zeroValue {{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}} if value == zeroValue { return nil } @@ -327,7 +328,7 @@ func (v *{{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlec // New{{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}}FromValue returns a pointer to a valid {{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}} // for the value passed as argument, or an error if the value passed is not allowed by the enum -func New{{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}}FromValue(v {{dataType}}) (*{{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}}, error) { +func New{{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}}FromValue(v {{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}}) (*{{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}}, error) { ev := {{{classname}}}{{#lambda.titlecase}}{{nameInCamelCase}}{{/lambda.titlecase}}(v) if ev.IsValid() { return &ev, nil