diff --git a/.gencode_hash.txt b/.gencode_hash.txt index a23e1036f2..6fbf270242 100644 --- a/.gencode_hash.txt +++ b/.gencode_hash.txt @@ -7,14 +7,14 @@ c21266e8de23b6e8acfac16a177db782375bf71df470c343c3f8eb8b822ef56a gencode/docs/c 11b21f73b6a4065102968a4c09979639b8a7ea6efb20e40d52cd21b2a60167bb gencode/docs/configuration_pod.html b34c136cee32cb88f32a427ff400c3898ed49168f6dcaca1bc9ba65365bc5ae4 gencode/docs/configuration_pubber.html 1057fa40fb7a31a23bb2773d21c38cf4590a935bd8b5ea4218e695c6204f5dd9 gencode/docs/data_template.html -f9fc60fd9a17e7e0961e83d86d762edbf53c9e4867c723798a7e8d5074411407 gencode/docs/events.html -01064f050b446f4cf23c6f6c1c86b6ce29acfa4cc4f56c8830df096c93d04ff8 gencode/docs/events_discovery.html +7fceae12574a987820736713e7e5b06b7334223b91f22a8ef0fb8fde4216e31d gencode/docs/events.html +1e9af1680cdd51957790b988934c37a2076f075e36de1ee76700638628950164 gencode/docs/events_discovery.html e550539d52ce1f63b35247d425c038e5d5ba33f997eedd09e486a3bd9838c2c2 gencode/docs/events_mapping.html 66e19faae60f9502749391889dbe24bd709963e658b61d989c7ba780672fa447 gencode/docs/events_pointset.html cac253f57c5c92ef32e2a5f91b6cec8229e8db1dcffcc96a58f06da068e741e7 gencode/docs/events_system.html 151c1b62db35e84e51d5ff2a7464f61ced4d7fb0c7eb795715c245ee0a1b3436 gencode/docs/events_udmi.html 73dbe799e7943ec20ac58b544998e986a39539d4ef0cb4f5023e92e7634d3124 gencode/docs/events_validation.html -8713e90241e3e5aa8840f361202980fefaf886f3ec18f49537e1b2695d0ec5a6 gencode/docs/metadata.html +74f915256d39795af23f3732aa7330d9717f4a66ebc017d65ddb2123c84c8b3b gencode/docs/metadata.html c86682715d348bd3dd971fa5bd925a8a3d0f3c2944c65a47c4b64fe1a5ccdea2 gencode/docs/monitoring.html 474ca16edc9f3cad2bb3ab40b6993cbced90263f762f66ee6cd246a6c4a0d18f gencode/docs/persistent_device.html e11595fd11477947a27461f8ef4fb6facb5f60e2abd6212193f7581ab123ff84 gencode/docs/properties.html @@ -106,13 +106,14 @@ d48a48484965295327ef553a4f8552c44b9345224d7dbb847877c68c1e1b307e gencode/java/u 34704328b6074f96dbf6ce2f926c2e5bafcde5f1412ea50da74e9fa294de32ea gencode/java/udmi/schema/PodConfiguration.java 4825f705cea374dd24668a7711931fef2ca53d0d19d7696c1c16eb610f00ab1b gencode/java/udmi/schema/PointPointsetConfig.java 4f5e88735f2f66f3b92fe19a3a7724eaad5b575d74b75573f437f3236d3175f3 gencode/java/udmi/schema/PointPointsetEvents.java -4b4a70f116a8c60ce5670345c5b2a755b1bbda2f38242dd06a24142d999e7824 gencode/java/udmi/schema/PointPointsetModel.java +2b0ae0ba03f19eb6f15083340d06b095b366381ba3f233876a05f5c7e0cf1772 gencode/java/udmi/schema/PointPointsetModel.java 88ea66c1a8a1db71ee805a8facabafa0954690d0afd8a559758e50ec9624ed94 gencode/java/udmi/schema/PointPointsetState.java a9250e3208649032e954be0ce63e55ed7b50575a07a821a6ac725c7f10c8cb4b gencode/java/udmi/schema/PointsetConfig.java f4735049f0c27c3f0669d8cf2d6dda6e25dc7d20cef598d5677e3a72943ff019 gencode/java/udmi/schema/PointsetEvents.java 235e6fbd00880e36328fba8f099f788c85dcaaa94cf49ca53fa9b11429a8dc1a gencode/java/udmi/schema/PointsetModel.java c73ad6dde0db8a520f3fee5a563c55a79fc7e6d1cd7875723b10c3d34036a46b gencode/java/udmi/schema/PointsetState.java 34bd8b883ee2a29fc53960142e82fab5a6edd6d8e89e327f242a0b745579edb7 gencode/java/udmi/schema/PointsetSummary.java +073c763da8e96e8052225ec338fd84a94a38ff0be2b2f941bde39254846a3e79 gencode/java/udmi/schema/PoliciesModel.java 9637f95e8a1185b1b028308a8caa2ca5a78cb46ae97f9cc11e2731066129540e gencode/java/udmi/schema/Position.java d87deaba67bb3272c528e3491d378bde059b626964a4a2aed15f5643305c2463 gencode/java/udmi/schema/Properties.java 4cdd5dc6b2e054a43f2e70adeb46ef8e3ff78288d4315923a925415f87e871aa gencode/java/udmi/schema/PubberConfiguration.java @@ -149,7 +150,7 @@ eadc72e31b4796273479967303513b16563af0f946d1e1c7eba1748f9b133d40 gencode/java/u 11f8dab5296d41e86cd623a4ed27b972ae673b141907cb913397d4eb53880c59 gencode/java/udmi/schema/Water.java d2a53a067185447ce672e5521cdb073a2b2100b9384b68e87211cafc5ef8cb2a gencode/presentation/presentation.json 4cf98cbd132cde0cc8813ac35cf3712cb46014154c817c04ad2902c268cdd8fe gencode/python/pyproject.toml -25c06f5e266f18797041492d5c17ae386abec5106da7d129e2b54e8de32e3980 gencode/python/udmi/schema/__init__.py +cd645687ba5c00b42f5323e185e23b586145aa0886dbbc053c2874f3f087bd41 gencode/python/udmi/schema/__init__.py 478b09b7e26c07441e86e1778f7e5ce8f8fa1b3fce88b8089064347d1e2fc67b gencode/python/udmi/schema/_base.py 0e18050ec17fde8162f75a76d9dc623d3f6ddca4396441bd603189827ed21a80 gencode/python/udmi/schema/access_iot.py 32a951e2bf13f556082f8d94be079b3df6cc081b6ff59f71a82d32782cf8f8f6 gencode/python/udmi/schema/ancillary_properties.py @@ -211,7 +212,8 @@ c799ce667100201d81f02f0a5d22a4d0ef7db01035e7f08219a76a04c4507a15 gencode/python 9b1a39ef5d3b2ca52036ff6d2c351d689ce73c1867489651788605976b9ee798 gencode/python/udmi/schema/model_localnet.py 977c2a40651b65aa68d8051fd09c796adb723575356c0791adc87e4331cdbebd gencode/python/udmi/schema/model_localnet_family.py 7a252256cce946af6750c644e91b0f09363c8e28b03dbb41c8ae3e5d0758d615 gencode/python/udmi/schema/model_pointset.py -7271212f7afa718dbcb81ff01af488c64cc4bfbd756f4e54efa8c4a5359ea47b gencode/python/udmi/schema/model_pointset_point.py +27593e1178ee2d3603121f52644c77027e070e9c07ae916a8580b7856d51a21a gencode/python/udmi/schema/model_pointset_point.py +06cd551d837fbc7a4ad2db9c4ba9441de17e6b777ebaab69c46e002d2950926d gencode/python/udmi/schema/model_policies.py 241c702f6a877f41c0ebd997c7e431ba8e6d6c0d1b21bc95a9fc57592ff094a7 gencode/python/udmi/schema/model_system.py 1db2fca012d3da953438b78acd2a5c15d94e46df8b77c459876e20ef2598dfbd gencode/python/udmi/schema/model_system_hardware.py 954806649d0e7364c482f84f75e19b01ce926990d64a79e76400f32043ddda66 gencode/python/udmi/schema/model_testing.py diff --git a/gencode/docs/events.html b/gencode/docs/events.html index aa764f7739..d0d304f669 100644 --- a/gencode/docs/events.html +++ b/gencode/docs/events.html @@ -10520,6 +10520,65 @@

