OpenAPITools/openapi-generator · error · IllegalArgumentException
Invalid model property naming '{naming}'. Must be 'original'
Error message
Invalid model property naming '{naming}'. Must be 'original', 'camelCase', 'PascalCase' or 'snake_case' What it means
Setter validating the 'modelPropertyNaming' additional property of the k6 generator. Accepts only original, camelCase, PascalCase and snake_case (case-sensitive string comparisons); any other value throws IllegalArgumentException during option processing and aborts generation.
Source
Thrown at modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/K6ClientCodegen.java:853
for (int i = 0; i < buf.length(); i++) {
char c = buf.charAt(i);
if ((c == '/' || c == '\\') && c != File.separatorChar)
buf.setCharAt(i, File.separatorChar);
}
return buf.toString();
}
@Override
public String apiFileFolder() {
return createPath(outputFolder, sourceFolder, invokerPackage, apiPackage());
}
public void setModelPropertyNaming(String naming) {
if ("original".equals(naming) || "camelCase".equals(naming) || "PascalCase".equals(naming)
|| "snake_case".equals(naming)) {
this.modelPropertyNaming = naming;
} else {
throw new IllegalArgumentException("Invalid model property naming '" + naming
+ "'. Must be 'original', 'camelCase', " + "'PascalCase' or 'snake_case'");
}
}
@Override
public String escapeQuotationMark(String input) {
// remove ', " to avoid code injection
return input.replace("\"", "").replace("'", "");
}
@Override
public String escapeUnsafeCharacters(String input) {
return input.replace("*/", "*_/").replace("/*", "/_*");
}
private static String getAccept(OpenAPI openAPI, Operation operation) {
String accepts = null;
String defaultContentType = "application/json";View on GitHub (pinned to fcec517be3)
Solutions
- Use exactly `original`, `camelCase`, `PascalCase`, or `snake_case`.
- Omit the option if the default convention is acceptable.
- Confirm allowed values with `config-help -g k6` for your CLI version.
Example fix
# before openapi-generator-cli generate -g k6 -i api.yaml -p modelPropertyNaming=camelcase # after openapi-generator-cli generate -g k6 -i api.yaml -p modelPropertyNaming=camelCase
Defensive patterns
Strategy: validation
Validate before calling
# shell: exact-case allowlist for k6
mpn="${MODEL_PROPERTY_NAMING:-}"
[ -z "$mpn" ] || case "$mpn" in
original|camelCase|PascalCase|snake_case) ;;
*) echo "modelPropertyNaming must be original|camelCase|PascalCase|snake_case, got: $mpn" >&2; exit 2 ;;
esac
openapi-generator-cli generate -g k6 -i api.yaml -p modelPropertyNaming="$mpn" Type guard
type ModelPropertyNaming = 'original' | 'camelCase' | 'PascalCase' | 'snake_case';
const VALID = new Set(['original', 'camelCase', 'PascalCase', 'snake_case']);
function isModelPropertyNaming(v: string): v is ModelPropertyNaming {
return VALID.has(v);
} Try / catch
try {
new DefaultGenerator().opts(clientOptInput).generate();
} catch (IllegalArgumentException e) {
throw new IllegalStateException("Invalid modelPropertyNaming for k6: " + e.getMessage(), e);
} Prevention
- Keep one options file per generator target rather than sharing across languages.
- Double-check casing (camelCase, PascalCase) when porting options between generators.
- Confirm with `config-help -g k6` after CLI upgrades.
When it happens
Trigger: `-g k6 -p modelPropertyNaming=snake` (missing '_case'), `camelcase`, `Pascal_Case`, `kebab-case`, `original-case`; values passed programmatically via setModelPropertyNaming.
Common situations: Sharing one options file across javascript/k6 pipelines and editing casing by hand; copy-paste from TypeScript generators' docs.
Related errors
- Invalid model property naming '{name}'. Must be 'original',
- Invalid model property naming '{name}'. Must be 'original',
- Invalid model property naming '{naming}'. Must be 'original'
- Invalid model property naming '{name}'. Must be 'original',
- Invalid model property naming '{naming}'. Must be 'original'
AI-assisted analysis of OpenAPITools/openapi-generator@fcec517be3 (2026-08-22).
Data as JSON: /api/errors/10a38d06f7c66d22.
Report an issue: GitHub.