5 Configuration API Specifications

Configuration REST APIs are exposed directly on the nudr-config microservice of UDR, and it does not use Ingress Gateway for traffic (OAM traffic). These APIs are consumed by CNC Console GUI. For more information about APIs, see Oracle Communications Cloud Native Core, Unified Data Repository User Guide.

Note:

All the configuration updates are polled every 5 second from the databases, it takes 5 to 10 seconds to refresh the configuration in the application.

5.1 Configuration APIs for UDR Microservices

This section describes the configuration APIs for UDR microservices.

Table 5-1 Configuration APIs for UDR microservices

HTTP Method Sample REST Request URL Sample Response Possible Error Codes
GET http://ocudr-nudr-config.myudr:5001/nudr-config/v1/udr.nudrservice.cfg/DR-SERVICE

Result Code: 200 OK

Payload

{
    "defaultSlfGroupName": "DefaultGrp",
    "defaultGroupIdEnabled": false,
    "subscriptionDataSubscriptionsOnly": false,
    "allowSubscriptionRecreation":true
 } 
NA
GET http://ocudr-nudr-config.myudr:5001/nudr-config/v1/udr.notifyservice.cfg/NOTIFY-SERVICE

Result Code: 200 OK

Payload

{
    "resourceRemovalNotificationEnabled": true,
    "retryErrorCodes": "400,429,500,503",
    "notifRetryCount": 3,
    "NotifRetryInterval": 5
}
NA
GET http://ocudr-nudr-config.myudr:5001/nudr-config/v1/udr.global.cfg/GLOBAL

Result Code: 200 OK

Payload
{
  "snssai": "2-FFFFFF",
  "dnn": "dnn1",
  "sbiCorrelationInfoEnable": false,
  "autoCreate": true,
  "autoEnrolOnSignalling": true,
  "etagEnabled": true,
  "version": "v3",
  "consumerNF": "PCF,UDM,NEF",
  "vsaDefaultBillingDay": 1,
  "subscriberActivityEnabled": false,
  "addDefaultBillingDay": true,
  "enableControlledShutdown": false,
  "dbConflictResolutionEnabled": false,
  "maxNumberOfSubscriptions": 30,
  "suppressNotificationEnabled": true,
  "configClientConnectTimeout": 1000,
  "configClientReadTimeout": 1000,
  "s13InterfaceEnabled": false,
  "defaultResponse": "EQUIPMENT_UNKNOWN",
  "accessLogEnabled": true,
  "accessLogExportEnabled": false,
  "sourceIdentificationIp": "",
  "sequenceIdentification": "0",
  "defaultResponseIMEINotFound": "EQUIPMENT_UNKNOWN",
  "imsiLookupFallbackEnabled": false,
  "imeisvLookupFallback": false,
  "subscriberIdentifers": {
    "msisdn": [],
    "imsi": [],
    "nai": [],
    "extid": []
  }
}
NA
GET http://ocudr-nudr-config.myudr:5001/nudr-config/v1/udr.diamgateway.cfg/DIAMETER-GATEWAY

Result Code: 200 OK

Payload

{
    "diameterRetryErrorCodes": [
        3002,
        3004,
        3005,
        3006,
        4003,
        5012
    ],
    "allowedClientNodes": [
        {
            "port": 32514,
            "identity": "dsr.oracle.com",
            "name": "dsr",
            "host": "10.75.229.154",
            "realm": "oracle.com",
            "responseOnly": true,
            "transport": "TCP",
            "type": "server"
        },
        {
            "port": 31288,
            "identity": "site2.oracle.com",
            "name": "site2",
            "host": "10.75.229.228",
            "realm": "oracle.com",
            "responseOnly": true,
            "transport": "TCP",
            "type": "server"
        }
    ],
    "watchdogInterval": 6,
    "reconnectDelay": 6,
    "connectionTimeOut": 2,
    "responseTimeout": 2,
    "reconnectLimit": 2,
    "alternateRoutePeerNodes": [
        "dsr.oracle.com",
        "site2.oracle.com"
    ]
}
NA
GET http://ocudr-nudr-config.myudr:5001/nudr-config/v1/udr.biservice.cfg/BULK_IMPORT

Result Code: 200 OK

Payload

[
    {
        "importFile": "modify_slf5.csv",
        "timeQueued": "22-12-2020 10:36:06",
        "timeStarted": "22-12-2020 10:36:08",
        "timeCompleted": "22-12-2020 10:36:11",
        "progress": 100.0,
        "failedKeys": "[]",
        "passCount": 100,
        "failCount": 0,
        "totalCount": 100,
        "status": "Completed"
    },
    {
        "importFile": "modify_slf4.csv",
        "timeQueued": "22-12-2020 10:37:38",
        "timeStarted": "22-12-2020 11:13:14",
        "timeCompleted": "",
        "progress": 10.1085,
        "failedKeys": "[]",
        "passCount": 101066,
        "failCount": 0,
        "totalCount": 1000000,
        "status": "Started"
    }
]
NA
GET http://localhost:8081/nudr-config/v1/udr.diamgateway.congestion.cfg/DGW-CONGESTION

Result Code: 200 OK

Payload

{
         "enabled": true,
         "defaultMessagePriority": 2,
         "sampleCount": 10,
         "calculationInterval": 100,
         "loadSheddingRulesMap": {
            "CONGESTED": {
               "state": "CONGESTED",
               "discardPriority": 10,
               "ansWithResultCode": "DIAMETER_TOO_BUSY",
               "resultCode": 3004,
               "vendorId": 10415
            },
            "DOC": {
               "state": "DOC",
               "discardPriority": 15,
               "ansWithResultCode": "DIAMETER_TOO_BUSY",
               "resultCode": 3004,
               "vendorId": 10415
            }
         },
         "priorityRules": [{
            "ruleName": "SH-UDR_MIGRATION",
            "messagePriority": 2,
            "conditions": {
               "requestType": "UDR_MIGRATION",
               "application": "Sh",
               "message": "UDR_MIGRATION"
            }
         }, {
            "ruleName": "SH-UDR",
            "messagePriority": 5,
            "conditions": {
               "requestType": "UDR",
               "application": "Sh",
               "message": "UDR"
            }
         }, {
            "ruleName": "SH-PUR",
            "messagePriority": 3,
            "conditions": {
               "requestType": "PUR",
               "application": "Sh",
               "message": "PUR"
            }
         }, {
            "ruleName": "SH-SNR",
            "messagePriority": 7,
            "conditions": {
               "requestType": "SNR",
               "application": "Sh",
               "message": "SNR"
            }
         }, {
            "ruleName": "SH-PNR",
            "messagePriority": 3,
            "conditions": {
               "requestType": "PNR",
               "application": "Sh",
               "message": "PNR"
            }
         }],
         "thresholds": {
            "CONGESTED": {
               "memory": 80,
               "cpu": 80,
               "queue": 50
            },
            "DOC": {
               "memory": 60,
               "cpu": 60,
               "queue": 30
            }
         }
      }
NA
GET http://ocudr-nudr-config.myudr:5001/nudr-config/v1/udr.nudrprovservice.cfg/DR-PROV-SERVICE

Result Code: 200 OK

Payload

{
    "provLogsEnabled": true,
    "provLogsApiNames": [
        "nudr-dr-prov"
    ]
}
NA
GET http://ocudr-nudr-config.myudr:5001/nudr-config/v1/udr.bulkimportservice.cfg/BULK_IMPORT_CFG

Result Code: 200 OK

Payload

{
    "pdbiFileExpiryTime": "8d",
    "remoteDirPath": "/home/cloud-user/ocudr/",
    "fileExt": ".pdbi",
    "deleteFileFromPVC": true,
    "transferOutPath": "/home/cloud-user/transferOut/"
}
NA
GET http://ocudr-nudr-config.myudr:5001/nudr-config/v1/udr.exporttool.cfg/EXPORT_TOOL_CFG

Result Code: 200 OK

Payload

{
    "remotePath": "/home/cloud-user/ocudr/",
    "fixedDumpFileNameSuffix": "SLFTestSegment1",
    "fixedDumpFileNamePrefix": " ",
    "configuredString": "snapshot",
    "timeStampFormat": "YYYYMMDDHHMMSS", 
    "msisdnCount": 6,
    "pvcPath": "/home/udruser/export1",
    "fieldDelimiter": ",",
    "multiValuedelimiter": "|",
    "subscriberExportRange": {
        "keyType": "msisdn",
        "subscriberRanges": [
            "1111111130-1111111140",
            "1111111150-1111111160"
        ]
    },
    "subscriberRangeEnabled": false,
    "fileExtension": ".txt",
    "deleteFromPVC": true,
    "startTime": "14/09/2022 17:32:10",
    "imsiCount": 5,
    "newFilePerRangeEnabled": false,
    "frequencyOfPeriodicDump": "DAILY",
    "maxNumberOfDumps": 5,
    "exportFileExpiryTime":7d,
    "policyDataResources":"sm-data,am-data,ue-policy-set"

}
NA
GET http://ocudr-nudr-config.myudr:5001/udr/nf-common-component/v1/operationalState

Result Code: 200 OK

Payload

{
    "operationalState": "NORMAL"
}
  • 404 Not Found: Operational State Not Found
  • 400 Bad Request
GET http://ocudr-nudr-config.myudr:5001/udr/nf-common-component/v1/operationalStateHistory

If offset is set to any value greater than 0 then it will return an empty array

Value of the limit greater than 5 displays only 5 records with query params:http://ocudr-nudr-config.myudr:5001/udr/nf-common-component/v1/operationalStateHistory?limit=3&offset=0

Result Code: 200 OK

Payload

[
    {
        "timeStamp": "2023-05-09T05:52:51.573025",
        "id": "9613dc1a-e6ce-4115-9e40-d1bee80ed8ca",
        "type": "operationalState",
        "value": "{\"state\":\"NORMAL\"}",
        "status": "SUCCESS"
    },
    {
        "timeStamp": "2023-05-09T05:52:31.259321",
        "id": "0bf4eb21-d312-424b-93a5-03da6546069f",
        "type": "operationalState",
        "value": "{\"state\":\"NORMAL\"}",
        "status": "SUCCESS"
    },
    {
        "timeStamp": "2023-05-09T05:49:28.531684",
        "id": "13c4824e-d8a4-4e98-94f7-0bf4debd4879",
        "type": "operationalState",
        "value": "{\"state\":\"COMPLETE_SHUTDOWN\"}",
        "status": "SUCCESS"
    }
]
  • 404 Not Found: Operational State Not Found
  • 400 Bad Request
GET http://ocudr-nudr-config.myudr:5001/nudr-config/v1/udr.exporttoolfilestatus.cfg/EXPORT_TOOL_FILE_STATUS

Result Code: 200 OK

Payload

{
    "exportFileStatusList": [
        {
            "jobId": "export-10-11-2022T15:32:00",
            "fileName": "2022-11-10-15-32-00-026810444_SLFTestSegment.txt",
            "startTime": "10/11/2022 15:32:00",
            "completeTime": "10/11/2022 15:32:14",
            "filePath": "/home/udruser/export/2022-11-10-15-32-00-026810444_SLFTestSegment.txt",
            "status": "FILE_EXPORT_COMPLETED"
        },
        {
            "jobId": "export-09-11-2022T17:21:00",
            "fileName": "2022-11-09-17-21-00-018290194_SLFTestSegment.txt",
            "startTime": "09/11/2022 17:21:00",
            "completeTime": "09/11/2022 17:21:10",
            "filePath": "/home/udruser/export/2022-11-09-17-21-00-018290194_SLFTestSegment.txt",
            "status": "FILE_EXPORT_COMPLETED"
        },
        {
            "jobId": "export-10-11-2022T15:35:00",
            "fileName": "2022-11-10-15-35-00-019351328_SLFTestSegment.txt",
            "startTime": "10/11/2022 15:35:00",
            "completeTime": "10/11/2022 15:35:12",
            "filePath": "/home/udruser/export/2022-11-10-15-35-00-019351328_SLFTestSegment.txt",
            "status": "FILE_EXPORT_COMPLETED"
        },
        {
            "jobId": "export-10-11-2022T05:40:00",
            "fileName": "2022-11-10-05-40-00-315885098_SLFTestSegment.txt",
            "startTime": "10/11/2022 05:40:00",
            "completeTime": "10/11/2022 05:40:43",
            "filePath": "/home/udruser/export/2022-11-10-05-40-00-315885098_SLFTestSegment.txt",
            "status": "FILE_EXPORT_COMPLETED"
        }
    ]
}
  • 400 Bad Request
  • 404 Data field Doesn't exist
GET http://ocudr-nudr-config.myudr:5001/nudr-config/v1/udr.exporttoolstatus.cfg/EXPORT_TOOL_STATUS

Result Code: 200 OK

Payload

[
    {
        "jobId": "export-2023-01-16T14:12:33",
        "subscriberCount": 1,
        "exportedSubscriberCount": 1,
        "jobProgress": 100.0,
        "exportState": "1/1",
        "status": "COMPLETED"
    },
    {
        "jobId": "export-2023-01-16T14:13:53",
        "subscriberCount": 1,
        "exportedSubscriberCount": 1,
        "jobProgress": 100.0,
        "exportState": "1/1",
        "status": "COMPLETED"
    },
    {
        "jobId": "export-2023-01-16T17:32:10",
        "subscriberCount": 1,
        "exportedSubscriberCount": 1,
        "jobProgress": 100.0,
        "exportState": "1/1",
        "status": "COMPLETED"
    }
]
  • 400 Bad Request
  • 404 Data field Doesn't exist
GET http://ocudr-nudr-config.myudr:5001/nudr-config/v1/udr.exporttoolstatus.cfg/EXPORT_TOOL_STATUS/export-2023-01-16T14:12:33

Result Code: 200 OK

Payload

{
    "exportedSubscriberCount": 1,
    "jobId": "export-2023-01-16T14:12:33",
    "jobProgress": 100,
    "subscriberCount": 1,
    "exportState": "1/1",
    "exportFileStatusList": [
        {
            "jobId": "export-2023-01-16T14:12:33",
            "fileName": "2023-01-16-14-12-33-025218306_SLFTestSegment.txt",
            "filePath": "/home/udruser/export/2023-01-16-14-12-33-025218306_SLFTestSegment.txt",
            "completeTime": "16/01/2023 14:12:33",
            "startTime": "16/01/2023 14:12:33",
            "status": "FILE_EXPORT_COMPLETED"
        }
    ],
    "status": "COMPLETED"
}
  • 400 Bad Request
  • 404 Data field Doesn't exist
PUT

http://ocudr-nudr-config.myudr:5001/nudr-config/v1/udr.nudrservice.cfg/DR-SERVICE

Payload

{
	"subscriptionDataSubscriptionsOnly": false,
	"defaultGroupIdEnabled": false,
	"defaultSlfGroupName": "DefaultGrp",
    "allowSubscriptionRecreation":true
 }

Result Code: 200 OK

  • 400 Bad Request: Schema validation failed
  • Payload should have at least one valid parameter

  • Read Only field cannot be modified

  • JSONObject[\\"unknown field name\\"] not found.
PUT http://ocudr-nudr-config.myudr:5001/nudr-config/v1/udr.bulkimportservice.cfg/BULK_IMPORT_CFG

Payload

{
    "pdbiFileExpiryTime": "8d",
    "remoteDirPath": "/home/cloud-user/ocudr/",
    "fileExt": ".pdbi",
    "deleteFileFromPVC": true,
    "transferOutPath": "/home/cloud-user/transferOut/"
}

Result Code: 200 OK

  • 400 Bad Request: Schema validation failed
  • Payload should have at least one valid parameter

  • Read-only field can not be modified

  • JSONObject[\\"unknown field name\\"] not found.
PUT http://ocudr-nudr-config.myudr:5001/nudr-config/v1/udr.exporttool.cfg/EXPORT_TOOL_CFG

Payload

{
    "remotePath": "/home/cloud-user/ocudr/",
    "fixedDumpFileNameSuffix": "SLFTestSegment",
    "fixedDumpFileNamePrefix": " ",
    "configuredString": "snapshot",
    "timeStampFormat": "YYYYMMDDHHMMSS", 
    "msisdnCount": 5,
    "pvcPath": "/home/udruser/export",
    "fieldDelimiter": ",",
    "multiValuedelimiter": "|",
    "subscriberExportRange": {
        "keyType": "msisdn",
        "subscriberRanges": [
            "1111111130-1111111140",
            "1111111150-1111111160"
        ]
    },
    "subscriberRangeEnabled": false,
    "fileExtension": ".txt",
    "deleteFromPVC": true,
    "startTime": "14/09/2022 17:32:10",
    "imsiCount": 5,
    "newFilePerRangeEnabled": false,
    "frequencyOfPeriodicDump": "DAILY",
    "maxNumberOfDumps": 5,
    "exportFileExpiryTime":7d,
    "policyDataResources":"sm-data,am-data,ue-policy-set"
}

Result Code: 200 OK

  • 400 Bad Request: Schema validation failed
  • Payload should have at least one valid parameter

  • Read-only field can not be modified

  • JSONObject[\\"unknown field name\\"] not found.
PUT

http://ocudr-nudr-config.myudr:5001/nudr-config/v1/udr.notifyservice.cfg/NOTIFY-SERVICE

Payload

{
    "resourceRemovalNotificationEnabled": true,
    "retryErrorCodes": "400,429,500,503",
    "notifRetryCount": 3,
    "NotifRetryInterval": 5
}

Result Code: 200 OK

  • 400 Bad Request: Schema validation failed
  • Payload should have at least one valid parameter

  • Read-only field can not be modified

  • JSONObject[\\"unknown field name\\"] not found.
PUT

http://ocudr-nudr-config.myudr:5001/nudr-config/v1/udr.diamgateway.cfg/DIAMETER-GATEWAY

payload

{
    "diameterRetryErrorCodes": [
        3002,
        3004,
        3005,
        3006,
        4003,
        5012
    ],
    "allowedClientNodes": [
        {
            "port": 32514,
            "identity": "dsr.oracle.com",
            "name": "dsr",
            "host": "10.75.229.154",
            "realm": "oracle.com",
            "responseOnly": true,
            "transport": "TCP",
            "type": "server"
        },
        {
            "port": 31288,
            "identity": "site2.oracle.com",
            "name": "site2",
            "host": "10.75.229.228",
            "realm": "oracle.com",
            "responseOnly": true,
            "transport": "TCP",
            "type": "server"
        }
    ],
    "watchdogInterval": 6,
    "reconnectDelay": 6,
    "connectionTimeOut": 2,
    "responseTimeout": 2,
    "reconnectLimit": 2,
    "alternateRoutePeerNodes": [
        "dsr.oracle.com",
        "site2.oracle.com"
    ]
}

Result Code: 200 OK

Result Code: 200 OK

PUT

http://localhost:8081/nudr-config/v1/udr.diamgateway.congestion.cfg/DGW-CONGESTION

payload

{
         "enabled": true,
         "defaultMessagePriority": 2,
         "sampleCount": 10,
         "calculationInterval": 100,
         "loadSheddingRulesMap": {
            "CONGESTED": {
               "state": "CONGESTED",
               "discardPriority": 10,
               "ansWithResultCode": "DIAMETER_TOO_BUSY",
               "resultCode": 3004,
               "vendorId": 10415
            },
            "DOC": {
               "state": "DOC",
               "discardPriority": 15,
               "ansWithResultCode": "DIAMETER_TOO_BUSY",
               "resultCode": 3004,
               "vendorId": 10415
            }
         },
         "priorityRules": [{
            "ruleName": "SH-UDR_MIGRATION",
            "messagePriority": 2,
            "conditions": {
               "requestType": "UDR_MIGRATION",
               "application": "Sh",
               "message": "UDR_MIGRATION"
            }
         }, {
            "ruleName": "SH-UDR",
            "messagePriority": 5,
            "conditions": {
               "requestType": "UDR",
               "application": "Sh",
               "message": "UDR"
            }
         }, {
            "ruleName": "SH-PUR",
            "messagePriority": 3,
            "conditions": {
               "requestType": "PUR",
               "application": "Sh",
               "message": "PUR"
            }
         }, {
            "ruleName": "SH-SNR",
            "messagePriority": 7,
            "conditions": {
               "requestType": "SNR",
               "application": "Sh",
               "message": "SNR"
            }
         }, {
            "ruleName": "SH-PNR",
            "messagePriority": 3,
            "conditions": {
               "requestType": "PNR",
               "application": "Sh",
               "message": "PNR"
            }
         }],
         "thresholds": {
            "CONGESTED": {
               "memory": 80,
               "cpu": 80,
               "queue": 50
            },
            "DOC": {
               "memory": 60,
               "cpu": 60,
               "queue": 30
            }
         }
      }

Result Code: 200 OK

  • 400 Bad Request: Schema validation failed
  • Payload should have at least one valid parameter

  • Read-only field can not be modified

  • JSONObject[\\"unknown field name\\"] not found.
  • Data field update not allowed
PUT

http://ocudr-nudr-config.myudr:5001/nudr-config/v1/udr.global.cfg/GLOBAL

payload
{
  "snssai": "2-FFFFFF",
  "dnn": "dnn1",
  "sbiCorrelationInfoEnable": false,
  "autoCreate": true,
  "autoEnrolOnSignalling": true,
  "etagEnabled": true,
  "version": "v3",
  "consumerNF": "PCF,UDM,NEF",
  "vsaDefaultBillingDay": 1,
  "subscriberActivityEnabled": false,
  "addDefaultBillingDay": true,
  "enableControlledShutdown": false,
  "dbConflictResolutionEnabled": false,
  "maxNumberOfSubscriptions": 30,
  "suppressNotificationEnabled": true,
  "configClientConnectTimeout": 1000,
  "configClientReadTimeout": 1000,
  "s13InterfaceEnabled": false,
  "defaultResponse": "EQUIPMENT_UNKNOWN",
  "accessLogEnabled": true,
  "accessLogExportEnabled": false,
  "sourceIdentificationIp": "",
  "sequenceIdentification": "0",
  "defaultResponseIMEINotFound": "EQUIPMENT_UNKNOWN",
  "imsiLookupFallbackEnabled": false,
  "imeisvLookupFallback": false,
  "subscriberIdentifers": {
    "msisdn": [],
    "imsi": [],
    "nai": [],
    "extid": []
  }
}

