--- /dev/null
+#ifndef XAPP_MODEL_SubscriptionParams_E2SubscriptionDirectives_H
+#define XAPP_MODEL_SubscriptionParams_E2SubscriptionDirectives_H
+#include "ModelBase.h"
+
+namespace xapp {
+namespace model {
+
+struct SubscriptionParams_E2SubscriptionDirectives: ModelBase {
+ int E2RetryCount;
+ int E2TimeoutTimerValue;
+ bool RMRRoutingNeeded;
+ json validator_schema = R"(
+ {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "SubscriptionParams_E2SubscriptionDirectives",
+ "description": "Optional. If not set Submgr uses its default values",
+ "properties": {
+ "E2RetryCount": {
+ "description": "How many times E2 subscription request is retried",
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 10
+ },
+ "E2TimeoutTimerValue": {
+ "description": "How long time response is waited from E2 node",
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 10
+ },
+ "RMRRoutingNeeded": {
+ "description": "Subscription needs RMR route from E2Term to xApp",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "E2TimeoutTimerValue",
+ "E2RetryCount",
+ "RMRRoutingNeeded"
+ ],
+ "type": "object"
+ })"_json;
+
+ virtual json get_validator_schema() const { return validator_schema; }
+};
+
+void from_json(const json& j, SubscriptionParams_E2SubscriptionDirectives& ref) {
+
+ std::cout << __PRETTY_FUNCTION__ << std::endl;
+
+ j.at("E2RetryCount").get_to(ref.E2RetryCount);
+ j.at("E2TimeoutTimerValue").get_to(ref.E2TimeoutTimerValue);
+ j.at("RMRRoutingNeeded").get_to(ref.RMRRoutingNeeded);
+}
+
+void to_json(json& j, const SubscriptionParams_E2SubscriptionDirectives& ref) {
+
+ j = json {
+ {"E2RetryCount", ref.E2RetryCount},
+ {"E2TimeoutTimerValue", ref.E2TimeoutTimerValue},
+ {"RMRRoutingNeeded", ref.RMRRoutingNeeded},
+ };
+}
+
+} /*namespace model*/
+} /*namespace xapp*/
+#endif /*XAPP_MODEL_SubscriptionParams_ClientEndpoint_H*/