+
+
+
+

+ +

+
+ +
+
+ + Type: integer
+

Represents the limit in seconds that a point can be unchanged for

+
+ + + + + +
+
Example:
+
3600
+
+
+
+
+
+
diff --git a/gencode/docs/events_discovery.html b/gencode/docs/events_discovery.html index c4cb4f3c2d..1698157db9 100644 --- a/gencode/docs/events_discovery.html +++ b/gencode/docs/events_discovery.html @@ -6168,6 +6168,58 @@

+
+
+
+

+ +

+
+ +
+
+ + Type: integer
+

Represents the limit in seconds that a point can be unchanged for

+
+ + + + + +
+
Example:
+
3600
+
+
+
+
+
+
diff --git a/gencode/docs/metadata.html b/gencode/docs/metadata.html index 23306200d0..efea74fa4c 100644 --- a/gencode/docs/metadata.html +++ b/gencode/docs/metadata.html @@ -6425,6 +6425,65 @@

+
+
+
+

+ +

+
+ +
+
+ + Type: integer
+

Represents the limit in seconds that a point can be unchanged for

+
+ + + + + +
+
Example:
+
3600
+
+
+
+
+
+
@@ -19972,6 +20031,72 @@

+
+
+
+

+ +

+
+ +
+
+ + Type: integer
+