200 OK

Note: Do not change the default value of configClientConnectTimeout and configClientReadTimeout parameters unless required.

  • 400 Bad Request: Schema validation failed
  • Payload should have at least one valid parameter

  • Read-only field can not be modified

  • JSONObject[\\"unknown field name\\"] not found.
  • Data field update not allowed
PUT http://ocudr-nudr-config.myudr:5001/nudr-config/v1/udr.nudrprovservice.cfg/DR-PROV-SERVICE

Payload

{
    "provLogsEnabled": true,
    "provLogsApiNames": [
        "nudr-dr-prov"
    ]
}

Result Code: 200 OK

  • 400 Bad Request: Schema validation failed
  • Payload should have at least one valid parameter

  • Read-only field can not be modified

  • JSONObject[\\"unknown field name\\"] not found.
  • Data field update not allowed
PUT http://ocudr-nudr-config.myudr:5001/nudr-config/v1/udr.bulkimportservice.cfg/BULK_IMPORT_CFG

Payload

{
    "pdbiFileExpiryTime": "8d",
    "remoteDirPath": "/home/cloud-user/ocudr1/",
    "fileExt": ".pdbi",
    "deleteFileFromPVC": true,
    "transferOutPath": "/home/cloud-user/transferOut1/"
}

Result Code: 200 OK

  • 400 Bad Request: Schema validation failed
  • Payload should have at least one valid parameter

  • Read-only field can not be modified

  • JSONObject[\\"unknown field name\\"] not found.
  • Data field update not allowed
PUT http://ocudr-nudr-config.myudr:5001/udr/nf-common-component/v1/operationalState

Payload

{    "operationalState": "NORMAL"}

Result Code: 200 OK

  • 400 Bad Request: Controlled shutdown feature disabled
  • 500 Internal Server Error Occurred
DELETE http://ocudr-nudr-config.myudr:5001/nudr-config/v1/udr.exporttoolstatus.cfg/EXPORT_TOOL_STATUS/export-2023-01-16T14:12:33

Result Code: 200 OK

  • 400 Bad Request
  • 404 Data field Doesn't exist

5.2 Configuration APIs for Common Services

This section describes the configuration APIs for common services.

Table 5-2 Common Services Configuration APIs

HTTP Method Sample Request REST URL Sample Response
PUT http://localhost:8081/udr/nf-common-component/v1/nrf-client-nfmanagement/nfProfileList

Request

[
    {
        "fqdn": "ocudr-ingressgateway.myudr.svc.cluster.local",
        "load": 0,
        "nfType": "UDR",
        "udrInfo": {
            "groupId": "udr-1",
            "gpsiRanges": [
                {
                    "end": "20000000000",
                    "start": "10000000000"
                }
            ],
            "supiRanges": [
                {
                    "end": "20000000000",
                    "start": "10000000000"
                }
            ],
            "supportedDataSets": [
                "POLICY",
                "SUBSCRIPTION"
            ],
            "externalGroupIdentifiersRanges": [
                {
                    "end": "20000000000",
                    "start": "10000000000"
                }
            ]
        },
        "capacity": 500,
        "locality": "bangalore",
        "nfStatus": "REGISTERED",
        "plmnList": [
            {
                "mcc": "310",
                "mnc": "14"
            }
        ],
        "priority": 10,
        "nfServices": [
            {
                "fqdn": "ocudr-ingressgateway.myudr.svc.cluster.local",
                "load": 0,
                "scheme": "http",
                "capacity": 500,
                "priority": 10,
                "versions": [
                    {
                        "apiFullVersion": "2.1.0.alpha-3",
                        "apiVersionInUri": "v1"
                    }
                ],
                "ipEndPoints": [
                    {
                        "port": "80",
                        "transport": "TCP",
                        "ipv4Address": "10.0.0.0"
                    }
                ],
                "serviceName": "nudr-dr",
                "allowedNfTypes": [
                    "PCF",
                    "UDM"
                ],
                "nfServiceStatus": "REGISTERED",
                "serviceInstanceId": "ae870316-384d-458a-bd45-025c9e748976"
            },
            {
                "fqdn": "ocudr-ingressgateway.myudr.svc.cluster.local",
                "load": 0,
                "scheme": "http",
                "capacity": 500,
                "priority": 10,
                "versions": [
                    {
                        "apiFullVersion": "2.1.0.alpha-3",
                        "apiVersionInUri": "v1"
                    }
                ],
                "ipEndPoints": [
                    {
                        "port": "80",
                        "transport": "TCP",
                        "ipv4Address": "10.0.0.0"
                    }
                ],
                "serviceName": "nudr-group-id-map",
                "allowedNfTypes": [
                    "NRF"
                ],
                "nfServiceStatus": "REGISTERED",
                "serviceInstanceId": "547d42af-628a-4d5d-a8bd-38c4ba672682"
            }
        ],
        "nfSetIdList": [
            "setxyz.udrset.5gc.mnc012.mcc345"
        ],
        "nfInstanceId": "5a7bd676-ceeb-44bb-95e0-f6a55a328b13",
        "allowedNfTypes": [
            "PCF",
            "UDM",
            "NRF"
        ],
        "heartBeatTimer": 90,
        "nfServicePersistence": false,
        "nfProfileChangesSupportInd": false
    }
]

200 OK

GET http://localhost:8081/udr/nf-common-component/v1/nrf-client-nfmanagement/nfProfileList

200 OK

[
    {
        "fqdn": "ocudr-ingressgateway.myudr.svc.cluster.local",
        "load": 0,
        "nfType": "UDR",
        "udrInfo": {
            "groupId": "udr-1",
            "gpsiRanges": [
                {
                    "end": "20000000000",
                    "start": "10000000000"
                }
            ],
            "supiRanges": [
                {
                    "end": "20000000000",
                    "start": "10000000000"
                }
            ],
            "supportedDataSets": [
                "POLICY",
                "SUBSCRIPTION"
            ],
            "externalGroupIdentifiersRanges": [
                {
                    "end": "20000000000",
                    "start": "10000000000"
                }
            ]
        },
        "capacity": 500,
        "locality": "bangalore",
        "nfStatus": "REGISTERED",
        "plmnList": [
            {
                "mcc": "310",
                "mnc": "14"
            }
        ],
        "priority": 10,
        "nfServices": [
            {
                "fqdn": "ocudr-ingressgateway.myudr.svc.cluster.local",
                "load": 0,
                "scheme": "http",
                "capacity": 500,
                "priority": 10,
                "versions": [
                    {
                        "apiFullVersion": "2.1.0.alpha-3",
                        "apiVersionInUri": "v1"
                    }
                ],
                "ipEndPoints": [
                    {
                        "port": "80",
                        "transport": "TCP",
                        "ipv4Address": "10.0.0.0"
                    }
                ],
                "serviceName": "nudr-dr",
                "allowedNfTypes": [
                    "PCF",
                    "UDM"
                ],
                "nfServiceStatus": "REGISTERED",
                "serviceInstanceId": "ae870316-384d-458a-bd45-025c9e748976"
            },
            {
                "fqdn": "ocudr-ingressgateway.myudr.svc.cluster.local",
                "load": 0,
                "scheme": "http",
                "capacity": 500,
                "priority": 10,
                "versions": [
                    {
                        "apiFullVersion": "2.1.0.alpha-3",
                        "apiVersionInUri": "v1"
                    }
                ],
                "ipEndPoints": [
                    {
                        "port": "80",
                        "transport": "TCP",
                        "ipv4Address": "10.0.0.0"
                    }
                ],
                "serviceName": "nudr-group-id-map",
                "allowedNfTypes": [
                    "NRF"
                ],
                "nfServiceStatus": "REGISTERED",
                "serviceInstanceId": "547d42af-628a-4d5d-a8bd-38c4ba672682"
            }
        ],
        "nfSetIdList": [
            "setxyz.udrset.5gc.mnc012.mcc345"
        ],
        "nfInstanceId": "5a7bd676-ceeb-44bb-95e0-f6a55a328b13",
        "allowedNfTypes": [
            "PCF",
            "UDM",
            "NRF"
        ],
        "heartBeatTimer": 90,
        "nfServicePersistence": false,
        "nfProfileChangesSupportInd": false
    }
]
GET http://<nudr-config-host>:<nudr-config-port>/udr/nf-common-component/v1/app-info/nfScoring

200 OK

{
    "enableNFScoring": true,
    "tps": {
        "enable": true,
        "maxScore": 20,
        "maxTps": 14000
    },
    "serviceHealth": {
        "enable": true,
        "maxScore": 30
    },
    "signallingConnections": {
        "enable": true,
        "maxScore": 20,
        "maxConnections": 100
    },
    "replicationHealth": {
        "enable": true,
        "maxScore": 30
    },
    "localitySitePreference": {
        "enable": true,
        "score": 5
    },
    "activeAlert": {
        "enable": true,
        "criticalAlertWeightage": 2,
        "majorAlertWeightage": 1,
        "minorAlertWeightage": 0
    },
    "customCriteria": [{
        "name": "BulkImport",
        "enable": true,
        "metricName": "nudr_bulk_import_records_processed_total",
        "scoringType": "ratio",
        "maxScore": 20,
        "maxValue": 10000,
        "weightage": 5
    }, {
        "name": "BulkExport",
        "enable": true,
        "metricName": "export_tool_status_total",
        "scoringType": "ratio",
        "maxScore": 20,
        "maxValue": 100,
        "weightage": 5
    }]
}
PUT http://<nudr-config-host>:<nudr-config-port>/udr/nf-common-component/v1/app-info/nfScoring
{
    "enableNFScoring": true,
    "tps": {
        "enable": true,
        "maxScore": 20,
        "maxTps": 14000
    },
    "serviceHealth": {
        "enable": true,
        "maxScore": 30
    },
    "signallingConnections": {
        "enable": true,
        "maxScore": 20,
        "maxConnections": 100
    },
    "replicationHealth": {
        "enable": true,
        "maxScore": 30
    },
    "localitySitePreference": {
        "enable": true,
        "score": 5
    },
    "activeAlert": {
        "enable": true,
        "criticalAlertWeightage": 2,
        "majorAlertWeightage": 1,
        "minorAlertWeightage": 0
    },
    "customCriteria": [{
        "name": "BulkImport",
        "enable": true,
        "metricName": "nudr_bulk_import_records_processed_total",
        "scoringType": "ratio",
        "maxScore": 20,
        "maxValue": 10000,
        "weightage": 5
    }, {
        "name": "BulkExport",
        "enable": true,
        "metricName": "export_tool_status_total",
        "scoringType": "ratio",
        "maxScore": 20,
        "maxValue": 100,
        "weightage": 5
    }]
}
200 OK
GET http://<nudr-config-host>:<nudr-config-port>/udr/nf-common-component/v1/nfscore

200 OK

{
  "NFScore": 96.65151515151516,
  "detailedReport": {
    "failedFactors": [
      {
        "criteria": "activeAlert",
        "detail": "failed to calculate activeAlert score"
      }
    ],
    "scoringFactors": [
      {
        "additionalInfo": {
          "actualValue": 29.95,
          "configuredValue": 33,
          "igw_prov": 19.95,
          "igw_sig": 10.0
        },
        "calculatedScore": 18.151515151515152,
        "criteria": "tps",
        "maxScore": 20
      },
      {
        "additionalInfo": {
          "totalSvcs": 21,
          "upSvcs": 21
        },
        "calculatedScore": 30.0,
        "criteria": "serviceHealth",
        "maxScore": 30
      },
      {
        "additionalInfo": {
          "actualValue": 17.0,
          "configuredValue": 40,
          "igw_prov": 12,
          "igw_sig": 4
        },
        "calculatedScore": 8.5,
        "criteria": "signallingConnections",
        "maxScore": 20
      },
      {
        "additionalInfo": {
          "availableLinks": 0.0,
          "totalSites": 0.0
        },
        "calculatedScore": 0.0,
        "criteria": "replicationHealth",
        "maxScore": 30
      },
      {
        "calculatedScore": 5.0,
        "criteria": "localityPreference"
      },
      {
        "calculatedScore": 20,
        "criteria": "BulkImport",
        "maxScore": 20
      },
      {
        "calculatedScore": 15,
        "criteria": "BulkExport",
        "weightage": 5
      }
    ]
  }
}
GET http://<nudr-config-host>:<nudr-config-port>/udr/nf-common-component/v1/igw-sig/podProtectionByRateLimiting

200 OK

{
    "routes": [
        {
            "id": 1,
            "path": "/nudr-group-id-map/**",
            "methods": [
                "GET"
            ],
            "percentage": 100
        }
    ],
    "enabled": false,
    "fillRate": 2900,
    "defaultPriority": 24,
    "errorCodeProfile": "error429",
    "priorityHeaderName": "3gpp-Sbi-Message-Priority",
    "deniedRequestActions": [
        {
            "id": 1,
            "action": "CONTINUE",
            "congestionLevel": 0
        },
        {
            "id": 2,
            "action": "CONTINUE",
            "congestionLevel": 1
        },
        {
            "id": 3,
            "action": "REJECT",
            "congestionLevel": 2,
            "errorCodeProfile": "error429"
        },
        {
            "id": 4,
            "action": "REJECT",
            "congestionLevel": 3,
            "errorCodeProfile": "error503"
        }
    ]
}
PUT http://<nudr-config-host>:<nudr-config-port>/udr/nf-common-component/v1/igw-sig/podProtectionByRateLimiting
{
    "routes": [
        {
            "id": 1,
            "path": "/nudr-group-id-map/**",
            "methods": [
                "GET"
            ],
            "percentage": 100
        }
    ],
    "enabled": false,
    "fillRate": 2900,
    "defaultPriority": 24,
    "errorCodeProfile": "error429",
    "priorityHeaderName": "3gpp-Sbi-Message-Priority",
    "deniedRequestActions": [
        {
            "id": 1,
            "action": "CONTINUE",
            "congestionLevel": 0
        },
        {
            "id": 2,
            "action": "CONTINUE",
            "congestionLevel": 1
        },
        {
            "id": 3,
            "action": "REJECT",
            "congestionLevel": 2,
            "errorCodeProfile": "error429"
        },
        {
            "id": 4,
            "action": "REJECT",
            "congestionLevel": 3,
            "errorCodeProfile": "error503"
        }
    ]
}
200 OK
GET http://<nudr-config-host>:<nudr-config-port>/udr/nf-common-component/v1/igw-sig/congestionConfig

200 OK

{
    "levels": [
        {
            "name": "Normal",
            "value": 1,
            "resources": [
                {
                    "name": "CPU",
                    "onset": 70,
                    "abatement": 65
                }
            ]
        },
        {
            "name": "Danger Of Congestion",
            "value": 2,
            "resources": [
                {
                    "name": "CPU",
                    "onset": 80,
                    "abatement": 75
                }
            ]
        },
        {
            "name": "Congestion",
            "value": 3,
            "resources": [
                {
                    "name": "CPU",
                    "onset": 90,
                    "abatement": 85
                }
            ]
        }
    ],
    "refreshInterval": 500
}
PUT http://<nudr-config-host>:<nudr-config-port>/udr/nf-common-component/v1/igw-sig/congestionConfig
{
    "levels": [
        {
            "name": "Normal",
            "value": 1,
            "resources": [
                {
                    "name": "CPU",
                    "onset": 70,
                    "abatement": 65
                }
            ]
        },
        {
            "name": "Danger Of Congestion",
            "value": 2,
            "resources": [
                {
                    "name": "CPU",
                    "onset": 80,
                    "abatement": 75
                }
            ]
        },
        {
            "name": "Congestion",
            "value": 3,
            "resources": [
                {
                    "name": "CPU",
                    "onset": 90,
                    "abatement": 85
                }
            ]
        }
    ],
    "refreshInterval": 500
}
200 OK

5.2.1 Ingress Gateway Signaling APIs

This section describes the configuration APIs for Ingress Gateway Signaling.

Table 5-3 Ingress Gateway Signalling APIs for common services

Method Request Response Notes

PUT

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/configurableerrorcodes

Request body:

{
    "enabled": true,
    "errorScenarios": [
        {
            "exceptionType": "XFCC_HEADER_VALIDATION_FAILURE",
            "errorProfileName": "XFCC_HEADER_VALIDATION_FAILURE"
        },
        {
            "exceptionType": "XFCC_HEADER_NOT_PRESENT_OR_EMPTY",
            "errorProfileName": "XFCC_HEADER_NOT_PRESENT_OR_EMPTY"
        },
        {
            "exceptionType": "XFCC_MATCHCERTCOUNT_GREATER_THAN_CERTS_IN_HEADER",
            "errorProfileName": "XFCC_MATCHCERTCOUNT_GREATER_THAN_CERTS_IN_HEADER"
        },
        {
            "exceptionType": "XFCC_HEADER_INVALID",
            "errorProfileName": "XFCC_HEADER_INVALID"
        },
        {
            "exceptionType": "OAUTH_CERT_EXPIRED",
            "errorProfileName": "OAUTH_CERT_EXPIRED"
        },
        {
            "exceptionType": "OAUTH_MISMATCH_IN_KID",
            "errorProfileName": "OAUTH_MISMATCH_IN_KID"
        },
        {
            "exceptionType": "OAUTH_PRODUCER_SCOPE_NOT_PRESENT",
            "errorProfileName": "OAUTH_PRODUCER_SCOPE_NOT_PRESENT"
        },
        {
            "exceptionType": "OAUTH_PRODUCER_SCOPE_MISMATCH",
            "errorProfileName": "OAUTH_PRODUCER_SCOPE_MISMATCH"
        },
        {
            "exceptionType": "OAUTH_MISMATCH_IN_NRF_INSTANCEID",
            "errorProfileName": "OAUTH_MISMATCH_IN_NRF_INSTANCEID"
        },
        {
            "exceptionType": "OAUTH_PRODUCER_PLMNID_MISMATCH",
            "errorProfileName": "OAUTH_PRODUCER_PLMNID_MISMATCH"
        },
        {
            "exceptionType": "OAUTH_AUDIENCE_NOT_PRESENT_OR_INVALID",
            "errorProfileName": "OAUTH_AUDIENCE_NOT_PRESENT_OR_INVALID"
        },
        {
            "exceptionType": "OAUTH_TOKEN_INVALID",
            "errorProfileName": "OAUTH_TOKEN_INVALID"
        },
        {
            "exceptionType": "OAUTH_TOKEN_ABSENCE",
            "errorProfileName": "OAUTH_TOKEN_ABSENCE"
        },
        {
            "exceptionType": "OAUTH_TOKEN_VALIDATION_FAILURE",
            "errorProfileName": "OAUTH_TOKEN_VALIDATION_FAILURE"
        }
    ]
}

200 OK

Response body:

{
    "enabled": true,
    "errorScenarios": [
        {
            "exceptionType": "XFCC_HEADER_VALIDATION_FAILURE",
            "errorProfileName": "XFCC_HEADER_VALIDATION_FAILURE"
        },
        {
            "exceptionType": "XFCC_HEADER_NOT_PRESENT_OR_EMPTY",
            "errorProfileName": "XFCC_HEADER_NOT_PRESENT_OR_EMPTY"
        },
        {
            "exceptionType": "XFCC_MATCHCERTCOUNT_GREATER_THAN_CERTS_IN_HEADER",
            "errorProfileName": "XFCC_MATCHCERTCOUNT_GREATER_THAN_CERTS_IN_HEADER"
        },
        {
            "exceptionType": "XFCC_HEADER_INVALID",
            "errorProfileName": "XFCC_HEADER_INVALID"
        },
        {
            "exceptionType": "OAUTH_CERT_EXPIRED",
            "errorProfileName": "OAUTH_CERT_EXPIRED"
        },
        {
            "exceptionType": "OAUTH_MISMATCH_IN_KID",
            "errorProfileName": "OAUTH_MISMATCH_IN_KID"
        },
        {
            "exceptionType": "OAUTH_PRODUCER_SCOPE_NOT_PRESENT",
            "errorProfileName": "OAUTH_PRODUCER_SCOPE_NOT_PRESENT"
        },
        {
            "exceptionType": "OAUTH_PRODUCER_SCOPE_MISMATCH",
            "errorProfileName": "OAUTH_PRODUCER_SCOPE_MISMATCH"
        },
        {
            "exceptionType": "OAUTH_MISMATCH_IN_NRF_INSTANCEID",
            "errorProfileName": "OAUTH_MISMATCH_IN_NRF_INSTANCEID"
        },
        {
            "exceptionType": "OAUTH_PRODUCER_PLMNID_MISMATCH",
            "errorProfileName": "OAUTH_PRODUCER_PLMNID_MISMATCH"
        },
        {
            "exceptionType": "OAUTH_AUDIENCE_NOT_PRESENT_OR_INVALID",
            "errorProfileName": "OAUTH_AUDIENCE_NOT_PRESENT_OR_INVALID"
        },
        {
            "exceptionType": "OAUTH_TOKEN_INVALID",
            "errorProfileName": "OAUTH_TOKEN_INVALID"
        },
        {
            "exceptionType": "OAUTH_TOKEN_ABSENCE",
            "errorProfileName": "OAUTH_TOKEN_ABSENCE"
        },
        {
            "exceptionType": "OAUTH_TOKEN_VALIDATION_FAILURE",
            "errorProfileName": "OAUTH_TOKEN_VALIDATION_FAILURE"
        }
    ]
}

Possible error codes 400Bad Request : Duplicate keys in array

PATCH

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/configurableerrorcodes

Request body:

