Updating Existing Schema for Data

User Data Repository validates the incoming request body content against the json schema stored in the RESOURCE_MAP table. User Data Repository supports change in the json schema at run time.

Pre-requisite: Login to the NDB Cluster's SQL node with configured username and password.

To change json schema, UDR supports a management API detailed below

A PUT request with body having the updated schema should be sent to UDR.

PUT http://10.75.213.231:30080 /nudr-dr-mgm/v1/policy-data/schema/am-data

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "type": "object",
    "properties": {
        "subscCats": {
            "minItems": 1,
            "type": "array",
            "items": {
                "type": "string"
            }
        },
           "custom": {
        "type": "string"
        },
        "praInfos": {
            "patternProperties": {
                "^(.*)$": {
                    "additionalProperties": false,
                    "type": "object",
                    "properties": {
                        "ecgiList": {
                            "minItems": 1,
                            "type": "array",
                            "items": {
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "plmnId",
                                    "eutraCellId"
                                ],
                                "properties": {
                                    "eutraCellId": {
                                        "pattern": "^[A-Fa-f0-9]{7}$",
                                        "type": "string"
                                    },
                                    "plmnId": {
                                        "additionalProperties": false,
                                        "type": "object",
                                        "required": [
                                            "mcc",
                                            "mnc"
                                        ],
                                        "properties": {
                                            "mnc": {
                                                "pattern": "^\\d{2,3}$",
                                                "type": "string"
                                            },
                                            "mcc": {
                                                "pattern": "^\\d{3}$",
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        "globalRanNodeIdList": {
                            "minItems": 1,
                            "type": "array",
                            "items": {
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "plmnId"
                                ],
                                "properties": {
                                    "gNbId": {
                                        "additionalProperties": false,
                                        "type": "object",
                                        "required": [
                                            "bitLength",
                                            "gNbValue"
                                        ],
                                        "properties": {
                                            "bitLength": {
                                                "type": "integer"
                                            },
                                            "gNbValue": {
                                                "pattern": "^[A-Fa-f0-9]{6,8}$",
                                                "type": "string"
                                            }
                                        }
                                    },
                                    "plmnId": {
                                        "additionalProperties": false,
                                        "type": "object",
                                        "required": [
                                            "mcc",
                                            "mnc"
                                        ],
                                        "properties": {
                                            "mnc": {
                                                "pattern": "^\\d{2,3}$",
                                                "type": "string"
                                            },
                                            "mcc": {
                                                "pattern": "^\\d{3}$",
                                                "type": "string"
                                            }
                                        }
                                    },
                                    "n3IwfId": {
                                        "pattern": "^[A-Fa-f0-9]+$",
                                        "type": "string"
                                    },
                                    "ngeNbId": {
                                        "pattern": "^(MacroNGeNB-[A-Fa-f0-9]{5}|LMacroNGeNB-[A-Fa-f0-9]{6}|SMacroNGeNB-[A-Fa-f0-9]{5})$",
                                        "type": "string"
                                    }
                                }
                            }
                        },
                        "praId": {
                            "type": "string"
                        },
                        "ncgiList": {
                            "minItems": 1,
                            "type": "array",
                            "items": {
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "plmnId",
                                    "nrCellId"
                                ],
                                "properties": {
                                    "plmnId": {
                                        "additionalProperties": false,
                                        "type": "object",
                                        "required": [
                                            "mcc",
                                            "mnc"
                                        ],
                                        "properties": {
                                            "mnc": {
                                                "pattern": "^\\d{2,3}$",
                                                "type": "string"
                                            },
                                            "mcc": {
                                                "pattern": "^\\d{3}$",
                                                "type": "string"
                                            }
                                        }
                                    },
                                    "nrCellId": {
                                        "pattern": "^[A-Fa-f0-9]{9}$",
                                        "type": "string"
                                    }
                                }
                            }
                        },
                        "trackingAreaList": {
                            "minItems": 1,
                            "type": "array",
                            "items": {
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "plmnId",
                                    "tac"
                                ],
                                "properties": {
                                    "tac": {
                                        "default": "",
                                        "pattern": "(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)",
                                        "type": "string"
                                    },
                                    "plmnId": {
                                        "additionalProperties": false,
                                        "type": "object",
                                        "required": [
                                            "mcc",
                                            "mnc"
                                        ],
                                        "properties": {
                                            "mnc": {
                                                "pattern": "^\\d{2,3}$",
                                                "type": "string"
                                            },
                                            "mcc": {
                                                "pattern": "^\\d{3}$",
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "additionalProperties": false
        }
    }
}