diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TerraformProviderCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TerraformProviderCodegen.java index 7cc6bcfbcf98..47d25710d160 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TerraformProviderCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TerraformProviderCodegen.java @@ -45,6 +45,11 @@ public class TerraformProviderCodegen extends AbstractGoCodegen { protected String providerAddress = "registry.terraform.io/example/example"; protected String providerVersion = "0.1.0"; + // Track which tags qualify as resources vs data sources so we can + // delete non-qualifying files in postProcessFile. + private final Set resourceNames = new HashSet<>(); + private final Set dataSourceNames = new HashSet<>(); + @Override public CodegenType getTag() { return CodegenType.CLIENT; @@ -122,6 +127,9 @@ public TerraformProviderCodegen() { public void processOpts() { super.processOpts(); + // Enable postProcessFile so we can delete non-qualifying API files + this.setEnablePostProcessFile(true); + if (additionalProperties.containsKey(PROVIDER_NAME)) { providerName = additionalProperties.get(PROVIDER_NAME).toString(); } @@ -272,6 +280,14 @@ public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List