Represents the limit in seconds that a point can be unchanged for

+
+ + + + + +
+
Example:
+
3600
+
+
+
+
+
+
diff --git a/gencode/java/udmi/schema/PointPointsetModel.java b/gencode/java/udmi/schema/PointPointsetModel.java index 83da8ebaf4..505fd741ca 100644 --- a/gencode/java/udmi/schema/PointPointsetModel.java +++ b/gencode/java/udmi/schema/PointPointsetModel.java @@ -29,6 +29,7 @@ "baseline_state", "range_min", "range_max", + "unchanged_limit_sec", "cov_increment", "ref", "adjunct", @@ -93,6 +94,13 @@ public class PointPointsetModel { @JsonProperty("range_max") @JsonPropertyDescription("Represents the upper bound of the error threshold for a point") public Double range_max; + /** + * Represents the limit in seconds that a point can be unchanged for + * + */ + @JsonProperty("unchanged_limit_sec") + @JsonPropertyDescription("Represents the limit in seconds that a point can be unchanged for") + public Integer unchanged_limit_sec; /** * Triggering threshold for partial cov update publishing * @@ -139,6 +147,7 @@ public int hashCode() { result = ((result* 31)+((this.ref == null)? 0 :this.ref.hashCode())); result = ((result* 31)+((this.baseline_value == null)? 0 :this.baseline_value.hashCode())); result = ((result* 31)+((this.range_max == null)? 0 :this.range_max.hashCode())); + result = ((result* 31)+((this.unchanged_limit_sec == null)? 0 :this.unchanged_limit_sec.hashCode())); result = ((result* 31)+((this.adjunct == null)? 0 :this.adjunct.hashCode())); result = ((result* 31)+((this.cov_increment == null)? 0 :this.cov_increment.hashCode())); return result; @@ -153,7 +162,7 @@ public boolean equals(Object other) { return false; } PointPointsetModel rhs = ((PointPointsetModel) other); - return ((((((((((((((this.baseline_state == rhs.baseline_state)||((this.baseline_state!= null)&&this.baseline_state.equals(rhs.baseline_state)))&&((this.range_min == rhs.range_min)||((this.range_min!= null)&&this.range_min.equals(rhs.range_min))))&&((this.description == rhs.description)||((this.description!= null)&&this.description.equals(rhs.description))))&&((this.units == rhs.units)||((this.units!= null)&&this.units.equals(rhs.units))))&&((this.baseline_tolerance == rhs.baseline_tolerance)||((this.baseline_tolerance!= null)&&this.baseline_tolerance.equals(rhs.baseline_tolerance))))&&((this.structure == rhs.structure)||((this.structure!= null)&&this.structure.equals(rhs.structure))))&&((this.writable == rhs.writable)||((this.writable!= null)&&this.writable.equals(rhs.writable))))&&((this.tags == rhs.tags)||((this.tags!= null)&&this.tags.equals(rhs.tags))))&&((this.ref == rhs.ref)||((this.ref!= null)&&this.ref.equals(rhs.ref))))&&((this.baseline_value == rhs.baseline_value)||((this.baseline_value!= null)&&this.baseline_value.equals(rhs.baseline_value))))&&((this.range_max == rhs.range_max)||((this.range_max!= null)&&this.range_max.equals(rhs.range_max))))&&((this.adjunct == rhs.adjunct)||((this.adjunct!= null)&&this.adjunct.equals(rhs.adjunct))))&&((this.cov_increment == rhs.cov_increment)||((this.cov_increment!= null)&&this.cov_increment.equals(rhs.cov_increment)))); + return (((((((((((((((this.baseline_state == rhs.baseline_state)||((this.baseline_state!= null)&&this.baseline_state.equals(rhs.baseline_state)))&&((this.range_min == rhs.range_min)||((this.range_min!= null)&&this.range_min.equals(rhs.range_min))))&&((this.description == rhs.description)||((this.description!= null)&&this.description.equals(rhs.description))))&&((this.units == rhs.units)||((this.units!= null)&&this.units.equals(rhs.units))))&&((this.baseline_tolerance == rhs.baseline_tolerance)||((this.baseline_tolerance!= null)&&this.baseline_tolerance.equals(rhs.baseline_tolerance))))&&((this.structure == rhs.structure)||((this.structure!= null)&&this.structure.equals(rhs.structure))))&&((this.writable == rhs.writable)||((this.writable!= null)&&this.writable.equals(rhs.writable))))&&((this.tags == rhs.tags)||((this.tags!= null)&&this.tags.equals(rhs.tags))))&&((this.ref == rhs.ref)||((this.ref!= null)&&this.ref.equals(rhs.ref))))&&((this.baseline_value == rhs.baseline_value)||((this.baseline_value!= null)&&this.baseline_value.equals(rhs.baseline_value))))&&((this.range_max == rhs.range_max)||((this.range_max!= null)&&this.range_max.equals(rhs.range_max))))&&((this.unchanged_limit_sec == rhs.unchanged_limit_sec)||((this.unchanged_limit_sec!= null)&&this.unchanged_limit_sec.equals(rhs.unchanged_limit_sec))))&&((this.adjunct == rhs.adjunct)||((this.adjunct!= null)&&this.adjunct.equals(rhs.adjunct))))&&((this.cov_increment == rhs.cov_increment)||((this.cov_increment!= null)&&this.cov_increment.equals(rhs.cov_increment)))); } diff --git a/gencode/java/udmi/schema/PoliciesModel.java b/gencode/java/udmi/schema/PoliciesModel.java new file mode 100644 index 0000000000..2bb257507a --- /dev/null +++ b/gencode/java/udmi/schema/PoliciesModel.java @@ -0,0 +1,50 @@ + +package udmi.schema; + +import java.util.List; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + * Policies Model + *

+ * Device policies + * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "rule_sets" +}) +public class PoliciesModel { + + /** + * An array of rule sets which are applicable to the device + * + */ + @JsonProperty("rule_sets") + @JsonPropertyDescription("An array of rule sets which are applicable to the device") + public List rule_sets; + + @Override + public int hashCode() { + int result = 1; + result = ((result* 31)+((this.rule_sets == null)? 0 :this.rule_sets.hashCode())); + return result; + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + if ((other instanceof PoliciesModel) == false) { + return false; + } + PoliciesModel rhs = ((PoliciesModel) other); + return ((this.rule_sets == rhs.rule_sets)||((this.rule_sets!= null)&&this.rule_sets.equals(rhs.rule_sets))); + } + +} diff --git a/gencode/python/udmi/schema/__init__.py b/gencode/python/udmi/schema/__init__.py index ced506c690..f76db767af 100644 --- a/gencode/python/udmi/schema/__init__.py +++ b/gencode/python/udmi/schema/__init__.py @@ -60,6 +60,7 @@ from .model_localnet_family import * from .model_pointset import * from .model_pointset_point import * +from .model_policies import * from .model_system import * from .model_system_hardware import * from .model_testing import * diff --git a/gencode/python/udmi/schema/model_pointset_point.py b/gencode/python/udmi/schema/model_pointset_point.py index 78d2690d6c..12b2eb9fdc 100644 --- a/gencode/python/udmi/schema/model_pointset_point.py +++ b/gencode/python/udmi/schema/model_pointset_point.py @@ -40,6 +40,7 @@ class PointPointsetModel(DataModel): baseline_state: Optional[BaselineState] = None range_min: Optional[float] = None range_max: Optional[float] = None + unchanged_limit_sec: Optional[int] = None cov_increment: Optional[float] = None ref: Optional[str] = None adjunct: Optional[Dict[str, str]] = None diff --git a/gencode/python/udmi/schema/model_policies.py b/gencode/python/udmi/schema/model_policies.py new file mode 100644 index 0000000000..b716bfe044 --- /dev/null +++ b/gencode/python/udmi/schema/model_policies.py @@ -0,0 +1,18 @@ +# generated by datamodel-codegen: +# filename: model_policies.json + +from __future__ import annotations + +from dataclasses import dataclass +from typing import List, Optional + +from ._base import DataModel + + +@dataclass +class PoliciesModel(DataModel): + """ + Device policies + """ + + rule_sets: Optional[List[str]] = None diff --git a/schema/metadata.json b/schema/metadata.json index c9190e5a29..f720a2a848 100644 --- a/schema/metadata.json +++ b/schema/metadata.json @@ -85,5 +85,8 @@ } } } + }, + "policies": { + "$ref": "file:model_policies.json#" } } diff --git a/schema/model_pointset_point.json b/schema/model_pointset_point.json index 5d1def63d5..b9729a678e 100644 --- a/schema/model_pointset_point.json +++ b/schema/model_pointset_point.json @@ -47,6 +47,11 @@ "type": "number", "examples": [100] }, + "unchanged_limit_sec": { + "description": "Represents the limit in seconds that a point can be unchanged for", + "type": "integer", + "examples": [3600] + }, "cov_increment": { "description": "Triggering threshold for partial cov update publishing", "examples": [1], diff --git a/schema/model_policies.json b/schema/model_policies.json new file mode 100644 index 0000000000..c32f20ee48 --- /dev/null +++ b/schema/model_policies.json @@ -0,0 +1,19 @@ +{ + "$udmi_version": "1.5.2", + "title": "Policies Model", + "description": "Device policies", + "type": "object", + "$schema": "http://json-schema.org/draft-04/schema#", + "additionalProperties": false, + "properties": { + "rule_sets": { + "description": "An array of rule sets which are applicable to the device", + "type": "array", + "items": { + "type": "string", + "pattern": "^[a-z_0-9]*$" + }, + "examples": [["ip", "mqtt"]] + } + } +}