-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[schema] Add the Pulumi Package metaschema. #7952
Conversation
Diff for pulumi-random with merge commit 3ee124d |
Diff for pulumi-azuread with merge commit 3ee124d |
Diff for pulumi-kubernetes with merge commit 3ee124d |
Diff for pulumi-aws with merge commit 3ee124d |
Diff for pulumi-gcp with merge commit 3ee124d |
Diff for pulumi-azure with merge commit 3ee124d |
Diff for pulumi-azuread with merge commit a145d07 |
Diff for pulumi-random with merge commit a145d07 |
Diff for pulumi-kubernetes with merge commit a145d07 |
Diff for pulumi-gcp with merge commit a145d07 |
Diff for pulumi-aws with merge commit a145d07 |
Diff for pulumi-azure with merge commit a145d07 |
OK I've read this again. I'm absolutely loving the meta schema. I can consume it - the JSON notation is not the best (give me OCaml type defs) but I can read it fine. We're getting somewhere! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great! A few random comments - let me know if I can help validating it further.
"type": "object", | ||
"properties": { | ||
"moduleFormat": { | ||
"description": "A regex that is used by the importer to extract a module name from the module portion of a type token. Packages that use the module format \"namespace1/namespace2/.../namespaceN\" do not need to specify a format. The regex must define one capturing group that contains the module name, which must be formatted as \"namespace1/namespace2/...namespaceN\".", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a known set of supported expressions?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In principle any regex is supported here... are you looking for examples of expressions that are in active use?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe? I feel this may be confusing for schema users.
Diff for pulumi-random with merge commit ec932cd |
Diff for pulumi-azuread with merge commit ec932cd |
Diff for pulumi-kubernetes with merge commit ec932cd |
Diff for pulumi-gcp with merge commit ec932cd |
Diff for pulumi-azuread with merge commit dd3578b |
Diff for pulumi-random with merge commit dd3578b |
99d6d85
to
c4dea8e
Compare
Diff for pulumi-aws with merge commit ec932cd |
Diff for pulumi-kubernetes with merge commit dd3578b |
Diff for pulumi-aws with merge commit 13fbfa7 |
Diff for pulumi-gcp with merge commit 4e41c79 |
Diff for pulumi-aws with merge commit 4e41c79 |
Diff for pulumi-azure with merge commit 13fbfa7 |
Diff for pulumi-azure with merge commit 4e41c79 |
9ef09dc
to
2b4e7d8
Compare
Diff for pulumi-azuread with merge commit 46a5646 |
Diff for pulumi-random with merge commit 46a5646 |
Diff for pulumi-kubernetes with merge commit 46a5646 |
Diff for pulumi-gcp with merge commit 46a5646 |
Diff for pulumi-aws with merge commit 46a5646 |
Diff for pulumi-azure with merge commit 46a5646 |
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.
2b4e7d8
to
01ee5bb
Compare
Diff for pulumi-azuread with merge commit ff72a49 |
Diff for pulumi-random with merge commit ff72a49 |
Diff for pulumi-kubernetes with merge commit ff72a49 |
Diff for pulumi-gcp with merge commit ff72a49 |
Diff for pulumi-aws with merge commit ff72a49 |
Diff for pulumi-azure with merge commit ff72a49 |
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):
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.