pulumi/sdk
Luke Hoban 4db5fe3520 Support `pulumi new <ai-url>`
This adds support for Pulumi AI URLs as sources for `pulumi new`.   This can support both conversations and answers URLs, such as https://www.pulumi.com/ai/answers/6c060c2d-e754-47d2-af8c-0d6a761634e3.

This implementation is likely not what we ultimately want to ship.  It builds out the fake "template" from the content of the HTML page from within the Pulumi CLI.  Instead, we almost certainly want to push this logic into the Pulumi AI service itself, and only generalize the CLI slightly beyond it's current support to allow pulling a ZIP or other simpler asset in place of a Git repo.

But the end result shows what is possible:

```
$ pulumi new https://www.pulumi.com/ai/answers/6c060c2d-e754-47d2-af8c-0d6a761634e3
```

A few challenges:
* This needs to support templating in all languages, and ideally without re-creating all the login in the existing language templates
* The code is scraped to infer the package.json dependencies needed (without knowing versions) and also to guess what required config should be specified (like `aws:region`). (TypeScript only currently)
* The code itself is scraped out of the HTML in a way that may not be guarnteed to work going forward.
2023-09-24 21:29:43 -07:00
..
go Support `pulumi new <ai-url>` 2023-09-24 21:29:43 -07:00
nodejs Changelog and go.mod updates for v3.85.0 (#14024) 2023-09-23 06:06:55 +00:00
proto/go More efficent mapping lookup (#13975) 2023-09-21 11:45:07 +00:00
python Trim Python version (#14018) 2023-09-23 08:37:57 +00:00
README.md Cleanup sdk/README.md 2023-01-03 17:12:12 -05:00
go.mod [sdk/go] Update pinned version of golang.org/x/text (#13965) 2023-09-19 23:02:51 +00:00
go.sum [sdk/go] Update pinned version of golang.org/x/text (#13965) 2023-09-19 23:02:51 +00:00

README.md

Pulumi Language SDKs

This directory contains Pulumi SDKs for the following languages:

See the respective READMEs for information about installing and using these libraries.

The language providers work by implementing gRPC interfaces defined in the top level directory proto.