Bug #8687
closedInconsistent directive API parameters at creation
Description
In the directive API:
- the priority attribute in exported, can be modified, but cannot be provided at creation
- the isSystem attribute in exported, can be modified, but cannot be provided at creation
- The isEnabled attribute is called enabled at creation
Updated by Alexis Mousset over 8 years ago
- Subject changed from Inconsistent API parameters to Inconsistent directive API parameters at creation
Updated by François ARMAND over 8 years ago
We need to ensure that POST (GET url_api) works.
For that case, we need to:
- just add the missing priority parameter,
- remove from documentation the "isXXX" to only keep "XXX" variant,
- keep aliases in code to node break existing script, marking "isXXX" variant deprecated,
- remove in next major API the old "isXXX" values.
Updated by Vincent MEMBRÉ over 8 years ago
Priority works, it just not documented.
We do not accept "isXXX" as parameter, but always "XXX". But we always answer "isXXX"
Updated by Vincent MEMBRÉ over 8 years ago
I don't think "system" should be set/modified
Updated by Vincent MEMBRÉ over 8 years ago
- Assignee set to Vincent MEMBRÉ
- Target version set to 2.11.23
We will:
- Document priority in directive creation (another issue)
- Always send 'xxx' instead of 'isxxx"
- Define a new property 'api compatibility' that is 'disabled' on new install, 'enabled' on migration which allows:
- If "enabled", api will also send "isxxx" in response, which will allow compatibility with old script treating the "isxxx -> xxx" case
- Deprecate all current API in master, so we can create a new one only snedinf 'xxx'
- Remove all deprecated API and the property in master+1
Updated by Vincent MEMBRÉ over 8 years ago
- Status changed from New to In progress
Updated by Vincent MEMBRÉ over 8 years ago
- Status changed from In progress to Pending technical review
- Assignee changed from Vincent MEMBRÉ to François ARMAND
- Pull Request set to https://github.com/Normation/rudder/pull/1136
Updated by Benoît PECCATTE over 8 years ago
If you do not accept system, you break the "export then import" workflow, which is the first use of this kind of API.
I suggest that you accept the "system" attribute and return an error if it is true.
Updated by Vincent MEMBRÉ over 8 years ago
- Status changed from Pending technical review to Pending release
- % Done changed from 0 to 100
Applied in changeset rudder|daa00c7d65acc1002b3e3fc3739dd321eadb8067.
Updated by Alexis Mousset over 8 years ago
- Status changed from Pending release to Released