sparse-intern-71089
08/09/2023, 3:42 PMbillowy-army-68599
gorgeous-microphone-34056
08/09/2023, 4:16 PMbillowy-army-68599
clever-sunset-76585
08/09/2023, 4:20 PMgorgeous-microphone-34056
08/09/2023, 4:21 PMgorgeous-microphone-34056
08/09/2023, 4:21 PMclever-sunset-76585
08/09/2023, 4:24 PMlike a usage guide tbhThe lines I linked above is literally how you would use the library. That's the best I've got so far. Other than that, the instructions in the README for
pulschema
tell you how to prepare the OpenAPI spec for a successful conversion. You can also look at the tests in the providers I've generated thus far: https://github.com/search?q=topic%3Apulumi-provider+org%3Acloudy-sky-software+fork%3Atrue&type=repositoriesgorgeous-microphone-34056
08/09/2023, 4:29 PMclever-sunset-76585
08/09/2023, 4:32 PMpulumi-provider-framework
) that does the HTTP offloading. When it comes to that you'll be on your own but since it's just HTTP requests you can use whatever strategy you'd like and shouldn't be blocked by not having access to that private lib.clever-sunset-76585
08/09/2023, 4:34 PMpulschema
and my private pulumi-provider-framework
repo, which I am happy to share a ZIP file with you but it'll be useless to anyone without pulumi-provider-framework
, which is why I've kept my template also private.gorgeous-microphone-34056
08/09/2023, 4:35 PMgorgeous-microphone-34056
08/09/2023, 4:35 PMclever-sunset-76585
08/09/2023, 4:36 PMpulschema
is trying to solve.gorgeous-microphone-34056
08/09/2023, 4:36 PMgorgeous-microphone-34056
08/09/2023, 4:38 PMprovider/cmd
code at high levelclever-sunset-76585
08/09/2023, 4:40 PMpulschema
generates the schema.json
file that you'll see referenced in the Pulumi provider boilerplate repo. If pulschema
didn't exist, you'd have to manually author that JSON file which is what Pulumi uses to generate the language SDKs and docs.gorgeous-microphone-34056
08/09/2023, 4:55 PMmake generate_schema
seems to be generating schema.json file which step are we using pulschema
clever-sunset-76585
08/09/2023, 4:57 PMmake
target calls into this case
statement for the gen
binary: https://github.com/cloudy-sky-software/pulumi-tailscale-native/blob/main/provider/cmd/pulumi-gen-tailscale-native/main.go#L89clever-sunset-76585
08/09/2023, 4:58 PMclever-sunset-76585
08/09/2023, 5:00 PMpulschema
. The API spec itself is generated using TypeSpec code in the api
folder (not TypeScript). This is not something you'll have to worry about since you already have an OpenAPI spec. For a 1:1 comparison, perhaps the Render or the Scaleway Instances provider would be a closer match to what you might be dealing with.gorgeous-microphone-34056
08/09/2023, 5:03 PMgorgeous-microphone-34056
08/09/2023, 5:09 PMmake gen nodejs_sdk
clever-sunset-76585
08/09/2023, 5:11 PMpulumi-provider-framework
is private, so you'll encounter issues if you try to build the provider binary since it'll look for that repo.gorgeous-microphone-34056
08/09/2023, 5:13 PMclever-sunset-76585
08/09/2023, 5:14 PMgotcha, can you share that as zip / binary as you mentioned before?Oh I said I would give a ZIP of the private template, not the
pulumi-provider-framework
π sorry for not being clear. I'd be happy to DM the template to you.gorgeous-microphone-34056
08/09/2023, 5:14 PMgorgeous-microphone-34056
08/09/2023, 5:14 PMclever-sunset-76585
08/09/2023, 6:13 PMpulschema
. It's easier to bring pulschema
into their template due to the private module pulumi-provider-framework
dependency that I have with my template. pulumi-provider-framework
is an HTTP client. As long as you have a Pulumi schema.json
generating successfully, you can build your own HTTP client library that interacts with the REST API as shown in Pulumi's own examples. At some point in the future, I might decide to make pulumi-provider-framework
public but I haven't had the time to think about it and not certain about it just yet.