pulumi/pkg/codegen/schema/yaml
Pat Gavlin 7c6f652c27 [experimental] Add support for YAML schemas.
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.
2021-07-07 20:02:58 -07:00
..
testdata [experimental] Add support for YAML schemas. 2021-07-07 20:02:58 -07:00
doc.go [experimental] Add support for YAML schemas. 2021-07-07 20:02:58 -07:00
yaml.go [experimental] Add support for YAML schemas. 2021-07-07 20:02:58 -07:00
yaml_test.go [experimental] Add support for YAML schemas. 2021-07-07 20:02:58 -07:00