{
    "enabled": true,
    "errorScenarios": [
        {
            "exceptionType": "XFCC_HEADER_VALIDATION_FAILURE",
            "errorProfileName": "XFCC_HEADER_VALIDATION_FAILURE"
        },
        {
            "exceptionType": "XFCC_HEADER_NOT_PRESENT_OR_EMPTY",
            "errorProfileName": "XFCC_HEADER_NOT_PRESENT_OR_EMPTY"
        },
        {
            "exceptionType": "XFCC_MATCHCERTCOUNT_GREATER_THAN_CERTS_IN_HEADER",
            "errorProfileName": "XFCC_MATCHCERTCOUNT_GREATER_THAN_CERTS_IN_HEADER"
        },
        {
            "exceptionType": "XFCC_HEADER_INVALID",
            "errorProfileName": "XFCC_HEADER_INVALID"
        },
        {
            "exceptionType": "OAUTH_CERT_EXPIRED",
            "errorProfileName": "OAUTH_CERT_EXPIRED"
        },
        {
            "exceptionType": "OAUTH_MISMATCH_IN_KID",
            "errorProfileName": "OAUTH_MISMATCH_IN_KID"
        },
        {
            "exceptionType": "OAUTH_PRODUCER_SCOPE_NOT_PRESENT",
            "errorProfileName": "OAUTH_PRODUCER_SCOPE_NOT_PRESENT"
        },
        {
            "exceptionType": "OAUTH_PRODUCER_SCOPE_MISMATCH",
            "errorProfileName": "OAUTH_PRODUCER_SCOPE_MISMATCH"
        },
        {
            "exceptionType": "OAUTH_MISMATCH_IN_NRF_INSTANCEID",
            "errorProfileName": "OAUTH_MISMATCH_IN_NRF_INSTANCEID"
        },
        {
            "exceptionType": "OAUTH_PRODUCER_PLMNID_MISMATCH",
            "errorProfileName": "OAUTH_PRODUCER_PLMNID_MISMATCH"
        },
        {
            "exceptionType": "OAUTH_AUDIENCE_NOT_PRESENT_OR_INVALID",
            "errorProfileName": "OAUTH_AUDIENCE_NOT_PRESENT_OR_INVALID"
        },
        {
            "exceptionType": "OAUTH_TOKEN_INVALID",
            "errorProfileName": "OAUTH_TOKEN_INVALID"
        },
        {
            "exceptionType": "OAUTH_TOKEN_ABSENCE",
            "errorProfileName": "OAUTH_TOKEN_ABSENCE"
        },
        {
            "exceptionType": "OAUTH_TOKEN_VALIDATION_FAILURE",
            "errorProfileName": "OAUTH_TOKEN_VALIDATION_FAILURE"
        }
    ]
}

200 OK

Possible error codes 400Bad Request : Duplicate keys in array

GET

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/configurableerrorcodes

200 OK

Response body:

{
    "enabled": true,
    "errorScenarios": [
        {
            "exceptionType": "XFCC_HEADER_VALIDATION_FAILURE",
            "errorProfileName": "XFCC_HEADER_VALIDATION_FAILURE"
        },
        {
            "exceptionType": "XFCC_HEADER_NOT_PRESENT_OR_EMPTY",
            "errorProfileName": "XFCC_HEADER_NOT_PRESENT_OR_EMPTY"
        },
        {
            "exceptionType": "XFCC_MATCHCERTCOUNT_GREATER_THAN_CERTS_IN_HEADER",
            "errorProfileName": "XFCC_MATCHCERTCOUNT_GREATER_THAN_CERTS_IN_HEADER"
        },
        {
            "exceptionType": "XFCC_HEADER_INVALID",
            "errorProfileName": "XFCC_HEADER_INVALID"
        },
        {
            "exceptionType": "OAUTH_CERT_EXPIRED",
            "errorProfileName": "OAUTH_CERT_EXPIRED"
        },
        {
            "exceptionType": "OAUTH_MISMATCH_IN_KID",
            "errorProfileName": "OAUTH_MISMATCH_IN_KID"
        },
        {
            "exceptionType": "OAUTH_PRODUCER_SCOPE_NOT_PRESENT",
            "errorProfileName": "OAUTH_PRODUCER_SCOPE_NOT_PRESENT"
        },
        {
            "exceptionType": "OAUTH_PRODUCER_SCOPE_MISMATCH",
            "errorProfileName": "OAUTH_PRODUCER_SCOPE_MISMATCH"
        },
        {
            "exceptionType": "OAUTH_MISMATCH_IN_NRF_INSTANCEID",
            "errorProfileName": "OAUTH_MISMATCH_IN_NRF_INSTANCEID"
        },
        {
            "exceptionType": "OAUTH_PRODUCER_PLMNID_MISMATCH",
            "errorProfileName": "OAUTH_PRODUCER_PLMNID_MISMATCH"
        },
        {
            "exceptionType": "OAUTH_AUDIENCE_NOT_PRESENT_OR_INVALID",
            "errorProfileName": "OAUTH_AUDIENCE_NOT_PRESENT_OR_INVALID"
        },
        {
            "exceptionType": "OAUTH_TOKEN_INVALID",
            "errorProfileName": "OAUTH_TOKEN_INVALID"
        },
        {
            "exceptionType": "OAUTH_TOKEN_ABSENCE",
            "errorProfileName": "OAUTH_TOKEN_ABSENCE"
        },
        {
            "exceptionType": "OAUTH_TOKEN_VALIDATION_FAILURE",
            "errorProfileName": "OAUTH_TOKEN_VALIDATION_FAILURE"
        }
    ]
}
NA

PUT

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/ocpolicymapping

Request body:

{
    "enabled": false,
    "mappings": [
        {
            "svcName": "ocudr-nudr-drservice",
            "policyName": "OCDP1"
        }
    ],
    "samplingPeriod": 6000
}

200 OK

Response body:

{
    "enabled": false,
    "mappings": [
        {
            "svcName": "ocudr-nudr-drservice",
            "policyName": "OCDP1"
        }
    ],
    "samplingPeriod": 6000
}

Possible error codes 400Bad Request : Could not Validate Json

PATCH

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/ocpolicymapping

Request body:

{
    "enabled": false,
    "mappings": [
        {
            "svcName": "ocudr-nudr-drservice",
            "policyName": "OCDP1"
        }
    ],
    "samplingPeriod": 6000
}

200 OK

Possible error codes 400 Bad Request:

GET

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/ocpolicymapping

200 OK

Response body:

{
    "enabled": false,
    "mappings": [
        {
            "svcName": "ocudr-nudr-drservice",
            "policyName": "OCDP1"
        }
    ],
    "samplingPeriod": 6000
}
NA

PUT

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/errorcodeprofiles

Request body:

[
    {
        "name": "XFCC_HEADER_VALIDATION_FAILURE",
        "errorCode": 500,
        "errorCause": "XFCC Validation Failed",
        "errorTitle": "Internal Server Error",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": "Validation of SCP failed"
    },
    {
        "name": "XFCC_HEADER_NOT_PRESENT_OR_EMPTY",
        "errorCode": 500,
        "errorCause": "xfcc header is not present or empty in the request",
        "errorTitle": "Internal Server Error",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": "Validation of SCP failed"
    },
    {
        "name": "XFCC_MATCHCERTCOUNT_GREATER_THAN_CERTS_IN_HEADER",
        "errorCode": 500,
        "errorCause": "matchCerts count is greater than the certs in the request",
        "errorTitle": "Internal Server Error",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": "Validation of SCP failed"
    },
    {
        "name": "XFCC_HEADER_INVALID",
        "errorCode": 500,
        "errorCause": "xfcc header is invalid",
        "errorTitle": "Internal Server Error",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": "Validation of SCP failed"
    },
    {
        "name": "OAUTH_CERT_EXPIRED",
        "errorCode": 408,
        "errorCause": "certificate has expired",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_MISMATCH_IN_KID",
        "errorCode": 407,
        "errorCause": "kid configured does not match with the one present in the token",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_PRODUCER_SCOPE_NOT_PRESENT",
        "errorCode": 406,
        "errorCause": "producer scope is not present in token",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_PRODUCER_SCOPE_MISMATCH",
        "errorCode": 405,
        "errorCause": "produce scope in token does not match with the configuration",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_MISMATCH_IN_NRF_INSTANCEID",
        "errorCode": 404,
        "errorCause": "nrf id configured does not match with the one present in the token",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_PRODUCER_PLMNID_MISMATCH",
        "errorCode": 403,
        "errorCause": "producer plmn id in token does not match with the configuration",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_AUDIENCE_NOT_PRESENT_OR_INVALID",
        "errorCode": 402,
        "errorCause": "audience in token does not match with the configuration",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_TOKEN_INVALID",
        "errorCode": 401,
        "errorCause": "oauth token is corrupted",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_TOKEN_VALIDATION_FAILURE",
        "errorCode": 401,
        "errorCause": "oAuth access Token validation failed",
        "errorTitle": "Validation failure",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": "UNAUTHORIZED"
    },
    {
        "name": "OAUTH_TOKEN_ABSENCE",
        "errorCode": 400,
        "errorCause": "oAuth access Token is not present",
        "errorTitle": "Token not present",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": "UNAUTHORIZED"
    },
    {
        "name": "ERR_NOT_FOUND",
        "errorCode": 404,
        "errorCause": "Cause Not Found",
        "errorTitle": "errorTitle Not Found",
        "errorDescription": "errorDescription Not Found"
    },
    {
        "name": "ERR_RATE_LIMIT",
        "errorCode": 503,
        "errorCause": "TOO_MANY_REQUESTS at IGW",
        "errorTitle": "Too many requests sent. Service is overloaded at IGW",
        "errorDescription": "TOO_MANY_REQUESTS"
    },
    {
        "name": "ERR_UNKNOWN_HOST",
        "errorCode": 400,
        "errorCause": "Unknown Host Exception at IGW",
        "errorTitle": "Unknown Host Exception",
        "errorDescription": "Unknown Host Exception"
    },
    {
        "name": "ERR_CCA_HEADER_VALIDATION",
        "errorCode": 403,
        "errorCause": "CCA_VERIFICATION_FAILURE",
        "errorTitle": "CCA_HEADER_INVALID",
        "errorDescription": ""
    },
    {
        "name": "ERR_POP_503",
        "errorCode": 503,
        "errorCause": "POD_PROTECTION_BY_RATE_LIMITING",
        "errorTitle": "Ingress Gateway is overloaded",
        "errorDescription": "Pod Protection by Rate Limiting rejected request"
    },
    {
        "name": "error429",
        "errorCode": 429,
        "errorCause": "TOO_MANY_REQUESTS",
        "errorTitle": "Too many requests sent. Pod Protection by Rate Limiting rejected request at IGW",
        "errorDescription": "TOO_MANY_REQUESTS"
    },
    {
        "name": "error503",
        "errorCode": 503,
        "errorCause": "POD_PROTECTION_BY_RATE_LIMITING",
        "errorTitle": "Ingress Gateway is overloaded",
        "errorDescription": "Pod Protection by Rate Limiting rejected request"
    }
]

200 OK

Possible error codes 400 Bad Request: Could not Validate Json

PATCH

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/errorcodeprofiles

Request body:

[
    {
        "name": "XFCC_HEADER_VALIDATION_FAILURE",
        "errorCode": 500,
        "errorCause": "XFCC Validation Failed",
        "errorTitle": "Internal Server Error",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": "Validation of SCP failed"
    },
    {
        "name": "XFCC_HEADER_NOT_PRESENT_OR_EMPTY",
        "errorCode": 500,
        "errorCause": "xfcc header is not present or empty in the request",
        "errorTitle": "Internal Server Error",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": "Validation of SCP failed"
    },
    {
        "name": "XFCC_MATCHCERTCOUNT_GREATER_THAN_CERTS_IN_HEADER",
        "errorCode": 500,
        "errorCause": "matchCerts count is greater than the certs in the request",
        "errorTitle": "Internal Server Error",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": "Validation of SCP failed"
    },
    {
        "name": "XFCC_HEADER_INVALID",
        "errorCode": 500,
        "errorCause": "xfcc header is invalid",
        "errorTitle": "Internal Server Error",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": "Validation of SCP failed"
    },
    {
        "name": "OAUTH_CERT_EXPIRED",
        "errorCode": 408,
        "errorCause": "certificate has expired",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_MISMATCH_IN_KID",
        "errorCode": 407,
        "errorCause": "kid configured does not match with the one present in the token",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_PRODUCER_SCOPE_NOT_PRESENT",
        "errorCode": 406,
        "errorCause": "producer scope is not present in token",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_PRODUCER_SCOPE_MISMATCH",
        "errorCode": 405,
        "errorCause": "produce scope in token does not match with the configuration",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_MISMATCH_IN_NRF_INSTANCEID",
        "errorCode": 404,
        "errorCause": "nrf id configured does not match with the one present in the token",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_PRODUCER_PLMNID_MISMATCH",
        "errorCode": 403,
        "errorCause": "producer plmn id in token does not match with the configuration",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_AUDIENCE_NOT_PRESENT_OR_INVALID",
        "errorCode": 402,
        "errorCause": "audience in token does not match with the configuration",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_TOKEN_INVALID",
        "errorCode": 401,
        "errorCause": "oauth token is corrupted",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_TOKEN_VALIDATION_FAILURE",
        "errorCode": 401,
        "errorCause": "oAuth access Token validation failed",
        "errorTitle": "Validation failure",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": "UNAUTHORIZED"
    },
    {
        "name": "OAUTH_TOKEN_ABSENCE",
        "errorCode": 400,
        "errorCause": "oAuth access Token is not present",
        "errorTitle": "Token not present",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": "UNAUTHORIZED"
    },
    {
        "name": "ERR_NOT_FOUND",
        "errorCode": 404,
        "errorCause": "Cause Not Found",
        "errorTitle": "errorTitle Not Found",
        "errorDescription": "errorDescription Not Found"
    },
    {
        "name": "ERR_RATE_LIMIT",
        "errorCode": 503,
        "errorCause": "TOO_MANY_REQUESTS at IGW",
        "errorTitle": "Too many requests sent. Service is overloaded at IGW",
        "errorDescription": "TOO_MANY_REQUESTS"
    },
    {
        "name": "ERR_UNKNOWN_HOST",
        "errorCode": 400,
        "errorCause": "Unknown Host Exception at IGW",
        "errorTitle": "Unknown Host Exception",
        "errorDescription": "Unknown Host Exception"
    },
    {
        "name": "ERR_CCA_HEADER_VALIDATION",
        "errorCode": 403,
        "errorCause": "CCA_VERIFICATION_FAILURE",
        "errorTitle": "CCA_HEADER_INVALID",
        "errorDescription": ""
    },
    {
        "name": "ERR_POP_503",
        "errorCode": 503,
        "errorCause": "POD_PROTECTION_BY_RATE_LIMITING",
        "errorTitle": "Ingress Gateway is overloaded",
        "errorDescription": "Pod Protection by Rate Limiting rejected request"
    },
    {
        "name": "error429",
        "errorCode": 429,
        "errorCause": "TOO_MANY_REQUESTS",
        "errorTitle": "Too many requests sent. Pod Protection by Rate Limiting rejected request at IGW",
        "errorDescription": "TOO_MANY_REQUESTS"
    },
    {
        "name": "error503",
        "errorCode": 503,
        "errorCause": "POD_PROTECTION_BY_RATE_LIMITING",
        "errorTitle": "Ingress Gateway is overloaded",
        "errorDescription": "Pod Protection by Rate Limiting rejected request"
    }
]

200 OK

Possible error codes 400 Bad Request: Could not Validate Json

GET

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/errorcodeprofiles

200 OK

Response body:

[
    {
        "name": "XFCC_HEADER_VALIDATION_FAILURE",
        "errorCode": 500,
        "errorCause": "XFCC Validation Failed",
        "errorTitle": "Internal Server Error",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": "Validation of SCP failed"
    },
    {
        "name": "XFCC_HEADER_NOT_PRESENT_OR_EMPTY",
        "errorCode": 500,
        "errorCause": "xfcc header is not present or empty in the request",
        "errorTitle": "Internal Server Error",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": "Validation of SCP failed"
    },
    {
        "name": "XFCC_MATCHCERTCOUNT_GREATER_THAN_CERTS_IN_HEADER",
        "errorCode": 500,
        "errorCause": "matchCerts count is greater than the certs in the request",
        "errorTitle": "Internal Server Error",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": "Validation of SCP failed"
    },
    {
        "name": "XFCC_HEADER_INVALID",
        "errorCode": 500,
        "errorCause": "xfcc header is invalid",
        "errorTitle": "Internal Server Error",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": "Validation of SCP failed"
    },
    {
        "name": "OAUTH_CERT_EXPIRED",
        "errorCode": 408,
        "errorCause": "certificate has expired",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_MISMATCH_IN_KID",
        "errorCode": 407,
        "errorCause": "kid configured does not match with the one present in the token",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_PRODUCER_SCOPE_NOT_PRESENT",
        "errorCode": 406,
        "errorCause": "producer scope is not present in token",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_PRODUCER_SCOPE_MISMATCH",
        "errorCode": 405,
        "errorCause": "produce scope in token does not match with the configuration",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_MISMATCH_IN_NRF_INSTANCEID",
        "errorCode": 404,
        "errorCause": "nrf id configured does not match with the one present in the token",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_PRODUCER_PLMNID_MISMATCH",
        "errorCode": 403,
        "errorCause": "producer plmn id in token does not match with the configuration",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_AUDIENCE_NOT_PRESENT_OR_INVALID",
        "errorCode": 402,
        "errorCause": "audience in token does not match with the configuration",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_TOKEN_INVALID",
        "errorCode": 401,
        "errorCause": "oauth token is corrupted",
        "errorTitle": "",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": ""
    },
    {
        "name": "OAUTH_TOKEN_VALIDATION_FAILURE",
        "errorCode": 401,
        "errorCause": "oAuth access Token validation failed",
        "errorTitle": "Validation failure",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": "UNAUTHORIZED"
    },
    {
        "name": "OAUTH_TOKEN_ABSENCE",
        "errorCode": 400,
        "errorCause": "oAuth access Token is not present",
        "errorTitle": "Token not present",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": "UNAUTHORIZED"
    },
    {
        "name": "ERR_NOT_FOUND",
        "errorCode": 404,
        "errorCause": "Cause Not Found",
        "errorTitle": "errorTitle Not Found",
        "errorDescription": "errorDescription Not Found"
    },
    {
        "name": "ERR_RATE_LIMIT",
        "errorCode": 503,
        "errorCause": "TOO_MANY_REQUESTS at IGW",
        "errorTitle": "Too many requests sent. Service is overloaded at IGW",
        "errorDescription": "TOO_MANY_REQUESTS"
    },
    {
        "name": "ERR_UNKNOWN_HOST",
        "errorCode": 400,
        "errorCause": "Unknown Host Exception at IGW",
        "errorTitle": "Unknown Host Exception",
        "errorDescription": "Unknown Host Exception"
    },
    {
        "name": "ERR_CCA_HEADER_VALIDATION",
        "errorCode": 403,
        "errorCause": "CCA_VERIFICATION_FAILURE",
        "errorTitle": "CCA_HEADER_INVALID",
        "errorDescription": ""
    },
    {
        "name": "ERR_POP_503",
        "errorCode": 503,
        "errorCause": "POD_PROTECTION_BY_RATE_LIMITING",
        "errorTitle": "Ingress Gateway is overloaded",
        "errorDescription": "Pod Protection by Rate Limiting rejected request"
    },
    {
        "name": "error429",
        "errorCode": 429,
        "errorCause": "TOO_MANY_REQUESTS",
        "errorTitle": "Too many requests sent. Pod Protection by Rate Limiting rejected request at IGW",
        "errorDescription": "TOO_MANY_REQUESTS"
    },
    {
        "name": "error503",
        "errorCode": 503,
        "errorCause": "POD_PROTECTION_BY_RATE_LIMITING",
        "errorTitle": "Ingress Gateway is overloaded",
        "errorDescription": "Pod Protection by Rate Limiting rejected request"
    }
]
NA

PUT

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/errorcodeserieslist

Request body:

[
    {
        "id": "P1",
        "exceptionList": [
            "RequestTimeout",
            "ConnectionTimeout",
            "UnknownHostException",
            "NotFoundException"
        ],
        "errorCodeSeries": [
            {
                "errorSet": "5xx",
                "errorCodes": [
                    503
                ]
            }
        ]
    },
    {
        "id": "E1",
        "errorCodeSeries": [
            {
                "errorSet": "4xx",
                "errorCodes": [
                    -1
                ]
            },
            {
                "errorSet": "5xx",
                "errorCodes": [
                    -1
                ]
            }
        ]
    }
]

200 OK

Possible error codes 400 Bad Request: Could not Validate Json

PATCH

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/errorcodeserieslist

Request body:

[
    {
        "id": "P1",
        "exceptionList": [
            "RequestTimeout",
            "ConnectionTimeout",
            "UnknownHostException",
            "NotFoundException"
        ],
        "errorCodeSeries": [
            {
                "errorSet": "5xx",
                "errorCodes": [
                    503
                ]
            }
        ]
    },
    {
        "id": "E1",
        "errorCodeSeries": [
            {
                "errorSet": "4xx",
                "errorCodes": [
                    -1
                ]
            },
            {
                "errorSet": "5xx",
                "errorCodes": [
                    -1
                ]
            }
        ]
    }
]

200 OK

Possible error codes 400 Bad Request: Could not Validate Json

PUT

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/oauthvalidatorconfiguration

Request body:

{
    "keyIdList": [
        {
            "keyId": "664b344e74294c8fa5d2e7dfaaaba407",
            "kSecretName": "samplesecret1",
            "certName": "samplecert1.crt",
            "certAlgorithm": "ES256"
        }
    ],
    "instanceIdList": [
        {
            "instanceId": "664b344e74294c8fa5d2e7dfaaaba407",
            "kSecretName": "samplesecret2",
            "certName": "samplecert2.crt",
            "certAlgorithm": "ES256"
        }
    ],
    "oauthValidationMode": "INSTANCEID_ONLY"
}

200 OK

Possible error codes 400 Bad Request: Could not Validate Json

PATCH

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/oauthvalidatorconfiguration

Request body:

{
    "keyIdList": [
        {
            "keyId": "664b344e74294c8fa5d2e7dfaaaba407",
            "kSecretName": "samplesecret1",
            "certName": "samplecert1.crt",
            "certAlgorithm": "ES256"
        }
    ],
    "instanceIdList": [
        {
            "instanceId": "664b344e74294c8fa5d2e7dfaaaba407",
            "kSecretName": "samplesecret2",
            "certName": "samplecert2.crt",
            "certAlgorithm": "ES256"
        }
    ],
    "oauthValidationMode": "INSTANCEID_ONLY"
}

