You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Method filtered out by name match: filterNot { case (name, _) => name == "terraformConfig" } (pre-existing)
Function filtered out by token match: filterNot { case (token, _) => token.endsWith("/terraformConfig") } (new)
ObjectTypeDefinition returns empty for unrecognized type values with a warning (new)
Follow-up needed
We should investigate whether besom should support Terraform Module Provider wrapping. If so, terraformConfig needs proper codegen support rather than being filtered out. If not, the current filters are sufficient but should be documented.
Affected schemas include tls (5.2.3+) and likely aws and other providers.
Location
codegen/src/PulumiPackageInfo.scala — parseMethods (line 46) and parseFunctions (line 121)
Problem
Pulumi added Terraform Module Provider support which introduces
terraformConfigentries in provider schemas:"terraformConfig": "pulumi:providers:<pkg>/terraformConfig"functionssection:"pulumi:providers:<pkg>/terraformConfig"inputshastype: "pulumi:providers:<pkg>/terraformConfig"(a type token, not"object")These cause multiple issues in besom's codegen:
ProviderArgs.scalawhich conflicts with the existing provider args filetypefield containing a type token crashesObjectTypeDefinitiondeserialization (see Codegen: type token in ObjectTypeDefinition crashes schema deserialization #591)Current workaround
filterNot { case (name, _) => name == "terraformConfig" }(pre-existing)filterNot { case (token, _) => token.endsWith("/terraformConfig") }(new)ObjectTypeDefinitionreturns empty for unrecognized type values with a warning (new)Follow-up needed
We should investigate whether besom should support Terraform Module Provider wrapping. If so,
terraformConfigneeds proper codegen support rather than being filtered out. If not, the current filters are sufficient but should be documented.Affected schemas include
tls(5.2.3+) and likelyawsand other providers.Location
codegen/src/PulumiPackageInfo.scala—parseMethods(line 46) andparseFunctions(line 121)codegen/src/PulumiPackage.scala—ObjectTypeDefinitionProtoLike.maybeAsObjectTypeDefinition