Comments (1)
@joshcorr, the implication in the example document that the schema
keyword isn't required is a mistake on my part. I originally created that example to show how users and authors could edit the data files with IntelliSense and validation provided by the JSON Schemas. I'll update that example shortly to be more correct, I can see how the missing key implies that it's not required.
I did some testing, and the following definition is discoverable and functional, but fails our schema validation:
$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.vscode.json
type: Example/Foo
version: 0.1.0
description: An example resource to manage the foo application.
tags:
- foo
get:
executable: foo
args: [get]
input: stdin
set:
executable: foo
input: stdin
preTest: false
return: state
schema:
!command
executable: foo
args: [schema]
Note that for DSC to correctly parse the data from YAML, you have to use the !<tag>
syntax, whereas in JSON you embed the data by the <tag>
keyword - in this case, command
:
{
// ... rest of the manifest
"schema": {
"command": { "executable": "foo", "args": ["schema"] }
}
}
# ... rest of the manifest
schema:
!command
executable: foo
args: [schema]
This is non-intuitive, and difficult to represent with a shared schema (and VS Code will complain that !command
, !url
, and !embedded
are unknown tags).
I believe the fix is to use the serde_yaml::with::singleton_map
customization - the example seem to show the behavior we want.
from dsc.
Related Issues (20)
- Automatically handle messages from PSDSC resources
- Use trace messaging to indicate composite resources are being ignored HOT 1
- Code cleanup
- File/folder permissions checks HOT 2
- Synthetic `export` using `get`
- Add ability to update PATH env var for current DSC process HOT 3
- Update internal `invoke_command()` to retrieve the exit code description from manifest
- Rename `Import` resource kind enumeration to `Importer`
- Need a parameter to clear/rebuild resource cache
- Incompatible libssl dependency on Ubuntu 22.04 and later
- Linux release asset is incorrectly suffixed with the .gz extension
- Windows PowerShell not running Set operation HOT 5
- Add whatif support to PS Adapter
- Resource list for Microsoft.DSC/PowerShell failing to list resources. HOT 3
- Passing resource JSON for invocation no longer works HOT 3
- Implement Generic Restart Resource(s)
- Handle Restart Dependencies HOT 1
- Implement `whatif` for Registry resource
- Replace ESC char with `{ESC}` for writing output
- Add ability to have extensions to `dsc.exe`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dsc.