From 5c082e75daf303405a37a34a1d65511032b5bf54 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Mon, 1 Jun 2020 15:21:32 +0200 Subject: [PATCH] SOL002 datatypes' properties interdependencies --- .../SOL002VNFConfiguration_def.yaml | 15 +++++++++++ .../SOL002VNFLifecycleManagement_def.yaml | 11 ++++++++ ...OL002SOL003VNFLifecycleManagement_def.yaml | 25 +++++++++++++++++++ ...002SOL003VNFPerformanceManagement_def.yaml | 10 ++++++++ src/definitions/SOL002SOL003_def.yaml | 12 +++++++++ 5 files changed, 73 insertions(+) diff --git a/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml b/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml index 45d66889..761f41b8 100644 --- a/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml +++ b/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml @@ -10,6 +10,11 @@ definitions: * NOTE 2: The VnfcConfiguration data type can only be used to modify the configuration of existing VNFC instances. type: object + anyOf: + - required: + - vnfConfigurationData + - required: + - vnfcConfigurationData properties: vnfConfigurationData: description: > @@ -148,6 +153,16 @@ definitions: * NOTE 1: Either "address" or "useDynamicAddress" shall be present. * NOTE 2: At least one of "macAddress" and "ipAddress" shall be present. type: object + oneOf: + - required: + - address + - required: + - useDynamicAddress + anyOf: + - required: + - macAddress + - required: + - ipAddress properties: address: description: > diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index b3fabe38..dc003fa0 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -670,6 +670,17 @@ definitions: description: > This type represents request parameters for the "Revert-to VNF Snapshot" operation. type: object + oneOf: + - anyOf: + - required: + - vnfInstanceId + - required: + - vnfSnapshotInfoId + - anyOf: + - required: + - vnfcInstanceId + - required: + - vnfcSnapshotInfoId properties: vnfInstanceId: description: > diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 5f5a3b73..aee36414 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -68,6 +68,12 @@ definitions: This type represents request parameters for the "Scale VNF to Level" operation. type: object + anyOf: + - oneOf: + - required: + - instantiationLevelId + - required: + - scaleInfo properties: instantiationLevelId: description: > @@ -245,6 +251,10 @@ definitions: This type represents a VNF lifecycle management operation occurrence. Shall be set to the value of the "id" attribute in the "Grant" representing the associated "Individual Grant", if such grant exists. type: object + anyOf: + - oneOf: + - changedInfo + - modificationsTriggeredByVnfPkgChange required: - id - operationState @@ -919,6 +929,16 @@ definitions: This type represents information about a network address that has been assigned. type: object + anyOf: + - required: + - macAddress + - required: + - ipAddresses + oneOf: + - required: + - addresses + - required: + - addressRange properties: macAddress: description: > @@ -1302,6 +1322,11 @@ definitions: - id - cpdId - cpProtocolInfo + oneOf: + - required: + - associatedVnfcCpId + - required: + - associatedVnfVirtualLinkId properties: id: description: > diff --git a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml index 9b6e1c47..e153cc77 100644 --- a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml @@ -383,6 +383,11 @@ definitions: This type represents modifications to a PM job. It shall comply with the provisions defined in table 6.5.2.12-1. type: object + oneOf: + - required: + - callbackUri + - required: + - authentication properties: callbackUri: description: > @@ -535,6 +540,11 @@ definitions: This type represents modifications to a threshold. It shall comply with the provisions defined in table 6.5.2.11-1. type: object + oneOf: + - required: + - callbackUri + - required: + - authentication properties: callbackUri: description: > diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index 64915c8d..e3568fbb 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -440,6 +440,18 @@ definitions: description: > This type represents network address data for IP over Ethernet. type: object + anyOf: + - required: + - macAddress + - required: + - ipAddresses + oneOf: + - required: + - fixedAddresses + - required: + - numDynamicAddresses + - required: + - ipAddressRange properties: macAddress: description: > -- GitLab