{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "nsdIdentifier": {
            "type": "string"
        },
        "designer": {
            "type": "string"
        },
        "version": {
            "type": "string"
        },
        "nsdName": {
            "type": "string"
        },
        "nsdInvariantId": {
            "type": "string"
        },
        "vnfdId": {
            "type": "array",
            "items": {
                "type": "string"
            }
        },
        "sapd": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "cpdId": {
                        "type": "string"
                    },
                    "layerProtocol": {
                        "type": "string"
                    },
                    "cpRole": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "sapAddressAssignment": {
                        "type": "boolean"
                    },
                    "nsVirtualLinkDescId": {
                        "type": "string"
                    },
                    "associatedCpdId": {
                        "type": "string"
                    }
                }
            }
        },
        "virtualLinkDesc": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "virtualLinkDescId": {
                        "type": "string"
                    },
                    "virtualLinkDescProvider": {
                        "type": "string"
                    },
                    "virtuaLinkDescVersion": {
                        "type": "string"
                    },
                    "connectivityType": {
                        "type": "object",
                        "properties": {
                            "layerProtocol": {
                                "type": "string"
                            },
                            "flowPattern": {
                                "type": "string"
                            }
                        }
                    },
                    "virtualLinkDf": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "flavourId": {
                                    "type": "string"
                                },
                                "qos": {
                                    "type": "object",
                                    "properties": {
                                        "latency": {
                                            "type": "integer"
                                        },
                                        "packetDelayVariation": {
                                            "type": "integer"
                                        },
                                        "packetLossRatio": {
                                            "type": "integer"
                                        },
                                        "priority": {
                                            "type": "integer"
                                        }
                                    }
                                },
                                "serviceAvaibilityLevel": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        },
        "vnffgd": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "vnffgdId": {
                        "type": "string"
                    },
                    "vnfdId": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "virtualLinkDescId": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "cpdPoolId": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "cpdPoolId": {
                                    "type": "string"
                                },
                                "cpdId": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "nsDf": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "nsDfId": {
                        "type": "string"
                    },
                    "flavourKey": {
                        "type": "string"
                    },
                    "vnfProfile": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "vnfProfileId": {
                                    "type": "string"
                                },
                                "vnfdId": {
                                    "type": "string"
                                },
                                "flavourId": {
                                    "type": "string"
                                },
                                "instantiationLevel": {
                                    "type": "string"
                                },
                                "minNumberOfInstances": {
                                    "type": "integer"
                                },
                                "maxNumberOfInstances": {
                                    "type": "integer"
                                },
                                "localAffinityOrAntiAffinityRule": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "affinityOrAntiAffinity": {
                                                "type": "string"
                                            },
                                            "scope": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                },
                                "affinityOrAntiAffinityGroupId": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "groupId": {
                                                "type": "string"
                                            },
                                            "affinityOrAntiAffiinty": {
                                                "type": "string"
                                            },
                                            "scope": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                },
                                "nsVirtualLinkConnectivity": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "virtualLinkProfileId": {
                                                "type": "string"
                                            },
                                            "cpdId": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "virtualLinkProfile": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "virtualLinkProfileId": {
                                    "type": "string"
                                },
                                "virtualLinkDescId": {
                                    "type": "string"
                                },
                                "flavourId": {
                                    "type": "string"
                                },
                                "localAffinityOrAntiAffinityRule": {
                                    "type": "array",
                                    "items": {}
                                },
                                "maxBitrateRequirements": {
                                    "type": "object",
                                    "properties": {
                                        "root": {
                                            "type": "string"
                                        },
                                        "leaf": {
                                            "type": "string"
                                        }
                                    }
                                },
                                "minBitrateRequirements": {
                                    "type": "object",
                                    "properties": {
                                        "root": {
                                            "type": "string"
                                        },
                                        "leaf": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}