mirror of https://github.com/pulumi/pulumi.git
1.7 KiB
1.7 KiB
(languages)= (language-hosts)=
Language hosts
Language hosts, or language runtimes, are the means by which Pulumi is able to support a variety of programming languages. Officially, the term "language host" refers to the combination of two parts:
- A runtime, which is a Pulumi plugin that exposes the ability to
execute programs written in a particular language according to a standardized
gRPC interface. The plugin will be named
pulumi-language-<language>
(e.g.pulumi-language-nodejs
for NodeJS, orpulumi-language-python
for Python). - An SDK, which is a set of libraries that provide the necessary abstractions
and utilities for writing Pulumi programs in that language (e.g.
@pulumi/pulumi
in NodeJS, orpulumi
in Python).
Often however, the term "language host" is used to refer to the runtime alone. Aside from providing the ability to programs, the runtime also supports a number of other operations:
- Code generation methods enable callers to generate both SDKs () and programs () in the language.
- Query endpoints allow callers to calculate the set of language-specific dependencies () or Pulumi plugins () that might be required by a program.
- The method allows callers to package up bundles of code written in the language into a format suitable for consumption by other code (for instance, packaging an SDK for use as a dependency, or packaging a program for execution).