Commit graph

11 commits

Author SHA1 Message Date
Pat Gavlin a1339277f0
[schema] Add enum overlay support. (#8425)
And update the metaschema to accommodate the `isOverlay` properties
added in #8338. Overlay enums, like other overlay members, are
implemented out-of-band by the declaring package. Code generators should
not generate declarations for overlay enums.
2021-11-16 15:53:28 -08:00
Levi Blackstone 0d4fb3e340
[schema] Add IsOverlay option to disable codegen for particular types (#8338)
Add a new `IsOverlay` option to schema types and functions that allows providers to document overlays in the schema. This makes it easier to generate API docs consistently, even for code that is generated outside of the typical codegen process.
2021-11-11 17:00:03 -07:00
Pat Gavlin 3a545de34a
[developer-docs] Document resource import. (#8137)
These changes add a page to the developer docs that describes the design
and implementation of the `import` resource option and the `pulumi
import` command.

Co-authored-by: Levi Blackstone <levi@pulumi.com>
2021-10-07 12:14:37 -07:00
Pat Gavlin 10816d6414 [developer-docs] Change some type system terms.
- Remove a reference to monads
- s/type constructor/type function/
2021-09-30 09:51:34 -07:00
Pat Gavlin aeaeb1fbb9
[developer-docs] Add preliminary type system docs. (#8096)
Just what it says on the tin: add some initial documentation for the
abstract Pulumi type system. Over time, this documentation will be
fleshed out to describe the relationship between the abstract type
system and its wire representations, Pulumi package schemas, and
language SDK implementations.

Co-authored-by: Andrew Fitzgerald <131809+fitzoh@users.noreply.github.com>
Co-authored-by: Ian Wahbe <ian@wahbe.com>
2021-09-29 15:01:50 -07:00
Pat Gavlin 134d7cb818
[apitype] Add a JSON schema for deployments. (#8002)
This schema can be used to validate the contents of a Pulumi deployment.
If a deployment validates against this schema, it should be considered
syntactically valid, though it may contain certain classes of semantic
errors (e.g. references to unknown resources in dependency lists,
dependency cycles, etc.).

This schema is not yet used for validation in practice and may not be
entirely accurate.

These changes also add this schema (and the schemas on which it depends)
to the developer documentation. jsonschema2md.go has been updated to
support multi-file schemas.
2021-09-21 21:37:06 -07:00
Pat Gavlin 236ce54269
[schema] Add the Pulumi Package metaschema. (#7952)
The Pulumi Package metaschema is a JSON schema definition that describes
the format of a Pulumi Package schema. The metaschema can be used to
validate certain basic properties of a Pulumi Package schema, including
(but not limited to):

- data types (e.g. is this property a string?)
- data formats (e.g. is this string property a valid regex?)
- object shapes (e.g. is this object missing required properties?)

The schema binder has been updated to use the metaschema as its first
validation pass.

In addition to its use in the binder, the metaschema has its own page in
the developer documentation. This page is generated using a small tool,
jsonschema2md.go.
2021-09-20 12:00:42 -07:00
Emiliza Gutierrez c7614f5066
fix typos in dev docs (#7860)
* typo fixes and styling

* fix typos
2021-08-27 21:18:39 -07:00
Pat Gavlin a5a818b802
[developer-docs] Add links + a broad arch diagram (#7856)
- Add links within the resource registration docs
- Add a broad-strokes architectural diagram to the overview
- Add a `clean` target to the Makefile
- Expand the "Building" docs a bit
2021-08-27 10:55:06 -07:00
Levi Blackstone 96e6eb2592
Fix typos (#7853) 2021-08-26 11:29:56 -07:00
Pat Gavlin 98f73cf1ed
Start in on developer documentation. (#7839)
Developer documentation is written in Markdown and can be built into
HTML, PDF, etc. using Sphinx. Diagrams are written in PlantUML and
rendered as SVGs. All developer docs live in the `developer-docs` folder
under the root of the repository.
2021-08-25 15:18:13 -07:00