pulumi/proto
Fraser Waters 7ff5c18216
Add GetRequiredPackages to the language host (#17894)
Next part of https://github.com/pulumi/pulumi/issues/17507

This adds a new `GetRequiredPackages` method to the language hosts. This
will replace `GetRequiredPlugins`. This change set adds the method, and
the required handling in the engine without making use of the new
information returned by the package form, and without updating the
language hosts to return that information.

This should continue to work by hitting all the compatibility paths.
I'll follow this change up with updating the conformance tests to check
against this, and fixing the language hosts to return the new package
information.
2024-12-02 20:24:23 +00:00
..
build-container Update node sdk to use typescript definitions for grpc and protobufs. (#14415) 2023-12-04 15:22:44 +00:00
google/protobuf Compile protobufs with "pulumi" namespace (#10074) 2022-07-12 14:45:03 +01:00
pulumi Add GetRequiredPackages to the language host (#17894) 2024-12-02 20:24:23 +00:00
.checksum.txt Add GetRequiredPackages to the language host (#17894) 2024-12-02 20:24:23 +00:00
README.md Generate reference documentation from Protobufs (#17120) 2024-08-30 17:04:16 +00:00
generate.sh allow better grpc error messages from Python component providers (#17429) 2024-10-10 09:52:29 +00:00
grpc_version.txt Add getOrganization to nodejs and python (#10504) 2022-08-31 10:33:29 +01:00

README.md

Protobuf and gRPC interfaces

This package contains Protobuf definitions for the various types, messages and interfaces that Pulumi components use to communicate. These definitions serve as the source of truth for several parts of the wider codebase.

Code generation

:::{note} Code generated from Protobuf files is committed to the repository. If you change one or more .proto files, you should run make build_proto to regenerate the necessary stubs and commit the changes as part of the same piece of work. :::

The gh-file:pulumi#proto/generate.sh script in this directory (called by the build_proto target in the top-level gh-file:pulumi#Makefile) generates types and gRPC clients for the languages supported in this repository (Go, NodeJS/TypeScript and Python). Generated code is committed to the repository, typically in proto directories at the relevant use sites (e.g. gh-file:pulumi#sdk/nodejs/proto).

Documentation

We use the protoc-gen-doc plugin to protoc to generate Markdown documentation from the Protobuf files. This process is handled by the gh-file:pulumi#docs/Makefile in the docs directory and uses the gh-file:pulumi#docs/references/proto.md.tmpl template. Generated documentation ends up in the docs/_generated directory (which is .gitignored), so e.g. this index links to files in this folder.

Index

:::{toctree} :maxdepth: 1 :titlesonly:

/docs/_generated/proto/resource /docs/_generated/proto/provider /docs/_generated/proto/plugin /docs/_generated/proto/language /docs/_generated/proto/callback /docs/_generated/proto/loader /docs/_generated/proto/converter /docs/_generated/proto/analyzer /docs/_generated/proto/alias /docs/_generated/proto/engine /docs/_generated/proto/errors /docs/_generated/proto/source :::