Operations on Configurations
A configuration provider MUST support the following operations:
- Retrieve the state of a specified versioned concept resource in the context of a specified configuration, where this operation returns zero or one version resources matching the required state.
- Update the state of a specified versioned concept resource in a specified configuration; this operation might or might not cause the creation of a new version of the resource.
- Create a new stream (a mutable configuration) corresponding to a given configuration specification.
- Create a new stream from a baseline.
- Delete a configuration; providers MAY refuse to delete configurations that are part of or referenced by existing baselines.
- Obtain a baseline representing the current state of a stream; this operation MAY create a new baseline resource, or MAY return an existing baseline if one exists and corresponds to the current state of the stream.
A configuration provider MAY support the following operations:
- Provide notification of changes to a configuration
- Compare a configuration with another configuration; result format TBD.
- Update a stream to correspond to a specified baseline; this is logically equivalent to deleting the stream and recreated it from the given baseline, but may be more efficient.
- Merge a configuration into a stream; this operation updates the configuration to contain the latest revision of each concept resource in either of the two input configurations; handling of configuration specs and conflicts TBD.