diff --git a/regional-whitelist.txt b/regional-whitelist.txt new file mode 100644 index 0000000..0881343 --- /dev/null +++ b/regional-whitelist.txt @@ -0,0 +1,3 @@ +# Transitional file to force generation of the new regional api for selected services +# It will be removed when all services have been migrated to the new regional api +objectstorage \ No newline at end of file diff --git a/scripts/generate-sdk/languages/go.sh b/scripts/generate-sdk/languages/go.sh index e2e3634..74a0130 100644 --- a/scripts/generate-sdk/languages/go.sh +++ b/scripts/generate-sdk/languages/go.sh @@ -136,6 +136,11 @@ generate_go_sdk() { GO_POST_PROCESS_FILE="gofmt -w" \ mkdir -p ${SERVICES_FOLDER}/${service}/ cp ${ROOT_DIR}/scripts/generate-sdk/.openapi-generator-ignore-go ${SERVICES_FOLDER}/${service}/.openapi-generator-ignore + regional_api= + if grep -E "^$service$" ${ROOT_DIR}/regional-whitelist.txt; then + echo "Generating new regional api" + regional_api="regional_api" + fi # Run the generator for Go java -Dlog.level=${GENERATOR_LOG_LEVEL} -jar ${jar_path} generate \ @@ -149,7 +154,7 @@ generate_go_sdk() { --git-user-id ${GIT_USER_ID} \ --git-repo-id ${GIT_REPO_ID} \ --global-property apis,models,modelTests=true,modelDocs=false,apiDocs=false,supportingFiles \ - --additional-properties=isGoSubmodule=true,enumClassPrefix=true + --additional-properties=isGoSubmodule=true,enumClassPrefix=true,$regional_api # Remove unnecessary files rm ${SERVICES_FOLDER}/${service}/.openapi-generator-ignore rm ${SERVICES_FOLDER}/${service}/.openapi-generator/FILES diff --git a/templates/go/client.mustache b/templates/go/client.mustache index a5efa0a..4aebded 100644 --- a/templates/go/client.mustache +++ b/templates/go/client.mustache @@ -60,10 +60,15 @@ func NewAPIClient(opts ...config.ConfigurationOption) (*APIClient, error) { } } + {{#regional_api}} + // using new regional api, so no region is set here + {{/regional_api}} + {{^regional_api}} err := config.ConfigureRegion(cfg) if err != nil { return nil, fmt.Errorf("configuring region: %w", err) } + {{/regional_api}} if cfg.HTTPClient == nil { cfg.HTTPClient = &http.Client{}