Loading yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang +172 −149 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ module _3gpp-5gc-nrm-managed-nfprofile { organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "NF profile class. description "NF profile dataType. Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 29.510"; Loading Loading @@ -85,11 +85,12 @@ revision 2025-07-25 { reference CR-1558 ; } shall be evaluated to determine whether a discovered NF (Service) Instance shall be selected."; leaf consumerNfTypes { leaf-list consumerNfTypes { description "It represents the NF types of the consumers for which the conditions included in this ConditionItem apply. If this attribute is absent, the conditions are applicable to all NF consumer types."; min-elements 1; type types3gpp:NfType; } leaf serviceFeature { Loading Loading @@ -149,10 +150,11 @@ revision 2025-07-25 { reference CR-1558 ; } leaf idx { type uint32; } uses IdentityRange; } leaf peiList { leaf-list peiList { description "It represents a set of PEIs of the UEs for which the NF (Service) instance under CANARY_RELEASE status shall be selected"; shall be selected."; min-elements 1; type string; } list taiRangeList { Loading @@ -164,19 +166,37 @@ revision 2025-07-25 { reference CR-1558 ; } leaf idx { type uint32; } uses types5g3gpp:TaiRangeGrp; } leaf dnnList { description " It represents a set of TAIs where the NF leaf-list dnnList { description "It represents a set of DNNs where the NF (Service) instance under CANARY_RELEASE status shall be selected for a certain UE"; selected."; min-elements 1; type string; } } grouping ConditionGroupGrp { description "This <<choice>> represents a group of conditions that shall be evaluated to determine whether a discovered NF (Service) Instanceshall be selected. (See clause 6.1.6.2.125 TS 29.510 [23])."; grouping SelectionConditionsGrp { description "This data type represents the list of conditions that shall be selected by an NF Service Consumer."; reference "See clause 6.1.6.2.123 TS 29.510 [23]"; list conditionItem { key "id"; description "It represent a single condition item that shall be evaluated to determine whether a discovered NF (Service) Instance shall be selected."; leaf id { type string; } uses ConditionItemGrp; } container conditionGroup { description "It represents a group of conditions that shall be evaluated."; // Note: ConditionGroupGrp references SelectionConditionsGrp // creating a circular dependency. Inlined one level to avoid it. choice LogicalOperator { case and { list and { Loading @@ -185,47 +205,33 @@ revision 2025-07-25 { reference CR-1558 ; } in the list are evaluated as true."; key idx; leaf idx { type uint32; } uses SelectionConditionsGrp; list conditionItem { key "id"; description "It represent a single condition item that shall be evaluated."; leaf id { type string; } uses ConditionItemGrp; } } } case or { list or { description "It represents a list of conditions where the overall evaluation is true if at least one of the conditions in the list evaluated as true"; overall evaluation is true if at least one of the conditions in the list is evaluated as true."; key idx; leaf idx { type uint32; } uses SelectionConditionsGrp; } list conditionItem { key "id"; description "It represent a single condition item that shall be evaluated."; leaf id { type string; } uses ConditionItemGrp; } } } grouping SelectionConditionsGrp { description "This data type represents the list of conditions that shall be selected by an NF Service Consumer."; reference "(See clause 6.1.6.2.123 TS 29.510 [23])"; list conditionItem{ key "id"; description "It represent a single condition item that shall be evaluated Instance shall be selected."; leaf id{ type string; } uses ConditionItemGrp; } // circular dependency for grouping "ConditionGroupGrp" introduced in //stage 2 // container conditionGroup{ // description "It represents a group of conditions // that shall be evaluated"; // uses ConditionGroupGrp; // } } grouping IdentityRange { Loading @@ -242,6 +248,8 @@ revision 2025-07-25 { reference CR-1558 ; } } grouping ManagedNFProfileGrp { description "Represents the ManagedNFProfile <<dataType>> as defined in clause 5.3.54 of 3GPP TS 28.541."; leaf nfInstanceId { description "String uniquely identifying a NF instance."; Loading Loading @@ -380,12 +388,16 @@ grouping ManagedNFProfileGrp { uses types5g3gpp:SNssai; } // list allowedRuleSet { // description "S-NSSAI of the allowed slices to access the NF instance. // If not provided, any slice is allowed to access the NF."; // key "sst sd"; // uses RuleSet;? // } list allowedRuleSet { description "It represents map of rules specifying NF-Consumers allowed or denied to access the NF-Producer. It may be present when the NF-Producer and the NRF support Allowed-ruleset feature as specified in clause 6.1.9."; reference "3GPP TS 29.510"; key idx; leaf idx { type uint32; } uses types5g3gpp:RuleSetGrp; } leaf locality { description "Operator defined information about the location of the NF instance (e.g. geographic location, data center)."; Loading @@ -412,21 +424,24 @@ grouping ManagedNFProfileGrp { description "Dynamic load information, ranged from 0 to 100, indicates the current load percentage of the NF."; type types3gpp:Load; config false; } leaf loadTimeStamp { description "It indicates the point in time in which the latest load information (sent by the NF in the load attribute of the NF Profile) was generated at the NF Instance.If the NF did not provide a timestamp, the NRF should set it to the instant when the NRF received the message where the NF provided the latest load information."; was generated at the NF Instance. If the NF did not provide a timestamp, the NRF should set it to the instant when the NRF received the message where the NF provided the latest load information."; type yang:date-and-time; config false; } leaf-list recoveryTime { description "Timestamp when the NF was (re)started. The NRF shall notify NFs subscribed to receiving notifications of changes of the NF profile, if the NF recoveryTime is changed"; leaf recoveryTime { description "Timestamp when the NF was (re)started. The NRF shall notify NFs subscribed to receiving notifications of changes of the NF profile, if the NF recoveryTime is changed."; type yang:date-and-time; config false; } leaf nfServicePersistence { description "This parameter indicates whether the different service Loading @@ -434,9 +449,10 @@ grouping ManagedNFProfileGrp { API version, are capable to persist their resource state in shared storage and therefore these resources are available after a new NF service instance supporting the same API version is selected by a NF Service Consumer "; Service Consumer."; reference "TS 29.510"; type boolean; config false; } leaf-list nfSetIdList { type string ; Loading @@ -452,33 +468,32 @@ grouping ManagedNFProfileGrp { in a SNPN.At most one NF Set ID shall be indicated per PLMN-ID or SNPN of the NF."; } leaf-list nfProfileChangesSupportInd { description "This parameter indicates if the NF Service Consumer supports or does not support receiving NF Profile Changes. It may be present in the NFRegister or NFUpdate (NF Profile Complete Replacement) request and shall be absent in the response (see Annex B 3GPP TS 29.510 [23]). "; max-elements 1; leaf nfProfileChangesSupportInd { description "This parameter indicates if the NF Service Consumer supports or does not support receiving NF Profile Changes. It may be present in the NFRegister or NFUpdate (NF Profile Complete Replacement) request and shall be absent in the response."; reference "Annex B 3GPP TS 29.510 [23]"; type boolean; config false; } leaf-list nfProfilePartialUpdateChangesSupportInd { leaf nfProfilePartialUpdateChangesSupportInd { description "It represents NF Profile Partial Update Changes Support Indicator. TRUE: the NF Service Consumer supports receiving NF Profile Changes in the response to an NF Profile Partial Update operation. FALSE (default): the NF Service Consumer does not support receiving NF Profile Changes in the response to an NF Profile Partial Update operation"; max-elements 1; Indicator. TRUE: the NF Service Consumer supports receiving NF Profile Changes in the response to an NF Profile Partial Update operation. FALSE (default): the NF Service Consumer does not support receiving NF Profile Changes in the response to an NF Profile Partial Update operation."; type boolean; } leaf-list nfProfileChangesInd { leaf nfProfileChangesInd { description "NF Profile Changes Indicator. This IE shall be absent in the request to the NRF and may be included by the NRF in NFRegister or NFUpdate (NF Profile Complete Replacement) response. in the request to the NRF and may be included by the NRF in NFRegister or NFUpdate (NF Profile Complete Replacement) response. true: the NF Profile contains NF Profile changes. false (default): complete NF Profile."; type boolean; max-elements 1; config false; } list defaultNotificationSubscriptions { description "Notification endpoints for different notification types. Loading @@ -487,6 +502,7 @@ grouping ManagedNFProfileGrp { as alternative notification endpoints."; key notificationType; min-elements 1; config false; uses types3gpp:DefaultNotificationSubscription; } leaf servingScope { Loading Loading @@ -546,10 +562,10 @@ grouping ManagedNFProfileGrp { for inter-PLMN routing is specified."; type inet:domain-name; } list nfServices { list nfServiceList { description "List of NF Service Instances. It shall include the services produced by the NF that can be discovered by other NFs."; the services produced by the NF that can be discovered by other NFs."; key serviceInstanceID; min-elements 1; uses nfs3gpp:NFServiceGrp; Loading @@ -561,6 +577,7 @@ grouping ManagedNFProfileGrp { a list (array) of VendorSpecificFeature objects as defined in the clause 5.3.247."; key "enterpriseCode"; config false; leaf enterpriseCode { type uint32; Loading @@ -577,34 +594,37 @@ grouping ManagedNFProfileGrp { } list selectionConditions { description "Identifications of Credentials Holder or Default Credentials Server. It is an array of FQDN."; description "This attribute includes the conditions under which an NF Instance with an NFStatus value set to CANARY_RELEASE, or with a canaryRelease attribute set to true, shall be selected by an NF Service Consumer."; leaf idx { type uint32; } key "idx"; max-elements 1; uses SelectionConditionsGrp; } leaf-list canaryRelease { leaf canaryRelease { description "This attribute indicates whether an NF instance whose nfStatus is set to REGISTERED is in Canary Release condition, i.e. it should only be selected by NF Service Consumers under the conditions indicated by the selectionConditions attribute. True: the NF is under Canary Release condition, even if the nfStatus is set to REGISTERED nfStatus is set to REGISTERED. False: the NF instance indicates its Canary Release condition via the nfStatus attribute"; max-elements 1; via the nfStatus attribute."; type boolean; default false; } leaf-list exclusiveCanaryReleaseSelection { description "This attribute indicates whether an NF Service Consumer should only select an NF Service Producer in Canary Release condition. leaf exclusiveCanaryReleaseSelection { description "This attribute indicates whether an NF Service Consumer should only select an NF Service Producer in Canary Release condition. True: the consumer shall only select producers in Canary Release condition condition. False: the consumer may select producers not in Canary Release condition"; max-elements 1; condition."; type boolean; default false; } leaf sharedProfileDataId { description "This attribute indicates a string uniquely identifying Loading @@ -616,16 +636,18 @@ grouping ManagedNFProfileGrp { Example: 4ace9d34-2c69-4f99-92d5-a73a3fe8e23b"; type string; } leaf-list shutdownTime { leaf shutdownTime { description "It indicates the timestamp when the NF Instance is planned to be shut down. This attribute may be present if the nfStatus is set to UNDISCOVERABLE due to scheduled shutdown"; nfStatus is set to UNDISCOVERABLE due to scheduled shutdown."; type yang:date-and-time; max-elements 1; config false; } leaf supportedRcfs { description "It represents a list of Resource Content Filter IDs"; leaf-list supportedRcfs { description "It represents a list of Resource Content Filter IDs."; type string; min-elements 1; config false; } leaf canaryPrecedenceOverPreferred { description "ManagedNFProfile.canaryPrecedenceOverPreferred This Loading @@ -644,14 +666,15 @@ grouping ManagedNFProfileGrp { in NF Service Producers shall not be prioritized over NF Service Consumer preferences at NF discovery requests)"; type boolean; default false; } } typedef NFStatus { type enumeration { enum REGISTERED; enum SUSPENDED; } } } } yang-models/_3gpp-5gc-nrm-nfservice.yang +20 −16 Original line number Diff line number Diff line Loading @@ -8,15 +8,16 @@ module _3gpp-5gc-nrm-nfservice { import ietf-yang-types { prefix yang; } import ietf-inet-types { prefix inet; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "NF service class. description "NF service dataType. Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 29.510"; revision 2025-03-25 { reference CR-; } revision 2025-01-25 { reference CR-1442; } revision 2023-09-18 { reference CR-1043 ; } revision 2021-01-25 { reference CR-0454 ; } Loading @@ -24,7 +25,7 @@ module _3gpp-5gc-nrm-nfservice { revision 2019-06-17 { reference "initial revision"; } grouping NFServiceGrp { description "Represents the NFService IOC"; description "This data type represents the NF Service defined in TS 29.510 [23]."; leaf serviceInstanceID { description "Unique ID of the service instance within a given NF Instance."; Loading Loading @@ -144,6 +145,18 @@ module _3gpp-5gc-nrm-nfservice { key "sd sst"; uses types5g3gpp:SNssai; } list allowedScopesRuleSet { description "It represents map of rules specifying scopes allowed or denied for NF-Consumers. This attribute may be present when the NF-Producer and the NRF support Allowed-ruleset feature as specified in clause 6.1.9 in TS 29.510."; //optional support key idx; leaf idx { type uint32; } uses types5g3gpp:RuleSetGrp; } leaf-list allowedOperationsPerNfType { description "It indicates the allowed operations on resources for each type of NF; the key of the map is the NF Type, and the value Loading Loading @@ -255,7 +268,8 @@ module _3gpp-5gc-nrm-nfservice { leaf enterpriseCode { type uint32; description "IANA-assigned SMI Network Management Private Enterprise Code"; description "IANA-assigned SMI Network Management Private Enterprise Code"; } list vendorSpecificFeature { Loading Loading @@ -292,17 +306,6 @@ module _3gpp-5gc-nrm-nfservice { uses types5g3gpp:PlmnSnssai; } list allowedScopesRuleSet { description "It represents map of rules specifying scopes allowed or denied for NF-Consumers. This attribute may be present when the NF-Producer and the NRF support Allowed-ruleset feature as specified in clause 6.1.9 in TS 29.510."; //optional support key idx; leaf idx { type uint32; } uses types5g3gpp:RuleSetGrp; } leaf canaryRelease { description "This attribute indicates whether an NF instance whose nfStatus is set to REGISTERED is in Canary Release condition, i.e. Loading Loading @@ -379,7 +382,8 @@ module _3gpp-5gc-nrm-nfservice { leaf enterpriseCode { type uint32; description "IANA-assigned SMI Network Management Private Enterprise Code"; description "IANA-assigned SMI Network Management Private Enterprise Code"; } list vendorSpecificFeature { Loading Loading
yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang +172 −149 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ module _3gpp-5gc-nrm-managed-nfprofile { organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "NF profile class. description "NF profile dataType. Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 29.510"; Loading Loading @@ -85,11 +85,12 @@ revision 2025-07-25 { reference CR-1558 ; } shall be evaluated to determine whether a discovered NF (Service) Instance shall be selected."; leaf consumerNfTypes { leaf-list consumerNfTypes { description "It represents the NF types of the consumers for which the conditions included in this ConditionItem apply. If this attribute is absent, the conditions are applicable to all NF consumer types."; min-elements 1; type types3gpp:NfType; } leaf serviceFeature { Loading Loading @@ -149,10 +150,11 @@ revision 2025-07-25 { reference CR-1558 ; } leaf idx { type uint32; } uses IdentityRange; } leaf peiList { leaf-list peiList { description "It represents a set of PEIs of the UEs for which the NF (Service) instance under CANARY_RELEASE status shall be selected"; shall be selected."; min-elements 1; type string; } list taiRangeList { Loading @@ -164,19 +166,37 @@ revision 2025-07-25 { reference CR-1558 ; } leaf idx { type uint32; } uses types5g3gpp:TaiRangeGrp; } leaf dnnList { description " It represents a set of TAIs where the NF leaf-list dnnList { description "It represents a set of DNNs where the NF (Service) instance under CANARY_RELEASE status shall be selected for a certain UE"; selected."; min-elements 1; type string; } } grouping ConditionGroupGrp { description "This <<choice>> represents a group of conditions that shall be evaluated to determine whether a discovered NF (Service) Instanceshall be selected. (See clause 6.1.6.2.125 TS 29.510 [23])."; grouping SelectionConditionsGrp { description "This data type represents the list of conditions that shall be selected by an NF Service Consumer."; reference "See clause 6.1.6.2.123 TS 29.510 [23]"; list conditionItem { key "id"; description "It represent a single condition item that shall be evaluated to determine whether a discovered NF (Service) Instance shall be selected."; leaf id { type string; } uses ConditionItemGrp; } container conditionGroup { description "It represents a group of conditions that shall be evaluated."; // Note: ConditionGroupGrp references SelectionConditionsGrp // creating a circular dependency. Inlined one level to avoid it. choice LogicalOperator { case and { list and { Loading @@ -185,47 +205,33 @@ revision 2025-07-25 { reference CR-1558 ; } in the list are evaluated as true."; key idx; leaf idx { type uint32; } uses SelectionConditionsGrp; list conditionItem { key "id"; description "It represent a single condition item that shall be evaluated."; leaf id { type string; } uses ConditionItemGrp; } } } case or { list or { description "It represents a list of conditions where the overall evaluation is true if at least one of the conditions in the list evaluated as true"; overall evaluation is true if at least one of the conditions in the list is evaluated as true."; key idx; leaf idx { type uint32; } uses SelectionConditionsGrp; } list conditionItem { key "id"; description "It represent a single condition item that shall be evaluated."; leaf id { type string; } uses ConditionItemGrp; } } } grouping SelectionConditionsGrp { description "This data type represents the list of conditions that shall be selected by an NF Service Consumer."; reference "(See clause 6.1.6.2.123 TS 29.510 [23])"; list conditionItem{ key "id"; description "It represent a single condition item that shall be evaluated Instance shall be selected."; leaf id{ type string; } uses ConditionItemGrp; } // circular dependency for grouping "ConditionGroupGrp" introduced in //stage 2 // container conditionGroup{ // description "It represents a group of conditions // that shall be evaluated"; // uses ConditionGroupGrp; // } } grouping IdentityRange { Loading @@ -242,6 +248,8 @@ revision 2025-07-25 { reference CR-1558 ; } } grouping ManagedNFProfileGrp { description "Represents the ManagedNFProfile <<dataType>> as defined in clause 5.3.54 of 3GPP TS 28.541."; leaf nfInstanceId { description "String uniquely identifying a NF instance."; Loading Loading @@ -380,12 +388,16 @@ grouping ManagedNFProfileGrp { uses types5g3gpp:SNssai; } // list allowedRuleSet { // description "S-NSSAI of the allowed slices to access the NF instance. // If not provided, any slice is allowed to access the NF."; // key "sst sd"; // uses RuleSet;? // } list allowedRuleSet { description "It represents map of rules specifying NF-Consumers allowed or denied to access the NF-Producer. It may be present when the NF-Producer and the NRF support Allowed-ruleset feature as specified in clause 6.1.9."; reference "3GPP TS 29.510"; key idx; leaf idx { type uint32; } uses types5g3gpp:RuleSetGrp; } leaf locality { description "Operator defined information about the location of the NF instance (e.g. geographic location, data center)."; Loading @@ -412,21 +424,24 @@ grouping ManagedNFProfileGrp { description "Dynamic load information, ranged from 0 to 100, indicates the current load percentage of the NF."; type types3gpp:Load; config false; } leaf loadTimeStamp { description "It indicates the point in time in which the latest load information (sent by the NF in the load attribute of the NF Profile) was generated at the NF Instance.If the NF did not provide a timestamp, the NRF should set it to the instant when the NRF received the message where the NF provided the latest load information."; was generated at the NF Instance. If the NF did not provide a timestamp, the NRF should set it to the instant when the NRF received the message where the NF provided the latest load information."; type yang:date-and-time; config false; } leaf-list recoveryTime { description "Timestamp when the NF was (re)started. The NRF shall notify NFs subscribed to receiving notifications of changes of the NF profile, if the NF recoveryTime is changed"; leaf recoveryTime { description "Timestamp when the NF was (re)started. The NRF shall notify NFs subscribed to receiving notifications of changes of the NF profile, if the NF recoveryTime is changed."; type yang:date-and-time; config false; } leaf nfServicePersistence { description "This parameter indicates whether the different service Loading @@ -434,9 +449,10 @@ grouping ManagedNFProfileGrp { API version, are capable to persist their resource state in shared storage and therefore these resources are available after a new NF service instance supporting the same API version is selected by a NF Service Consumer "; Service Consumer."; reference "TS 29.510"; type boolean; config false; } leaf-list nfSetIdList { type string ; Loading @@ -452,33 +468,32 @@ grouping ManagedNFProfileGrp { in a SNPN.At most one NF Set ID shall be indicated per PLMN-ID or SNPN of the NF."; } leaf-list nfProfileChangesSupportInd { description "This parameter indicates if the NF Service Consumer supports or does not support receiving NF Profile Changes. It may be present in the NFRegister or NFUpdate (NF Profile Complete Replacement) request and shall be absent in the response (see Annex B 3GPP TS 29.510 [23]). "; max-elements 1; leaf nfProfileChangesSupportInd { description "This parameter indicates if the NF Service Consumer supports or does not support receiving NF Profile Changes. It may be present in the NFRegister or NFUpdate (NF Profile Complete Replacement) request and shall be absent in the response."; reference "Annex B 3GPP TS 29.510 [23]"; type boolean; config false; } leaf-list nfProfilePartialUpdateChangesSupportInd { leaf nfProfilePartialUpdateChangesSupportInd { description "It represents NF Profile Partial Update Changes Support Indicator. TRUE: the NF Service Consumer supports receiving NF Profile Changes in the response to an NF Profile Partial Update operation. FALSE (default): the NF Service Consumer does not support receiving NF Profile Changes in the response to an NF Profile Partial Update operation"; max-elements 1; Indicator. TRUE: the NF Service Consumer supports receiving NF Profile Changes in the response to an NF Profile Partial Update operation. FALSE (default): the NF Service Consumer does not support receiving NF Profile Changes in the response to an NF Profile Partial Update operation."; type boolean; } leaf-list nfProfileChangesInd { leaf nfProfileChangesInd { description "NF Profile Changes Indicator. This IE shall be absent in the request to the NRF and may be included by the NRF in NFRegister or NFUpdate (NF Profile Complete Replacement) response. in the request to the NRF and may be included by the NRF in NFRegister or NFUpdate (NF Profile Complete Replacement) response. true: the NF Profile contains NF Profile changes. false (default): complete NF Profile."; type boolean; max-elements 1; config false; } list defaultNotificationSubscriptions { description "Notification endpoints for different notification types. Loading @@ -487,6 +502,7 @@ grouping ManagedNFProfileGrp { as alternative notification endpoints."; key notificationType; min-elements 1; config false; uses types3gpp:DefaultNotificationSubscription; } leaf servingScope { Loading Loading @@ -546,10 +562,10 @@ grouping ManagedNFProfileGrp { for inter-PLMN routing is specified."; type inet:domain-name; } list nfServices { list nfServiceList { description "List of NF Service Instances. It shall include the services produced by the NF that can be discovered by other NFs."; the services produced by the NF that can be discovered by other NFs."; key serviceInstanceID; min-elements 1; uses nfs3gpp:NFServiceGrp; Loading @@ -561,6 +577,7 @@ grouping ManagedNFProfileGrp { a list (array) of VendorSpecificFeature objects as defined in the clause 5.3.247."; key "enterpriseCode"; config false; leaf enterpriseCode { type uint32; Loading @@ -577,34 +594,37 @@ grouping ManagedNFProfileGrp { } list selectionConditions { description "Identifications of Credentials Holder or Default Credentials Server. It is an array of FQDN."; description "This attribute includes the conditions under which an NF Instance with an NFStatus value set to CANARY_RELEASE, or with a canaryRelease attribute set to true, shall be selected by an NF Service Consumer."; leaf idx { type uint32; } key "idx"; max-elements 1; uses SelectionConditionsGrp; } leaf-list canaryRelease { leaf canaryRelease { description "This attribute indicates whether an NF instance whose nfStatus is set to REGISTERED is in Canary Release condition, i.e. it should only be selected by NF Service Consumers under the conditions indicated by the selectionConditions attribute. True: the NF is under Canary Release condition, even if the nfStatus is set to REGISTERED nfStatus is set to REGISTERED. False: the NF instance indicates its Canary Release condition via the nfStatus attribute"; max-elements 1; via the nfStatus attribute."; type boolean; default false; } leaf-list exclusiveCanaryReleaseSelection { description "This attribute indicates whether an NF Service Consumer should only select an NF Service Producer in Canary Release condition. leaf exclusiveCanaryReleaseSelection { description "This attribute indicates whether an NF Service Consumer should only select an NF Service Producer in Canary Release condition. True: the consumer shall only select producers in Canary Release condition condition. False: the consumer may select producers not in Canary Release condition"; max-elements 1; condition."; type boolean; default false; } leaf sharedProfileDataId { description "This attribute indicates a string uniquely identifying Loading @@ -616,16 +636,18 @@ grouping ManagedNFProfileGrp { Example: 4ace9d34-2c69-4f99-92d5-a73a3fe8e23b"; type string; } leaf-list shutdownTime { leaf shutdownTime { description "It indicates the timestamp when the NF Instance is planned to be shut down. This attribute may be present if the nfStatus is set to UNDISCOVERABLE due to scheduled shutdown"; nfStatus is set to UNDISCOVERABLE due to scheduled shutdown."; type yang:date-and-time; max-elements 1; config false; } leaf supportedRcfs { description "It represents a list of Resource Content Filter IDs"; leaf-list supportedRcfs { description "It represents a list of Resource Content Filter IDs."; type string; min-elements 1; config false; } leaf canaryPrecedenceOverPreferred { description "ManagedNFProfile.canaryPrecedenceOverPreferred This Loading @@ -644,14 +666,15 @@ grouping ManagedNFProfileGrp { in NF Service Producers shall not be prioritized over NF Service Consumer preferences at NF discovery requests)"; type boolean; default false; } } typedef NFStatus { type enumeration { enum REGISTERED; enum SUSPENDED; } } } }
yang-models/_3gpp-5gc-nrm-nfservice.yang +20 −16 Original line number Diff line number Diff line Loading @@ -8,15 +8,16 @@ module _3gpp-5gc-nrm-nfservice { import ietf-yang-types { prefix yang; } import ietf-inet-types { prefix inet; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "NF service class. description "NF service dataType. Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 29.510"; revision 2025-03-25 { reference CR-; } revision 2025-01-25 { reference CR-1442; } revision 2023-09-18 { reference CR-1043 ; } revision 2021-01-25 { reference CR-0454 ; } Loading @@ -24,7 +25,7 @@ module _3gpp-5gc-nrm-nfservice { revision 2019-06-17 { reference "initial revision"; } grouping NFServiceGrp { description "Represents the NFService IOC"; description "This data type represents the NF Service defined in TS 29.510 [23]."; leaf serviceInstanceID { description "Unique ID of the service instance within a given NF Instance."; Loading Loading @@ -144,6 +145,18 @@ module _3gpp-5gc-nrm-nfservice { key "sd sst"; uses types5g3gpp:SNssai; } list allowedScopesRuleSet { description "It represents map of rules specifying scopes allowed or denied for NF-Consumers. This attribute may be present when the NF-Producer and the NRF support Allowed-ruleset feature as specified in clause 6.1.9 in TS 29.510."; //optional support key idx; leaf idx { type uint32; } uses types5g3gpp:RuleSetGrp; } leaf-list allowedOperationsPerNfType { description "It indicates the allowed operations on resources for each type of NF; the key of the map is the NF Type, and the value Loading Loading @@ -255,7 +268,8 @@ module _3gpp-5gc-nrm-nfservice { leaf enterpriseCode { type uint32; description "IANA-assigned SMI Network Management Private Enterprise Code"; description "IANA-assigned SMI Network Management Private Enterprise Code"; } list vendorSpecificFeature { Loading Loading @@ -292,17 +306,6 @@ module _3gpp-5gc-nrm-nfservice { uses types5g3gpp:PlmnSnssai; } list allowedScopesRuleSet { description "It represents map of rules specifying scopes allowed or denied for NF-Consumers. This attribute may be present when the NF-Producer and the NRF support Allowed-ruleset feature as specified in clause 6.1.9 in TS 29.510."; //optional support key idx; leaf idx { type uint32; } uses types5g3gpp:RuleSetGrp; } leaf canaryRelease { description "This attribute indicates whether an NF instance whose nfStatus is set to REGISTERED is in Canary Release condition, i.e. Loading Loading @@ -379,7 +382,8 @@ module _3gpp-5gc-nrm-nfservice { leaf enterpriseCode { type uint32; description "IANA-assigned SMI Network Management Private Enterprise Code"; description "IANA-assigned SMI Network Management Private Enterprise Code"; } list vendorSpecificFeature { Loading