diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn index dcb25d7f2b81b2f592f907ba6dcf6552959efde0..e6b7e67f80b8a563337b1b860b1e3edce789f74e 100644 --- a/LibOneM2M/OneM2M_Templates.ttcn +++ b/LibOneM2M/OneM2M_Templates.ttcn @@ -1019,6 +1019,16 @@ module OneM2M_Templates { primitiveContent := {container := m_contentCreateContainer} }; + /** + * @desc Base CREATE request primitive for DynamicAuthorizationConsultation resource + */ + template (value) RequestPrimitive m_createDynamicAuthorizationConsultationBase(in template (omit) XSD.String p_name, in template (value) XSD.Boolean p_dyn_auth_enabled) modifies m_create := { + requestIdentifier := testcasename() & "-m_createDynamicAuthorizationConsultation", + resourceType := int34, + primitiveContent := {dynamicAuthorizationConsultation := m_contentDynamicAuthorizationConsultation(p_dyn_auth_enabled, p_name)} + }; + + /** * @desc Base CREATE request primitive for ContainerAnnc resource */ @@ -1513,6 +1523,15 @@ module OneM2M_Templates { primitiveContent := {timeSeriesInstanceAnnc := mw_contentCreateTimeSeriesInstanceAnncBase} }; + /** + * @desc Base Reception template for CREATE DynamicAuthorizationC + */ + /*template (value) RequestPrimitive m_createDynamicAuthorizationConsultationBase modifies m_create := { + requestIdentifier := testcasename() & "-m_createDynamicAuthorizationConsultation", + resourceType := int10003, + primitiveContent := {dynamicAuthorizationConsultation := m_contentCreateContainerAnnc} + };*/ + }//end group Create group Delete { @@ -2807,6 +2826,29 @@ module OneM2M_Templates { choice := omit//NP }; + /** + * @desc Base primitiveContent for CREATE operation for DynamicAuthorizationConsultation resource + * @param p_name Resource name + */ + template (value) DynamicAuthorizationConsultation_optional m_contentDynamicAuthorizationConsultation (in template (value) XSD.Boolean p_dyn_auth_enabled, in template (omit) XSD.String p_name := c_dynamicAuthorizationConsultationName):= { + resourceName := p_name, //O + resourceType := omit, //NP + resourceID := omit, //NP + parentID := omit, //NP + creationTime := omit, //NP + lastModifiedTime := omit, //NP + labels := omit,//O + accessControlPolicyIDs := omit,//O + expirationTime := omit,//O + dynamicAuthorizationConsultationIDs := omit,//O + dynamicAuthorizationEnabled := p_dyn_auth_enabled,//M + dynamicAuthorizationPoA := omit,//O + dynamicAuthorizationLifetime := omit,//O + choice := omit + }; + + + /** * @desc Base primitiveContent for CREATE operation for ContainerAnnc resource * @param p_name Resource name diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn index 03902fad3ca9b4d79931e60c4da91a08b5457253..0d32cf1f2af819d333afb444c548d1fc11994b32 100644 --- a/LibOneM2M/OneM2M_Types.ttcn +++ b/LibOneM2M/OneM2M_Types.ttcn @@ -1646,24 +1646,24 @@ with { -type XSD.Token Ipv4 (pattern "([0-9A-Fa-f]#(8)(/([0-9]|[1-2][0-9]|3[0-2]))#(0,1))" & "|" & - "((25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])(/([0-9]|[1-2][0-9]|3[0-2]))#(0,1))") +type XSD.Token Ipv4 (pattern "([0-9A-Fa-f]#(8)(/([0-9]|[1-2][0-9]|3[0-2]))#(0,1))" & "|" & + "((25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])(/([0-9]|[1-2][0-9]|3[0-2]))#(0,1))") with { variant "name as uncapitalized"; }; -type XSD.Token Ipv6 (pattern "([0-9A-Fa-f]#(1,4)(:[0-9A-Fa-f]#(1,4))#7(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & - "(:(:[0-9A-Fa-f]#(1,4))#(1,7))" & "|" & //Double colon start - "(([0-9A-Fa-f]#(1,4):)#(1,6)(:[0-9A-Fa-f]#(1,4))#1(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & //Double colon middle - "(([0-9A-Fa-f]#(1,4):)#(1,5)(:[0-9A-Fa-f]#(1,4))#(1,2)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & - "(([0-9A-Fa-f]#(1,4):)#(1,4)(:[0-9A-Fa-f]#(1,4))#(1,3)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & - "(([0-9A-Fa-f]#(1,4):)#(1,3)(:[0-9A-Fa-f]#(1,4))#(1,4)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & - "(([0-9A-Fa-f]#(1,4):)#(1,2)(:[0-9A-Fa-f]#(1,4))#(1,5)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & - "(([0-9A-Fa-f]#(1,4):)#1(:[0-9A-Fa-f]#(1,4))#(1,6)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & - "(([0-9A-Fa-f]#(1,4):)#(1,7):(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & //Double colon end - "(((:(:0#(1,4))#(0,3)(:(0#(1,4)|[fF]#4))#(0,1))|(0#(1,4):(:0#(1,4))#(0,2)(:(0#(1,4)|[fF]#4))#(0,1))|((0#(1,4):)#2(:0#(1,4))#(0,1)(:(0#(1,4)|[fF]#4))#(0,1))|((0#(1,4):)#3(:(0#(1,4)|[fF]#4))#(0,1))|((0#(1,4):)#4(0#(1,4)|[fF]#4)#(0,1))):(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9]))" & "|" & //Embedded IPv4 addresses without CIDR suffix. Should IPv4 CIDR suffix be added - "(::(/0)#(0,1))") //The unspecified address +type XSD.Token Ipv6 (pattern "([0-9A-Fa-f]#(1,4)(:[0-9A-Fa-f]#(1,4))#7(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & +"(:(:[0-9A-Fa-f]#(1,4))#(1,7))" & "|" & //Double colon start +"(([0-9A-Fa-f]#(1,4):)#(1,6)(:[0-9A-Fa-f]#(1,4))#1(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & //Double colon middle +"(([0-9A-Fa-f]#(1,4):)#(1,5)(:[0-9A-Fa-f]#(1,4))#(1,2)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & +"(([0-9A-Fa-f]#(1,4):)#(1,4)(:[0-9A-Fa-f]#(1,4))#(1,3)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & +"(([0-9A-Fa-f]#(1,4):)#(1,3)(:[0-9A-Fa-f]#(1,4))#(1,4)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & +"(([0-9A-Fa-f]#(1,4):)#(1,2)(:[0-9A-Fa-f]#(1,4))#(1,5)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & +"(([0-9A-Fa-f]#(1,4):)#1(:[0-9A-Fa-f]#(1,4))#(1,6)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & +"(([0-9A-Fa-f]#(1,4):)#(1,7):(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & //Double colon end +"(((:(:0#(1,4))#(0,3)(:(0#(1,4)|[fF]#4))#(0,1))|(0#(1,4):(:0#(1,4))#(0,2)(:(0#(1,4)|[fF]#4))#(0,1))|((0#(1,4):)#2(:0#(1,4))#(0,1)(:(0#(1,4)|[fF]#4))#(0,1))|((0#(1,4):)#3(:(0#(1,4)|[fF]#4))#(0,1))|((0#(1,4):)#4(0#(1,4)|[fF]#4)#(0,1))):(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9]))" & "|" & //Embedded IPv4 addresses without CIDR suffix. Should IPv4 CIDR suffix be added +"(::(/0)#(0,1))") //The unspecified address with { variant "name as uncapitalized"; @@ -1835,7 +1835,7 @@ with { type XSD.String ScheduleEntry (pattern "(((([*]|(([1-5]#(0,1)\d)\-([1-5]#(0,1)\d)))(\/([1-5]#(0,1)\d))#(0,1)|([1-5]#(0,1)\d))\,)#(0,)((([*]|(([1-5]#(0,1)\d)\-([1-5]#(0,1)\d)))(\/([1-5]#(0,1)\d))#(0,1))|([1-5]#(0,1)\d))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,))#2((([*]|((1#(0,1)\d|2[0-3])\-(1#(0,1)\d|2[0-3])))(\/1#(0,1)\d|2[0-3])#(0,1)|(1#(0,1)\d|2[0-3]))\,)#(0,)((([*]|((1#(0,1)\d|2[0-3])\-(1#(0,1)\d|2[0-3])))(\/1#(0,1)\d|2[0-3])#(0,1))|(1#(0,1)\d|2[0-3]))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)((([*]|(([1-9]|1\d|2\d|3[01])\-([1-9]|1\d|2\d|3[01])))(\/[1-9]|1\d|2\d|3[01])#(0,1)|([1-9]|1\d|2\d|3[01]))\,)#(0,)((([*]|(([1-9]|1\d|2\d|3[01])\-([1-9]|1\d|2\d|3[01])))(\/[1-9]|1\d|2\d|3[01])#(0,1))|([1-9]|1\d|2\d|3[01]))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)((([*]|(([1-9]|1[0-2])\-([1-9]|1[0-2])))(\/[1-9]|1[0-2])#(0,1)|([1-9]|1[0-2]))\,)#(0,)((([*]|(([1-9]|1[0-2])\-([1-9]|1[0-2])))(\/[1-9]|1[0-2])#(0,1))|([1-9]|1[0-2]))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)((([*]|(([0-6])\-([0-6])))(\/[0-6])#(0,1)|([0-6]))\,)#(0,)((([*]|(([0-6])\-([0-6])))(\/[0-6])#(0,1))|([0-6]))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)((([*]|(([2-9]\d\d\d)\-([2-9]\d\d\d)))(\/\d#(0,1)\d#(0,1)\d#(0,1)\d)#(0,1)|([2-9]\d\d\d))\,)#(0,)((([*]|(([2-9]\d\d\d)\-([2-9]\d\d\d)))(\/\d#(0,1)\d#(0,1)\d#(0,1)\d)#(0,1))|([2-9]\d\d\d))") - //"(([*]|[1-5]#(0,1)\d([,\-\/][1-5]#(0,1)\d)#(0,))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,))#2([*]|((1#(0,1)\d|2[0-3])([,\-\/](1#(0,1)\d|2[0-3]))#(0,)))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)([*]|(([1-9]|1\d|2\d|3[01])([,\-\/]([1-9]|1\d|2\d|3[01]))#(0,)))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)([*]|(([1-9]|1[0-2])([,\-\/]([1-9]|1[0-2]))#(0,)))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)([*]|([0-6]([,\-\/][0-6])#(0,)))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)([*](/\d#(0,1)\d#(0,1)\d#(0,1)\d)#(0,1))|(([2-9]\d\d\d)([,\-][2-9]\d\d\d[,]#(0,1))#(0,1)([/]\d#(0,1)\d#(0,1)\d#(0,1)\d[,]#(0,1))#(0,1))#(0,)") +//"(([*]|[1-5]#(0,1)\d([,\-\/][1-5]#(0,1)\d)#(0,))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,))#2([*]|((1#(0,1)\d|2[0-3])([,\-\/](1#(0,1)\d|2[0-3]))#(0,)))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)([*]|(([1-9]|1\d|2\d|3[01])([,\-\/]([1-9]|1\d|2\d|3[01]))#(0,)))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)([*]|(([1-9]|1[0-2])([,\-\/]([1-9]|1[0-2]))#(0,)))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)([*]|([0-6]([,\-\/][0-6])#(0,)))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)([*](/\d#(0,1)\d#(0,1)\d#(0,1)\d)#(0,1))|(([2-9]\d\d\d)([,\-][2-9]\d\d\d[,]#(0,1))#(0,1)([/]\d#(0,1)\d#(0,1)\d#(0,1)\d[,]#(0,1))#(0,1))#(0,)") with { variant "name as uncapitalized"; }; @@ -2091,6 +2091,7 @@ type union PrimitiveContent { TimeSeriesAnnc_optional timeSeriesAnnc, TimeSeriesInstanceAnnc_optional timeSeriesInstanceAnnc, GenericInterworkingService_optional genericInterworkingService, + DynamicAuthorizationConsultation_optional dynamicAuthorizationConsultation, GenericInterworkingOperationInstance_optional genericInterworkingOperationInstance, //SecurityInfo SecurityInfo securityInfo, @@ -2118,6 +2119,7 @@ type union PrimitiveContent { Subscription_update_invalid subscription_update_invalid, LocationPolicy_update_invalid locationPolicy_update_invalid, TimeSeries_update_invalid timeSeries_update_invalid + } @@ -3983,6 +3985,9 @@ with { }; + + + type enumerated ResourceType { int1(1), @@ -6363,7 +6368,7 @@ with { variant "name as 'representation'"; variant (uRI) "name as capitalized"; }; - + type record OntologyRepository @@ -10227,7 +10232,41 @@ group OptionalResourceTypes { variant (resourceName) "attribute"; }; - + type record DynamicAuthorizationConsultation_optional + { + ResourceName resourceName optional, + ResourceType resourceType optional, + XSD.ID resourceID optional, + NhURI parentID optional, + Timestamp creationTime optional, + Timestamp lastModifiedTime optional, + Labels labels optional, + AcpType accessControlPolicyIDs optional, + Timestamp expirationTime optional, + ListOfURIs dynamicAuthorizationConsultationIDs optional, + XSD.Boolean dynamicAuthorizationEnabled, + ListOfURIs dynamicAuthorizationPoA optional, + Timestamp dynamicAuthorizationLifetime optional, + union { + record length(1 .. infinity) of ChildResourceRef childResource_list, + record length(1 .. infinity) of union { + Subscription subscription, + Transaction transaction + } choice_list + } choice optional + } + with { + variant "name as uncapitalized"; + variant "element"; + variant (resourceName) "attribute"; + //variant (dynamicAuthorizationEnabled) "text 'true' as '1'"; + //variant (dynamicAuthorizationEnabled) "text 'false' as '0'"; + variant (choice) "untagged"; + variant (choice.childResource_list) "untagged"; + variant (choice.childResource_list[-]) "name as 'childResource'"; + variant (choice.choice_list) "untagged"; + variant (choice.choice_list[-]) "untagged"; + }; }//end group OptionalResourceTypes @@ -10752,7 +10791,7 @@ group OtherTypes { e_coap (1), e_mqtt (2), e_wsck (3) - } +} /** * @desc Authorized serialization protocols