18.104.22.168. ETag property ETags provide the ability to conditionally retrieve or update a resource. Resources should include an ETag property named "@odata.etag". The value of the ETag property is the ETag for a resource.
But I cant find @odata.etag in any (JSON) schema in schema bundle 2017.2. Where is it? Or is it missing?
I guess ETag header should be more important anyway?
The @odata.etag is a metadata property of an instance of an entity type. This is similar to @odata.type and other metadata properties. Therefore, you won't find it in the Redfish schemas that define entity types.
OK. But I can find @odata.context, @odata.id and @odata.type defined as properties on "base" type Resource in schema Resource.v1_5_0.json, which uses reference to definitions of properties "id", "context" and "type" in schema odata.4.0.0.json.
These type definitions in odata.4.0.0 schema are also used for @odata.context, @odata.id and @odata.type properties in most other resource schemas such as ComputerSystem and Chassis as far as I can see.?
But why cant I find similar definition of "@odata.etag" in e.g. schema odata.4.0.0.json ? And why is not @odata.etag property included in ComputerSystem and Chassis (or other schemas) in same way as @odata.id and @odata.type properties?
Yeah, that's a bug - thanks for pointing that out. The "@odata.etag" property is called out in the specification, and will validate against our schemas because of the "@odata" pattern match, but we do call out the other defined (and in most cases, required) @odata properties in each JSON schema. I'll open an issue with the group to get it added in the next release.