Loading yang-models/_3gpp-5gc-nrm-nfprofile.yang +341 −340 Original line number Diff line number Diff line Loading @@ -28,206 +28,207 @@ module _3gpp-5gc-nrm-nfprofile { revision 2023-02-14 { reference CR-0891; } revision 2019-06-17 { reference "initial revision"; } grouping NFProfileGrp { leaf nfInstanceId { description "String uniquely identifying a NF instance."; mandatory true; type string; } leaf nfType { description "Type of Network Function."; mandatory true; type types3gpp:NfType; } leaf nfStatus { description "Status of the NF Instance."; mandatory true; type NFStatus; } leaf heartBeatTimer { description "Time in seconds expected between 2 consecutive heart-beat messages from an NF Instance to the NRF. It may be included in the registration request. When present in the request it shall contain the heartbeat time proposed by the NF service consumer."; type uint16; } list plmnList { description "PLMN(s) of the Network Function. This IE shall be present if this information is available for the NF. If not provided, PLMN ID(s) of the PLMN of the NRF are assumed for the NF."; min-elements 1; key "mcc mnc"; uses types3gpp:PLMNId; } list sNssais { description "S-NSSAIs of the Network Function. If not provided, the NF can serve any S-NSSAI. When present this IE represents the list of S-NSSAIs supported in all the PLMNs listed in the plmnList IE."; min-elements 1; key "sst sd"; uses Snssai; } list perPlmnSnssaiList { description "This IE may be included when the list of S-NSSAIs supported by the NF for each PLMN it is supporting is different. When present, this IE shall include the S-NSSAIs supported by the Network Function for each PLMN supported by the Network Function. When present, this IE shall override sNssais IE."; min-elements 1; key idx; leaf idx { type uint32; } uses PlmnSnssai; } leaf-list nsiList { description "NSI identities of the Network Function. If not provided, the NF can serve any NSI."; min-elements 1; type string; } leaf fqdn { description "FQDN of the Network Function. For AMF, the FQDN registered with the NRF shall be that of the AMF Name."; type inet:domain-name; } leaf interPlmnFqdn { description "If the NF needs to be discoverable by other NFs in a different PLMN, then an FQDN that is used for inter-PLMN routing is specified."; type inet:domain-name; } leaf-list ipv4Addresses { description "IPv4 address(es) of the Network Function."; min-elements 1; type inet:ipv4-address; } leaf-list ipv6Addresses { description "IPv6 address(es) of the Network Function."; min-elements 1; type inet:ipv6-address; } list allowedPlmns { description "PLMNs allowed to access the NF instance. If not provided, any PLMN is allowed to access the NF."; min-elements 1; key "mcc mnc"; uses types3gpp:PLMNId; } leaf-list allowedNfTypes { description "Type of the NFs allowed to access the NF instance. If not provided, any NF type is allowed to access the NF."; min-elements 1; type types3gpp:NfType; } leaf-list allowedNfDomains { description "Pattern representing the NF domain names allowed to access the NF instance. If not provided, any NF domain is allowed to access the NF."; min-elements 1; type string; } list allowedNssais { description "S-NSSAI of the allowed slices to access the NF instance. If not provided, any slice is allowed to access the NF."; min-elements 1; key "sst sd"; uses Snssai; } leaf priority { description "Priority (relative to other NFs of the same type) in the range of 0-65535, to be used for NF selection; lower values indicate a higher priority. If priority is also present in the nfServiceList parameters, those will have precedence over this value. The NRF may overwrite the received priority value when exposing an NFProfile with the Nnrf_NFDiscovery service."; type uint16; } leaf capacity { description "Static capacity information in the range of 0-65535, expressed as a weight relative to other NF instances of the same type; if capacity is also present in the nfServiceList parameters, those will have precedence over this value."; type uint16; } leaf load { description "Dynamic load information, ranged from 0 to 100, indicates the current load percentage of the NF."; type types3gpp:Load; } leaf locality { description "Operator defined information about the location of the NF instance (e.g. geographic location, data center)."; type string; } grouping udrInfo { leaf groupId { description "Identity of the UDR group that is served by the UDR instance. If not provided, the UDR instance does not pertain to any UDR group."; type string; } list supiRanges { description "List of ranges of SUPI's whose profile data is available in the UDR instance."; key "start end pattern"; min-elements 1; uses SupiRange; } list gpsiRanges { description "List of ranges of GPSIs whose profile data is available in the UDR instance."; key "start end pattern"; min-elements 1; uses IdentityRange; } list externalGroupIdentifiersRanges { description "List of ranges of external groups whose profile data is available in the UDR instance."; key "start end pattern"; min-elements 1; uses IdentityRange; } leaf-list supportedDataSets { description "List of supported data sets in the UDR instance. If not provided, the UDR supports all data sets."; min-elements 1; type DataSetId; } } //Moved to managed_nfprofile // grouping NFProfileGrp { // leaf nfInstanceId { // description "String uniquely identifying a NF instance."; // mandatory true; // type string; // } // leaf nfType { // description "Type of Network Function."; // mandatory true; // type types3gpp:NfType; // } // // leaf nfStatus { // description "Status of the NF Instance."; // mandatory true; // type NFStatus; // } // leaf heartBeatTimer { // description "Time in seconds expected between 2 consecutive // heart-beat messages from an NF Instance to the NRF. // It may be included in the registration request. // When present in the request it shall contain the // heartbeat time proposed by the NF service consumer."; // type uint16; // } // list plmnList { // description "PLMN(s) of the Network Function. // This IE shall be present if this information // is available for the NF. If not provided, PLMN ID(s) // of the PLMN of the NRF are assumed for the NF."; // // min-elements 1; // key "mcc mnc"; // uses types3gpp:PLMNId; // } // // list sNssais { // description "S-NSSAIs of the Network Function. If not // provided, the NF can serve any S-NSSAI. When present // this IE represents the list of S-NSSAIs supported in // all the PLMNs listed in the plmnList IE."; // min-elements 1; // key "sst sd"; // uses Snssai; // } // list perPlmnSnssaiList { // description "This IE may be included when the list of // S-NSSAIs supported by the NF for each PLMN it is supporting // is different. When present, this IE shall include the S-NSSAIs // supported by the Network Function for each PLMN supported by // the Network Function. When present, this IE shall // override sNssais IE."; // min-elements 1; // // key idx; // leaf idx { type uint32; } // uses PlmnSnssai; // } v // leaf-list nsiList { // description "NSI identities of the Network Function. // If not provided, the NF can serve any NSI."; // min-elements 1; // type string; // } // // leaf fqdn { // description "FQDN of the Network Function. For AMF, the // FQDN registered with the NRF shall be that of the AMF Name."; // type inet:domain-name; // } // // leaf interPlmnFqdn { // description "If the NF needs to be discoverable by other // NFs in a different PLMN, then an FQDN that is used // for inter-PLMN routing is specified."; // type inet:domain-name; // } // Remove not used in stage 3 or stage 2 // leaf-list ipv4Addresses { // description "IPv4 address(es) of the Network Function."; // min-elements 1; // type inet:ipv4-address; // } // // leaf-list ipv6Addresses { // description "IPv6 address(es) of the Network Function."; // min-elements 1; // type inet:ipv6-address; // } // // list allowedPlmns { // description "PLMNs allowed to access the NF instance. // If not provided, any PLMN is allowed to access the NF."; // // min-elements 1; // key "mcc mnc"; // uses types3gpp:PLMNId; // } // leaf-list allowedNfTypes { // description "Type of the NFs allowed to access the NF instance. // If not provided, any NF type is allowed to access the NF."; // min-elements 1; // type types3gpp:NfType; // } // leaf-list allowedNfDomains { // description "Pattern representing the NF domain names allowed // to access the NF instance. If not provided, // any NF domain is allowed to access the NF."; // min-elements 1; // type string; // } // // list allowedNssais { // description "S-NSSAI of the allowed slices to access the NF instance. // If not provided, any slice is allowed to access the NF."; // min-elements 1; // key "sst sd"; // uses Snssai; // } // // leaf priority { // description "Priority (relative to other NFs of the same type) // in the range of 0-65535, to be used for NF selection; // lower values indicate a higher priority. // If priority is also present in the nfServiceList // parameters, // those will have precedence over this value. // The NRF may overwrite the received priority value // when exposing // an NFProfile with the Nnrf_NFDiscovery service."; // type uint16; // } // leaf capacity { // description "Static capacity information in the range of 0-65535, // expressed as a weight relative to other NF instances of // the same type; if capacity is also present in the nfServiceList // parameters, those will have precedence over this value."; // type uint16; // } // // leaf load { // description "Dynamic load information, ranged from 0 to 100, // indicates the current load percentage of the NF."; // type types3gpp:Load; // } // // leaf locality { // description "Operator defined information about the location // of the NF instance (e.g. geographic location, data center)."; // type string; // } // // grouping udrInfo { // // leaf groupId { // description "Identity of the UDR group that is served // by the UDR instance. // If not provided, the UDR instance does not pertain // to any UDR group."; // type string; // } // // list supiRanges { // description "List of ranges of SUPI's whose profile data // is available in the UDR instance."; // key "start end pattern"; // min-elements 1; // uses SupiRange; // } // // list gpsiRanges { // description "List of ranges of GPSIs whose profile data is // available in the UDR instance."; // key "start end pattern"; // min-elements 1; // uses IdentityRange; // } // // list externalGroupIdentifiersRanges { // description "List of ranges of external groups whose profile // data is available in the UDR instance."; // key "start end pattern"; // min-elements 1; // uses IdentityRange; // } // // leaf-list supportedDataSets { // description "List of supported data sets in the UDR instance. // If not provided, the UDR supports all data sets."; // min-elements 1; // type DataSetId; // } // } grouping udmInfo { Loading Loading @@ -1109,72 +1110,72 @@ module _3gpp-5gc-nrm-nfprofile { type string; } leaf recoveryTime { description "Timestamp when the NF was (re)started."; type yang:date-and-time; } leaf nfServicePersistence { description "If present, and set to true, it indicates that the different service instances of a same NF Service in this NF instance, supporting a same 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 (see 3GPP TS 23.527). Otherwise, it indicates that the NF Service Instances of a same NF Service are not capable to share resource state inside the NF Instance."; type boolean; } list nfServices { description "List of NF Service Instances. It shall include the services produced by the NF that can be discovered by other NFs."; key serviceInstanceID; min-elements 1; uses nfs3gpp:NFServiceGrp; } leaf nfProfileChangesSupportInd { description "NF Profile Changes Support Indicator. This IE may be present in the NFRegister or NFUpdate (NF Profile Complete Replacement) request and shall be absent in the response. true: the NF Service Consumer supports receiving NF Profile Changes in the response. false (default): the NF Service Consumer does not support receiving NF Profile Changes in the response."; type boolean; } 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. true: the NF Profile contains NF Profile changes. false (default): complete NF Profile."; type boolean; } list defaultNotificationSubscriptions { description "Notification endpoints for different notification types."; key notificationType; min-elements 1; uses types3gpp:DefaultNotificationSubscription; } } // leaf recoveryTime { // description "Timestamp when the NF was (re)started."; // type yang:date-and-time; // } // leaf nfServicePersistence { // description "If present, and set to true, it indicates that // the different // service instances of a same NF Service // in this NF instance, // // supporting a same 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 (see 3GPP TS 23.527). // Otherwise, it indicates that the NF Service // Instances of // a same NF Service are not capable to share // resource state inside the NF Instance."; // // type boolean; // } // // list nfServices { // description "List of NF Service Instances. It shall include // the services produced by the NF that can be // discovered by other NFs."; // key serviceInstanceID; // min-elements 1; // uses nfs3gpp:NFServiceGrp; // } // leaf nfProfileChangesSupportInd { // description "NF Profile Changes Support Indicator. // This IE may be present // in the NFRegister or NFUpdate (NF Profile Complete // Replacement) request // and shall be absent in the response. // true: the NF Service Consumer supports receiving NF Profile // Changes in the response. // false (default): the NF Service Consumer does not support // receiving NF Profile Changes in the response."; // // type boolean; // } // // 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. // true: the NF Profile contains NF Profile changes. // false (default): complete NF Profile."; // // type boolean; // } // // list defaultNotificationSubscriptions { // description "Notification endpoints for different notification types."; // key notificationType; // min-elements 1; // uses types3gpp:DefaultNotificationSubscription; // } // } typedef NFStatus { type enumeration { Loading @@ -1191,40 +1192,40 @@ module _3gpp-5gc-nrm-nfprofile { enum APPLICATION; } } grouping SupiRange { leaf start { description "First value identifying the start of a SUPI range. To be used when the range of SUPI's can be represented as a numeric range (e.g., IMSI ranges)."; type string { pattern '^[0-9]+$'; } } leaf end { description "Last value identifying the end of a SUPI range. To be used when the range of SUPI's can be represented as a numeric range (e.g. IMSI ranges)."; type string { pattern '^[0-9]+$'; } } leaf pattern { description "Pattern representing the set of SUPI's belonging to this range. A SUPI value is considered part of the range if and only if the SUPI string fully matches the regular expression."; type string; } } //moved to managed-nfprofile // grouping SupiRange { // leaf start { // description "First value identifying the start of // a SUPI range. // To be used when the range of SUPI's can be // represented // as a numeric range (e.g., IMSI ranges)."; // type string { // pattern '^[0-9]+$'; // } // } // // leaf end { // description "Last value identifying the end of // a SUPI range. // To be used when the range of SUPI's can be // represented // as a numeric range (e.g. IMSI ranges)."; // type string { // pattern '^[0-9]+$'; // } // } // // leaf pattern { // description "Pattern representing the set of SUPI's belonging // to this range. // A SUPI value is considered part // of the range // if and only if the SUPI string // fully matches the regular expression."; // type string; // } // } grouping IdentityRange { leaf start { Loading Loading @@ -1254,16 +1255,16 @@ module _3gpp-5gc-nrm-nfprofile { type string; } } grouping SnssaiUpfInfoItem { list sNssai { description "Supported S-NSSAI."; min-elements 1; max-elements 1; key "sst sd"; uses Snssai; } } // move to UPFInfo // grouping SnssaiUpfInfoItem { // list sNssai { // description "Supported S-NSSAI."; // min-elements 1; // max-elements 1; // key "sst sd"; // uses Snssai; // } // } grouping DnnUpfInfoItem { leaf dnn { Loading @@ -1290,27 +1291,27 @@ module _3gpp-5gc-nrm-nfprofile { type PduSessionType; } } grouping Snssai { leaf sst { description "Unsigned integer, within the range 0 to 255, representing the Slice/Service Type. It indicates the expected Network Slice behaviour in terms of features and services."; mandatory true; type uint32; } leaf sd { description "3-octet string, representing the Slice Differentiator, in hexadecimal representation."; type string { pattern '^[A-Fa-f0-9]{6}$'; } } reference "3GPP TS 29.571"; } // Moved to common type // grouping Snssai { // leaf sst { // description "Unsigned integer, within the range 0 to 255, // representing the Slice/Service Type. // It indicates the expected Network Slice behaviour // in terms of features and services."; // mandatory true; // type uint32; // } // // leaf sd { // description "3-octet string, representing the Slice Differentiator, // in hexadecimal representation."; // type string { // pattern '^[A-Fa-f0-9]{6}$'; // } // } // // reference "3GPP TS 29.571"; // } typedef PduSessionType { type enumeration { Loading Loading @@ -1456,24 +1457,24 @@ module _3gpp-5gc-nrm-nfprofile { } } grouping PlmnSnssai { list plmnId { description "PLMN ID for which list of supported S-NSSAI(s) is provided."; min-elements 1; max-elements 1; key "mcc mnc"; uses types3gpp:PLMNId; } list sNssaiList { description "The specific list of S-NSSAIs supported by the given PLMN."; min-elements 1; key "sst sd"; uses Snssai; } } // grouping PlmnSnssai { // list plmnId { // description "PLMN ID for which list of supported S-NSSAI(s) // is provided."; // min-elements 1; // max-elements 1; // key "mcc mnc"; // uses types3gpp:PLMNId; // } // // list sNssaiList { // description "The specific list of S-NSSAIs supported // by the given PLMN."; // min-elements 1; // key "sst sd"; // uses Snssai; // } // } grouping ImsiRange{ leaf start{ description "This attribute indicates the first value identifying Loading Loading
yang-models/_3gpp-5gc-nrm-nfprofile.yang +341 −340 Original line number Diff line number Diff line Loading @@ -28,206 +28,207 @@ module _3gpp-5gc-nrm-nfprofile { revision 2023-02-14 { reference CR-0891; } revision 2019-06-17 { reference "initial revision"; } grouping NFProfileGrp { leaf nfInstanceId { description "String uniquely identifying a NF instance."; mandatory true; type string; } leaf nfType { description "Type of Network Function."; mandatory true; type types3gpp:NfType; } leaf nfStatus { description "Status of the NF Instance."; mandatory true; type NFStatus; } leaf heartBeatTimer { description "Time in seconds expected between 2 consecutive heart-beat messages from an NF Instance to the NRF. It may be included in the registration request. When present in the request it shall contain the heartbeat time proposed by the NF service consumer."; type uint16; } list plmnList { description "PLMN(s) of the Network Function. This IE shall be present if this information is available for the NF. If not provided, PLMN ID(s) of the PLMN of the NRF are assumed for the NF."; min-elements 1; key "mcc mnc"; uses types3gpp:PLMNId; } list sNssais { description "S-NSSAIs of the Network Function. If not provided, the NF can serve any S-NSSAI. When present this IE represents the list of S-NSSAIs supported in all the PLMNs listed in the plmnList IE."; min-elements 1; key "sst sd"; uses Snssai; } list perPlmnSnssaiList { description "This IE may be included when the list of S-NSSAIs supported by the NF for each PLMN it is supporting is different. When present, this IE shall include the S-NSSAIs supported by the Network Function for each PLMN supported by the Network Function. When present, this IE shall override sNssais IE."; min-elements 1; key idx; leaf idx { type uint32; } uses PlmnSnssai; } leaf-list nsiList { description "NSI identities of the Network Function. If not provided, the NF can serve any NSI."; min-elements 1; type string; } leaf fqdn { description "FQDN of the Network Function. For AMF, the FQDN registered with the NRF shall be that of the AMF Name."; type inet:domain-name; } leaf interPlmnFqdn { description "If the NF needs to be discoverable by other NFs in a different PLMN, then an FQDN that is used for inter-PLMN routing is specified."; type inet:domain-name; } leaf-list ipv4Addresses { description "IPv4 address(es) of the Network Function."; min-elements 1; type inet:ipv4-address; } leaf-list ipv6Addresses { description "IPv6 address(es) of the Network Function."; min-elements 1; type inet:ipv6-address; } list allowedPlmns { description "PLMNs allowed to access the NF instance. If not provided, any PLMN is allowed to access the NF."; min-elements 1; key "mcc mnc"; uses types3gpp:PLMNId; } leaf-list allowedNfTypes { description "Type of the NFs allowed to access the NF instance. If not provided, any NF type is allowed to access the NF."; min-elements 1; type types3gpp:NfType; } leaf-list allowedNfDomains { description "Pattern representing the NF domain names allowed to access the NF instance. If not provided, any NF domain is allowed to access the NF."; min-elements 1; type string; } list allowedNssais { description "S-NSSAI of the allowed slices to access the NF instance. If not provided, any slice is allowed to access the NF."; min-elements 1; key "sst sd"; uses Snssai; } leaf priority { description "Priority (relative to other NFs of the same type) in the range of 0-65535, to be used for NF selection; lower values indicate a higher priority. If priority is also present in the nfServiceList parameters, those will have precedence over this value. The NRF may overwrite the received priority value when exposing an NFProfile with the Nnrf_NFDiscovery service."; type uint16; } leaf capacity { description "Static capacity information in the range of 0-65535, expressed as a weight relative to other NF instances of the same type; if capacity is also present in the nfServiceList parameters, those will have precedence over this value."; type uint16; } leaf load { description "Dynamic load information, ranged from 0 to 100, indicates the current load percentage of the NF."; type types3gpp:Load; } leaf locality { description "Operator defined information about the location of the NF instance (e.g. geographic location, data center)."; type string; } grouping udrInfo { leaf groupId { description "Identity of the UDR group that is served by the UDR instance. If not provided, the UDR instance does not pertain to any UDR group."; type string; } list supiRanges { description "List of ranges of SUPI's whose profile data is available in the UDR instance."; key "start end pattern"; min-elements 1; uses SupiRange; } list gpsiRanges { description "List of ranges of GPSIs whose profile data is available in the UDR instance."; key "start end pattern"; min-elements 1; uses IdentityRange; } list externalGroupIdentifiersRanges { description "List of ranges of external groups whose profile data is available in the UDR instance."; key "start end pattern"; min-elements 1; uses IdentityRange; } leaf-list supportedDataSets { description "List of supported data sets in the UDR instance. If not provided, the UDR supports all data sets."; min-elements 1; type DataSetId; } } //Moved to managed_nfprofile // grouping NFProfileGrp { // leaf nfInstanceId { // description "String uniquely identifying a NF instance."; // mandatory true; // type string; // } // leaf nfType { // description "Type of Network Function."; // mandatory true; // type types3gpp:NfType; // } // // leaf nfStatus { // description "Status of the NF Instance."; // mandatory true; // type NFStatus; // } // leaf heartBeatTimer { // description "Time in seconds expected between 2 consecutive // heart-beat messages from an NF Instance to the NRF. // It may be included in the registration request. // When present in the request it shall contain the // heartbeat time proposed by the NF service consumer."; // type uint16; // } // list plmnList { // description "PLMN(s) of the Network Function. // This IE shall be present if this information // is available for the NF. If not provided, PLMN ID(s) // of the PLMN of the NRF are assumed for the NF."; // // min-elements 1; // key "mcc mnc"; // uses types3gpp:PLMNId; // } // // list sNssais { // description "S-NSSAIs of the Network Function. If not // provided, the NF can serve any S-NSSAI. When present // this IE represents the list of S-NSSAIs supported in // all the PLMNs listed in the plmnList IE."; // min-elements 1; // key "sst sd"; // uses Snssai; // } // list perPlmnSnssaiList { // description "This IE may be included when the list of // S-NSSAIs supported by the NF for each PLMN it is supporting // is different. When present, this IE shall include the S-NSSAIs // supported by the Network Function for each PLMN supported by // the Network Function. When present, this IE shall // override sNssais IE."; // min-elements 1; // // key idx; // leaf idx { type uint32; } // uses PlmnSnssai; // } v // leaf-list nsiList { // description "NSI identities of the Network Function. // If not provided, the NF can serve any NSI."; // min-elements 1; // type string; // } // // leaf fqdn { // description "FQDN of the Network Function. For AMF, the // FQDN registered with the NRF shall be that of the AMF Name."; // type inet:domain-name; // } // // leaf interPlmnFqdn { // description "If the NF needs to be discoverable by other // NFs in a different PLMN, then an FQDN that is used // for inter-PLMN routing is specified."; // type inet:domain-name; // } // Remove not used in stage 3 or stage 2 // leaf-list ipv4Addresses { // description "IPv4 address(es) of the Network Function."; // min-elements 1; // type inet:ipv4-address; // } // // leaf-list ipv6Addresses { // description "IPv6 address(es) of the Network Function."; // min-elements 1; // type inet:ipv6-address; // } // // list allowedPlmns { // description "PLMNs allowed to access the NF instance. // If not provided, any PLMN is allowed to access the NF."; // // min-elements 1; // key "mcc mnc"; // uses types3gpp:PLMNId; // } // leaf-list allowedNfTypes { // description "Type of the NFs allowed to access the NF instance. // If not provided, any NF type is allowed to access the NF."; // min-elements 1; // type types3gpp:NfType; // } // leaf-list allowedNfDomains { // description "Pattern representing the NF domain names allowed // to access the NF instance. If not provided, // any NF domain is allowed to access the NF."; // min-elements 1; // type string; // } // // list allowedNssais { // description "S-NSSAI of the allowed slices to access the NF instance. // If not provided, any slice is allowed to access the NF."; // min-elements 1; // key "sst sd"; // uses Snssai; // } // // leaf priority { // description "Priority (relative to other NFs of the same type) // in the range of 0-65535, to be used for NF selection; // lower values indicate a higher priority. // If priority is also present in the nfServiceList // parameters, // those will have precedence over this value. // The NRF may overwrite the received priority value // when exposing // an NFProfile with the Nnrf_NFDiscovery service."; // type uint16; // } // leaf capacity { // description "Static capacity information in the range of 0-65535, // expressed as a weight relative to other NF instances of // the same type; if capacity is also present in the nfServiceList // parameters, those will have precedence over this value."; // type uint16; // } // // leaf load { // description "Dynamic load information, ranged from 0 to 100, // indicates the current load percentage of the NF."; // type types3gpp:Load; // } // // leaf locality { // description "Operator defined information about the location // of the NF instance (e.g. geographic location, data center)."; // type string; // } // // grouping udrInfo { // // leaf groupId { // description "Identity of the UDR group that is served // by the UDR instance. // If not provided, the UDR instance does not pertain // to any UDR group."; // type string; // } // // list supiRanges { // description "List of ranges of SUPI's whose profile data // is available in the UDR instance."; // key "start end pattern"; // min-elements 1; // uses SupiRange; // } // // list gpsiRanges { // description "List of ranges of GPSIs whose profile data is // available in the UDR instance."; // key "start end pattern"; // min-elements 1; // uses IdentityRange; // } // // list externalGroupIdentifiersRanges { // description "List of ranges of external groups whose profile // data is available in the UDR instance."; // key "start end pattern"; // min-elements 1; // uses IdentityRange; // } // // leaf-list supportedDataSets { // description "List of supported data sets in the UDR instance. // If not provided, the UDR supports all data sets."; // min-elements 1; // type DataSetId; // } // } grouping udmInfo { Loading Loading @@ -1109,72 +1110,72 @@ module _3gpp-5gc-nrm-nfprofile { type string; } leaf recoveryTime { description "Timestamp when the NF was (re)started."; type yang:date-and-time; } leaf nfServicePersistence { description "If present, and set to true, it indicates that the different service instances of a same NF Service in this NF instance, supporting a same 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 (see 3GPP TS 23.527). Otherwise, it indicates that the NF Service Instances of a same NF Service are not capable to share resource state inside the NF Instance."; type boolean; } list nfServices { description "List of NF Service Instances. It shall include the services produced by the NF that can be discovered by other NFs."; key serviceInstanceID; min-elements 1; uses nfs3gpp:NFServiceGrp; } leaf nfProfileChangesSupportInd { description "NF Profile Changes Support Indicator. This IE may be present in the NFRegister or NFUpdate (NF Profile Complete Replacement) request and shall be absent in the response. true: the NF Service Consumer supports receiving NF Profile Changes in the response. false (default): the NF Service Consumer does not support receiving NF Profile Changes in the response."; type boolean; } 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. true: the NF Profile contains NF Profile changes. false (default): complete NF Profile."; type boolean; } list defaultNotificationSubscriptions { description "Notification endpoints for different notification types."; key notificationType; min-elements 1; uses types3gpp:DefaultNotificationSubscription; } } // leaf recoveryTime { // description "Timestamp when the NF was (re)started."; // type yang:date-and-time; // } // leaf nfServicePersistence { // description "If present, and set to true, it indicates that // the different // service instances of a same NF Service // in this NF instance, // // supporting a same 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 (see 3GPP TS 23.527). // Otherwise, it indicates that the NF Service // Instances of // a same NF Service are not capable to share // resource state inside the NF Instance."; // // type boolean; // } // // list nfServices { // description "List of NF Service Instances. It shall include // the services produced by the NF that can be // discovered by other NFs."; // key serviceInstanceID; // min-elements 1; // uses nfs3gpp:NFServiceGrp; // } // leaf nfProfileChangesSupportInd { // description "NF Profile Changes Support Indicator. // This IE may be present // in the NFRegister or NFUpdate (NF Profile Complete // Replacement) request // and shall be absent in the response. // true: the NF Service Consumer supports receiving NF Profile // Changes in the response. // false (default): the NF Service Consumer does not support // receiving NF Profile Changes in the response."; // // type boolean; // } // // 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. // true: the NF Profile contains NF Profile changes. // false (default): complete NF Profile."; // // type boolean; // } // // list defaultNotificationSubscriptions { // description "Notification endpoints for different notification types."; // key notificationType; // min-elements 1; // uses types3gpp:DefaultNotificationSubscription; // } // } typedef NFStatus { type enumeration { Loading @@ -1191,40 +1192,40 @@ module _3gpp-5gc-nrm-nfprofile { enum APPLICATION; } } grouping SupiRange { leaf start { description "First value identifying the start of a SUPI range. To be used when the range of SUPI's can be represented as a numeric range (e.g., IMSI ranges)."; type string { pattern '^[0-9]+$'; } } leaf end { description "Last value identifying the end of a SUPI range. To be used when the range of SUPI's can be represented as a numeric range (e.g. IMSI ranges)."; type string { pattern '^[0-9]+$'; } } leaf pattern { description "Pattern representing the set of SUPI's belonging to this range. A SUPI value is considered part of the range if and only if the SUPI string fully matches the regular expression."; type string; } } //moved to managed-nfprofile // grouping SupiRange { // leaf start { // description "First value identifying the start of // a SUPI range. // To be used when the range of SUPI's can be // represented // as a numeric range (e.g., IMSI ranges)."; // type string { // pattern '^[0-9]+$'; // } // } // // leaf end { // description "Last value identifying the end of // a SUPI range. // To be used when the range of SUPI's can be // represented // as a numeric range (e.g. IMSI ranges)."; // type string { // pattern '^[0-9]+$'; // } // } // // leaf pattern { // description "Pattern representing the set of SUPI's belonging // to this range. // A SUPI value is considered part // of the range // if and only if the SUPI string // fully matches the regular expression."; // type string; // } // } grouping IdentityRange { leaf start { Loading Loading @@ -1254,16 +1255,16 @@ module _3gpp-5gc-nrm-nfprofile { type string; } } grouping SnssaiUpfInfoItem { list sNssai { description "Supported S-NSSAI."; min-elements 1; max-elements 1; key "sst sd"; uses Snssai; } } // move to UPFInfo // grouping SnssaiUpfInfoItem { // list sNssai { // description "Supported S-NSSAI."; // min-elements 1; // max-elements 1; // key "sst sd"; // uses Snssai; // } // } grouping DnnUpfInfoItem { leaf dnn { Loading @@ -1290,27 +1291,27 @@ module _3gpp-5gc-nrm-nfprofile { type PduSessionType; } } grouping Snssai { leaf sst { description "Unsigned integer, within the range 0 to 255, representing the Slice/Service Type. It indicates the expected Network Slice behaviour in terms of features and services."; mandatory true; type uint32; } leaf sd { description "3-octet string, representing the Slice Differentiator, in hexadecimal representation."; type string { pattern '^[A-Fa-f0-9]{6}$'; } } reference "3GPP TS 29.571"; } // Moved to common type // grouping Snssai { // leaf sst { // description "Unsigned integer, within the range 0 to 255, // representing the Slice/Service Type. // It indicates the expected Network Slice behaviour // in terms of features and services."; // mandatory true; // type uint32; // } // // leaf sd { // description "3-octet string, representing the Slice Differentiator, // in hexadecimal representation."; // type string { // pattern '^[A-Fa-f0-9]{6}$'; // } // } // // reference "3GPP TS 29.571"; // } typedef PduSessionType { type enumeration { Loading Loading @@ -1456,24 +1457,24 @@ module _3gpp-5gc-nrm-nfprofile { } } grouping PlmnSnssai { list plmnId { description "PLMN ID for which list of supported S-NSSAI(s) is provided."; min-elements 1; max-elements 1; key "mcc mnc"; uses types3gpp:PLMNId; } list sNssaiList { description "The specific list of S-NSSAIs supported by the given PLMN."; min-elements 1; key "sst sd"; uses Snssai; } } // grouping PlmnSnssai { // list plmnId { // description "PLMN ID for which list of supported S-NSSAI(s) // is provided."; // min-elements 1; // max-elements 1; // key "mcc mnc"; // uses types3gpp:PLMNId; // } // // list sNssaiList { // description "The specific list of S-NSSAIs supported // by the given PLMN."; // min-elements 1; // key "sst sd"; // uses Snssai; // } // } grouping ImsiRange{ leaf start{ description "This attribute indicates the first value identifying Loading