"additionalProperties": False,
},
},
+ "affinity-or-anti-affinity-group": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": name_schema,
+ "vim-affinity-group-id": name_schema,
+ },
+ "required": ["id"],
+ "minProperties": 2,
+ "additionalProperties": False,
+ },
+ },
},
"required": ["member-vnf-index"],
"minProperties": 2,
"additionalProperties": False,
}
+ns_update = {
+ "title": "ns update input schema",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "lcmOperationType": string_schema,
+ "nsInstanceId": id_schema,
+ "timeout_ns_update": integer1_schema,
+ "updateType": {
+ "enum": ["CHANGE_VNFPKG", "REMOVE_VNF", "MODIFY_VNF_INFORMATION"]
+ },
+ "modifyVnfInfoData": {
+ "type": "object",
+ "properties": {
+ "vnfInstanceId": id_schema,
+ "vnfdId": id_schema,
+ },
+ "required": ["vnfInstanceId", "vnfdId"],
+ },
+ "removeVnfInstanceId": id_schema,
+ "changeVnfPackageData": {
+ "type": "object",
+ "properties": {
+ "vnfInstanceId": id_schema,
+ "vnfdId": id_schema,
+ },
+ "required": ["vnfInstanceId", "vnfdId"],
+ },
+ },
+ "required": ["updateType"],
+ "additionalProperties": False,
+}
+
ns_action = { # TODO for the moment it is only contemplated the vnfd primitive execution
"title": "ns action input schema",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": False,
}
+ns_migrate = {
+ "title": "ns migrate input schema",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "lcmOperationType": string_schema,
+ "nsInstanceId": id_schema,
+ "vnfInstanceId": id_schema,
+ "migrateToHost": string_schema,
+ "vdu": {
+ "type": "object",
+ "properties": {
+ "vduId": name_schema,
+ "vduCountIndex": integer0_schema,
+ },
+ "required": ["vduId"],
+ "additionalProperties": False,
+ },
+ },
+ "required": ["vnfInstanceId"],
+ "additionalProperties": False
+}
schema_version = {"type": "string", "enum": ["1.0"]}
schema_type = {"type": "string"}
"vim_password": passwd_schema,
"vca": id_schema,
"config": {"type": "object"},
+ "prometheus-config": {"type": "object"},
},
"additionalProperties": False,
}
"vim_password": passwd_schema,
"vca": id_schema,
"config": {"type": "object"},
+ "prometheus-config": {"type": "object"},
},
"required": [
"name",
"type": "object",
"properties": {
"password": passwd_schema,
+ "old_password": passwd_schema,
"username": string_schema, # To allow User Name modification
"projects": {"oneOf": [nameshort_list_schema, array_edition_schema]},
"project_role_mappings": project_role_mappings,
"ns_instantiate": ns_instantiate,
"ns_action": ns_action,
"ns_scale": ns_scale,
+ "ns_update": ns_update,
"pdus": pdu_new_schema,
}