200 OK

Possible error codes 400 Bad Request: Could not Validate Json

GET

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/oauthvalidatorconfiguration

200 OK

Response body:

{
    "keyIdList": [
        {
            "keyId": "664b344e74294c8fa5d2e7dfaaaba407",
            "kSecretName": "samplesecret1",
            "certName": "samplecert1.crt",
            "certAlgorithm": "ES256"
        }
    ],
    "instanceIdList": [
        {
            "instanceId": "664b344e74294c8fa5d2e7dfaaaba407",
            "kSecretName": "samplesecret2",
            "certName": "samplecert2.crt",
            "certAlgorithm": "ES256"
        }
    ],
    "oauthValidationMode": "INSTANCEID_ONLY"
}
NA

PUT

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/ocdiscardpolicies

Request body:

[
    {
        "name": "OCDP1",
        "scheme": "PercentageBased",
        "policies": [
            {
                "level": "L1",
                "value": 0,
                "action": "RejectWithErrorCode",
                "errorCodeProfile": "error429"
            },
            {
                "level": "L2",
                "value": 5,
                "action": "RejectWithErrorCode",
                "errorCodeProfile": "error429"
            },
            {
                "level": "L3",
                "value": 15,
                "action": "RejectWithErrorCode",
                "errorCodeProfile": "error429"
            },
            {
                "level": "L4",
                "value": 25,
                "action": "RejectWithErrorCode",
                "errorCodeProfile": "error503"
            }
        ]
    }
]

200 OK

Possible error codes 400 Bad Request: Could not Validate Json

PATCH

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/ocdiscardpolicies

Request body:

[
    {
        "name": "OCDP1",
        "scheme": "PercentageBased",
        "policies": [
            {
                "level": "L1",
                "value": 0,
                "action": "RejectWithErrorCode",
                "errorCodeProfile": "error429"
            },
            {
                "level": "L2",
                "value": 5,
                "action": "RejectWithErrorCode",
                "errorCodeProfile": "error429"
            },
            {
                "level": "L3",
                "value": 15,
                "action": "RejectWithErrorCode",
                "errorCodeProfile": "error429"
            },
            {
                "level": "L4",
                "value": 25,
                "action": "RejectWithErrorCode",
                "errorCodeProfile": "error503"
            }
        ]
    }
]

200 OK

Possible error codes 400 Bad Request: Could not Validate Json

GET

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/ocdiscardpolicies

200 OK

Response body:

[
    {
        "name": "OCDP1",
        "scheme": "PercentageBased",
        "policies": [
            {
                "level": "L1",
                "value": 0,
                "action": "RejectWithErrorCode",
                "errorCodeProfile": "error429"
            },
            {
                "level": "L2",
                "value": 5,
                "action": "RejectWithErrorCode",
                "errorCodeProfile": "error429"
            },
            {
                "level": "L3",
                "value": 15,
                "action": "RejectWithErrorCode",
                "errorCodeProfile": "error429"
            },
            {
                "level": "L4",
                "value": 25,
                "action": "RejectWithErrorCode",
                "errorCodeProfile": "error503"
            }
        ]
    }
]
NA

PUT

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/routesconfiguration

Request body:

