mirror of https://github.com/pulumi/pulumi.git
7c6f652c27
These changes provide an alternative method for authoring Pulumi schemas. Rather than hewing closely to the design of OpenAPI, this package chooses a YAML-based approach that allows for a much more concise description of a Pulumi schema. Although this package is intended to cover the majority of use cases, it is not intended to have feature parity with the JSON-based schema language, and omits some advanced features for the sake of simplicity. The two most striking differences are the representations of package members and property types. Rather than using separate, flat namespaces for types, resources, and functions, a YAML schema uses a single, hierarchical namespace. The type of a member is indicated using a YAML tag; members may be object types, enum types, resources, components, functions, or modules. YAML schemas also make use of tags and the module tree to simplify type references. A type reference may be a primitive type, constructed type, or a reference to an object type, enum type, or resource. Primitive types are booleans, strings, integers, and numbers; constructued types are inputs, arrays, maps, and unions. At the outermost level, a property's type may also be optional, in which case the property does not require a value. |
||
---|---|---|
.. | ||
yaml | ||
docs_parser.go | ||
docs_renderer.go | ||
docs_test.go | ||
loader.go | ||
schema.go | ||
schema_test.go |