[
    {
        "id": "traffic_mapping_http",
        "uri": "http://ocudr-nudr-drservice:5001",
        "order": 1,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudr-dr/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "PATCH",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "GET",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "PUT",
                    "rate": 300,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "DELETE",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "POST",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_udsf",
        "uri": "http://ocudr-nudr-drservice:5001",
        "order": 2,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudsf-dr/**"
                },
                "name": "Path"
            }
        ]
    },
    {
        "id": "traffic_mapping_http_group",
        "uri": "http://ocudr-nudr-drservice:5001",
        "order": 3,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudr-group-id-map/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "GET",
                    "rate": 1500,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_eir",
        "uri": "http://ocudr-nudr-drservice:5001",
        "order": 4,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/n5g-eir-eic/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "GET",
                    "rate": 1500,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    }
]

200 OK

Possible error codes 400 Bad Request: Could not Validate Json

PATCH

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/routesconfiguration

Request body:

[
    {
        "id": "traffic_mapping_http",
        "uri": "http://ocudr-nudr-drservice:5001",
        "order": 1,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudr-dr/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "PATCH",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "GET",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "PUT",
                    "rate": 300,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "DELETE",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "POST",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_udsf",
        "uri": "http://ocudr-nudr-drservice:5001",
        "order": 2,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudsf-dr/**"
                },
                "name": "Path"
            }
        ]
    },
    {
        "id": "traffic_mapping_http_group",
        "uri": "http://ocudr-nudr-drservice:5001",
        "order": 3,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudr-group-id-map/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "GET",
                    "rate": 1500,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_eir",
        "uri": "http://ocudr-nudr-drservice:5001",
        "order": 4,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/n5g-eir-eic/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "GET",
                    "rate": 1500,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    }
]

200 OK

Possible error codes 400 Bad Request: Could not Validate Json

GET

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/routesconfiguration

200 OK

Response body:

[
    {
        "id": "traffic_mapping_http",
        "uri": "http://ocudr-nudr-drservice:5001",
        "order": 1,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudr-dr/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "PATCH",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "GET",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "PUT",
                    "rate": 300,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "DELETE",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "POST",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_udsf",
        "uri": "http://ocudr-nudr-drservice:5001",
        "order": 2,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudsf-dr/**"
                },
                "name": "Path"
            }
        ]
    },
    {
        "id": "traffic_mapping_http_group",
        "uri": "http://ocudr-nudr-drservice:5001",
        "order": 3,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudr-group-id-map/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "GET",
                    "rate": 1500,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_eir",
        "uri": "http://ocudr-nudr-drservice:5001",
        "order": 4,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/n5g-eir-eic/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "GET",
                    "rate": 1500,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    }
]
NA

PUT

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/useragentheadervalidation

Request body:

{
    "enabled": true,
    "validationType": "strict",
    "consumerNfTypes": [
        "PCF",
        "NRF",
        "UDM"
    ]
}

Additional request body:

{
    "enabled": false,
    "validationType": "strict"
}

200 OK

NA

GET

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/useragentheadervalidation

200 OK

Response body:

{
    "enabled": false,
    "validationType": "strict"
}
NA

PATCH

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/useragentheadervalidation

Request body:

{
    "enabled": true,
    "validationType": "strict",
    "consumerNfTypes": [
        "PCF",
        "NRF",
        "UDM"
    ]
}

200 OK

NA

GET

http://<nudr-config-host>:\<nudr-config-port>/udr/nf-common-component/v1/igw-sig/podProtectionByRateLimiting

Response body:

{
    "routes": [
        {
            "id": 1,
            "path": "/nudr-group-id-map/**",
            "methods": [
                "GET"
            ],
            "percentage": 100
        }
    ],
    "enabled": true,
    "fillRate": 2900,
    "defaultPriority": 24,
    "errorCodeProfile": "error429",
    "priorityHeaderName": "3gpp-Sbi-Message-Priority",
    "deniedRequestActions": [
        {
            "id": 1,
            "action": "CONTINUE",
            "congestionLevel": 0
        },
        {
            "id": 2,
            "action": "CONTINUE",
            "congestionLevel": 1
        },
        {
            "id": 3,
            "action": "REJECT",
            "congestionLevel": 2,
            "errorCodeProfile": "error429"
        },
        {
            "id": 4,
            "action": "REJECT",
            "congestionLevel": 3,
            "errorCodeProfile": "error503"
        }
    ]
}
NA

PUT

http://<nudr-config-host>:\<nudr-config-port>/udr/nf-common-component/v1/igw-sig/podProtectionByRateLimiting

Request body:

{
    "routes": [
        {
            "id": 1,
            "path": "/nudr-group-id-map/**",
            "methods": [
                "GET"
            ],
            "percentage": 100
        }
    ],
    "enabled": true,
    "fillRate": 2900,
    "defaultPriority": 24,
    "errorCodeProfile": "error429",
    "priorityHeaderName": "3gpp-Sbi-Message-Priority",
    "deniedRequestActions": [
        {
            "id": 1,
            "action": "CONTINUE",
            "congestionLevel": 0
        },
        {
            "id": 2,
            "action": "CONTINUE",
            "congestionLevel": 1
        },
        {
            "id": 3,
            "action": "REJECT",
            "congestionLevel": 2,
            "errorCodeProfile": "error429"
        },
        {
            "id": 4,
            "action": "REJECT",
            "congestionLevel": 3,
            "errorCodeProfile": "error503"
        }
    ]
}
NA NA

GET

http://<nudr-config-host>:\<nudr-config-port>/udr/nf-common-component/v1/igw-sig/congestionConfig

200 OK

Response body:

{
    "levels": [
        {
            "name": "Normal",
            "value": 1,
            "resources": [
                {
                    "name": "CPU",
                    "onset": 70,
                    "abatement": 65
                }
            ]
        },
        {
            "name": "Danger Of Congestion",
            "value": 2,
            "resources": [
                {
                    "name": "CPU",
                    "onset": 80,
                    "abatement": 75
                }
            ]
        },
        {
            "name": "Congestion",
            "value": 3,
            "resources": [
                {
                    "name": "CPU",
                    "onset": 90,
                    "abatement": 85
                }
            ]
        }
    ],
    "refreshInterval": 500
}
NA

PUT

http://<nudr-config-host>:\<nudr-config-port>/udr/nf-common-component/v1/igw-sig/congestionConfig

Request body:

{
    "levels": [
        {
            "name": "Normal",
            "value": 1,
            "resources": [
                {
                    "name": "CPU",
                    "onset": 70,
                    "abatement": 65
                }
            ]
        },
        {
            "name": "Danger Of Congestion",
            "value": 2,
            "resources": [
                {
                    "name": "CPU",
                    "onset": 80,
                    "abatement": 75
                }
            ]
        },
        {
            "name": "Congestion",
            "value": 3,
            "resources": [
                {
                    "name": "CPU",
                    "onset": 90,
                    "abatement": 85
                }
            ]
        }
    ],
    "refreshInterval": 500
}

200 OK

NA

5.2.2 Ingress Gateway Provisioning APIs

This section describes the configuration APIs for Ingress Gateway Provisioning.

Table 5-4 Ingress Gateway Provisioning APIs for common services

Method Request Response Notes

PUT

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-prov/routesconfiguration

Request body:

[
    {
        "id": "traffic_mapping_http_prov",
        "uri": "http://ocudr-nudr-dr-provservice:5001",
        "order": 1,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudr-dr-prov/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "PATCH",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "GET",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "PUT",
                    "rate": 300,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "DELETE",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "POST",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_mgmt",
        "uri": "http://ocudr-nudr-dr-provservice:5001",
        "order": 2,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudr-dr-mgm/**"
                },
                "name": "Path"
            }
        ]
    },
    {
        "id": "traffic_mapping_http_group_prov",
        "uri": "http://ocudr-nudr-dr-provservice:5001",
        "order": 3,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudr-group-id-map-prov/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "GET",
                    "rate": 800,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "PUT",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "DELETE",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_slf_group_prov",
        "uri": "http://ocudr-nudr-dr-provservice:5001",
        "order": 4,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/slf-group-prov/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "GET",
                    "rate": 800,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "PUT",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "DELETE",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_eir_prov",
        "uri": "http://ocudr-nudr-dr-provservice:5001",
        "order": 5,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/n5g-eir-prov/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "GET",
                    "rate": 800,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "PUT",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "DELETE",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_dbcr_prov",
        "uri": "http://ocudr-nudr-dbcr-auditor-service:5001",
        "order": 6,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudr-dbcr/**"
                },
                "name": "Path"
            }
        ]
    }
]

200 OK

Possible error codes: 400 Bad Request: Could not Validate Json

PATCH

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-prov/routesconfiguration

Request body:

[
    {
        "id": "traffic_mapping_http_prov",
        "uri": "http://ocudr-nudr-dr-provservice:5001",
        "order": 1,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudr-dr-prov/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "PATCH",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "GET",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "PUT",
                    "rate": 300,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "DELETE",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "POST",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_mgmt",
        "uri": "http://ocudr-nudr-dr-provservice:5001",
        "order": 2,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudr-dr-mgm/**"
                },
                "name": "Path"
            }
        ]
    },
    {
        "id": "traffic_mapping_http_group_prov",
        "uri": "http://ocudr-nudr-dr-provservice:5001",
        "order": 3,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudr-group-id-map-prov/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "GET",
                    "rate": 800,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "PUT",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "DELETE",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_slf_group_prov",
        "uri": "http://ocudr-nudr-dr-provservice:5001",
        "order": 4,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/slf-group-prov/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "GET",
                    "rate": 800,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "PUT",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "DELETE",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_eir_prov",
        "uri": "http://ocudr-nudr-dr-provservice:5001",
        "order": 5,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/n5g-eir-prov/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "GET",
                    "rate": 800,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "PUT",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "DELETE",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_dbcr_prov",
        "uri": "http://ocudr-nudr-dbcr-auditor-service:5001",
        "order": 6,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudr-dbcr/**"
                },
                "name": "Path"
            }
        ]
    }
]

200 OK

Possible error codes: 400 Bad Request: Could not Validate Json

GET

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-prov/routesconfiguration

200 OK

Response body:

[
    {
        "id": "traffic_mapping_http_prov",
        "uri": "http://ocudr-nudr-dr-provservice:5001",
        "order": 1,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudr-dr-prov/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "PATCH",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "GET",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "PUT",
                    "rate": 300,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "DELETE",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "POST",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_mgmt",
        "uri": "http://ocudr-nudr-dr-provservice:5001",
        "order": 2,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudr-dr-mgm/**"
                },
                "name": "Path"
            }
        ]
    },
    {
        "id": "traffic_mapping_http_group_prov",
        "uri": "http://ocudr-nudr-dr-provservice:5001",
        "order": 3,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudr-group-id-map-prov/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "GET",
                    "rate": 800,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "PUT",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "DELETE",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_slf_group_prov",
        "uri": "http://ocudr-nudr-dr-provservice:5001",
        "order": 4,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/slf-group-prov/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "GET",
                    "rate": 800,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "PUT",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "DELETE",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_eir_prov",
        "uri": "http://ocudr-nudr-dr-provservice:5001",
        "order": 5,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/n5g-eir-prov/**"
                },
                "name": "Path"
            }
        ],
        "rateLimiting": {
            "methods": [
                {
                    "name": "GET",
                    "rate": 800,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "PUT",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "DELETE",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_dbcr_prov",
        "uri": "http://ocudr-nudr-dbcr-auditor-service:5001",
        "order": 6,
        "filters": [
            {
                "args": {
                    "applicableShutdownStates": [
                        "COMPLETE_SHUTDOWN"
                    ]
                },
                "name": "ControlledShutdownFilter"
            }
        ],
        "metadata": [],
        "predicates": [
            {
                "args": {
                    "pattern": "/nudr-dbcr/**"
                },
                "name": "Path"
            }
        ]
    }
]

NA

PUT

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/serverheaderdetails

Request body (enable):

{
    "enabled": true,
    "configuration": {
        "nfType": "UDR",
        "nfInstanceId": "5a7bd676-ceeb-44bb-95e0-f6a55a328b03",
        "errorCodeSeries": [
            {
                "errorSet": "4xx",
                "errorCodes": [
                    -1
                ]
            },
            {
                "errorSet": "5xx",
                "errorCodes": [
                    -1
                ]
            }
        ]
    }
}

Request body (disable):

{
    "enabled": false,
    "configuration": {
        "nfType": ""
    }
}

200 OK

NA

GET

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/serverheaderdetails

200 OK

Response body:

{
    "enabled": false,
    "configuration": {
        "nfType": ""
    }
}

NA

PATCH

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/igw-sig/serverheaderdetails

Request body:

{
    "enabled": true,
    "configuration": {
        "nfType": "UDR",
        "nfInstanceId": "5a7bd676-ceeb-44bb-95e0-f6a55a328b03",
        "errorCodeSeries": [
            {
                "errorSet": "4xx",
                "errorCodes": [
                    -1
                ]
            },
            {
                "errorSet": "5xx",
                "errorCodes": [
                    -1
                ]
            }
        ]
    }
}

200 OK

NA

5.2.3 Enable cnDBTier Metrics with OSO Prometheus

cnDBTier setup must be applied with the below yaml file. For example:
kubectl create -f <.yaml> -n <nsdbtier>
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: cndb-to-mysql-external-se
spec:
  exportTo:
  - "."
  hosts:
  - mysql-connectivity-service
  location: MESH_EXTERNAL
  ports:
  - number: 3306
    name: mysql2
    protocol: MySQL
---
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: nf-to-nf
spec:
  exportTo:
  - "."
  hosts:
  - "*.$DOMAIN_NAME"   # DOMAIN_NAME must be replaced with the deployed CNE Domain name
  location: MESH_EXTERNAL
  ports:
  - number: 80
    name: HTTP2-80
    protocol: TCP
  - number: 8080
    name: HTTP2-8080
    protocol: TCP
  - number: 3306
    name: TCP-3306
    protocol: TCP
  - number: 1186
    name: TCP-1186
    protocol: TCP
  - number: 2202
    name: TCP-2202
    protocol: TCP
  resolution: NONE
---
apiVersion: security.istio.io/v1beta1
kind: PeerAuthentication
metadata:
  name: default
spec:
  mtls:
    mode: PERMISSIVE
---
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: nf-to-kube-api-server
spec:
  hosts:
  - kubernetes.default.svc.$DOMAIN_NAME  # DOMAIN_NAME must be replaced with the deployed CNE Domain name
  exportTo:
  - "."
  addresses:
  - 172.16.13.4
  location: MESH_INTERNAL
  ports:
  - number: 443
    name: https
    protocol: HTTPS
  - number: 6443
    name: https-1
    protocol: HTTPS
  resolution: NONE
---
Install Operations Services Overlay (OSO) Promethues with cnDBTier namespace in the OSO custom-values.yaml file to remove the cnDBTier metrics. The sample yaml file is given below:
##################################################################################
#                                                                                #
# Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.          #
#                                                                                #
##################################################################################
 
nameOverride: prom
 
## Helm-Test (Optional)
# Values needed for helm-test, Comment the entire Section if Helm-test not needed.
helmtestimage: occne-repo-host:5000/k8s.gcr.io/ingress-nginx/controller:v1.3.1
useasm: false
namespace: ocudr-ns
clustername: cne-23-1-rc2
resources:
  limits:
    cpu: 10m
    memory: 32Mi
  requests:
    cpu: 10m
    memory: 32Mi
promsvcname: oso-prom-svr
almsvcname: oso-prom-alm
prometheushealthyurl: /prometheus/-/healthy
prometheusreadyurl: /prometheus/-/ready
 
# Note: There are 3 types of label definitons provided in this custom values file
# TYPE1: Global(allResources)
# TYPE2: lb & nonlb TYPE label only
# TYPE3: service specific label
## NOTE: POD level labels can be inserted using the specific pod label sections, every pod/container has this label defined below in all components sections.
# ******** Custom Extension Global Parameters ********
#**************************************************************************
 
global_oso:
# Prefix & Suffix that will be added to containers
  k8Resource:
    container:
      prefix:
      suffix:
 
# Service account for Prometheus, Alertmanagers
  serviceAccountNamePromSvr: ""
  serviceAccountNameAlertMgr: ""
 
  customExtension:
# TYPE1 Label
    allResources:
      labels: {}
 
# TYPE2 Labels
    lbServices:
      labels: {}
 
    nonlbServices:
      labels: {}
 
    lbDeployments:
      labels: {}
 
    nonlbDeployments:
      labels: {}
 
    lbStatefulSets:
      labels: {}
 
# Add annotations for disabling sidecar injections into oso pods here
# eg: annotations:
#       - sidecar.istio.io/inject: "false"
annotations:
  - sidecar.istio.io/inject: "false"
 
## Setting this parameter to false will disable creation of all default clusterrole, clusterolebing, role, rolebindings for the componenets that are packaged in this csar.
rbac:
  create: true
 
podSecurityPolicy:
  enabled: false
 
## Define serviceAccount names for components. Defaults to component's fully qualified name.
##
serviceAccounts:
  alertmanager:
    create: true
    name:
    annotations: {}
  nodeExporter:
    create: false
    name:
    annotations: {}
  pushgateway:
    create: false
    name:
    annotations: {}
  server:
    create: true
    name:
    annotations: {}
 
alertmanager:
  enabled: true
 
  ## Use a ClusterRole (and ClusterRoleBinding)
  ## - If set to false - Define a Role and RoleBinding in the defined namespaces ONLY
  ## This makes alertmanager work - for users who do not have ClusterAdmin privs, but wants alertmanager to operate on their own namespaces, instead of clusterwide.
  useClusterRole: false
 
  ## Set to a rolename to use existing role - skipping role creating - but still doing serviceaccount and rolebinding to the rolename set here.
  useExistingRole: false
 
  ## alertmanager resources name
  name: alm
  image:
    repository: occne-repo-host:5000/quay.io/prometheus/alertmanager
    tag: v0.24.0
    pullPolicy: IfNotPresent
  extraArgs:
    data.retention: 120h
  prefixURL: /cne-23-1-rc2/alertmanager
  baseURL: "http://localhost/cne-23-1-rc2/alertmanager"
  configFileName: alertmanager.yml
  nodeSelector: {}
  affinity: {}
  podDisruptionBudget:
    enabled: true
    minAvailable: 1
  persistentVolume:
    enabled: true
    accessModes:
      - ReadWriteOnce
    annotations: {}
    ## alertmanager data Persistent Volume existing claim name
    ## Requires alertmanager.persistentVolume.enabled: true
    ## If defined, PVC must be created manually before volume will be bound
    existingClaim: ""
    mountPath: /data
    size: 2Gi
    storageClass: "standard"
 
  ## Annotations to be added to alertmanager pods
  ##
  podAnnotations: {}
 
  ## Labels to be added to Prometheus AlertManager pods
  ##
  podLabels: {}
 
  replicaCount: 2
 
  ## Annotations to be added to deployment
  ##
  deploymentAnnotations: {}
 
  statefulSet:
    ## If true, use a statefulset instead of a deployment for pod management.
    ## This allows to scale replicas to more than 1 pod
    ##
    enabled: true
    annotations: {}
    labels: {}
    podManagementPolicy: OrderedReady
 
    ## Alertmanager headless service to use for the statefulset
    ##
    headless:
      annotations: {}
      labels: {}
 
      ## Enabling peer mesh service end points for enabling the HA alert manager
      ## Ref: https://github.com/prometheus/alertmanager/blob/master/README.md
      enableMeshPeer: true
 
      servicePort: 80
 
  ## alertmanager resource requests and limits
  ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
  ##
  resources:
    limits:
      cpu: 20m
      memory: 64Mi
    requests:
      cpu: 20m
      memory: 64Mi
 
  service:
    annotations: {}
    labels: {}
    clusterIP: ""
    loadBalancerIP: ""
    loadBalancerSourceRanges: []
    servicePort: 80
    # nodePort: 30000
    sessionAffinity: None
    type: ClusterIP
 
## Monitors ConfigMap changes and POSTs to a URL
## Ref: https://github.com/jimmidyson/configmap-reload
##
configmapReload:
  prometheus:
    enabled: true
    ## configmap-reload container name
    ##
    name: configmap-reload
    image:
      repository: occne-repo-host:5000/docker.io/jimmidyson/configmap-reload
      tag: v0.8.0
      pullPolicy: IfNotPresent
 
    # containerPort: 9533
 
    ## Additional configmap-reload mounts
    ##
    extraConfigmapMounts: []
 
    ## Security context to be added to configmap-reload container
    containerSecurityContext: {}
 
    ## configmap-reload resource requests and limits
    ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
    ##
    resources:
      limits:
        cpu: 10m
        memory: 32Mi
      requests:
        cpu: 10m
        memory: 32Mi
 
  alertmanager:
    enabled: true
    name: configmap-reload
    image:
      repository: occne-repo-host:5000/docker.io/jimmidyson/configmap-reload
      tag: v0.8.0
      pullPolicy: IfNotPresent
 
    # containerPort: 9533
    ## Additional configmap-reload mounts
    ##
    extraConfigmapMounts: []
      # - name: prometheus-alerts
      #   mountPath: /etc/alerts.d
      #   subPath: ""
      #   configMap: prometheus-alerts
      #   readOnly: true
 
    resources:
      limits:
        cpu: 10m
        memory: 32Mi
      requests:
        cpu: 10m
        memory: 32Mi
 
kubeStateMetrics:
  enabled: false
 
nodeExporter:
  enabled: false
 
server:
  enabled: true
  ## namespaces to monitor (instead of monitoring all - clusterwide). Needed if you want to run without Cluster-admin privileges.
  namespaces: []
  #  - ocudr-ns
  name: svr
  image:
    repository: occne-repo-host:5000/quay.io/prometheus/prometheus
    tag: v2.39.1
    pullPolicy: IfNotPresent
  prefixURL: /cne-23-1-rc2/prometheus
  baseURL: "http://localhost/cne-23-1-rc2/prometheus"
 
  ## Additional server container environment variables
  env: []
 
  # List of flags to override default parameters, e.g:
  # - --enable-feature=agent
  # - --storage.agent.retention.max-time=30m
  defaultFlagsOverride: []
 
  extraFlags:
    - web.enable-lifecycle
    ## web.enable-admin-api flag controls access to the administrative HTTP API which includes functionality such as
    ## deleting time series. This is disabled by default.
    # - web.enable-admin-api
    ##
    ## storage.tsdb.no-lockfile flag controls BD locking
    # - storage.tsdb.no-lockfile
    ##
    ## storage.tsdb.wal-compression flag enables compression of the write-ahead log (WAL)
    # - storage.tsdb.wal-compression
 
  ## Path to a configuration file on prometheus server container FS
  configPath: /etc/config/prometheus.yml
 
  global:
    scrape_interval: 1m
    scrape_timeout: 30s
    evaluation_interval: 1m
  #remoteWrite:
    #- url OSO_CORTEX_URL
    # remote_timout (default = 30s)
      #remote_timeout: OSO_REMOTE_WRITE_TIMEOUT
    # bearer_token for cortex server to be configured
    #      bearer_token: BEARER_TOKEN
 
  extraArgs:
    storage.tsdb.retention.size: 1GB
  ## Additional Prometheus server Volume mounts
  ##
  extraVolumeMounts: []
 
  ## Additional Prometheus server Volumes
  ##
  extraVolumes: []
 
  ## Additional Prometheus server hostPath mounts
  ##
  extraHostPathMounts: []
    # - name: certs-dir
    #   mountPath: /etc/kubernetes/certs
    #   subPath: ""
    #   hostPath: /etc/kubernetes/certs
    #   readOnly: true
 
  extraConfigmapMounts: []
 
  nodeSelector: {}
  affinity: {}
  podDisruptionBudget:
    enabled: false
    maxUnavailable: 1
 
  persistentVolume:
    enabled: true
    accessModes:
      - ReadWriteOnce
    annotations: {}
 
    ## Prometheus server data Persistent Volume existing claim name
    ## Requires server.persistentVolume.enabled: true
    ## If defined, PVC must be created manually before volume will be bound
    existingClaim: ""
    size: 2Gi
    storageClass: "standard"
 
  ## Annotations to be added to Prometheus server pods
  ##
  podAnnotations: {}
 
  ## Labels to be added to Prometheus server pods
  ##
  podLabels: {}
 
  ## Prometheus AlertManager configuration
  ##
  alertmanagers:
  - kubernetes_sd_configs:
      - role: pod
    # Namespace to be configured
        namespaces:
          names:
          - ocudr-ns
          - dbtier-ns
    path_prefix: cne-23-1-rc2/alertmanager
    relabel_configs:
    - source_labels: [__meta_kubernetes_namespace]
    # namespace to be configured
      regex: ocudr-ns
      action: keep
    - source_labels: [__meta_kubernetes_pod_label_app]
      regex: prom
      action: keep
    - source_labels: [__meta_kubernetes_pod_label_component]
      regex: alm
      action: keep
    - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_probe]
      regex: .*
      action: keep
    - source_labels: [__meta_kubernetes_pod_container_port_number]
      regex:
      action: drop
 
  ## Use a StatefulSet if replicaCount needs to be greater than 1 (see below)
  ##
  replicaCount: 1
 
  ## Annotations to be added to deployment
  ##
  deploymentAnnotations: {}
 
  statefulSet:
    ## If true, use a statefulset instead of a deployment for pod management.
    ## This allows to scale replicas to more than 1 pod
    ##
    enabled: false
 
    annotations: {}
    labels: {}
    podManagementPolicy: OrderedReady
 
  resources:
    limits:
      cpu: 2
      memory: 4Gi
    requests:
      cpu: 2
      memory: 4Gi
 
  service:
    enabled: true
    annotations: {}
    labels: {}
    clusterIP: ""
    externalIPs: []
    loadBalancerIP: ""
    loadBalancerSourceRanges: []
    servicePort: 80
    sessionAffinity: None
    type: NodePort
 
    ## If using a statefulSet (statefulSet.enabled=true), configure the
    ## service to connect to a specific replica to have a consistent view
    ## of the data.
    statefulsetReplica:
      enabled: false
      replica: 0
  retention: "7d"
 
pushgateway:
  ## If false, pushgateway will not be installed
  ##
  enabled: false
 
## alertmanager ConfigMap entries
##
alertmanagerFiles:
  alertmanager.yml:
    global: {}
      # slack_api_url: ''
 
    receivers:
      - name: default-receiver
        # slack_configs:
        #  - channel: '@you'
        #    send_resolved: true
 
    route:
      group_wait: 10s
      group_interval: 5m
      receiver: default-receiver
      repeat_interval: 3h
 
## Prometheus server ConfigMap entries for rule files (allow prometheus labels interpolation)
ruleFiles: {}
 
## Prometheus server ConfigMap entries
##
serverFiles:
 
  ## Alerts configuration
  ## Ref: https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/
  alerting_rules.yml: {}
 
  ## DEPRECATED DEFAULT VALUE, unless explicitly naming your files, please use alerting_rules.yml
  alerts: {}
 
  ## Records configuration
  ## Ref: https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/
  recording_rules.yml: {}
  ## DEPRECATED DEFAULT VALUE, unless explicitly naming your files, please use recording_rules.yml
  rules: {}
 
  prometheus.yml:
    rule_files:
      - /etc/config/recording_rules.yml
      - /etc/config/alerting_rules.yml
    ## Below two files are DEPRECATED will be removed from this default values file
      - /etc/config/rules
      - /etc/config/alerts
 
    scrape_configs:
      - job_name: prometheus
        metrics_path: cne-23-1-rc2/prometheus/metrics
        static_configs:
          - targets:
            - localhost:9090
 
extraScrapeConfigs: |
 
  - job_name: 'oracle-cnc-service'
    kubernetes_sd_configs:
      - role: service
        namespaces:
          names:
          - ocudr-ns
          - dbtier-ns
        #  - ns2
    relabel_configs:
      - source_labels: [__meta_kubernetes_service_annotation_oracle_com_cnc]
        regex: true
        action: keep
      - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
        action: keep
        regex: true
      - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
        action: replace
        target_label: __metrics_path__
        regex: (.+)
      - source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
        action: replace
        regex: ([^:]+)(?::\d+)?;(\d+)
        replacement: $1:$2
        target_label: __address__
      - action: labelmap
        regex: __meta_kubernetes_service_label_(.+)
      - source_labels: [__meta_kubernetes_namespace]
        action: replace
        target_label: kubernetes_namespace
      - source_labels: [__meta_kubernetes_service_name]
        action: replace
        target_label: kubernetes_service_name
 
  - job_name: 'oracle-cnc-pod'
    kubernetes_sd_configs:
      - role: pod
        namespaces:
          names:
          - ocudr-ns
          - dbtier-ns
        #  - ns2
    relabel_configs:
      - source_labels: [__meta_kubernetes_pod_annotation_oracle_com_cnc]
        regex: true
        action: keep
      - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
        action: keep
        regex: true
      - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
        action: replace
        target_label: __metrics_path__
        regex: (.+)
      - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
        action: replace
        regex: ([^:]+)(?::\d+)?;(\d+)
        replacement: $1:$2
        target_label: __address__
      - action: labelmap
        regex: __meta_kubernetes_pod_label_(.+)
      - source_labels: [__meta_kubernetes_namespace]
        action: replace
        target_label: kubernetes_namespace
      - source_labels: [__meta_kubernetes_pod_name]
        action: replace
        target_label: kubernetes_pod_name
 
  - job_name: 'oracle-cnc-endpoints'
    kubernetes_sd_configs:
      - role: endpoints
        #namespaces:
        #  names:
        #  - ns1
        #  - ns2
    relabel_configs:
      - source_labels: [__meta_kubernetes_service_annotation_oracle_com_cnc]
        regex: true
        action: keep
      - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
        action: keep
        regex: true
      - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
        action: replace
        target_label: __scheme__
        regex: (https?)
      - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
        action: replace
        target_label: __metrics_path__
        regex: (.+)
      - source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
        action: replace
        target_label: __address__
        regex: ([^:]+)(?::\d+)?;(\d+)
        replacement: $1:$2
 
  - job_name: 'oracle-cnc-ingress'
    kubernetes_sd_configs:
      - role: ingress
        #namespaces:
        #  names:
        #  - ns1
        #  - ns2
    relabel_configs:
      - source_labels: [__meta_kubernetes_ingress_annotation_oracle_com_cnc]
        regex: true
        action: keep

5.2.4 Configuration APIs for Overload Handling

This section describes the configuration APIs on Ingress Gateway and perf-info microservices for overload handling.

Table 5-5 Configuration APIs on Ingress Gateway for Overload Handling

HTTP Method Sample Request REST URL Sample Response
PUT

igw-sig URL: /udr/nf-common-component/v1/igw-sig/ocpolicymapping

oc policy mapping
{
"enabled":true,
"mappings": [
{
"svcName": "ocudr-nudr-drservice",
"policyName":"OCDP1"
}
],
"samplingPeriod":6000
}

igw-prov URL: /udr/nf-common-component/v1/igw-prov/ocpolicymapping

oc policy mapping
{
"enabled":true,
"mappings": [
{
"svcName": "ocudr-nudr-drprovservice",
"policyName":"OCDP1"
}
],
"samplingPeriod":6000
}

Response is same as Request payload.

PATCH

igw-sig URL: /udr/nf-common-component/v1/igw-sig/ocpolicymapping

oc policy mapping
{
   "enabled": true,
   "mappings": [
   {
     "svcName": "sm.pcf.com",
     "policyName": "OCDP1"
   },
   {
     "svcName": "cm.pcf.com",
     "policyName": "OCDP2"
   },
   {
     "svcName": "localhost",
     "policyName": "OCDP3"
   }],
   "samplingPeriod": 200
}
200 OK
GET

igw-sig URL: /udr/nf-common-component/v1/igw-sig/ocpolicymapping

oc policy mapping
{
   "enabled": true,
   "mappings": [
   {
     "svcName": "sm.pcf.com",
     "policyName": "OCDP1"
   },
   {
     "svcName": "cm.pcf.com",
     "policyName": "OCDP2"
   },
   {
     "svcName": "localhost",
     "policyName": "OCDP3"
   }],
   "samplingPeriod": 200
}
200 OK
PUT

igw-sig URL: /udr/nf-common-component/v1/igw-sig/ocdiscardpolicies

igw-prov URL: /udr/nf-common-component/v1/igw-prov/ocdiscardpolicies

For payload, see PUT - OC Discard Policy.

Response is same as Request payload.

PATCH

igw-sig URL: /udr/nf-common-component/v1/igw-sig/ocdiscardpolicies

igw-prov URL: /udr/nf-common-component/v1/igw-prov/ocdiscardpolicies

[
 {
   "name": "OCDP3",
   "scheme": "PercentageBased",
   "policies": [
   {
     "value": 10,
     "action": "RejectWithErrorCode",
     "level": "Major",
     "errorCodeProfile": "error300"
   }]
 },
 {
   "name": "OCDP1",
   "scheme": "PriorityBased",
   "policies": [
   {
     "value": 30,
     "action": "RejectWithErrorCode",
     "level": "Minor",
     "errorCodeProfile": "error300"
   },
   {
     "value": 20,
     "action": "RejectWithErrorCode",
     "level": "Critical",
     "errorCodeProfile": "error500"
   }]
 }
]
200 OK
PATCH

igw-sig URL: /udr/nf-common-component/v1/igw-sig/ocdiscardpolicies

igw-prov URL: /udr/nf-common-component/v1/igw-prov/ocdiscardpolicies

[
 {
   "name": "OCDP3",
   "scheme": "PercentageBased",
   "policies": [
   {
     "value": 10,
     "action": "RejectWithErrorCode",
     "level": "Major",
     "errorCodeProfile": "error300"
   }]
 },
 {
   "name": "OCDP1",
   "scheme": "PriorityBased",
   "policies": [
   {
     "value": 30,
     "action": "RejectWithErrorCode",
     "level": "Minor",
     "errorCodeProfile": "error300"
   },
   {
     "value": 20,
     "action": "RejectWithErrorCode",
     "level": "Critical",
     "errorCodeProfile": "error500"
   }]
 }
]
200 OK
PUT

igw-sig URL: /udr/nf-common-component/v1/igw-sig/errorcodeprofiles

igw-prov URL: /udr/nf-common-component/v1/igw-prov/errorcodeprofiles

For payload, see PUT - Error Code Profiles.

Response is same as Request payload.

PATCH

igw-sig URL: /udr/nf-common-component/v1/igw-sig/errorcodeprofiles

igw-prov URL: /udr/nf-common-component/v1/igw-prov/errorcodeprofiles

[
 
 {
   "name": "error100",
   "errorCode": 100,
   "errorCause": "",
   "errorTitle": "",
   "redirectURL": "",
   "retry-after": "",
   "errorDescription": ""
 }
]
200 OK

Response is same as Request payload.

GET

igw-sig URL: /udr/nf-common-component/v1/igw-sig/errorcodeprofiles

igw-prov URL: /udr/nf-common-component/v1/igw-prov/errorcodeprofiles
[
 
 {
   "name": "error100",
   "errorCode": 100,
   "errorCause": "",
   "errorTitle": "",
   "redirectURL": "",
   "retry-after": "",
   "errorDescription": ""
 }
]
200 OK
PUT

igw-sig URL: /udr/nf-common-component/v1/igw-sig/routesconfiguration

igw-prov URL: /udr/nf-common-component/v1/igw-prov/routesconfiguration

For payload, see PUT - Routes Configuration.

Response is same as Request payload.

PUT

igw-sig URL: /udr/nf-common-component/v1/igw-sig/errorcodeserieslist

igw-prov URL: /udr/nf-common-component/v1/igw-prov/errorcodeserieslist

error code series

[
    {
        "id": "P1",
        "exceptionList": [
            "RequestTimeout",
            "ConnectionTimeout",
            "UnknownHostException",
            "NotFoundException"
        ],
        "errorCodeSeries": [
            {
                "errorSet": "5xx",
                "errorCodes": [
                    503
                ]
            }
        ]
    }
]

Response is same as Request payload.

PATCH

igw-sig URL: /udr/nf-common-component/v1/igw-sig/errorcodeserieslist

igw-prov URL: /udr/nf-common-component/v1/igw-prov/errorcodeserieslist

error code series

[  
    {
        "id": "P1",
        "exceptionList": [
            "RequestTimeout",
            "ConnectionTimeout",
            "UnknownHostException",
            "NotFoundException"
 
        ],
        "errorCodeSeries":
        [
            {
                "errorSet": "4xx",
                "errorCodes": [400, 408]
            },
            {
                "errorSet": "5xx",
                "errorCodes": [500, 503]
            }
        ]
    },
    {
        "id": "P2",
         "exceptionList": [
            "RequestTimeout",
            "ConnectionTimeout",
            "UnknownHostException",
            "NotFoundException"
 
        ],
        "errorCodeSeries":
        [
            {
                "errorSet": "4xx",
                "errorCodes": [400, 408]
            }
        ]
    }
]
200 OK

Table 5-6 Configuration APIs on perf-info for Overload Handling

HTTP Method Sample Request REST URL Sample Response
PUT

URL: /udr/nf-common-component/v1/perf-info/overloadLevelThreshold

For payload, see PUT - Overload Threshold Configuration

Response is same as Request payload.

For more information about the Overload Handling configurable parameters, see Oracle Communications Cloud Native Core Unified Data Repository Installation and Upgrade Guide.

5.2.5 Configuration APIs for Rate Limit

This section describes the configuration APIs on Ingress Gateway for rate limiting feature.

Table 5-7 Configuration APIs on Ingress Gateway for Rate Limiting

HTTP Method Sample Request REST URL Sample Response Notes
PUT

URL: http://<nudr-config-url:port>/udr/nf-common-component/v1/igw-sig/routesconfiguration

routesconfiguration

[
  {
    "id": "traffic_mapping_http",
      "rateLimiting": {
       "methods": [
      {
        "name": "PATCH",
        "rate": 200,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "GET",
        "rate": 200,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "PUT",
        "rate": 300,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "DELETE",
        "rate": 200,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "POST",
        "rate": 200,
        "rateLimitPolicy": "R1"
      }]
    },
     "failureReqCountErrorCodeSeriesId": "P1"
  },
  {
    "id": "traffic_mapping_http_prov",
      "rateLimiting": {
       "methods": [
      {
        "name": "PATCH",
        "rate": 200,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "GET",
        "rate": 200,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "PUT",
        "rate": 300,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "DELETE",
        "rate": 200,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "POST",
        "rate": 200,
        "rateLimitPolicy": "R1"
      }]
    },
     "failureReqCountErrorCodeSeriesId": "P1"
  },
  {
    "id": "traffic_mapping_http_group",
      "rateLimiting": {
      "methods": [
      {
        "name": "GET",
        "rate": 1500,
        "rateLimitPolicy": "R1"
      }]
    },
     "failureReqCountErrorCodeSeriesId": "P1"
  },
  {
    "id": "traffic_mapping_http_group_prov",
      "rateLimiting": {
       "methods": [
      {
        "name": "GET",
        "rate": 800,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "PUT",
        "rate": 200,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "DELETE",
        "rate": 200,
        "rateLimitPolicy": "R1"
      }]
    },
     "failureReqCountErrorCodeSeriesId": "P1"
  },
  {
    "id": "traffic_mapping_http_slf_group_prov",
      "rateLimiting": {
       "methods": [
      {
        "name": "GET",
        "rate": 800,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "PUT",
        "rate": 200,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "DELETE",
        "rate": 200,
        "rateLimitPolicy": "R1"
      }]
    },
     "failureReqCountErrorCodeSeriesId": "P1"
  }
]

routesconfiguration

[
  {
    "id": "traffic_mapping_http",
      "rateLimiting": {
       "methods": [
      {
        "name": "PATCH",
        "rate": 200,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "GET",
        "rate": 200,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "PUT",
        "rate": 300,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "DELETE",
        "rate": 200,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "POST",
        "rate": 200,
        "rateLimitPolicy": "R1"
      }]
    },
     "failureReqCountErrorCodeSeriesId": "P1"
  },
  {
    "id": "traffic_mapping_http_prov",
      "rateLimiting": {
       "methods": [
      {
        "name": "PATCH",
        "rate": 200,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "GET",
        "rate": 200,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "PUT",
        "rate": 300,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "DELETE",
        "rate": 200,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "POST",
        "rate": 200,
        "rateLimitPolicy": "R1"
      }]
    },
     "failureReqCountErrorCodeSeriesId": "P1"
  },
  {
    "id": "traffic_mapping_http_group",
      "rateLimiting": {
      "methods": [
      {
        "name": "GET",
        "rate": 1500,
        "rateLimitPolicy": "R1"
      }]
    },
     "failureReqCountErrorCodeSeriesId": "P1"
  },
  {
    "id": "traffic_mapping_http_group_prov",
      "rateLimiting": {
       "methods": [
      {
        "name": "GET",
        "rate": 800,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "PUT",
        "rate": 200,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "DELETE",
        "rate": 200,
        "rateLimitPolicy": "R1"
      }]
    },
     "failureReqCountErrorCodeSeriesId": "P1"
  },
  {
    "id": "traffic_mapping_http_slf_group_prov",
      "rateLimiting": {
       "methods": [
      {
        "name": "GET",
        "rate": 800,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "PUT",
        "rate": 200,
        "rateLimitPolicy": "R1"
      },
      {
        "name": "DELETE",
        "rate": 200,
        "rateLimitPolicy": "R1"
      }]
    },
     "failureReqCountErrorCodeSeriesId": "P1"
  }
]
Response is same as request
PATCH

URL: http://<nudr-config svc IP>:<port>/udr/nf-common-component/v1/igw-sig/routesconfiguration

routesconfiguration

[
    {
        "id": "traffic_mapping_http",
        "rateLimiting": {
            "methods": [
                {
                    "name": "PATCH",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "GET",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "PUT",
                    "rate": 300,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "DELETE",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "POST",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_group",
        "rateLimiting": {
            "methods": [
                {
                    "name": "GET",
                    "rate": 1500,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_eir",
        "rateLimiting": {
            "methods": [
                {
                    "name": "GET",
                    "rate": 1500,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    }
]

routesconfiguration

200 OK

Possible error codes

400 Bad Request: Could not validate Json

GET

URL: http://<nudr-config svc IP>:<port>/udr/nf-common-component/v1/igw-sig/routesconfiguration

routesconfiguration
[
    {
        "id": "traffic_mapping_http",
        "rateLimiting": {
            "methods": [
                {
                    "name": "PATCH",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "GET",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "PUT",
                    "rate": 300,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "DELETE",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                },
                {
                    "name": "POST",
                    "rate": 200,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_group",
        "rateLimiting": {
            "methods": [
                {
                    "name": "GET",
                    "rate": 1500,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    },
    {
        "id": "traffic_mapping_http_eir",
        "rateLimiting": {
            "methods": [
                {
                    "name": "GET",
                    "rate": 1500,
                    "rateLimitPolicy": "R1"
                }
            ]
        },
        "failureReqCountErrorCodeSeriesId": "P1"
    }
]

routesconfiguration

200 OK
-
PUT

URL: http://<nudr-config-url:port>/udr/nf-common-component/v1/igw-sig/routelevelratelimiting

routelevelratelimiting
{
   "enabled": true,
   "samplingPeriod": 1000,
   "rateLimitPolicies": [
   {
     "name": "R1",
     "value": 24,
     "action": "RejectWithErrorCode",
     "scheme": "PriorityBased",
     "errorCodeProfile": "error429"
   }]
}

routelevelratelimiting

{
   "enabled": true,
   "samplingPeriod": 1000,
   "rateLimitPolicies": [
   {
     "name": "R1",
     "value": 24,
     "action": "RejectWithErrorCode",
     "scheme": "PriorityBased",
     "errorCodeProfile": "error429"
   }]
}
Response is same as request
GET

URL: http://<nudr-config-url:port>/udr/nf-common-component/v1/igw-sig/routelevelratelimiting

routelevelratelimiting
{
   "enabled": true,
   "samplingPeriod": 1000,
   "rateLimitPolicies": [
   {
     "name": "R1",
     "value": 24,
     "action": "RejectWithErrorCode",
     "scheme": "PriorityBased",
     "errorCodeProfile": "error429"
   }]
}

routelevelratelimiting

200 OK
-
PUT

URL: http://<nudr-config-url:port>/udr/nf-common-component/v1/igw-sig/errorcodeprofiles

errorcodeprofiles

[
    {
        "name": "error429",
        "errorCode": 429,
        "errorCause": "Too many reequests",
        "errorTitle": "Too many reequests",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": "Too many reequests"
    }
]

errorcodeprofiles

[
    {
        "name": "error429",
        "errorCode": 429,
        "errorCause": "Too many reequests",
        "errorTitle": "Too many reequests",
        "redirectURL": "",
        "retry-after": "",
        "errorDescription": "Too many reequests"
    }
]
Response is same as request

Table 5-8 Pod Protection by Rate Limiting Configuration APIs

HTTP Method Sample Request REST URL Sample Response
GET http://<nudr-config-host>:<nudr-config-port>/udr/nf-common-component/v1/igw-sig/podProtectionByRateLimiting

200 OK

{
    "routes": [
        {
            "id": 1,
            "path": "/nudr-group-id-map/**",
            "methods": [
                "GET"
            ],
            "percentage": 100
        }
    ],
    "enabled": false,
    "fillRate": 2900,
    "defaultPriority": 24,
    "errorCodeProfile": "error429",
    "priorityHeaderName": "3gpp-Sbi-Message-Priority",
    "deniedRequestActions": [
        {
            "id": 1,
            "action": "CONTINUE",
            "congestionLevel": 0
        },
        {
            "id": 2,
            "action": "CONTINUE",
            "congestionLevel": 1
        },
        {
            "id": 3,
            "action": "REJECT",
            "congestionLevel": 2,
            "errorCodeProfile": "error429"
        },
        {
            "id": 4,
            "action": "REJECT",
            "congestionLevel": 3,
            "errorCodeProfile": "error503"
        }
    ]
}
PUT http://<nudr-config-host>:<nudr-config-port>/udr/nf-common-component/v1/igw-sig/podProtectionByRateLimiting
{
    "routes": [
        {
            "id": 1,
            "path": "/nudr-group-id-map/**",
            "methods": [
                "GET"
            ],
            "percentage": 100
        }
    ],
    "enabled": false,
    "fillRate": 2900,
    "defaultPriority": 24,
    "errorCodeProfile": "error429",
    "priorityHeaderName": "3gpp-Sbi-Message-Priority",
    "deniedRequestActions": [
        {
            "id": 1,
            "action": "CONTINUE",
            "congestionLevel": 0
        },
        {
            "id": 2,
            "action": "CONTINUE",
            "congestionLevel": 1
        },
        {
            "id": 3,
            "action": "REJECT",
            "congestionLevel": 2,
            "errorCodeProfile": "error429"
        },
        {
            "id": 4,
            "action": "REJECT",
            "congestionLevel": 3,
            "errorCodeProfile": "error503"
        }
    ]
}
200 OK
GET http://<nudr-config-host>:<nudr-config-port>/udr/nf-common-component/v1/igw-sig/congestionConfig

200 OK

{
    "levels": [
        {
            "name": "Normal",
            "value": 1,
            "resources": [
                {
                    "name": "CPU",
                    "onset": 70,
                    "abatement": 65
                }
            ]
        },
        {
            "name": "Danger Of Congestion",
            "value": 2,
            "resources": [
                {
                    "name": "CPU",
                    "onset": 80,
                    "abatement": 75
                }
            ]
        },
        {
            "name": "Congestion",
            "value": 3,
            "resources": [
                {
                    "name": "CPU",
                    "onset": 90,
                    "abatement": 85
                }
            ]
        }
    ],
    "refreshInterval": 500
}
PUT http://<nudr-config-host>:<nudr-config-port>/udr/nf-common-component/v1/igw-sig/congestionConfig
{
    "levels": [
        {
            "name": "Normal",
            "value": 1,
            "resources": [
                {
                    "name": "CPU",
                    "onset": 70,
                    "abatement": 65
                }
            ]
        },
        {
            "name": "Danger Of Congestion",
            "value": 2,
            "resources": [
                {
                    "name": "CPU",
                    "onset": 80,
                    "abatement": 75
                }
            ]
        },
        {
            "name": "Congestion",
            "value": 3,
            "resources": [
                {
                    "name": "CPU",
                    "onset": 90,
                    "abatement": 85
                }
            ]
        }
    ],
    "refreshInterval": 500
}
200 OK
5.2.5.1 Default Configuration Details for Rate Limit

The default configuration details for rate limit are:

Important:

The default deployment setup includes two Ingress Gateways and two DR pods. The following default rates are derived based on this deployment setup. If you want to scale up the pods, then adjust or configure the route rates accordingly. The route rates are available under routesconfiguration of http://10.75.229.75:31187/udr/nf-common-component/v1/igw/routesconfiguration.
  • RouteId-Path - traffic_mapping_http - nudr-dr

    Table 5-9 Method wise Rate Details

    Method Rate
    GET 200
    PUT 300
    POST 200
    PATCH 200
    DELETE 200
  • RouteId-Path - traffic_mapping_http_prov - nudr-dr-prov

    Table 5-10 Method wise Rate Details

    Method Rate
    GET 200
    PUT 300
    POST 200
    PATCH 200
    DELETE 200
  • RouteId-Path - traffic_mapping_http_group - nudr-group-id-map

    Table 5-11 Method wise Rate Details

    Method Rate
    GET 1350
  • RouteId-Path - traffic_mapping_http_group_prov - nudr-group-id-map-prov

    Table 5-12 Method wise Rate Details

    Method Rate
    GET 800
    PUT 200
    DELETE 200
  • RouteId-Path - traffic_mapping_http_slf_group_prov - slf-group-prov

    Table 5-13 Method wise Rate Details

    Method Rate
    GET 800
    PUT 200
    DELETE 200

5.3 Configuration APIs for Configurations Import and Export

The following table describes the configuration APIs for Configurations Import:

Table 5-14 Configuration APIs for Configurations Import

HTTP Method Sample Request REST URL Sample Response Notes
POST URL: http://10.75.229.157:31725/nudr-config/v1/import

Result Code: 201 Created

Payload

Import resource id: 552a4328-21ec-43aa-a460-58ce1df407ae

This is the first step to initiate import.
GET URL : http://10.75.229.157:31725/nudr-config/v1/import Result Code: 200 OK
Payload
552a4328-21ec-43aa-a460-58ce1df407ae
This API is to get the existing import id.

404 Not Found

500 Internal Server Error

GET

URL: http://10.75.229.157:31725/nudr-config/v1/import/552a4328-21ec-43aa-a460-58ce1df407ae/status

Import resource id: 552a4328-21ec-43aa-a460-58ce1df407ae

Result Code: 200 OK

Payload

{
    "status": "DONE",
    "importResourceId": "c0ec965a-5d9f-4799-b47f-768a23561ae2",
    "createTimeStamp": "2021-07-16T09:06:17Z",
    "percentage": "100",
    "progress": "12 / 12 MO(s) completed",
    "result": "PARTIAL_SUCCESS"
}

This is the second step.

Keep calling this API until "percentage": "100"

GET URL: http://10.75.229.157:31725/nudr-config/v1/import/552a4328-21ec-43aa-a460-58ce1df407ae/report

Import resource id: 552a4328-21ec-43aa-a460-58ce1df407ae

Result Code: 200 OK

Payload

{
   "report":[
      {
         "name":"Alternate Route Logging",
         "status":"1 / 1 records imported successfully."
      },
      {
         "name":"Diameter service",
         "status":"1 / 1 records imported successfully."
      },
      {
         "name":"Notify Logging",
         "status":"1 / 1 records imported successfully."
      },
      {
         "name":"Egressgateway Logging",
         "status":"1 / 1 records imported successfully."
      },
      {
         "name":"Notify Service",
         "status":"1 / 1 records imported successfully."
      },
      {
         "name":"Ingressgateway Logging",
         "status":"1 / 1 records imported successfully."
      },
      {
         "name":"Data Repository Service",
         "status":"INTERNAL_SERVER_ERROR"
      },
      {
         "name":"Global Configurations",
         "status":"METHOD_NOT_ALLOWED"
      },
      {
         "name":"Access Token Validation",
         "status":"1 / 1 records imported successfully."
      },
      {
         "name":"Diameter Service Logging",
         "status":"1 / 1 records imported successfully."
      },
      {
         "name":"DR Service Logging",
         "status":"1 / 1 records imported successfully."
      }
   ]
}

This is the third step.

This API gives complete import report.

The following table describes the configuration APIs for Configurations Export.

Table 5-15 Configuration APIs for Configurations Export

HTTP Method Sample Request REST URL Sample Response Notes
POST
  • To export all services: http://<nudr-config svc IP>:<port>/nudr-config/v1/export
  • To export selective services: http://<nudr-config svc IP>:<port>/nudr-config/v1/export/?managedObjects=Access%20Token%20Validation%20Provisioning,Access%20Token%20Validation%20Signaling, Global%20Configurations,Logging%20Level,Data%20 Repository%20Service,Notify%20Service

Result Code: 201 Created

Payload

Export resource id: 3e470fab-e131-4dbe-be67-ba7391729254

This is the first step to initiate export.

GET To export all services : http://10.75.229.157:31725/nudr-config/v1/export Result Code: 200 OK
Payload
3e470fab-e131-4dbe-be67-ba7391729254
This API is to get the existing export id.

Possible error codes

404 Not Found

500 Internal Server Error

GET

URI: http://10.75.229.157:31725/nudr-config/v1/export/3e470fab-e131-4dbe-be67-ba7391729254/status

Export resource id: 3e470fab-e131-4dbe-be67-ba7391729254

Result Code: 200 OK

Payload

{
    "status": "DONE",
    "exportResourceId": "2337e6d8-f17e-46f9-9992-4ab4b0903b3d",
    "createTimeStamp": "2021-07-16T14:13:44Z",
    "percentage": "100",
    "result": "PARTIAL_SUCCESS"
}

This is the second step.

Keep calling this API until "percentage": "100".

GET

URI: http://10.75.229.157:31725/nudr-config/v1/export/3e470fab-e131-4dbe-be67-ba7391729254/report

Export resource id: 3e470fab-e131-4dbe-be67-ba7391729254

Result Code: 200 OK

Payload

{
   "report":[
      {
         "name":"Access Token Validation",
         "status":"1 records exported successfully"
      },
      {
         "name":"Global Configurations",
         "status":"1 records exported successfully"
      },
      {
         "name":"Data Repository Service",
         "status":"1 records exported successfully"
      },
      {
         "name":"Notify Service",
         "status":"1 records exported successfully"
      },
      {
         "name":"NRF Client service",
         "status":"NOT_FOUND"
      },
      {
         "name":"Diameter service",
         "status":"1 records exported successfully"
      },
      {
         "name":"DR Service Logging",
         "status":"1 records exported successfully"
      },
      {
         "name":"Notify Logging",
         "status":"1 records exported successfully"
      },
      {
         "name":"Diameter Service Logging",
         "status":"1 records exported successfully"
      },
      {
         "name":"Ondemand Logging",
         "status":"NOT_FOUND"
      },
      {
         "name":"NRF Client Logging",
         "status":"NOT_FOUND"
      },
      {
         "name":"Ingressgateway Logging",
         "status":"1 records exported successfully"
      },
      {
         "name":"Egressgateway Logging",
         "status":"1 records exported successfully"
      },
      {
         "name":"Alternate Route Logging",
         "status":"1 records exported successfully"
      }
   ]
}

This is the third step.

This API gives complete export report.

GET

URI: http://10.75.229.157:31725/nudr-config/v1/export/3e470fab-e131-4dbe-be67-ba7391729254/download

Export resource id: 3e470fab-e131-4dbe-be67-ba7391729254

Result Code: 200 OK

exportedFiles_ 1.12.0_20210706080247.zip

This is the fourth step.

This API is used to download exported zip file.

5.4 Configuration APIs for Loglevel

This section describes the configuration APIs for loglevel.

Table 5-16 Configuration APIs for Loglevel

HTTP Method Sample Request REST URL Sample Response Notes
GET URI: http://10.75.229.168:32310/nudr-config/v1/nudr-drservice/logging

Result Code: 200 OK

Payload

{
    "appLogLevel": "WARN",
    "packageLogLevel": [
        {
            "packageName": "jetty",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "micronaut",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "root",
            "logLevelForPackage": "WARN"
        }
    ],
    "logSubscriberInfo": "DISABLED",
    "additionalErrorLogging": "DISABLED"
}
NA
GET http://10.75.229.168:32310/nudr-config/v1/nudr-notify-service/logging

Result Code: 200 OK

Payload

{
    "appLogLevel": "WARN",
    "packageLogLevel": [
        {
            "packageName": "jetty",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "micronaut",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "root",
            "logLevelForPackage": "WARN"
        }
    ],
    "logSubscriberInfo": "DISABLED",
    "additionalErrorLogging": "DISABLED"
}
NA
GET http://10.75.229.168:32310/nudr-config/v1/nudr-diameterproxy/logging

Result Code: 200 OK

Payload

{
    "appLogLevel": "WARN",
    "packageLogLevel": [
        {
            "packageName": "jetty",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "micronaut",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "root",
            "logLevelForPackage": "WARN"
        }
    ],
    "logSubscriberInfo": "DISABLED",
    "additionalErrorLogging": "DISABLED"
}
NA
GET http://10.75.229.168:32310/nudr-config/v1/diam-gateway/logging

Result Code: 200 OK

Payload

{
    "appLogLevel": "WARN",
    "packageLogLevel": [
        {
            "packageName": "jetty",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "micronaut",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "root",
            "logLevelForPackage": "WARN"
        }
    ],
    "logSubscriberInfo": "DISABLED",
    "additionalErrorLogging": "DISABLED"
}
NA
GET http://10.75.229.168:32527/udr/nf-common-component/v1/igw-sig/logging

Result Code: 200 OK

Payload

{
    "appLogLevel": "DEBUG",
    "packageLogLevel": [
        {
            "packageName": "root",
            "logLevelForPackage": "DEBUG"
        },
        {
            "packageName": "oauth",
            "logLevelForPackage": "DEBUG"
        }
    ]
}
NA
GET http://10.75.229.168:32527/udr/nf-common-component/v1/igw-prov/logging

Result Code: 200 OK

Payload

{
    "appLogLevel": "DEBUG",
    "packageLogLevel": [
        {
            "packageName": "root",
            "logLevelForPackage": "DEBUG"
        },
        {
            "packageName": "oauth",
            "logLevelForPackage": "DEBUG"
        }
    ]
}
NA
GET http://10.75.229.168:32527/udr/nf-common-component/v1/egw/logging

Result Code: 200 OK

Payload

{
    "appLogLevel": "DEBUG",
    "packageLogLevel": [
        {
            "packageName": "root",
            "logLevelForPackage": "DEBUG"
        },
        {
            "packageName": "oauth",
            "logLevelForPackage": "DEBUG"
        }
    ]
}
NA
GET http://10.75.229.168:32527/udr/nf-common-component/v1/alt-route/logging

Result Code: 200 OK

Payload

{
    "appLogLevel": "DEBUG",
    "packageLogLevel": [
        {
            "packageName": "root",
            "logLevelForPackage": "DEBUG"
        }
    ]
}
NA
GET

http://10.75.229.168:32527/udr/nf-common-component/v1/nrf-client-nfmanagement/logging

200 OK

Response
{
  "appLogLevel": "INFO",
  "packageLogLevel": [
  {
    "logLevelForPackage": "INFO",
    "packageName": "root"
   }]
}
  • 404 NOT Found
  • 400 BAD REQUEST
GET http://10.75.229.168:31867/nudr-config/v1/all/logging

Result Code: 200 OK

Payload

[{"ingress-gateway-prov":"{\"appLogLevel\":\"WARN\",\"additionalErrorLogging\":null,\"logSubscriberInfo\":null,\"packageLogLevel\":[{\"packageName\":\"root\",\"logLevelForPackage\":\"WARN\"},{\"packageName\":\"oauth\",\"logLevelForPackage\":\"WARN\"}]}","nudr-notify-service":"{\"packageLogLevel\":[{\"packageName\":\"jetty\",\"logLevelForPackage\":\"WARN\"},{\"packageName\":\"micronaut\",\"logLevelForPackage\":\"WARN\"},{\"packageName\":\"root\",\"logLevelForPackage\":\"WARN\"}],\"logSubscriberInfo\":\"DISABLED\",\"appLogLevel\":\"WARN\",\"additionalErrorLogging\":\"DISABLED\"}","app-info":"{\"appLogLevel\":\"WARN\",\"additionalErrorLogging\":null,\"logSubscriberInfo\":null}","diam-gateway":"{\"packageLogLevel\":[{\"packageName\":\"jetty\",\"logLevelForPackage\":\"WARN\"},{\"packageName\":\"micronaut\",\"logLevelForPackage\":\"WARN\"},{\"packageName\":\"root\",\"logLevelForPackage\":\"WARN\"}],\"logSubscriberInfo\":\"DISABLED\",\"appLogLevel\":\"INFO\",\"additionalErrorLogging\":\"DISABLED\"}","nrf-client-nfmanagement":"{\"appLogLevel\":\"WARN\",\"additionalErrorLogging\":null,\"logSubscriberInfo\":null,\"packageLogLevel\":[{\"packageName\":\"root\",\"logLevelForPackage\":\"WARN\"}]}","ingress-gateway-sig":"{\"appLogLevel\":\"WARN\",\"additionalErrorLogging\":null,\"logSubscriberInfo\":null,\"packageLogLevel\":[{\"packageName\":\"root\",\"logLevelForPackage\":\"WARN\"},{\"packageName\":\"oauth\",\"logLevelForPackage\":\"WARN\"}]}","nudr-dr-provservice":"{\"packageLogLevel\":[{\"packageName\":\"jetty\",\"logLevelForPackage\":\"WARN\"},{\"packageName\":\"micronaut\",\"logLevelForPackage\":\"WARN\"},{\"packageName\":\"root\",\"logLevelForPackage\":\"WARN\"}],\"logSubscriberInfo\":\"DISABLED\",\"appLogLevel\":\"WARN\",\"additionalErrorLogging\":\"DISABLED\"}","nudr-config":"{\"packageLogLevel\":[{\"packageName\":\"jetty\",\"logLevelForPackage\":\"WARN\"},{\"packageName\":\"micronaut\",\"logLevelForPackage\":\"WARN\"},{\"packageName\":\"root\",\"logLevelForPackage\":\"WARN\"}],\"logSubscriberInfo\":\"DISABLED\",\"appLogLevel\":\"WARN\",\"additionalErrorLogging\":\"DISABLED\"}","egress-gateway":"{\"appLogLevel\":\"WARN\",\"additionalErrorLogging\":null,\"logSubscriberInfo\":null,\"packageLogLevel\":[{\"packageName\":\"root\",\"logLevelForPackage\":\"WARN\"},{\"packageName\":\"oauth\",\"logLevelForPackage\":\"WARN\"}]}","perf-info":"{\"appLogLevel\":\"WARN\",\"additionalErrorLogging\":null,\"logSubscriberInfo\":null}","nudr-diameterproxy":"{\"packageLogLevel\":[{\"packageName\":\"jetty\",\"logLevelForPackage\":\"WARN\"},{\"packageName\":\"micronaut\",\"logLevelForPackage\":\"WARN\"},{\"packageName\":\"root\",\"logLevelForPackage\":\"WARN\"}],\"logSubscriberInfo\":\"DISABLED\",\"appLogLevel\":\"WARN\",\"additionalErrorLogging\":\"DISABLED\"}","alternate-route":"{\"appLogLevel\":\"WARN\",\"additionalErrorLogging\":null,\"logSubscriberInfo\":null,\"packageLogLevel\":[{\"packageName\":\"root\",\"logLevelForPackage\":\"WARN\"}]}","nudr-drservice":"{\"packageLogLevel\":[{\"packageName\":\"jetty\",\"logLevelForPackage\":\"WARN\"},{\"packageName\":\"micronaut\",\"logLevelForPackage\":\"WARN\"},{\"packageName\":\"root\",\"logLevelForPackage\":\"WARN\"}],\"logSubscriberInfo\":\"DISABLED\",\"appLogLevel\":\"WARN\",\"additionalErrorLogging\":\"DISABLED\"}"}]
NA
GET http://10.75.229.168:32310/nudr-config/v1/nudr-dr-provservice/logging Result Code: 200 OK
{
    "appLogLevel": "WARN",
    "packageLogLevel": [
        {
            "packageName": "jetty",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "micronaut",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "root",
            "logLevelForPackage": "WARN"
        }
    ],
    "logSubscriberInfo": "DISABLED",
    "additionalErrorLogging": "DISABLED"
}
NA
GET http://10.75.229.168:32310/nudr-config/v1/nudr-bulk-import/logging Result Code: 200 OK
{
    "appLogLevel": "DEBUG",
    "packageLogLevel": [{
        "packageName": "micronaut",
        "logLevelForPackage": "WARN"
    }, {
        "packageName": "root",
        "logLevelForPackage": "WARN"
    }],
    "logSubscriberInfo": "DISABLED",
    "additionalErrorLogging": "DISABLED"
}
NA
GET http://10.75.229.168:32310/nudr-config/v1/nudr-export-tool/logging

200 Created

Payload

{
    "appLogLevel": "WARN",
    "packageLogLevel": [
        {
            "packageName": "jetty",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "micronaut",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "root",
            "logLevelForPackage": "WARN"
        }
    ],
    "logSubscriberInfo": "DISABLED",
    "additionalErrorLogging": "DISABLED"
}
NA
GET http://10.75.180.253:30601/nudr-config/v1/nudr-config/logging

200 Created

Payload

{
    "packageLogLevel": [
        {
            "packageName": "jetty",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "micronaut",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "root",
            "logLevelForPackage": "DEBUG"
        }
    ],
    "appLogLevel": "WARN",
    "logSubscriberInfo": "DISABLED",
    "additionalErrorLogging": "DISABLED"
}
NA
PUT

URI: http://10.75.229.168:32310/nudr-config/v1/nudr-drservice/logging

201 Created

Payload

{
    "appLogLevel": "WARN",
    "packageLogLevel": [
        {
            "packageName": "jetty",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "micronaut",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "root",
            "logLevelForPackage": "WARN"
        }
    ],
    "logSubscriberInfo": "DISABLED",
    "additionalErrorLogging": "DISABLED"
}
  • 400 Bad Request: Schema validation failed
PUT

http://10.75.229.168:32310/nudr-config/v1/nudr-notify-service/logging

201 Created

Payload

{
    "appLogLevel": "WARN",
    "packageLogLevel": [
        {
            "packageName": "jetty",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "micronaut",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "root",
            "logLevelForPackage": "WARN"
        }
    ],
    "logSubscriberInfo": "DISABLED",
    "additionalErrorLogging": "DISABLED"
}
  • 400 Bad Request: Schema validation failed
PUT http://10.75.229.168:32310/nudr-config/v1/nudr-diameterproxy/logging

201 Created

Payload

{
    "appLogLevel": "WARN",
    "packageLogLevel": [
        {
            "packageName": "jetty",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "micronaut",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "root",
            "logLevelForPackage": "WARN"
        }
    ],
    "logSubscriberInfo": "DISABLED",
    "additionalErrorLogging": "DISABLED"
}
  • 400 Bad Request: Schema validation failed
PUT

http://10.75.229.168:32310/nudr-config/v1/diam-gateway/logging

201 Created

Payload

{
    "appLogLevel": "WARN",
    "packageLogLevel": [
        {
            "packageName": "jetty",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "micronaut",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "root",
            "logLevelForPackage": "WARN"
        }
    ],
    "logSubscriberInfo": "DISABLED",
    "additionalErrorLogging": "DISABLED"
}
  • 400 Bad Request: Schema validation failed
PUT

http://10.75.229.168:32527/udr/nf-common-component/v1/igw-sig/logging

200 OK

Payload

{
    "appLogLevel": "DEBUG",
    "packageLogLevel": [
        {
            "packageName": "root",
            "logLevelForPackage": "DEBUG"
        },
        {
            "packageName": "oauth",
            "logLevelForPackage": "DEBUG"
        }
    ]
}
  • 404 Not Found
PUT http://10.75.229.168:32527/udr/nf-common-component/v1/igw-prov/logging

200 OK

Payload

{
    "appLogLevel": "DEBUG",
    "packageLogLevel": [
        {
            "packageName": "root",
            "logLevelForPackage": "DEBUG"
        },
        {
            "packageName": "oauth",
            "logLevelForPackage": "DEBUG"
        }
    ]
}
  • 404 Not Found
PUT

http://10.75.229.168:32527/udr/nf-common-component/v1/egw/logging

200 OK

Payload

{
    "appLogLevel": "DEBUG",
    "packageLogLevel": [
        {
            "packageName": "root",
            "logLevelForPackage": "DEBUG"
        },
        {
            "packageName": "oauth",
            "logLevelForPackage": "DEBUG"
        }
    ]
}
  • 404 Not Found
PUT

http://10.75.229.168:32527/udr/nf-common-component/v1/alt-route/logging

200 OK

Payload

{
    "appLogLevel": "DEBUG",
    "packageLogLevel": [
        {
            "packageName": "root",
            "logLevelForPackage": "DEBUG"
        }
    ]
}
  • 404 Not Found
PUT

http://10.75.229.168:32527/udr/nf-common-component/v1/nrf-client-nfmanagement/logging

200 OK

Response
{
  "appLogLevel": "INFO",
  "packageLogLevel": [
  {
    "logLevelForPackage": "INFO",
    "packageName": "root"
   }]
}
  • 404 NOT FOUND
  • 400 BAD REQUEST
PUT http://10.75.229.168:32310/nudr-config/v1/nudr-dr-provservice/logging

201 created

Payload

{
    "appLogLevel": "WARN",
    "packageLogLevel": [
        {
            "packageName": "jetty",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "micronaut",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "root",
            "logLevelForPackage": "WARN"
        }
    ],
    "logSubscriberInfo": "DISABLED",
    "additionalErrorLogging": "DISABLED"
}
  • 404 NOT FOUND
  • 400 BAD REQUEST
PUT http://10.75.229.168:32310/nudr-config/v1/nudr-bulk-import/logging

201 created

Payload

{
    "appLogLevel": "WARN",
    "packageLogLevel": [
        {
            "packageName": "jetty",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "micronaut",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "root",
            "logLevelForPackage": "WARN"
        }
    ],
    "logSubscriberInfo": "DISABLED",
    "additionalErrorLogging": "DISABLED"
}
  • 404 NOT FOUND
  • 400 BAD REQUEST
PUT http://10.75.229.168:32310/nudr-config/v1/nudr-export-tool/logging

201 created

Payload

{
    "appLogLevel": "DEBUG",
    "packageLogLevel": [{
        "packageName": "micronaut",
        "logLevelForPackage": "WARN"
    }, {
        "packageName": "root",
        "logLevelForPackage": "WARN"
    }],
    "logSubscriberInfo": "DISABLED",
    "additionalErrorLogging": "DISABLED"
}
  • 404 NOT FOUND
  • 400 BAD REQUEST
PUT http://10.75.180.253:30601/nudr-config/v1/nudr-config/logging

201 created

Payload

{
    "appLogLevel": "DEBUG",
    "packageLogLevel": [
        {
            "packageName": "jetty",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "micronaut",
            "logLevelForPackage": "WARN"
        },
        {
            "packageName": "root",
            "logLevelForPackage": "DEBUG"
        }
    ],
    "logSubscriberInfo": "DISABLED",
    "additionalErrorLogging": "DISABLED"
}
  • 404 NOT FOUND
  • 400 BAD REQUEST

5.5 Configuration APIs for Backend Pod Protection

Nudr-drservice

Table 5-17 Nudr-drservice

Operation Type Request Response Notes
GET URI : http://<nudr-config-url>:<port>/nudr-config/v1/nudr-drservice/podProtectionByRateLimiting Result Code: 200 OK
Payload:
{
    "routes": [
        {
            "path": "/nudr-group-id-map/**",
            "methods": [
                "GET"
            ],
            "percentage": 100,
            "id": "1"
        }
    ],
    "defaultPriority": 24,
    "bucketAllocation": 25,
    "fillRate": 4100,
    "congestionErrorCode": "ERROR_429",
    "priorityHeaderName": "3gpp-Sbi-Message-Priority",
    "deniedRequestActions": [
        {
            "congestionLevel": 0,
            "action": "CONTINUE",
            "id": 1
        },
        {
            "congestionLevel": 1,
            "action": "REJECT",
            "congestionErrorCode": "ERROR_429",
            "id": 2
        },
        {
            "congestionLevel": 2,
            "action": "REJECT",
            "congestionErrorCode": "ERROR_503",
            "id": 3
        }
    ],
    "enabled": true
}
404 NOT FOUND

400 BAD REQUEST

PUT URI : http://<nudr-config-url>:<port>/nudr-config/v1/nudr-drservice/podProtectionByRateLimiting
Payload:
{
    "routes": [
        {
            "path": "/nudr-group-id-map/**",
            "methods": [
                "GET"
            ],
            "percentage": 100,
            "id": "1"
        }
    ],
    "defaultPriority": 24,
    "bucketAllocation": 25,
    "fillRate": 4100,
    "congestionErrorCode": "ERROR_429",
    "priorityHeaderName": "3gpp-Sbi-Message-Priority",
    "deniedRequestActions": [
        {
            "congestionLevel": 0,
            "action": "CONTINUE",
            "id": 1
        },
        {
            "congestionLevel": 1,
            "action": "REJECT",
            "congestionErrorCode": "ERROR_429",
            "id": 2
        },
        {
            "congestionLevel": 2,
            "action": "REJECT",
            "congestionErrorCode": "ERROR_503",
            "id": 3
        }
    ],
    "enabled": true
}
201 Created 400 Bad Request: Schema validation failed
GET URI : http://<nudr-config-url>:<port>/nudr-config/v1/nudr-drservice/congestionConfig Result Code: 200 OK
Payload:
{
    "routes": [
        {
            "path": "/nudr-group-id-map/**",
            "methods": [
                "GET"
            ],
            "percentage": 100,
            "id": "1"
        }
    ],
    "defaultPriority": 24,
    "bucketAllocation": 25,
    "fillRate": 4100,
    "congestionErrorCode": "ERROR_429",
    "priorityHeaderName": "3gpp-Sbi-Message-Priority",
    "deniedRequestActions": [
        {
            "congestionLevel": 0,
            "action": "CONTINUE",
            "id": 1
        },
        {
            "congestionLevel": 1,
            "action": "REJECT",
            "congestionErrorCode": "ERROR_429",
            "id": 2
        },
        {
            "congestionLevel": 2,
            "action": "REJECT",
            "congestionErrorCode": "ERROR_503",
            "id": 3
        }
    ],
    "enabled": true
}
{

    "refreshInterval": 500,

    "levels": [

        {

            "name": "Danger Of Congestion",

            "resources": [

                {

                    "name": "CPU",

                    "onset": 75,

                    "abatement": 70

                }

            ],

            "value": 1

        },

        {

            "name": "Congestion",

            "resources": [

                {

                    "name": "CPU",

                    "onset": 85,

                    "abatement": 80

                }

            ],

            "value": 2

        }

    ]

}
PUT URI : http://<nudr-config-url>:<port>/nudr-config/v1/nudr-drservice/congestionConfig
Payload:
{
    "refreshInterval": 500,
    "levels": [
        {
            "name": "Danger Of Congestion",
            "resources": [
                {
                    "name": "CPU",
                    "onset": 75,
                    "abatement": 70
                }
            ],
            "value": 1
        },
        {
            "name": "Congestion",
            "resources": [
                {
                    "name": "CPU",
                    "onset": 85,
                    "abatement": 80
                }
            ],
            "value": 2
        }
    ]
}
201 Created 400 Bad Request: Schema validation failed

Nudr-prov-service

Table 5-18 Nudr-prov-service

Operation Type Request Response Notes
GET URI : http://<nudr-config-url>:<port>/nudr-config/v1/nudr-dr-provservice/podProtectionByRateLimiting Result Code: 200 OK
Payload:
{
    "routes": [
        {
            "path": "/nudr-group-id-map-prov/**",
            "methods": [
                "GET",
                "PUT",
                "DELETE"
            ],
            "percentage": 100,
            "id": "1"
        }
    ],
    "defaultPriority": 24,
    "bucketAllocation": 25,
    "fillRate": 900,
    "congestionErrorCode": "ERROR_429",
    "priorityHeaderName": "3gpp-Sbi-Message-Priority",
    "deniedRequestActions": [
        {
            "congestionLevel": 0,
            "action": "CONTINUE",
            "id": 1
        },
        {
            "congestionLevel": 1,
            "action": "REJECT",
            "congestionErrorCode": "ERROR_429",
            "id": 2
        },
        {
            "congestionLevel": 2,
            "action": "REJECT",
            "congestionErrorCode": "ERROR_503",
            "id": 3
        }
    ],
    "enabled": true
}

404 NOT FOUND

400 BAD REQUEST

PUT URI : http://<nudr-config-url>:<port>/nudr-config/v1/nudr-dr-provservice/podProtectionByRateLimiting
Payload:
{
    "routes": [
        {
            "path": "/nudr-group-id-map-prov/**",
            "methods": [
                "GET",
                "PUT",
                "DELETE"
            ],
            "percentage": 100,
            "id": "1"
        }
    ],
    "defaultPriority": 24,
    "bucketAllocation": 25,
    "fillRate": 900,
    "congestionErrorCode": "ERROR_429",
    "priorityHeaderName": "3gpp-Sbi-Message-Priority",
    "deniedRequestActions": [
        {
            "congestionLevel": 0,
            "action": "CONTINUE",
            "id": 1
        },
        {
            "congestionLevel": 1,
            "action": "REJECT",
            "congestionErrorCode": "ERROR_429",
            "id": 2
        },
        {
            "congestionLevel": 2,
            "action": "REJECT",
            "congestionErrorCode": "ERROR_503",
            "id": 3
        }
    ],
    "enabled": true
}

201 Created 404 NOT FOUND

400 BAD REQUEST

GET URI : http://<nudr-config-url>:<port>/nudr-config/v1/nudr-dr-provservice/congestionConfig Result Code: 200 OK
Payload:
{
    "refreshInterval": 500,
    "levels": [
        {
            "name": "Danger Of Congestion",
            "resources": [
                {
                    "name": "CPU",
                    "onset": 75,
                    "abatement": 70
                }
            ],
            "value": 1
        },
        {
            "name": "Congestion",
            "resources": [
                {
                    "name": "CPU",
                    "onset": 85,
                    "abatement": 80
                }
            ],
            "value": 2
        }
    ]
}

404 NOT FOUND

400 BAD REQUEST

404 NOT FOUND

400 BAD REQUEST

URI : http://<nudr-config-url>:<port>/nudr-config/v1/nudr-dr-provservice/congestionConfig
Payload:
{
    "refreshInterval": 500,
    "levels": [
        {
            "name": "Danger Of Congestion",
            "resources": [
                {
                    "name": "CPU",
                    "onset": 75,
                    "abatement": 70
                }
            ],
            "value": 1
        },
        {
            "name": "Congestion",
            "resources": [
                {
                    "name": "CPU",
                    "onset": 85,
                    "abatement": 80
                }
            ],
            "value": 2
        }
    ]
}

201 Created 404 NOT FOUND

400 BAD REQUEST

Notify-service

Table 5-19 Notify-service

Operation Type Request Response Notes
GET http://<nudr-config-url>:<port>/nudr-config/v1/nudr-notify-service/podProtectionByRateLimiting Result Code: 200OK
Payload:
{
    "routes": [
        {
            "path": "/nudr-notify/**",
            "methods": [
                "POST"
            ],
            "percentage": 100,
            "id": "1"
        }
    ],
    "defaultPriority": 24,
    "bucketAllocation": 25,
    "fillRate": 3100,
    "congestionErrorCode": "ERROR_429",
    "priorityHeaderName": "3gpp-Sbi-Message-Priority",
    "deniedRequestActions": [
        {
            "congestionLevel": 0,
            "action": "CONTINUE",
            "id": 1
        },
        {
            "congestionLevel": 1,
            "action": "REJECT",
            "congestionErrorCode": "ERROR_429",
            "id": 2
        },
        {
            "congestionLevel": 2,
            "action": "REJECT",
            "congestionErrorCode": "ERROR_503",
            "id": 3
        }
    ],
    "enabled": true
}
404 NOT FOUND

400 BAD REQUEST

PUT URL: http://10.75.229.168:32310/nudr-config/v1/nudr-notify-service/podProtectionByRateLimiting
Payload:
{
    "routes": [
        {
            "path": "/nudr-notify/**",
            "methods": [
                "POST"
            ],
            "percentage": 100,
            "id": "1"
        }
    ],
    "defaultPriority": 24,
    "bucketAllocation": 25,
    "fillRate": 3100,
    "congestionErrorCode": "ERROR_429",
    "priorityHeaderName": "3gpp-Sbi-Message-Priority",
    "deniedRequestActions": [
        {
            "congestionLevel": 0,
            "action": "CONTINUE",
            "id": 1
        },
        {
            "congestionLevel": 1,
            "action": "REJECT",
            "congestionErrorCode": "ERROR_429",
            "id": 2
        },
        {
            "congestionLevel": 2,
            "action": "REJECT",
            "congestionErrorCode": "ERROR_503",
            "id": 3
        }
    ],
    "enabled": true
}
201 Created 400 Bad Request: Schema validation failed
GET URL: http://<nudr-config-url>:<port>/nudr-config/v1/nudr-notify-service/congestionConfig Result Code: 200OK
Payload:
{
    "refreshInterval": 500,
    "levels": [
        {
            "name": "Danger Of Congestion",
            "resources": [
                {
                    "name": "CPU",
                    "onset": 75,
                    "abatement": 70
                }
            ],
            "value": 1
        },
        {
            "name": "Congestion",
            "resources": [
                {
                    "name": "CPU",
                    "onset": 85,
                    "abatement": 80
                }
            ],
            "value": 2
        }
    ]
}

404 NOT FOUND

400 BAD REQUEST

PUT URL: http://10.75.229.168:32310/nudr-config/v1/nudr-notify-service/congestionConfig
Payload:
{
    "refreshInterval": 500,
    "levels": [
        {
            "name": "Danger Of Congestion",
            "resources": [
                {
                    "name": "CPU",
                    "onset": 75,
                    "abatement": 70
                }
            ],
            "value": 1
        },
        {
            "name": "Congestion",
            "resources": [
                {
                    "name": "CPU",
                    "onset": 85,
                    "abatement": 80
                }
            ],
            "value": 2
        }
    ]
}

201 Created 400 Bad Request: Schema validation failed

5.6 Common Configurations Global

The following table describes the configuration APIs for SBI Message Priority Header

Table 5-20 Configuration APIs for SBI Message Priority Header

HTTP Method Sample Request REST URL Sample Response Notes
GET http://<nudr-config-svc>:<PORT>/udr/nf-common-component/v1/global-configuration/sbiserviceoperations Result Code: 200 OK
SLF Payload
[
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_GetNfGroupIDs"
    }
]
EIR Payload:
[
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "N5g-eir_GetEquipmentStatus"
    }
]
UDR Payload
[
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_ReadAccessAndMobilityPolicyData"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_ReadSessionManagementPolicyData"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_UpdateSessionManagementPolicyData"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_CreateOrReplaceUEPolicySet"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_ReadUEPolicySet"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_UpdateUEPolicySet"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_CreateUsageMonitoringResource"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_ReadUsageMonitoringInformation"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_DeleteUsageMonitoringInformation"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_CreateIndividualPolicyDataSubscription"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_ReplaceIndividualPolicyDataSubscription"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_DeleteIndividualPolicyDataSubscription"
    },
    {
        "defaultPriority": 23,
        "initiatedRequestPriorityRule": "mapping_rule_2",
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DM_Notify"
    }
]
NA
PUT http://<nudr-config-svc>:<PORT>/udr/nf-common-component/v1/global-configuration/sbiserviceoperations Result Code: 200 OK
SLF Payload
[
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_GetNfGroupIDs"
    }
]
EIR Payload:
[
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "N5g-eir_GetEquipmentStatus"
    }
]
UDR Payload
[
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_ReadAccessAndMobilityPolicyData"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_ReadSessionManagementPolicyData"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_UpdateSessionManagementPolicyData"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_CreateOrReplaceUEPolicySet"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_ReadUEPolicySet"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_UpdateUEPolicySet"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_CreateUsageMonitoringResource"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_ReadUsageMonitoringInformation"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_DeleteUsageMonitoringInformation"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_CreateIndividualPolicyDataSubscription"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_ReplaceIndividualPolicyDataSubscription"
    },
    {
        "defaultPriority": 23,
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DataRepository_DeleteIndividualPolicyDataSubscription"
    },
    {
        "defaultPriority": 23,
        "initiatedRequestPriorityRule": "mapping_rule_2",
        "preferReceivedPriority": true,
        "responsePriorityRule": "mapping_rule_1",
        "sbiServiceOperation": "Nudr_DM_Notify"
    }
]
Possible error codes 400 Bad Request : Could not validate Json
GET http://<nudr-config-svc>:<PORT>/udr/nf-common-component/v1/global-configuration/sbimessagepriority Result Code: 200 OK
Payload:
{
    "enabled": false
}
NA
PUT http://<nudr-config-svc>:<PORT>/udr/nf-common-component/v1/global-configuration/sbimessagepriority Result Code: 200 OK
Payload:
{
    "enabled": false
}
Possible error codes 400 Bad Request : Could not validate Json
GET http://<nudr-config-svc>:<PORT>/udr/nf-common-component/v1/global-configuration/requestsmpheaders Result Code: 200 OK
Payload:
[
    "3gpp-sbi-message-priority",
    "message-priority11",
    "message-priority22",
    "triangl-1",
    "trainanlge-1"
]
NA
PUT http://<nudr-config-svc>:<PORT>/udr/nf-common-component/v1/global-configuration/requestsmpheaders Result Code: 200 OK
Payload:
[
    "3gpp-sbi-message-priority",
    "message-priority11",
    "message-priority22",
    "triangl-1",
    "trainanlge-1"
]
Possible error codes 400 Bad Request : Could not validate Json
GET http://<nudr-config-svc>:<PORT>/udr/nf-common-component/v1/global-configuration/prioritymappingrules Result Code: 200 OK
Payload:
[
    {
        "defaultSmpHeaderName": "3gpp-sbi-message-priority",
        "name": "mapping_rule_1",
        "rules": [
            {
                "received": "0-1",
                "used": "0"
            },
            {
                "received": "2-23",
                "used": "-1"
            },
            {
                "received": "24-31",
                "used": "22"
            },
            {
                "received": "*",
                "used": "22"
            }
        ]
    },
    {
        "defaultSmpHeaderName": "3gpp-sbi-message-priority",
        "name": "mapping_rule_2",
        "rules": [
            {
                "received": "0-31",
                "used": "23"
            }
        ]
    }
]
NA
PUT http://<nudr-config-svc>:<PORT>/udr/nf-common-component/v1/global-configuration/prioritymappingrules Result Code: 200 OK
Payload:
[
    {
        "defaultSmpHeaderName": "3gpp-sbi-message-priority",
        "name": "mapping_rule_1",
        "rules": [
            {
                "received": "0-1",
                "used": "0"
            },
            {
                "received": "2-23",
                "used": "-1"
            },
            {
                "received": "24-31",
                "used": "22"
            },
            {
                "received": "*",
                "used": "22"
            }
        ]
    },
    {
        "defaultSmpHeaderName": "3gpp-sbi-message-priority",
        "name": "mapping_rule_2",
        "rules": [
            {
                "received": "0-31",
                "used": "23"
            }
        ]
    }
    ]
Possible error codes 400 Bad Request : Could not validate Json

5.7 Configuration APIs for NRF Client

The following table describes the configuration APIs for NRF Client

Table 5-21 Configuration APIs for NRF Client

Method Request Response Notes

PUT

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/nrf-client-nfmanagement/dynamicLoadAndCapacity

Request body:

{
    "nfProfileCapacity":  true,
    "nfProfileLoad":  true,
    "nfServiceCapacity":  true,
    "nfServiceLoad":  true
}

200 OK

Possible error codes: 400 Bad Request Could not Validate Json. 404 Not Found Configuration does not exist. Service, resource, or key not found. 500 Internal Server Error Internal error while reading or updating the common configuration.

PATCH

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/nrf-client-nfmanagement/dynamicLoadAndCapacity

Request body:

{
    "nfProfileCapacity":  true,
    "nfProfileLoad":  true,
    "nfServiceCapacity":  true,
    "nfServiceLoad":  true
}

200 OK

Possible error codes: 400 Bad Request Could not Validate Json. 404 Not Found Configuration does not exist. Service, resource, or key not found. 500 Internal Server Error Internal error while reading or updating the common configuration.

GET

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/nrf-client-nfmanagement/dynamicLoadAndCapacity

200 OK

Response body:

{
    "nfProfileCapacity":  true,
    "nfProfileLoad":  true,
    "nfServiceCapacity":  true,
    "nfServiceLoad":  true
}

Possible error codes: 404 Not Found Configuration does not exist. Service, resource, or key not found. 500 Internal Server Error Internal error while reading or updating the common configuration.

PUT

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/nrf-client-nfmanagement/generalOptions

Request body:

{
    "nfProfileUpdateMode":  "CompleteUpdate",
    "triggerNfRegistration":  true
}

200 OK

Possible error codes: 400 Bad Request Could not Validate Json. 404 Not Found Configuration does not exist. Service, resource, or key not found. 500 Internal Server Error Internal error while reading or updating the common configuration.

PATCH

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/nrf-client-nfmanagement/generalOptions

Request body:

{
    "nfProfileUpdateMode":  "CompleteUpdate",
    "triggerNfRegistration":  true
}

200 OK

Possible error codes: 400 Bad Request Could not Validate Json. 404 Not Found Configuration does not exist. Service, resource, or key not found. 500 Internal Server Error Internal error while reading or updating the common configuration.

GET

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/nrf-client-nfmanagement/generalOptions

200 OK

Response body:

{
    "nfProfileUpdateMode":  "CompleteUpdate",
    "triggerNfRegistration":  true
}

Possible error codes: 404 Not Found Configuration does not exist. Service, resource, or key not found. 500 Internal Server Error Internal error while reading or updating the common configuration.

PUT

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/nrf-client-nfmanagement/nfProfileList

Request body:

[
    {
        "fqdn": "ocudr-ingressgateway.myudr.svc.cluster.local",
        "load": 0,
        "nfType": "UDR",
        "udrInfo": {
            "groupId": "udr-1",
            "gpsiRanges": [
                {
                    "end": "20000000000",
                    "start": "10000000000"
                }
            ],
            "supiRanges": [
                {
                    "end": "20000000000",
                    "start": "10000000000"
                }
            ],
            "supportedDataSets": [
                "POLICY",
                "SUBSCRIPTION"
            ],
            "externalGroupIdentifiersRanges": [
                {
                    "end": "20000000000",
                    "start": "10000000000"
                }
            ]
        },
        "capacity": 500,
        "locality": "bangalore",
        "nfStatus": "REGISTERED",
        "plmnList": [
            {
                "mcc": "310",
                "mnc": "14"
            }
        ],
        "priority": 10,
        "nfServices": [
            {
                "fqdn": "ocudr-ingressgateway.myudr.svc.cluster.local",
                "load": 0,
                "scheme": "http",
                "capacity": 500,
                "priority": 10,
                "versions": [
                    {
                        "apiFullVersion": "2.1.0.alpha-3",
                        "apiVersionInUri": "v1"
                    }
                ],
                "ipEndPoints": [
                    {
                        "port": "80",
                        "transport": "TCP",
                        "ipv4Address": "10.0.0.0"
                    }
                ],
                "serviceName": "nudr-dr",
                "allowedNfTypes": [
                    "PCF",
                    "UDM"
                ],
                "nfServiceStatus": "REGISTERED",
                "serviceInstanceId": "ae870316-384d-458a-bd45-025c9e748976"
            },
            {
                "fqdn": "ocudr-ingressgateway.myudr.svc.cluster.local",
                "load": 0,
                "scheme": "http",
                "capacity": 500,
                "priority": 10,
                "versions": [
                    {
                        "apiFullVersion": "2.1.0.alpha-3",
                        "apiVersionInUri": "v1"
                    }
                ],
                "ipEndPoints": [
                    {
                        "port": "80",
                        "transport": "TCP",
                        "ipv4Address": "10.0.0.0"
                    }
                ],
                "serviceName": "nudr-group-id-map",
                "allowedNfTypes": [
                    "NRF"
                ],
                "nfServiceStatus": "REGISTERED",
                "serviceInstanceId": "547d42af-628a-4d5d-a8bd-38c4ba672682"
            }
        ],
        "nfSetIdList": [
            "setxyz.udrset.5gc.mnc012.mcc345"
        ],
        "nfInstanceId": "5a7bd676-ceeb-44bb-95e0-f6a55a328b13",
        "allowedNfTypes": [
            "PCF",
            "UDM",
            "NRF"
        ],
        "heartBeatTimer": 90,
        "nfServicePersistence": false,
        "nfProfileChangesSupportInd": false
    }
]

200 OK

Possible error codes: 400 Bad Request Could not Validate Json. 404 Not Found Configuration does not exist. Service, resource, or key not found. 500 Internal Server Error Internal error while reading or updating the common configuration.

PATCH

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/nrf-client-nfmanagement/nfProfileList

Request body:

[
    {
        "fqdn": "ocudr-ingressgateway.myudr.svc.cluster.local",
        "load": 0,
        "nfType": "UDR",
        "udrInfo": {
            "groupId": "udr-1",
            "gpsiRanges": [
                {
                    "end": "20000000000",
                    "start": "10000000000"
                }
            ],
            "supiRanges": [
                {
                    "end": "20000000000",
                    "start": "10000000000"
                }
            ],
            "supportedDataSets": [
                "POLICY",
                "SUBSCRIPTION"
            ],
            "externalGroupIdentifiersRanges": [
                {
                    "end": "20000000000",
                    "start": "10000000000"
                }
            ]
        },
        "capacity": 500,
        "locality": "bangalore",
        "nfStatus": "REGISTERED",
        "plmnList": [
            {
                "mcc": "310",
                "mnc": "14"
            }
        ],
        "priority": 10,
        "nfServices": [
            {
                "fqdn": "ocudr-ingressgateway.myudr.svc.cluster.local",
                "load": 0,
                "scheme": "http",
                "capacity": 500,
                "priority": 10,
                "versions": [
                    {
                        "apiFullVersion": "2.1.0.alpha-3",
                        "apiVersionInUri": "v1"
                    }
                ],
                "ipEndPoints": [
                    {
                        "port": "80",
                        "transport": "TCP",
                        "ipv4Address": "10.0.0.0"
                    }
                ],
                "serviceName": "nudr-dr",
                "allowedNfTypes": [
                    "PCF",
                    "UDM"
                ],
                "nfServiceStatus": "REGISTERED",
                "serviceInstanceId": "ae870316-384d-458a-bd45-025c9e748976"
            },
            {
                "fqdn": "ocudr-ingressgateway.myudr.svc.cluster.local",
                "load": 0,
                "scheme": "http",
                "capacity": 500,
                "priority": 10,
                "versions": [
                    {
                        "apiFullVersion": "2.1.0.alpha-3",
                        "apiVersionInUri": "v1"
                    }
                ],
                "ipEndPoints": [
                    {
                        "port": "80",
                        "transport": "TCP",
                        "ipv4Address": "10.0.0.0"
                    }
                ],
                "serviceName": "nudr-group-id-map",
                "allowedNfTypes": [
                    "NRF"
                ],
                "nfServiceStatus": "REGISTERED",
                "serviceInstanceId": "547d42af-628a-4d5d-a8bd-38c4ba672682"
            }
        ],
        "nfSetIdList": [
            "setxyz.udrset.5gc.mnc012.mcc345"
        ],
        "nfInstanceId": "5a7bd676-ceeb-44bb-95e0-f6a55a328b13",
        "allowedNfTypes": [
            "PCF",
            "UDM",
            "NRF"
        ],
        "heartBeatTimer": 90,
        "nfServicePersistence": false,
        "nfProfileChangesSupportInd": false
    }
]

200 OK

Possible error codes: 400 Bad Request Could not Validate Json. 404 Not Found Configuration does not exist. Service, resource, or key not found. 500 Internal Server Error Internal error while reading or updating the common configuration.

GET

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/nrf-client-nfmanagement/nfProfileList

200 OK

Response body:

[
    {
        "fqdn": "ocudr-ingressgateway.myudr.svc.cluster.local",
        "load": 0,
        "nfType": "UDR",
        "udrInfo": {
            "groupId": "udr-1",
            "gpsiRanges": [
                {
                    "end": "20000000000",
                    "start": "10000000000"
                }
            ],
            "supiRanges": [
                {
                    "end": "20000000000",
                    "start": "10000000000"
                }
            ],
            "supportedDataSets": [
                "POLICY",
                "SUBSCRIPTION"
            ],
            "externalGroupIdentifiersRanges": [
                {
                    "end": "20000000000",
                    "start": "10000000000"
                }
            ]
        },
        "capacity": 500,
        "locality": "bangalore",
        "nfStatus": "REGISTERED",
        "plmnList": [
            {
                "mcc": "310",
                "mnc": "14"
            }
        ],
        "priority": 10,
        "nfServices": [
            {
                "fqdn": "ocudr-ingressgateway.myudr.svc.cluster.local",
                "load": 0,
                "scheme": "http",
                "capacity": 500,
                "priority": 10,
                "versions": [
                    {
                        "apiFullVersion": "2.1.0.alpha-3",
                        "apiVersionInUri": "v1"
                    }
                ],
                "ipEndPoints": [
                    {
                        "port": "80",
                        "transport": "TCP",
                        "ipv4Address": "10.0.0.0"
                    }
                ],
                "serviceName": "nudr-dr",
                "allowedNfTypes": [
                    "PCF",
                    "UDM"
                ],
                "nfServiceStatus": "REGISTERED",
                "serviceInstanceId": "ae870316-384d-458a-bd45-025c9e748976"
            },
            {
                "fqdn": "ocudr-ingressgateway.myudr.svc.cluster.local",
                "load": 0,
                "scheme": "http",
                "capacity": 500,
                "priority": 10,
                "versions": [
                    {
                        "apiFullVersion": "2.1.0.alpha-3",
                        "apiVersionInUri": "v1"
                    }
                ],
                "ipEndPoints": [
                    {
                        "port": "80",
                        "transport": "TCP",
                        "ipv4Address": "10.0.0.0"
                    }
                ],
                "serviceName": "nudr-group-id-map",
                "allowedNfTypes": [
                    "NRF"
                ],
                "nfServiceStatus": "REGISTERED",
                "serviceInstanceId": "547d42af-628a-4d5d-a8bd-38c4ba672682"
            }
        ],
        "nfSetIdList": [
            "setxyz.udrset.5gc.mnc012.mcc345"
        ],
        "nfInstanceId": "5a7bd676-ceeb-44bb-95e0-f6a55a328b13",
        "allowedNfTypes": [
            "PCF",
            "UDM",
            "NRF"
        ],
        "heartBeatTimer": 90,
        "nfServicePersistence": false,
        "nfProfileChangesSupportInd": false
    }
]

Possible error codes: 404 Not Found Configuration does not exist. Service, resource, or key not found. 500 Internal Server Error Internal error while reading or updating the common configuration.

PUT

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/nrf-client-nfmanagement/nrfRouteList

Request body:

{
    "nrfApi":  "nrfDeployName-nrf-1:8080",
    "scheme":  "http",
    "weight":  100,
    "priority":  1
}

200 OK

Possible error codes: 400 Bad Request Could not Validate Json. 404 Not Found Configuration does not exist. Service, resource, or key not found. 500 Internal Server Error Internal error while reading or updating the common configuration.

PATCH

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/nrf-client-nfmanagement/nrfRouteList

Request body:

{
    "nrfApi":  "nrfDeployName-nrf-1:8080",
    "scheme":  "http",
    "weight":  100,
    "priority":  1
}

200 OK

Possible error codes: 400 Bad Request Could not Validate Json. 404 Not Found Configuration does not exist. Service, resource, or key not found. 500 Internal Server Error Internal error while reading or updating the common configuration.

GET

http://<nudr-config svc IP>:\<port>/udr/nf-common-component/v1/nrf-client-nfmanagement/nrfRouteList

200 OK

Response body:

{
    "nrfApi":  "nrfDeployName-nrf-1:8080",
    "scheme":  "http",
    "weight":  100,
    "priority":  1
}

Possible error codes: 404 Not Found Configuration does not exist. Service, resource, or key not found. 500 Internal Server Error Internal error while reading or updating the common configuration.

5.8 List of Errors and their Details

The list of errors and their details are as follows:

Table 5-22 Error Code Catalogue

Error Details Possible Causes Corrective Actions

Error Code: E550

HTTP Response Code: 404

Category: CFG

Error Description: The import or export ResourceId or report not found

Provided import or export ResourceId is incorrect. The import or export report with the provided ResourceId is not found.

Check if the provided import or export ResourceId is correct.

Error Code: E551

HTTP Response Code: 500

Category: CFG

Error Description: Retrieving the report or status of import or export when the operation is still in progress.

Retrieving the report or status of import or export when the operation is still in progress.

Try after the existing import or export is completed.

Error Code: E552

HTTP Response Code: 500

Category: CFG

Error Description:The import or exportt report is not generated.

The import or export report creation failed.

NA

Error Code: E553

HTTP Response Code: 400

Category: CFG

Error Description: Empty or incorrect MO passed.

Empty MO value passed or the passed MO value is incorrect.

Provide a valid MO value.

Error Code: E554

HTTP Response Code: 400

Category: CFG

Error Description: The file provided for the import has unsupported file format or file content.

Import file other than ZIP file format is provided. Error reading zip stream or unable to extract contents of file.

Check and upload the file with supported format and file content.
E555

HTTP Response Code: 500

Category: CFG

Error Description: Another import or export operation request is in progress.

Another import or export request is in progress.

You must wait for previous requests to complete before performing another import or export operation.

Error Code: E556

HTTP Response Code: 500

Category: CFG

Error Description: Unable to download exported data

Could not create exported JSON files.

NA

Error Code: E557

HTTP Response Code: 400

Category: CFG

Error Description: Controlled Shutdown feature is disabled

Controlled shutdown feature is disabled when updating OperationalStatus.

Enable the controlled shutdown feature.

Error Code: E558

HTTP Response Code: 400

Category: CFG

Error Description: Invalid OperationalState

Invalid OperationalState provided.

Provide operationalState with "NORMAL" or "COMPLETE_SHUTDOWN"

Error Code: E559

HTTP Response Code: 403

Category: CFG

Error Description: Read only field can not be modified.

Tried to modify a read only field.

NA

Error Code: E560

HTTP Response Code: 400

Category: CFG

Error Description: Invalid URI sent from client.

The URI in the request is invalid or does not comply to the specification.

Check the specification for the correct URI.

Error Code: E561

HTTP Response Code: 415

Category: CFG

Error Description: Unsupported Media Type Header

The handleHttpMediaType is not supported.

Content type header is incorrect.

Error Code: E562

HTTP Response Code: 406

Category: CFG

Error Description: Media type header not acceptable.

The handleHttpMediaType is not supported.

Accept header is incorrect.

Error Code: E564

HTTP Response Code: 400

Category: CFG

Error Description: Invalid schema content supplied or schema validation failed.

Schema update request payload, json content is invalid. The request payload json content does not comply to schema defined.

Check the schema for correctness and formatting issues.

Error Code: E565

HTTP Response Code: 404

Category: CFG

Error Description: Data field does not exist.

The request sent for unavailable service configuration data. Check if the service key or id used is valid.

Error Code: E566

HTTP Response Code: 404

Category: CFG

Error Description: NF Operational State not found.

NF Operational status is not found. NA

Error Code: E567

HTTP Response Code: 404

Category: CFG

Error Description: Operational State History not present for the limit.

Operational State History for the limit is not found.

NA

Error Code: E568

HTTP Response Code: 404

Category: CFG

Error Description: NF score not available.

NF score not available. NA

Error Code: E569

HTTP Response Code: 400

Category: CFG

Error Description: Peer identity must be unique

Multiple peers with same identity is received.

Make sure to use unique for every diam serverpeer.

Error Code: E570

HTTP Response Code: 500

Category: DB

Error Description: SQL Command Grammar Error

SQL statement syntax issues.

Check the logs for more details.

Error Code: E571

HTTP Response Code: 500

Category: DB

Error Description: Resource accessed in an invalid fashion.

Database fetch failure.

Check the logs for more details.

Error Code: E572

HTTP Response Code: 500

Category: DB

Error Description: Permission denied to requested resource on the database.

Database access failed due to permission issues.

Check the logs for more details.

Error Code: E573

HTTP Response Code: 503

Category: DB

Error Description: Database table or resource not accessible.

Data retrieval from database failed.

Check the database availability and connectivity. Check the logs for more information on SQL state.

Error Code: E574

HTTP Response Code: 503

Category: DB

Error Description: Transient database access issue.

Data retrieval from database failed.

Check the database availability and connectivity. Check the logs for more information on SQL state.

Error Code: E575

HTTP Response Code: 503

Category: DB

Error Description: Cannot acquire lock on database resource.

Data retrieval from database failed.

Check the database state and database. Check the logs for more information on SQL state.

Error Code: E576

HTTP Response Code: 400

Category: CFG

Error Description: Insertion or update of invalid records to database.

Internal SQL transaction failures due to invalid records not matching table schema.

Check the content shared in payload from where the content is formed for insertion or update.

Error Code: E577

HTTP Response Code: 404

Category: CFG

Error Description: Resource fetch from database failed.

Exception occurred during resource fetch from database.

Check the logs for more information on failures.

Error Code: E578

HTTP Response Code: 400

Category: CFG

Error Description: Invalid payload.

Internal JSON format data formation failure or invalid parameters passed, or, empty payload is passed.

Check for any missing required parameters in the payload or check for provided empty payload.

Error Code: E579

HTTP Response Code: 400

Category: CFG

Error Description: Invalid format of data

Invalid payload. Parameter with number type is not set correctly.

Check the number or integer parameters are correct in the payload.

Error Code: E580

HTTP Response Code: 405

Category: CFG

Error Description: Operation not allowed.

REST API used does not support the requested operation type.

Check the specification for the allowed operations for provided REST API in request.

Error Code: E581

HTTP Response Code: 500

Category: CFG

Error Description: Internal server error

Unidentified internal server errors.

Check the logs for more details.

Error Code: E582

HTTP Response Code: 400

Category: CFG

Error Description: Subscriber export ranges are not valid.

The provided start range value is greater than the end range value.

Provide the correct values for start range and end range.